-
Notifications
You must be signed in to change notification settings - Fork 10
/
protocol.py.jinja
41 lines (35 loc) · 1.76 KB
/
protocol.py.jinja
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
################################################################################################
# This example protocol will create a new destination container and
# transfer `volume` amount of `source_aliquot` into each well.
#
# Test locally with some like the following, though will need to supply a valid project id.
# You must be in the same directory as the manifest and the protocol for the command to succeed.
#
# transcriptic launch --local {{ name }} -p SOME_PROJECT_ID
#
# For more information about autoprotocol-python check out the documentation.
#
# http://autoprotocol-python.readthedocs.io/en/latest/
#
# For more information about editing the manifest.json check out the documentation.
#
# https://developers.transcriptic.com/v1.0/docs/input-types
################################################################################################
def {{ name }}(protocol, params):
# These arguments and their types are specified in the manifest.json
# source_aliquot is of type Well
# volume is of type string and will be in the format similar to '100:microliter'
# dest_ctype is of type string and will be one of the options specified in the manifest.
source_well = params["source_aliquot"]
volume = params["volume"]
dest_ctype = params["dest_ctype"]
# Create a ref for a the destination container
dest_container = protocol.ref("destination_container",
cont_type=dest_ctype,
storage="ambient")
for dest_well in dest_container.wells_from(0, 12):
# add an instruction to the protocol
protocol.transfer(source_well, dest_well, volume)
if __name__ == '__main__':
from autoprotocol.harness import run
run({{ name }}, "{{ name }}")