Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
if 'tube-rack-5x12' not in labware.list():
labware.create(
'tube-rack-5x12',
grid=(12, 5),
spacing=(20, 20),
diameter=16,
depth=90)
# labware setup
trough1 = labware.load('trough-12row', '7')
sample_rack = labware.load('tube-rack-5x12', '4')
tiprack_50 = labware.load('tiprack-200ul', '8')
tiprack_1000 = labware.load('tiprack-1000ul', '9')
# pipette setup
p50 = instruments.P50_Single(
mount='left',
tip_racks=[tiprack_50]
)
p1000 = instruments.P1000_Single(
mount='right',
tip_racks=[tiprack_1000]
)
def run_custom_protocol(
number_of_samples: int=10
):
# number of racks for serial dilutions
rack_num = number_of_samples // 12 + (
from opentrons import labware, instruments
from otcustomizers import FileInput, StringSelection
# labware setup
tuberack = labware.load('tube-rack-2ml', '2')
tiprack = labware.load('tiprack-200ul', '4')
# pipette setup
p50 = instruments.P50_Single(
mount='left',
tip_racks=[tiprack]
)
def well_csv_to_list(csv_string):
"""
Takes a csv string and flattens it to a list
"""
return [
cell
for line in (csv_string.split('\n')) if line.strip()
for cell in line.split(',') if cell
]
)
# labware setup
reagent_list = {str(slot): labware.load(rack_name, str(slot))
for slot, rack_name in enumerate(rack_names, 1)}
tipracks_10 = [labware.load('tiprack-10ul', slot)
for slot in ['10', '11']]
tipracks_50 = [labware.load('opentrons-tiprack-300ul', slot)
for slot in ['7', '8']]
# instruments setup
p10 = instruments.P10_Single(
mount='left',
tip_racks=tipracks_10)
p50 = instruments.P50_Single(
mount='right',
tip_racks=tipracks_50)
def run_custom_protocol(
transfer_csv: FileInput=transfer_csv_example,
plate_type: StringSelection(
'opentrons-aluminum-block-96-PCR-plate',
'opentrons-aluminum-block-PCR-strips-200ul'
)='opentrons-aluminum-block-96-PCR-plate'):
def get_transfer_info(csv_string, reagent_list):
info_list = [cell for line in csv_string.splitlines() if line
for cell in [line.split(',')]]
sources = []
volumes = []
flat_plate_name,
grid=(12, 8),
spacing=(9, 9),
diameter=6.3,
depth=10.8,
volume=350
)
# load labware
trough = labware.load('trough-12row', '1')
DNA_plate = labware.load(PCR_plate_name, '2')
destination_plate = labware.load(flat_plate_name, '3')
tips50 = [labware.load('opentrons-tiprack-300ul', slot) for slot in ['4', '5']]
# pipettes
p50 = instruments.P50_Single(mount='right', tip_racks=tips50)
# well setup
H2O = trough.wells('A7')
DNA_sources = [well for row in DNA_plate.rows() for well in row]
destination_wells = [well for row in destination_plate.rows() for well in row]
def extract_csv_transfers(file_string):
# take in all rows of the file
whole_file = file_string.splitlines()
# pick off water transfers
H2O_rows = whole_file[2:10]
H2O_transfers = []
for row in H2O_rows:
els = row.split(',')
from opentrons import labware, instruments
metadata = {
'protocolName': 'Drug Distribution in Triplicate',
'author': 'Alise ',
'source': 'Custom Protocol Request'
}
# labware setup
tuberack = labware.load('opentrons-tuberack-2ml-eppendorf', '5')
plate = labware.load('96-flat', '2')
tiprack = labware.load('opentrons-tiprack-300ul', '4')
# instruments setup
p50 = instruments.P50_Single(
mount='left',
tip_racks=[tiprack])
drugs = [well for row in tuberack.rows() for well in row]
dests = [row(index, length=3)
for row in plate.rows() for index in range(0, 7, 3)]
def run_custom_protocol(transfer_volume: float=20):
for source, dest in zip(drugs, dests):
p50.distribute(20, source, dest, blow_out=source)
'opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap', '6')
# modules
tempdeck = modules.load('tempdeck', '5')
plate = labware.load(
'opentrons_96_aluminumblock_biorad_wellplate_200ul', '5', share=True)
if not robot.is_simulating():
tempdeck.set_temperature(4)
tempdeck.wait_for_temp()
# pipettes
p10 = instruments.P10_Single(
mount='right',
tip_racks=[tips10]
)
p50 = instruments.P50_Single(
mount='left',
tip_racks=[tips50]
)
def run_custom_protocol(number_of_DNA_samples: int = 21,
number_of_oligo_standards: int = 8):
# check invalid parameters
if number_of_DNA_samples + number_of_oligo_standards > 30:
raise Exception('Too many samples and standards for one plate.')
# master mix setup
master_mix = tubes.wells('A1')
# DNA sample sources setup
DNA_samples = tubes.wells('B1', length=number_of_DNA_samples)
from opentrons import labware, instruments
from otcustomizers import StringSelection
# labware setup
trough = labware.load('trough-12row', '1')
plate = labware.load('96-flat', '2')
tiprack = labware.load('opentrons-tiprack-300ul', '5')
# pipette setup
m300 = instruments.P300_Multi(
mount='right',
tip_racks=[tiprack])
p50 = instruments.P50_Single(
mount='left',
tip_racks=[tiprack])
# reagent setup
buffer = trough.wells('A1')
def run_custom_protocol(
sample_container: StringSelection(
'opentrons-tuberack-2ml-eppendorf',
'opentrons-tuberack-2ml-screwcap',
'opentrons-tuberack-15ml',
'trough-12row')='opentrons-tuberack-2ml-eppendorf'):
sample_container = labware.load(sample_container, '3')
plate_384 = labware.load('384-plate', '2')
tuberack = labware.load('tube-rack-2ml', '3')
source_tubes = tuberack.wells(0, length=8)
tiprack_10ul = labware.load('tiprack-10ul', '5')
tiprack_300ul = labware.load('opentrons-tiprack-300ul', '4')
tiprack2_300ul = labware.load('opentrons-tiprack-300ul', '6')
tiprack3_300ul = labware.load('opentrons-tiprack-300ul', '7')
# pipette setup
m10 = instruments.P10_Multi(
mount='right',
tip_racks=[tiprack_10ul]
)
p50 = instruments.P50_Single(
mount='left',
tip_racks=[tiprack_300ul, tiprack2_300ul, tiprack3_300ul]
)
# transfer PCR strip #1 to rows A, C, E, G, I, K, M, O
# transfer PCR strip #2 to rows B, D, F, H, J, L, N, P
m10.transfer(3, plate_96.cols('1'), [well for well in plate_384.rows('A')])
m10.transfer(3, plate_96.cols('2'), [well for well in plate_384.rows('B')])
# each source tube is distributed to 3 different columns in the plate
# distribute 7 uL to 6 wells every time it aspirates from the source
for index, each_tube in enumerate(source_tubes):
p50.pick_up_tip()
for row in plate_384.rows():
for well in row.wells(index*3, length=3):
from opentrons import instruments, labware, robot
# labware definitions
tips_1000 = labware.load('tiprack-1000ul', '1')
samples = labware.load('tube-rack-2ml', '2')
output = labware.load('96-PCR-flat', '3')
tips_50 = labware.load('tiprack-200ul', '4')
trough = labware.load('trough-12row', '5')
deepwell = labware.load('96-deep-well', '6')
# instrument setup
p50 = instruments.P50_Single(
tip_racks=[tips_50],
mount='left')
p1000 = instruments.P1000_Single(
tip_racks=[tips_1000],
mount='right')
# reagents and variables setup
# setup for samples + initial two dilutions of 1:100 and 1:2500 in 2ml tuberack
buff = trough.wells('A1') # location of buffer in trough
sam1 = samples.wells('A1') # location of concentrated sample 1
sam2 = samples.wells('B1') # location of concetrated sample 2
s1_dil1 = samples.wells('A2') # location of 1:100 dilution of sample 1
s2_dil1 = samples.wells('B2') # location of 1:100 dilution of sample 2
s1_dil2 = samples.wells('A3') # location of 1:2500 dilution of sample 1
s2_dil2 = samples.wells('B3') # location of 1:2500 dilution of sample 2