Skip to main content

Python library for generating Autoprotocol

Project description

PyPI Version Build Status Code Coverage PyPI - Downloads Gitter Chat

Autoprotocol is the standard way to express experiments in life science. This repository contains a python library for generating Autoprotocol.

Installation

To work from the latest stable release:

pip install autoprotocol

check the the releases for more information about the changes that will be downloaded.

Alternatively to get more up-to-date features:

git clone https://github.com/autoprotocol/autoprotocol-python
cd autoprotocol-python
python setup.py install

check the changelog for information about features included on master but not yet released.

Building a Protocol

A basic protocol is written by declaring Protocol.ref objects and acting on them with Protocol.instruction methods.

import json
from autoprotocol.protocol import Protocol

# instantiate a protocol object
p = Protocol()

# generate a ref
# specify where it comes from and how it should be handled when the Protocol is done
plate = p.ref("test pcr plate", id=None, cont_type="96-pcr", discard=True)

# generate seal and spin instructions that act on the ref
# some parameters are explicitly specified and others are left to vendor defaults
p.seal(
    ref=plate,
    type="foil",
    mode="thermal",
    temperature="165:celsius",
    duration="1.5:seconds"
)
p.spin(
    ref=plate,
    acceleration="1000:g",
    duration="1:minute"
)

# serialize the protocol as Autoprotocol JSON
print(json.dumps(p.as_dict(), indent=2))

which prints

{
  "instructions": [
    {
      "op": "seal",
      "object": "test pcr plate",
      "type": "foil",
      "mode": "thermal",
      "mode_params": {
        "temperature": "165:celsius",
        "duration": "1.5:second"
      }
    },
    {
      "op": "spin",
      "object": "test pcr plate",
      "acceleration": "1000:g",
      "duration": "1:minute"
    }
  ],
  "refs": {
    "test pcr plate": {
      "new": "96-pcr",
      "discard": true
    }
  }
}

Extras

Select SublimeText snippets are included with this repository. To use them copy the autoprotocol-python SublimeText Snippet folder to your local Sublime /Packages/User directory.

Documentation

For more information, see the documentation.

Contributing

For more information, see CONTRIBUTING.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

autoprotocol-10.3.0.tar.gz (135.7 kB view details)

Uploaded Source

Built Distribution

autoprotocol-10.3.0-py3-none-any.whl (146.8 kB view details)

Uploaded Python 3

File details

Details for the file autoprotocol-10.3.0.tar.gz.

File metadata

  • Download URL: autoprotocol-10.3.0.tar.gz
  • Upload date:
  • Size: 135.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for autoprotocol-10.3.0.tar.gz
Algorithm Hash digest
SHA256 6f3ec6cc0aca7340c545f274a60dca3f41a263a10f9714c5b1740a857e7ff3ef
MD5 0cad288488d6772246aedc2631d9f16f
BLAKE2b-256 2d8168075fd03a8fcd1fda27eb2806151bee1985c76546181c0d9d68f3fe5bbb

See more details on using hashes here.

File details

Details for the file autoprotocol-10.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for autoprotocol-10.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8263e147e8089c3fd88ab95eecb1e2cda1f6dc5061beaddc77c5eec83481fa35
MD5 5757dc9d778cc9d2d13f153601256f2d
BLAKE2b-256 cfe48d8dda6124fea6c3ff5bf33cc9a3fc543b0dc23d6274efd31756c017889c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page