def run_custom_protocol( left_pipette: StringSelection('p10-single', 'P50-single', 'p300-single', 'p1000-single', 'none') = 'p50-single', right_pipette: StringSelection('p10-single', 'P50-single', 'p300-single', 'p1000-single', 'none') = 'p300-single', master_mix_csv: FileInput = mastermix_csv_example): if left_pipette == right_pipette and left_pipette == 'none': raise Exception('You have to select at least 1 pipette.') def mount_pipette(pipette_type, mount, tiprack_slot): if pipette_type == 'p10-single': tip_rack = labware.load('tiprack-10ul', tiprack_slot) pipette = instruments.P10_Single(mount=mount, tip_racks=[tip_rack]) elif pipette_type == 'p50-single': tip_rack = labware.load('opentrons-tiprack-300ul', tiprack_slot) pipette = instruments.P50_Single(mount=mount, tip_racks=[tip_rack]) elif pipette_type == 'p300-single': tip_rack = labware.load('opentrons-tiprack-300ul', tiprack_slot) pipette = instruments.P300_Single(mount=mount, tip_racks=[tip_rack]) else: tip_rack = labware.load('tiprack-1000ul', tiprack_slot) pipette = instruments.P1000_Single(mount=mount, tip_racks=[tip_rack]) return pipette # labware setup labware.load('opentrons-tuberack-2ml-eppendorf', '1') labware.load('opentrons-tuberack-2ml-screwcap', '2') trough = labware.load('trough-12row', '3') # instrument setup pipette_l = mount_pipette(left_pipette, 'left', '5') if 'none' not in left_pipette else None pipette_r = mount_pipette(right_pipette, 'right', '6') if 'none' not in right_pipette else None # determine which pipette has the smaller volume range if pipette_l and pipette_r: if left_pipette == right_pipette: pip_s = pipette_l pip_l = pipette_r else: if pipette_l.max_volume < pipette_r.max_volume: pip_s, pip_l = pipette_l, pipette_r else: pip_s, pip_l = pipette_r, pipette_l else: pipette = pipette_l if pipette_l else pipette_r # destination mastermix_dest = trough.wells('A1') info_list = [ cell for line in master_mix_csv.splitlines() if line for cell in [line.split(',')] ] for line in info_list[1:]: source = robot.deck.children_by_name[line[1]][0].wells(line[2]) vol = float(line[3]) if pipette_l and pipette_r: if vol <= pip_s.max_volume: pipette = pip_s else: pipette = pip_l pipette.transfer(vol, source, mastermix_dest)
from opentrons import labware, instruments, modules, robot """ Clean Up Libraries """ # labware setup mag_deck = modules.load('magdeck', '4') # mag_plate = labware.load('96-PCR-flat', '4', share=True) mag_plate = labware.load('biorad-hardshell-96-PCR', '4', share=True) in_plate = labware.load('96-PCR-flat', '5') out_plate = labware.load('96-PCR-flat', '1') # out_plate = labware.load('biorad-hardshell-96-PCR', '2') trough = labware.load('trough-12row', '2') liquid_trash = trough.wells('A12') # reagent setup rsb = trough.wells('A1') # resuspension buffer beads = trough.wells('A2') # AMPure XP beads ethanol = trough.wells('A3') # 80% ethanol tipracks50 = [labware.load('tiprack-200ul', slot) for slot in ['6', '7', '8']] # pipette setup p50 = instruments.P50_Single(mount='left', tip_racks=tipracks50) def run_custom_protocol(number_of_samples: int = 24, PCR_product_volume: float = 50, bead_ratio: float = 1.8, dry_time: int = 15): if number_of_samples <= 24:
labware_plate.wells(to_wells[i]), air_gap=20, new_tip='never', blow_out=True, ) # mix_after=(5)) else: p10.transfer( vols[i], labware_plate.wells(from_wells[i]), labware_plate.wells(to_wells[i]), air_gap=20, new_tip='never', blow_out=True, ) # mix_after=(5)) # Labware: plate = labware.load('96-flat', '1') p300_tip_rack = labware.load('opentrons_96_tiprack_300ul', '4') p10_tip_rack = labware.load('opentrons_96_tiprack_10ul', '3') p300 = instruments.P300_Single(mount='left', tip_racks=[p300_tip_rack]) p10 = instruments.P10_Single(mount='right', tip_racks=[p10_tip_rack]) smart_transfer([2, 7, 15, 200], plate, ['A1', 'A1', 'A1', 'A1'], ['B1', 'C1', 'D1', 'E1']) for c in robot.commands(): print(c)
return (pipette) # =============================== Load labware =============================== tip_name = 'Biozym-tiprack-200ul' # Add Biozym 200 ul tiprack to labware library if tip_name not in labware.list(): custom_tip = labware.create( tip_name, # name of you labware grid=(12, 8), # specify amount of (columns, rows) spacing=(9, 9), # distances (mm) between each (column, row) diameter=5.23, # diameter (mm) of each well on the plate depth=50, # depth (mm) of each well on the plate volume=200) tiprack = labware.load(tip_name, '9') # Load tiprack trough = labware.load('opentrons_6_tuberack_falcon_50ml_conical', '1') # Load reservoir pipette = instruments.P300_Single(mount='right', tip_racks=[tiprack], max_volume=200) # Load pipette # =========================== Set source locations ============================ EmptyFalcon = trough.wells( 'B1') #50 ml falcon left EMPTY for dispension of water WaterFalcon = trough.wells( 'B2'
# -*- coding: utf-8 -*- """ @author: Allan Li, Sunnie Ma """ import opentrons from opentrons import labware, instruments, robot #This is the radius of the dish in centermeters radius = 4.5 tiprack = labware.load('tiprack-10ul', '1') bacteria = labware.load('96-flat', '4') dish = labware.load('96-PCR-flat', '5') p = instruments.P300_Single(mount='right', tip_racks=[tiprack]) dishInfo = dish.wells('A1').top()[0] n = radius / 5 center_x = dish.wells('A1').top()[1][0] center_y = dish.wells('A1').top()[1][1] - 40 z = dish.wells('A1').top()[1][2] - 3 #adjust the coordinates of the dish #function that moves to a specific point of the dish def move(x, y): x = n * x
'H10', 'A11', 'B11', 'C11', 'D11', 'E11', 'F11', 'G11', 'H11', 'A12', 'B12', 'C12', 'D12', ] water_rack = labware.load('tube-rack-2ml', '5') gDNA_plate = labware.load('96-flat', '2') dest_plate = labware.load('96-flat', '1') water = water_rack.wells('A1') tiprack_10 = [labware.load('tiprack-10ul', slot) for slot in ['6', '7']] p10 = instruments.P10_Single(mount='right', tip_racks=tiprack_10) p10.pick_up_tip() p10.transfer(Vol, water, dest_plate.wells(dest_well), blow_out=True, new_tip='never') p10.drop_tip()
stamp_tiprack, grid = (4,1), spacing = (10,10), diameter = 5, depth = 5) paper_sheet = "paper-sheet" if paper_sheet not in labware.list(): labware.create( paper_sheet, grid = (4,1), spacing = (12,30), diameter = 5, depth = 2) stamps = labware.load(stamp_tiprack, slot=6) wax = labware.load('agilent_1_reservoir_290ml', slot=10) paper = labware.load(paper_sheet, slot=1) pipette = instruments.P300_Single(mount='left') pipette.pick_up_tip(location=stamps.wells('A1')) for i in range(1,5): pipette.move_to(wax.wells('A1').top(20)) pipette.aspirate(30) pipette.move_to(wax.wells('A1').top(-2)) pipette.dispense(30) pipette.move_to(wax.wells('A1').top(20))
from opentrons import labware, instruments, robot robot.reset() robot.home() # DEFAULT PIPETTE FOR THIS IS THE P1000 - IF YOU NEED TO USE A DIFFERENT #TIP YOU WILL NEED TO USE THE SWAPS IN "Walkthrough_Rate Calibration.ipynb" #load labware tiprack_1000 = labware.load("tiprack-1000ul", '1') Stock1 = labware.load("vial-20ml", '2') #scintillation vials vials = labware.load("vial-20ml", '3') #scintillation vials trash = robot.fixed_trash P1000 = instruments.P1000_Single(mount='right', tip_racks=[tiprack_1000], trash_container=trash) robot.home() P1000.pick_up_tip() speeds = [.2, .4, .6, .8, 1] pipette_amount = [600] P1000.aspirate(Stock1('A1')) P1000.dispense(Stock1('A1')) P1000.aspirate(Stock1('A1')) P1000.dispense(Stock1('A1')) for counter, speed in enumerate(speeds, 0): # distribution of the same amount at various speeds P1000.distribute(pipette_amount,
diameter=5.50, # diameter (mm) of each well on the plate (here width at top!!) depth=15.00, # depth (mm) of each well on the plate volume=200) # as per manufacturer's website print('Wells in 96WP PCR Thermo Fisher:') for well in custom_plate.wells(): print(well) ############################ define labware # i.e. translate user-friendly parameters into opentrons language # pipette and tiprack # multi channel if multi_pipette_type == 'p10-Multi': tiprackdrugs = [labware.load(tiprackdrugs_type, slot) \ for slot in tiprackdrugs_slots] pipette_multi = instruments.P10_Multi( mount=multi_pipette_mount, tip_racks=tiprackdrugs) pipette_multi.start_at_tip(tiprackdrugs[0].well(tiprackdrugs_startfrom)) pipette_multi.plunger_positions['drop_tip'] = -6 # faster dispense pipette_multi.set_speed(dispense=pipette_multi.speeds['dispense']*4) # translate the drugs mapping dict in robot language # load source plate first src_plate = labware.load(drugs_source_type, drugs_source_slot) src_wells = [well.bottom(frombottom_off) for well in src_plate.rows('A')] wells_mapping = {} for key, value in drugs_mapping.items():
elif speed_conf ==1: speed_set = medium_speed elif speed_conf ==2: speed_set = slow_speed robot.head_speed(combined_speed=max(speed_set.values()),**speed_set) #Number of chips to coat #num_chips = int(input('Number of chips to coat (1,2 or 3)')) num_chips = int(args.integers[1]) #this variable when change to something other that None allows the while loop to be broken. rotate_st = None; # Import labware #ax-6 definition if 'ax_6' not in locals(): ax_6 = labware.load('ax6_5','6') #tiprack if 'tiprack' not in locals(): tiprack = labware.load('opentrons-tiprack-300ul', '1') #eppendorf rack if 'ep_rack' not in locals(): ep_rack = labware.load('opentrons_24_tuberack_eppendorf_2ml_safelock_snapcap','4') # Import pipette definitions if 'pipette_300' not in locals(): pipette_300 = instruments.P300_Single(mount='left', tip_racks=[tiprack]) if 'pipette_50' not in locals(): pipette_50 = instruments.P50_Single(mount='right', tip_racks=[tiprack]) #This function stores the current tip that the robot will use and can reset the pipette wells or display the current tip.
from opentrons import labware, instruments metadata = { 'protocolName': 'Dilute extracted DNA', 'author': 'James Kitson', 'description': 'A series of commands to dilute the extracted DNA obtained through the spin column extraction proceedure' } # get the plates loaded DNA_plate1 = labware.load('starlab-E2896-0600', '4', 'input DNA plate') #DNA_plate2 = labware.load('starlab-E2896-0600', '5', 'input DNA plate') diluted_DNA_plate1 = labware.load('starlab-E1403-0100', '7', 'diluted_DNA plate') #diluted_DNA_plate2 = labware.load('starlab-E1403-0100', '8', 'diluted_DNA plate') Tris_plate = labware.load('starlab-E2896-0220', '9', 'Tris plate') # load the tips tips_10 = labware.load('tiprack-starlab-S1120-3810', '1') tips_300 = labware.load('tiprack-starlab-S1120-9810', '3') # set pipettes pipette300 = instruments.P300_Multi(mount='left', tip_racks=[tips_300]) pipette10 = instruments.P10_Multi(mount='right', tip_racks=[tips_10]) # set the dilution parameters final_volume: float = 200
from opentrons import labware, instruments, modules, robot from opentrons.data_storage import database from time import sleep sample = labware.load('96-flat', slot=3) tiprack = labware.load('opentrons-tiprack-300ul', slot=9) tiprack_l = labware.load('opentrons-tiprack-300ul', slot=5) # [2] Pipettes pipette_r = instruments.P50_Multi(mount='right', tip_racks=[tiprack]) pipette_l = instruments.P300_Single(mount='left', tip_racks=[tiprack_l]) pipette_l.transfer(100, sample.wells('A1'), sample.wells('A3')) pipette_l.transfer(100, sample.wells('B1'), sample.wells('B3')) pipette_l.transfer(100, sample.wells('C1'), sample.wells('C3')) pipette_r.transfer(50, sample.wells('A3'), sample.wells('A4')) pipette_r.transfer(50, sample.wells('A3'), sample.wells('A5')) pipette_r.transfer(50, sample.wells('A1'), sample.wells('A6'))
spacing=(9, 9), # distances (mm) between each (column, row) diameter=5.23, # diameter (mm) of each well on the plate depth=50, # depth (mm) of each well on the plate volume=200) plate_name = 'biolector-flower-plate-48-well' if plate_name not in labware.list(): custom_plate = labware.create( plate_name, # name of labware grid=(8, 6), # amount of (columns, rows) spacing=(13, 13), # distances (mm) between each (column, row) diameter=10.85, # diameter (mm) of each well on the plate depth=33, # depth (mm) of each well on the plate volume=3200) tiprack = labware.load(tip_name, '9') # Load tiprack trough = labware.load('opentrons_6_tuberack_falcon_50ml_conical', '6') # Load reservoir troughCell = labware.load('opentrons_10_tuberack_falcon_4x50ml_6x15ml_conical', '5') pipette = instruments.P300_Single(mount='right', tip_racks=[tiprack], max_volume=200) # Load pipette plate = labware.load(plate_name, '3') # Load wellplate # =========================== Set source locations ============================
from opentrons import robot, labware, instruments metadata = { 'protocolName': 'Tube Distribution Test: Fill 384 and transfer to 4*96', 'author': 'Amhed Vargas <*****@*****.**>', 'source': 'KAUST - OT-2 Protocols' } ###Robot speed robot.head_speed(x=100, y=100, z=100, a=125, b=50, c=50) ##Labware #Tips #p300rack = labware.load('opentrons_96_tiprack_300ul', '9') p10rack1 = labware.load('tiprack-10ul', '1') p10rack2 = labware.load('tiprack-10ul', '2') #p10rack3 = labware.load('opentrons_96_tiprack_10ul', '4') #p10rack4 = labware.load('opentrons_96_tiprack_10ul', '5') #Plates p384plate = labware.load('384-plate', '3') p96plateA = labware.load('96-PCR-tall', '10') p96plateB = labware.load('96-PCR-tall', '7') #p96plateC = labware.load('biorad_96_wellplate_200ul_pcr', '11') #p96plateD = labware.load('biorad_96_wellplate_200ul_pcr', '8') #Samples sample_tubes = labware.load('opentrons-tuberack-2ml-eppendorf', '6')
metadata = { 'protocolName': 'D-Rex Inital Extraction', 'author': 'Jacob Agerbo Rasmussen <*****@*****.**>', 'version': '1.0', 'date': '2019/03/28', 'description': 'Automation of D-Rex RNA and DNA seperation for extraction protocol of stool samples in SHIELD', } #### LABWARE SETUP #### trough = labware.load('trough-12row', '2') RNA_plate = labware.load('96-deep-well', '1') mag_deck = modules.load('magdeck', '7') sample_plate = labware.load('96-deep-well', '7', share=True) tipracks_200 = [ labware.load('tiprack-200ul', slot) for slot in ['4', '5', '6', '11'] ] #### PIPETTE SETUP #### p50 = instruments.P50_Single(mount='right', tip_racks=tipracks_200) m300 = instruments.P300_Multi(mount='left', tip_racks=tipracks_200) #### REAGENT SETUP
transfer_list_of_volumes(Q, starting_well_plate, starting_well_number, reagent_volume[0]) moves = transfer_list_of_volumes(H, starting_well_plate, starting_well_number, reagent_volume[1]) i += moves return #Import Dependencies from opentrons import labware, instruments, robot import numpy as np ################################################################################ #Importing labware tiprack_300 = labware.load( "opentrons-tiprack-300ul", '10') # 300ul tips can be used for P300 and P50 pipettes tiprack_300_2 = labware.load("opentrons-tiprack-300ul", '11') # Second tiprack stock = labware.load("trough-12row", '2') # 12 well resovoir for stocks A_96_well = labware.load("96-flat", '8') # Using 4, 96 wellplates labeled A-D B_96_well = labware.load("96-flat", '9') C_96_well = labware.load("96-flat", '5') D_96_well = labware.load("96-flat", '6') trash = robot.fixed_trash ################################################################################ #Importing pipettes P300 = instruments.P300_Single( mount='left', tip_racks=[tiprack_300], trash_container=trash) # Volume range = 30-300uL P50 = instruments.P50_Single(mount='right',
depth=35, # depth (mm) of each well on the plate volume=350000) #### LABWARE SETUP #### temp_deck_1 = tempdeck.TempDeck() temp_deck_2 = tempdeck.TempDeck() temp_deck_1._port = '/dev/ttyACM0' temp_deck_2._port = '/dev/ttyACM1' if not robot.is_simulating(): temp_deck_1.connect() temp_deck_2.connect() temp_deck1 = modules.load('tempdeck', '7') Cold_plate = labware.load('biorad-hardshell-96-PCR', '7', share=True) # trough = labware.load('trough-12row', '2') # Trash = labware.load('One-Column-reservoir','3') temp_deck2 = modules.load('tempdeck', '10') temp_plate = labware.load('biorad-hardshell-96-PCR', '10', share=True) #mag_deck = modules.load('magdeck', '7') #mag_plate = labware.load('biorad-hardshell-96-PCR', '7', share=True) tipracks_10 = [ labware.load('tiprack-10ul', slot, share=True) for slot in ['8', '5', '4'] ] tipracks_200 = [ labware.load('tiprack-200ul', slot, share=True) for slot in ['9', '11'] ]
#Python 3.6.4 #Please keep the author(s) attached to the code segment for traceability, if changes are made please append the authour list and modify the timestamp # ##################################################################################################################################### #The input from the code must be in list within a list, the sublist must contain the appropriate float type value and no whitespaces ##################################################################################################################################### from opentrons import labware, instruments, robot, modules # Import all opentrons API from sqlite3 import IntegrityError # Import sqlite3 for custom container support ##################################################################################################################################### ##################################################################################################################################### # LOADED LABWARE TempDeck = modules.load('tempdeck', '6') # Loads TempDeck tiprack200_1 = labware.load('opentrons-tiprack-300ul', '9') Compcells1 = labware.load('96-flat', '6', "compcells1", share=True) trash = robot.fixed_trash # Specify trash Culture = labware.load( 'duran_100', '4') # Chilledflask_100 and duran_250 are custom containers Buffers = labware.load('96-deep-well', '3') ##################################################################################################################################### ##################################################################################################################################### # LOADED PIPETTES # CAN CHANGE IF NEEDED P300 = instruments.P300_Single( # Import Pipette, set aspiration/dispense rates and equip with rack mount='right', aspirate_flow_rate=200, dispense_flow_rate=200,
from opentrons import labware, instruments p300rack = labware.load('tiprack-200ul', '11', 'p300rack') trough = labware.load('trough-12row', '10', 'trough') plate = labware.load('96-PCR-flat', '4', 'plate') top_plate = labware.load('96-PCR-flat', '5', 'top_plate') liquid_trash = labware.load('trash-box', '3') p300_multi = instruments.P300_Multi( tip_racks=[p300rack], mount='right' ) # Reagent locations in trough: # trough row 1 = buffer # trough row 2 = Ph-Ch-Iso-Amyl mix # trough row 3 = isopropanol # trough row 4 = ethanol # Transfer 300uL of L buffer from trough to 96 well deep plate with same tips p300_multi.transfer(300, trough('A1'), plate.cols('1', to='12')) # Transfer 180uL of Ph-Ch-Iso-Amyl mixture to 96 well deep plate p300_multi.transfer(180, trough('A2'), plate.cols('1', to='12')) # Transfer top layer (200uL) from 96 well deep plate to new 96 deep well plate top_source = [col[0].top(-2) for col in plate.cols('1', to='12')] p300_multi.transfer( 200, top_source, top_plate.cols())
#Last modified: 19:43, 12/10/18 #Python 3.6.4 #Please keep the author(s) attached to the code segment for traceability, if changes are made please append the authour list and modify the timestamp ##################################################################################################################################### #The input from the code must be in list within a list, the sublist must contain the appropriate float type value and no whitespaces from opentrons import labware, robot, instruments, modules # Import all opentrons API from sqlite3 import IntegrityError # Import sqlite3 for custom container support ##################################################################################################################################### ##################################################################################################################################### # LOADED LABWARE TempDeck = modules.load('tempdeck', '6') # Loads TempDeck Tiprack10uL = labware.load('tiprack-10ul', '11') Tiprack300uL = labware.load('opentrons-tiprack-300ul', '9') Compcells = labware.load('96-flat', '6', "compcells1", share=True) # Competent Cells trash = robot.fixed_trash DNA = labware.load('tube-rack-2ml', '10') # Plasmid/DNA wanted to transform SOB = labware.load( 'duran_100', '7') # Recovery media, SOB strongly recommended for E. coli DH5a ##################################################################################################################################### ##################################################################################################################################### # LOADED PIPETTES # CAN CHANGE IF NEEDED P300 = instruments.P300_Single(mount='right',
return(pipette) # =============================== Load labware =============================== tip_name = 'Biozym-tiprack-200ul' # Add Biozym 200 ul tiprack to labware library if tip_name not in labware.list(): custom_tip = labware.create( tip_name, # name of you labware grid=(12, 8), # specify amount of (columns, rows) spacing=(9, 9), # distances (mm) between each (column, row) diameter=5.23, # diameter (mm) of each well on the plate depth=50, # depth (mm) of each well on the plate volume=200) tiprack = labware.load(tip_name, '9', label="tiprack") # Load tiprack trough = labware.load('opentrons_6_tuberack_falcon_50ml_conical', '6', label= "source") # Load reservoir plate = labware.load('corning_96_wellplate_360ul_flat', '3', label="wellplate") # Load wellplate pipette = instruments.P300_Single(mount='right', tip_racks=[tiprack], max_volume=200) # Load pipette # =========================== Set source locations ============================ DyeSource = trough.wells("A1") #50 ml falcon with dye added as baseline and gradient pipette.start_at_tip(tiprack['A1'])
from opentrons import robot, labware, instruments # labware setup block = labware.load('nest_96_wellplate_100ul_pcr_full_skirt', '2') plates = [ labware.load('nest_96_wellplate_100ul_pcr_full_skirt', slot) for slot in ['3', '4', '5', '6', '7', '8', '9', '10', '11'] ] tiprack = labware.load('opentrons-tiprack-10ul', '1') # instrument setup # p300 = instruments.P20_Single( # mount='left', # tip_racks=[tiprack]) # initialize pipettes p20 = instruments.P20_Single_GEN2(mount='right', tip_racks=[tiprack]) def run_custom_protocol(transfer_volume: float = 100, number_of_plates: int = 9, discard_tip: 'StringSelection...' = 'False'): if discard_tip == 'False': discard_tip = False else: discard_tip = True for index, source in enumerate(block.wells()): dest = [plate.wells(index) for plate in plates[:number_of_plates]] p20.distribute(transfer_volume,
TRANSFORMATION_PLATE_TYPE = 'Eppendorf_30133366_plate_96' SOC_PLATE_TYPE = '4ti0136_96_deep-well' SOC_PLATE_SLOT = '7' TUBE_RACK_TYPE = 'tube-rack_E1415-1500' TUBE_RACK_SLOT = '11' SPOTTING_WASTE_WELL = 'A1' AGAR_PLATE_TYPE = 'Nunc_Omnitray' AGAR_PLATE_SLOT = '1' # Tiprack slots p10_p300_tiprack_slots = tiprack_slots(spotting_tuples) p10_slots = CANDIDATE_P10_SLOTS[:p10_p300_tiprack_slots[0]] p300_slots = CANDIDATE_P300_SLOTS[:p10_p300_tiprack_slots[1]] # Define labware p10_tipracks = [labware.load(P10_TIPRACK_TYPE, slot) for slot in p10_slots] p300_tipracks = [labware.load(P300_TIPRACK_TYPE, slot) for slot in p300_slots] p10_pipette = instruments.P10_Single(mount=P10_MOUNT, tip_racks=p10_tipracks) p300_pipette = instruments.P300_Multi(mount=P300_MOUNT, tip_racks=p300_tipracks) assembly_plate = labware.load(ASSEMBLY_PLATE_TYPE, ASSEMBLY_PLATE_SLOT) tempdeck = modules.load('tempdeck', TEMPDECK_SLOT) transformation_plate = labware.load(TRANSFORMATION_PLATE_TYPE, TEMPDECK_SLOT, share=True) soc_plate = labware.load(SOC_PLATE_TYPE, SOC_PLATE_SLOT) tube_rack = labware.load(TUBE_RACK_TYPE, TUBE_RACK_SLOT) spotting_waste = tube_rack.wells(SPOTTING_WASTE_WELL) agar_plate = labware.load(AGAR_PLATE_TYPE, AGAR_PLATE_SLOT)
spacing=(8.99, 8.99), # distances (mm) between each (column, row) diameter=7.57, # diameter (mm) of each well on the plate (here width at bottom) depth=10.35, # depth (mm) of each well on the plate volume=650) # this is the actual volume as per specs, not a "volume of work" print('Wells in 96WP Whatman:') for well in custom_plate.wells(): print(well) ############################ define labware # pipette and tiprack # single channel if single_pipette_type == 'p10-Single': tipracks_single = [labware.load(tiprack_type_single, tiprack_slot) \ for tiprack_slot in tiprack_slots_single] pipette_single = instruments.P10_Single( mount=single_pipette_mount, tip_racks=tipracks_single) pipette_single.start_at_tip(tipracks_single[0].well(tip_start_from_single)) pipette_single.plunger_positions['drop_tip'] = -6 # multi channel if multi_pipette_type == 'p10-Multi': tipracks_multi = [labware.load(tiprack_type_multi, tiprack_slot) \ for tiprack_slot in tiprack_slots_multi] pipette_multi = instruments.P10_Multi( mount=multi_pipette_mount, tip_racks=tipracks_multi) pipette_multi.start_at_tip(tipracks_multi[0].well(tip_start_from_multi))
if '96-well-plate-sqfb-whatman' not in labware.list(): custom_plate = labware.create( '96-well-plate-sqfb-whatman', # name of you labware grid=(12, 8), # specify amount of (columns, rows) spacing=(8.99, 8.99), # distances (mm) between each (column, row) diameter=7.57, # diameter (mm) of each well on the plate (here width at bottom) depth=10.35, # depth (mm) of each well on the plate volume=650) # this is the actual volume as per specs, not a "volume of work" for well in custom_plate.wells(): print(well) ############################ define labware # pipette and tiprack if pipette_type == 'p10-Single': tipracks = [labware.load(tiprack_type, tiprack_slot) for tiprack_slot in tiprack_slots] pipette = instruments.P10_Single( mount=pipette_mount, tip_racks=tipracks) pipette.start_at_tip(tipracks[0].well(tip_start_from)) elif pipette_type == 'p10-Multi': tipracks = [labware.load(tiprack_type, tiprack_slot) for tiprack_slot in tiprack_slots] pipette = instruments.P10_Multi( mount=pipette_mount, tip_racks=tipracks) pipette.start_at_tip(tipracks[0].cols(tip_start_from)) pipette.plunger_positions['drop_tip'] = -6 # container for the drugs src_container = labware.load(source_type, source_slot) # where water, op50, and dmso are in the source container
depth=15.00, # depth (mm) of each well on the plate volume=200) # as per manufacturer's website print('Wells in 96WP PCR Thermo Fisher:') for well in custom_plate.wells(): print(well) ############################ define labware # i.e. translate user-friendly parameters into opentrons language # pipette and tiprack # multi channel if drugs_pipette_type == 'p10-Single': # this is mostly a check tiprackdrugs = [ labware.load(tiprack_drugs_type, tiprack_slot) for tiprack_slot in tiprack_drugs_slots ] pipette_drugs = instruments.P10_Single(mount=drugs_pipette_mount, tip_racks=tiprackdrugs) pipette_drugs.start_at_tip(tiprackdrugs[0].well(tiprack_drugs_startfrom)) pipette_drugs.plunger_positions['drop_tip'] = -6 # single channel if solvent_pipette_type == 'p50-Single': # this is mostly a type check tipracksolvent = [ labware.load(tiprack_solvent_type, tiprack_slot) for tiprack_slot in tiprack_solvent_slots ] pipette_solvent = instruments.P50_Single(mount=solvent_pipette_mount, tip_racks=tipracksolvent)
depth=15.00, # depth (mm) of each well on the plate volume=200) # as per manufacturer's website print('Wells in 96WP PCR Thermo Fisher:') for well in custom_plate.wells(): print(well) ############################ define labware # i.e. translate user-friendly parameters into opentrons language # pipette and tiprack # multi channel if multi_pipette_type == 'p10-Multi': # this is mostly a check as we don't own other multichannel pipettes (and to not have swapped single/multi) tiprackmulti = [ labware.load(tiprack_multi_type, tiprack_slot) for tiprack_slot in tiprack_multi_slots ] pipette_multi = instruments.P10_Multi(mount=multi_pipette_mount, tip_racks=tiprackmulti) pipette_multi.start_at_tip(tiprackmulti[0].well(tiprack_multi_startfrom)) pipette_multi.plunger_positions['drop_tip'] = -6 # single channel if single_pipette_type == 'p50-Single': # this is mostly a type check tipracksingle = [ labware.load(tiprack_single_type, tiprack_slot) for tiprack_slot in tiprack_single_slots ] pipette_single = instruments.P50_Single(mount=single_pipette_mount, tip_racks=tipracksingle)
try: self.rack[i][j + n - 1] except IndexError: continue tips = self.rack[i][j:j + n] if any(x is None for x in tips): continue else: for t in range(n): self.rack[i][j + t] = None tip_name = tips[-1] print("\nTaking {} tips".format(n)) return self.tiprack.wells(tip_name) tube_rack_2ml = labware.load('storeylab-2ml-coldrack1', '7') tube_rack_15ml = labware.load('opentrons-tuberack-15_50ml', '10') small_reagent_plate = labware.load('PCR-strip-tall', '8') pcr_plate1 = labware.load('96-flat', '4') pcr_plate2 = labware.load('96-flat', '5') pcr_plate3 = labware.load('96-flat', '6') tiprack1 = labware.load('opentrons-tiprack-300ul', '11') tiprack2 = labware.load('opentrons-tiprack-300ul', '9') tiprack2_tracker = TipTracker(tiprack=tiprack2) TOTAL_VOL = 20.0 CDNA_VOL = 5.0 WATER_PER_WELL = 12.115 - CDNA_VOL assert WATER_PER_WELL >= 0, "Water per well is less than 0"
5.50, # diameter (mm) of each well on the plate (here width at top!!) depth=15.00, # depth (mm) of each well on the plate volume=200) # as per manufacturer's website print('Wells in 96WP PCR Thermo Fisher:') for well in custom_plate.wells(): print(well) ############################ define labware # i.e. translate user-friendly parameters into opentrons language # pipette and tiprack # multi channel if multi_pipette_type == 'p10-Multi': # this is mostly a check as we don't own other multichannel pipettes (and to not have swapped single/multi) tiprackdrugs = [labware.load(tiprackdrugs_type, slot) \ for slot in tiprackdrugs_slots] pipette_multi = instruments.P10_Multi(mount=multi_pipette_mount, tip_racks=tiprackdrugs) pipette_multi.start_at_tip(tiprackdrugs[0].well(tiprackdrugs_startfrom)) pipette_multi.plunger_positions['drop_tip'] = -6 # faster dispense pipette_multi.set_speed(dispense=pipette_multi.speeds['dispense'] * 4) # I only associated the "drugs" tiprack to the pipette as this is the one I want to handle authomatically # I'll manually handle pipetting water # container for water water_src_container = labware.load(H2O_source_type, H2O_source_slot) water_src_well = water_src_container.wells(H2O_source_well) # tiprack for water tiprackwater = labware.load(tiprackH2O_type, tiprackH2O_slot)
custom_plate_name = 'tulio96' if custom_plate_name not in labware.list(): labware.create(custom_plate_name, grid=(12, 8), spacing=(8.3, 8.3), diameter=8.3, depth=42, volume=2000) # name of you labware # number of (columns, rows) # distances (mm) between each (column, row) # diameter (mm) of each well # depth (mm) of each well # volume (μL) of each well tiprack = labware.load('opentrons-tiprack-300ul', slot='1') pool_source = labware.load('tulio96', '7') pool_slice = labware.load('tulio96', '10') trash = labware.load('trash-box', '12', share=True) pipette = instruments.P50_Single(mount='right', tip_racks=[tiprack], trash_container=trash) for pool in pool_dict.keys(): for single_slice in slice_dict[pool]: pipette.pick_up_tip() pipette.transfer(200, pool_source.wells(single_slice), pool_slice.wells(pool_dict[pool][0])) #pipette.drop_tip(trash)