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.2.3.tar.gz (133.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

autoprotocol-10.2.3-py3-none-any.whl (145.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for autoprotocol-10.2.3.tar.gz
Algorithm Hash digest
SHA256 f2cf7f72e8bef87f6b79a66d677b4a7fa5ee28132d5e43309899d58f020652f6
MD5 28bcb3fa9bc78c0ff598bb7055c5c53a
BLAKE2b-256 c15998a2afef7fed22cbbcd859eea686228a25c0e1a58de3d717e571c53891b4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: autoprotocol-10.2.3-py3-none-any.whl
  • Upload date:
  • Size: 145.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for autoprotocol-10.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a465e0c0978a8a5cca9d74d216c2eb7b7683b6c095cbd9eef977e72da18ad452
MD5 661e18037a6d27f8d9a863a2ed588827
BLAKE2b-256 fd570300f81850aa7799de89fe4e8dfb090857dd4ac8252c1fa90f143bf90461

See more details on using hashes here.

Supported by

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