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.4.tar.gz (134.1 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.4-py3-none-any.whl (145.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: autoprotocol-10.2.4.tar.gz
  • Upload date:
  • Size: 134.1 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.4.tar.gz
Algorithm Hash digest
SHA256 a37cd58927be60159c837f13b8c28a6373377d7bd10b0460c59020df2d2c8681
MD5 d9b2d62589f3107e6ea9f48fbea3ec54
BLAKE2b-256 821c81a73b20e63f042d2ca30844270e919c5efc1a0310e1197778cfaf24ae2c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: autoprotocol-10.2.4-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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 796beec7a37ff9a9802f30af134842bbc144401c74f726c28194ad0cc520cbf5
MD5 5aa12a9e3bf776996dee28a6fcc546ea
BLAKE2b-256 f29661bb9560cbaa44e815e67a9466c05a603bbe0455bbfdd5d9439c62b431cd

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