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.2.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.2-py3-none-any.whl (145.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: autoprotocol-10.2.2.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.2.tar.gz
Algorithm Hash digest
SHA256 591324ff93048596194a691f770fc0fa4f8a39956dd9fa62ecc7a46845b4a95a
MD5 62fccd32290ae9964d5ecd0a45d3d890
BLAKE2b-256 d55c8edca699f3493ba5c272d85ccdc7283859ccdb761c38b92b46d49ff2c2d2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: autoprotocol-10.2.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4a30399b037808d6894721ee5d9e034b694343ba5caceb35b5a5688288a8c2ae
MD5 ce3cdfd18749175491b78993a5d5a981
BLAKE2b-256 981bea771f47dda2a8da70090f5d6ab8abe99f6c29190e1a1c558dce9fb6c5d8

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