Python library for generating Autoprotocol
Project description
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
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6f3ec6cc0aca7340c545f274a60dca3f41a263a10f9714c5b1740a857e7ff3ef |
|
MD5 | 0cad288488d6772246aedc2631d9f16f |
|
BLAKE2b-256 | 2d8168075fd03a8fcd1fda27eb2806151bee1985c76546181c0d9d68f3fe5bbb |
File details
Details for the file autoprotocol-10.3.0-py3-none-any.whl
.
File metadata
- Download URL: autoprotocol-10.3.0-py3-none-any.whl
- Upload date:
- Size: 146.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8263e147e8089c3fd88ab95eecb1e2cda1f6dc5061beaddc77c5eec83481fa35 |
|
MD5 | 5757dc9d778cc9d2d13f153601256f2d |
|
BLAKE2b-256 | cfe48d8dda6124fea6c3ff5bf33cc9a3fc543b0dc23d6274efd31756c017889c |