Пример #1
0
    def __init__(self,
                 simulating = True,
                 slot = '10',
                 name = 'ninjapcr',
                 connection_mode = 'external_wifi',
                 ssid = None,
                 psk = None,
                 lw_name = None):

        if connection_mode not in CONNECTION_MODES:
            raise ValueError(f'Invalid connection mode: {connection_mode}')

        self.simulating = simulating
        self.local_url = f'http://{name}.local'
        self.net_ssid = ssid
        self.net_psk = psk
        self.connected = False
        self.connection_mode = connection_mode
        
        # Define and load associated labware

        if lw_name not in labware.list():
            labware.create(
                lw_name,                        # Labware Name
                grid=(4, 4),                    # Amount of (columns, rows)
                spacing=(9, 9),                 # Distances (mm) between each (column, row)
                diameter=2,                     # Diameter (mm) of each well on the plate
                depth=20,                       # Depth (mm) of each well on the plate
                volume=50)

        self.labware = labware.load(lw_name, slot=slot)
Пример #2
0
def loadPlate():
    if CUSTOM_PLATE not in labware.list():
        labware.create(
            CUSTOM_PLATE,  # name of labware
            grid=(12, 8),  # number of (columns, rows)
            spacing=(9, 9),  # distances (mm) between each (column, row)
            diameter=5.49,  # diameter (mm) of each well
            depth=16.4,  # depth (mm) of each well
            volume=100)  # volume (µL) of each well
def test_labware_create(dummy_db):
    from opentrons import labware
    lw_name = '15-well-plate'
    if lw_name in labware.list():
        database.delete_container(lw_name)
    n_cols = 5
    n_rows = 3
    col_space = 12
    row_space = 18
    diameter = 5
    height = 20
    volume = 3.14 * (diameter / 2.0)**2
    res = labware.create(lw_name, (n_cols, n_rows), (col_space, row_space),
                         diameter, height, volume)
    lw = database.load_container(lw_name)
    database.delete_container(lw_name)

    assert len(lw.wells()) is n_cols * n_rows
    for well in lw.wells():
        name = well.get_name()
        assert res[name].coordinates() == well.coordinates()
        for prop in ['height', 'diameter']:
            assert res[name].properties[prop] == well.properties[prop]
    assert lw.well("B5").coordinates() == ((n_cols - 1) * col_space, row_space,
                                           0)
    assert lw.well("C3").coordinates() == (2 * col_space, 0, 0)

    assert lw.well(2).get_name() == 'C1'
Пример #4
0
    def default_setup(self):
        self.r_offset_cam = -0.1
        self.t_offset_cam = 0
        self.h_offset_cam = 2.5
        self.trash = robot.fixed_trash()

        self.tiprack = labware.load('tiprack-1000ul', 11)

        plate_name = '3x2_plate_falcon'
        if plate_name not in labware.list():
            hydra_plate = labware.create(plate_name,
                                         grid=(3, 2),
                                         spacing=(39.24, 39.24),
                                         diameter=35.71,
                                         depth=17.65,
                                         volume=3000)

        self.plate_1 = labware.load(plate_name, '1')
        self.plate_2 = labware.load(plate_name, '2')
        self.plate_3 = labware.load(plate_name, '3')
        self.plate_4 = labware.load(plate_name, '4')
        self.plate_5 = labware.load(plate_name, '5')
        self.plate_6 = labware.load(plate_name, '6')
        self.plate_7 = labware.load(plate_name, '7')
        self.plate_8 = labware.load(plate_name, '8')
        self.plate_9 = labware.load(plate_name, '9')
        self.plate_10 = labware.load(plate_name, '10')

        self.pipette = instruments.P1000_Single('right',
                                                tip_racks=[self.tiprack])

        self.camera = instruments.P1000_Single('left')
Пример #5
0
def test_labware_create(dummy_db):
    n_cols = 6
    n_rows = 4
    x_dist = 19.6
    y_dist = 19.6
    radius = 5.65
    depth = 84

    lw = labware.create(
        'testing-lw',
        grid=(n_cols, n_rows),
        spacing=(x_dist, y_dist),  # distances (mm) between each (column, row)
        diameter=radius * 2,
        depth=depth)

    row_a_center = ((n_rows - 1) * y_dist) + radius
    col_1_center = radius

    row_d_center = radius
    col_6_center = ((n_cols - 1) * x_dist) + radius

    expected = {
        'A1': (col_1_center, row_a_center, depth),
        'D1': (col_1_center, row_d_center, depth),
        'A6': (col_6_center, row_a_center, depth),
        'D6': (col_6_center, row_d_center, depth)
    }

    labware_coords = lw.coordinates()  # currently (0, 0, 0)

    def top(well):
        wc = well.coordinates()
        wt = well.top()[1]
        return labware_coords + wc + wt

    actual = {key: top(lw[key]) for key in expected.keys()}

    for key in expected.keys():
        assert expected[key] == actual[key]
destination_OP50_rows = ['D','E','F']
compound_volumes = [3, 5, 10]

water_volumes = [5, 10]
destination_water_cols = [['1','2','3','4'],
                          ['5','6','7','8']]

agar_thickness = +3 # mm from the bottom of the well

############################# define custom multiwell plates

if '48-well-plate-sarsted' not in labware.list():
    custom_plate = labware.create(
        '48-well-plate-sarsted',        # name of you labware
        grid=(8, 6),                    # specify amount of (columns, rows)
        spacing=(12.4, 12.4),           # distances (mm) between each (column, row)
        diameter=10,                    # diameter (mm) of each well on the plate
        depth=17.05,                    # depth (mm) of each well on the plate
        volume=500)                     # Sarsted had a "volume of work"

    for well in custom_plate.wells():
        print(well)

############################ define labware
# pipette and tiprack
if pipette_type == 'p10-Single':
    tiprack = labware.load(tiprack_type, tiprack_slot)
    pipette = instruments.P10_Single(
        mount=pipette_mount,
        tip_racks=[tiprack])
pipette.start_at_tip(tiprack.well(tip_start_from))
Пример #7
0
print("Load tiprack-1000ul at slot no. ", (tip_slot))
#load 1000ul tips
tiprack1000ul = labware.load('tiprack-1000ul', str(tip_slot))
P1000 = instruments.P1000_Single(mount='right', tip_racks=[tiprack1000ul])

#######
## create and load customized 20ml scintillation vials plate
#for loop is written as if the plate cannot be found in the default labware list, the new labware will be created
plate_name = 'glass_20ml_v2_In'
if plate_name not in labware.list():
    ## create if not found
    labware.create(
        plate_name,
        grid=(
            3, 2
        ),  #specify dimensions of the dimensions of the plates(columns,rows) 
        spacing=(33, 33),  #distances (mm) between each (column, row)
        diameter=16,  #diameter (mm) of each well on the plate
        depth=50,  #height of each well (mm)
        volume=20000  #maximum volume that can be put for each well (um)
    )

for slot in range(max_src_slot):
    plate_containers[slot] = labware.load(plate_name, str(slot + 1))
print("Load experiment destination plate tuberack: ", plate_name, " for ",
      10 - max_src_slot, " slot")
dest_slot_start = max_src_slot + 1

#print out the slot no. so users know where to put plates in which slot
for slot in range(dest_slot_start, 11):
    print("Load ", plate_name, " at slot no. ", (slot + 1))
    plate_containers[slot] = labware.load(plate_name, str(slot + 1))
Пример #8
0
from opentrons import labware, instruments, robot
from sqlite3 import IntegrityError

###################################################################################
# CREATE YOUR LABWARE BELOW
# TO LOAD LABWARE, RUN THIS CODE WITH YOUR SPECIFICATIONS
# ONCE LOADED, LABWARE WILL BE SAVED TO THE OT-2
# LOAD YOUR PROTOCOL AND THE CUSTOM LABWARE WILL BE RECOGNISED
###################################################################################
try:
    Universals_Cold_Box = labware.create(
	'Universals_Cold_Box',
	grid=(5,3),
	spacing=(25,25),
	diameter=20,
	depth=105,
	volume=20000
)

except IntegrityError:
    pass
###################################################################################

###################################################################################
# PASTE YOUR CREATED LABWARE BELOW
###################################################################################
# This did not work when I tried, may work again with update (Matt)

# Temp_96flat = Tempdeck + standard 96 well plate 
	# TempDeck_96-flat = labware.create(
Пример #9
0
REPLACE = False

#define a dict of custom plates. Can add as many as necessary
custom_plates = dict()

custom_plates['CCL_ARTBot_canvas'] = dict(grid=(1, 1),
                                          spacing=(0, 0),
                                          diameter=60,
                                          depth=13,
                                          volume=100)

custom_plates['falcon_6_wellplate_15.5ml_flat'] = dict(grid=(3, 2),
                                                       spacing=(39.3, 39.3),
                                                       diameter=34.75,
                                                       depth=18,
                                                       volume=15500)

custom_plates['nunc_8_wellplate_flat'] = dict(grid=(4, 2),
                                              spacing=(31, 40.5),
                                              diameter=31,
                                              depth=13.3,
                                              volume=13000)

for plate_name in custom_plates:
    if plate_name in labware.list():
        if REPLACE:
            database.delete_container(plate_name)
        else:
            continue
    labware.create(plate_name, **custom_plates[plate_name])
Пример #10
0
    'mix_repetitions': MIX_REPETITIONS,
    'new_tip': NEW_TIP
}

metadata = {
    'protocolName': 'RNA Extraction v0.1',
    'author': 'Neil MacKenzie, Eyal Kazin <*****@*****.**>',
    'source': 'Testing'  #'Custom Protocol Request'
}

# create custom labware
plate_name = 'MidSci-96-Well'
if plate_name not in labware.list():
    labware.create(plate_name,
                   grid=(12, 8),
                   spacing=(9, 9),
                   diameter=5,
                   depth=21,
                   volume=200)

# labware
trough = labware.load('trough-12row', '2', 'trough')
fresh_plate = labware.load(plate_name, '3', 'fresh plate')

tips = [
    labware.load('opentrons-tiprack-300ul', str(slot))
    for slot in range(4, 10)
]
print('-' * 50)
print('Make sure the `tips` make sense!')
print(tips)
print('-' * 50)
    drugs_mapping[(drugs_source_slot, ds)] = (src_cols, dst_cols)

# print out drugs_mapping:
for key, value in drugs_mapping.items():
    _src_slot, _dst_slot = key
    _src_cols, _dst_cols = value
    for _src_col, _dst_col in zip(_src_cols, _dst_cols):
        print('slot {0} col {1} --> slot {2} col {3}'.format(_src_slot, _src_col, _dst_slot, _dst_col))

############################# define custom multiwell plates

if '96-well-plate-pcr-thermofisher' not in labware.list():
    custom_plate = labware.create(
        '96-well-plate-pcr-thermofisher',   # name of you labware
        grid=(12, 8),              # specify amount of (columns, rows)
        spacing=(9.00, 9.00),      # distances (mm) between each (column, row)
        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':
Пример #12
0
redefine = False
if redefine is True:
    from opentrons.data_storage import database
    database.delete_container('3x2_plate')
    database.delete_container('3x2_plate_eppendorf')
    database.delete_container('3x2_plate_corning')
    database.delete_container('3x2_plate_falcon')

#  6-well plate custom entry
plate_name = '3x2_plate_eppendorf'
if plate_name not in labware.list():
    hydra_plate = labware.create(
        plate_name,
        grid=(3, 2),
        spacing=(38, 40),
        diameter=35,
        depth=17,
        volume=3000
    )

plate_name = '3x2_plate_corning'
if plate_name not in labware.list():
    hydra_plate = labware.create(
        plate_name,
        grid=(3, 2),
        spacing=(39.12, 39.12),
        diameter=34.8,
        depth=17.4,
        volume=16800
    )
Пример #13
0
from opentrons import labware, instruments, robot
from otcustomizers import FileInput, StringSelection

reservoir_name = 'biotix-resevoir'
if reservoir_name not in labware.list():
    labware.create(reservoir_name,
                   grid=(1, 1),
                   spacing=(0, 0),
                   diameter=72,
                   depth=23)

tiprack_slots = ['1', '4', '7', '10']
resevoir = labware.load(reservoir_name, '2')
source = resevoir.wells('A1')
trash = robot.fixed_trash[0]

example_csv = """
90,168,187,13,70,189,196,93
56,197,147,139,74,61,44,157
106,198,45,6,46,113,111,33
28,143,185,17,199,155,78,93
185,96,60,105,143,151,18,102
139,48,111,68,179,126,59,172
111,25,84,12,63,31,34,8
24,128,106,88,124,65,133,26
61,71,109,84,85,62,89,168
58,101,121,5,122,88,27,59
43,16,156,175,190,41,78,8
66,60,164,129,106,7,198,195

"""
Пример #14
0
# plate layout by column:
# column 	1:	PBS for equilibration			volume:	1.0 mL
#			2:	sample containing Fc			volume:	? >200 uL
#			3:	PBS wash						volume: 1.0 mL
#			4:	acetate pH 6.0 wash				volume: 1.0 mL
#			5:	acetate pH 3.5 elution buffer	volume: 60 uL
#			6:	neutralization buffer			volume: as needed to aspirate 6 uL

# create custom plate
custom_plate_name = 'VWR_SBS_96_well_1.2mL_plate'

if custom_plate_name not in labware.list():
    labware.create(
        custom_plate_name,  	# name of you labware
        grid=(12, 8),       	# number of (columns, rows)
        spacing=(9, 9),         # distances (mm) between each (column, row)
        diameter=8.24,      	# x dimension of well ** crude hack to tell API that it is a round well since x-size throws error **
#       y-size=8.24,	      	# y dimension of well
        depth=24.63,            # depth (mm) of each well
        volume=1200)        	# volume (µL) of each well

plate = labware.load(custom_plate_name, slot='2')

tiprack = labware.load('opentrons_96_tiprack_300ul', '3')

# pipettes
pipette = instruments.P300_Multi(
    mount='right',
    aspirate_flow_rate=8,
    dispense_flow_rate=8,
    blow_out_flow_rate=16,
    tip_racks=[tiprack])	# *** DO NOT CALL (tiprack) in pipette.pick_up_tip() command *** !!!
import time
import math

from opentrons import robot, instruments, labware, modules

COLD_BLOCK = '96-PCR-tall-cold-block'
try:
    labware.create(COLD_BLOCK,
                   grid=(12, 8),
                   spacing=(9, 9),
                   diameter=5,
                   depth=15.4,
                   volume=200)
except:
    print("Using existing labware definition for {0}".format(COLD_BLOCK))

# Up to 48 rxns per run (4 spots on agar per rxn)
# Multichannel p300, single channel p10
# This protocol is optimized for maximum walkaway time

num_rxns = len(combinations_to_make)
num_plates = math.ceil(num_rxns / 24)

# Load in 96-well PCR plate (96-PCR-flat) on temp deck for moclos, transformation, and outgrowth.
temp_deck = modules.load('tempdeck', '10')
reaction_plate = labware.load('96-PCR-tall', '10', share=True)

available_deck_slots = ['11', '8', '7', '5', '4', '2', '1']

# Load in 1 10ul tiprack and 2 300ul tipracks
tr_10 = [labware.load('tiprack-10ul', '3'), labware.load('tiprack-10ul', '6')]
from opentrons import labware

metadata = {
    'protocolName':
    'Create_labware_Starlab',
    'author':
    'James Kitson <*****@*****.**>',
    'description':
    'A list of the labware create commands for standard ThermoFisher consumables'
}

#######################################
############## Microplates ############
#######################################

# Black Thermo micro plates compatible with the Scorpion plate stacker and plate reader
plate_name = 'Thermo-237108'
if plate_name not in labware.list():
    custom_plate = labware.create(
        plate_name,  # name of you labware
        grid=(12, 8),  # specify amount of (columns, rows)
        spacing=(9, 9),  # distances (mm) between each (column, row)
        diameter=7.1,  # diameter (mm) of each well on the plate
        depth=11.2,  # depth (mm) of each well on the plate
        volume=250)
Пример #17
0
    'author':
    'Jacob Agerbo Rasmussen <*****@*****.**>',
    'version':
    '1.0',
    'date':
    '2019/07/04',
    'description':
    'End Repair of Automated single tube library preperation after Carøe et al. 2017',
}
#### LOADING CUSTOM LABWARE ####
plate_name = 'chill_rack_96'
if plate_name not in labware.list():
    custom_plate = labware.create(
        plate_name,  # name of you labware
        grid=(12, 8),  # specify amount of (columns, rows)
        spacing=(12, 12),  # distances (mm) between each (column, row)
        diameter=6.4,  # diameter (mm) of each well on the plate
        depth=15,  # depth (mm) of each well on the plate
        volume=200)

plate_name = '1ml_Covaris'
if plate_name not in labware.list():
    custom_plate = labware.create(
        plate_name,  # name of you labware
        grid=(12, 8),  # specify amount of (columns, rows)
        spacing=(9, 9),  # distances (mm) between each (column, row)
        diameter=5.2,  # diameter (mm) of each well on the plate
        depth=18.6,  # depth (mm) of each well on the plate
        volume=1000)

plate_name = 'One-Column-reservoir'
Пример #18
0
        pipette.transfer(100, md_well, td_lab.wells('B3'))
        pipette.blow_out(td_lab.wells('B3'))

        # (45) Repeat

    # (46) Add 600 ul from A1 to magdeck
    pipette.transfer(600, td_lab.wells('A1'), md_well)
    mix(5,300,md_well)
    magdeck.disengage()

plate_eppendorf = 'Eppendorf_Samples'
if plate_eppendorf not in labware.list():
   Eppendorf = labware.create(
      plate_eppendorf,
      grid = (8,4),
      spacing = (15,20),
      diameter = 10,
      depth  = 35,
      volume = 100)


magdeck_plate = 'MagDeck_24'
if magdeck_plate not in labware.list():
    labware.create(
        magdeck_plate,
        grid = (6,4),
        spacing = (18, 18),
        diameter = 10,
        depth = 41,
        volume = 1500)
Пример #19
0
        _new_fillvol = fillvol  #save the updated fillvol as _new_fillvol to use further

    #cited from "pipette.transfer"
    pipette._run_transfer_plan(tips, plan, **kwargs)

    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_10_tuberack_falcon_4x50ml_6x15ml_conical',
                      '6')  # Load reservoir

pipette = instruments.P300_Single(mount='right',
                                  tip_racks=[tiprack],
                                  max_volume=200)  # Load pipette

plate = labware.load("flowerplate_48_wellplate_3200ul", '3')  # Load wellplate
assay_start = 2  #The start of the column of 384 well plates I want to dispense TE into.
assay_end = 48  #The end of the column I want to disepnse TE
assay_1_start = 2
assay_2_start = 22
sample_1_start = 0  #the column of 384 well plate where the sample was first dispensed into.
sample_1_end = 11  #the column of 384 well plate where the sample was last dispensed into.
sample_2_start = 0  #the column of 384 well plate where the sample from plate 2 was first dispensed into.
sample_2_end = 11  #the column of 384 well plate where the sample from plate 2 was last dispensed into.

plate_name = 'epMotion_10mL'
if plate_name not in labware.list():
    custom_plate = labware.create(
        plate_name,  # name of you labware
        grid=(7, 1),  # specify amount of (columns, rows)
        spacing=(17.5, 0),  # distances (mm) between each (column, row)
        diameter=5,  # diameter (mm) of each well on the plate
        depth=30,  # depth (mm) of each well on the plate
        volume=10000)

PG = labware.load('epMotion_10mL', '11', 'PG')
plate_384 = labware.load('corning_384_wellplate_112ul_flat', '2', 'plate')
sample_1 = labware.load('biorad_96_wellplate_200ul_pcr', '3')
sample_2 = labware.load('biorad_96_wellplate_200ul_pcr', '6')

tiprack_200 = labware.load('tiprack-200ul', '1', 'p200rack')

tiprack_10_1 = labware.load('opentrons_96_tiprack_10ul', '4')
tiprack_10_2 = labware.load('opentrons_96_tiprack_10ul', '7')

P10_8 = instruments.P10_Multi(mount='left',
Пример #21
0
    print('Tips used so far: %d' % tc)
    return


#%% LABWARE

# Source plate
src_plate = labware.load(source_type, source_slot)

# Destination plates
if '96-well-plate-sqfb-whatman' not in labware.list():
    # Define custom 96WP Whatman plates
    custom_plate = labware.create(
        '96-well-plate-sqfb-whatman',  # Name of labware
        grid=(12, 8),  # Specify number of (columns, rows)
        spacing=(8.99, 8.99),  # Distance (mm) between each (column, row)
        diameter=7.57,  # Diameter (mm) of each well on the plate
        depth=10.35,  # Depth (mm) of each well on the plate
        volume=650)  # Volume of well as per specs (not 'working volume')
    print('Wells in 96WP Whatman:')
    for well in custom_plate.wells():
        print(well)

dst_plates = [labware.load(destination_type, dst_slot) for dst_slot in\
              destination_slots]

#%% PIPETTES

# Multi-channel pipette + tip rack
if multi_pipette_type == 'p50-Multi':
    tipracks_multi = [labware.load(tiprack_type_multi, tiprack_slot)\
    'opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap',
    slot='7' & '8' & '9')
trashBox = labware.load('trash-box', slot='12')
pipette10 = instruments.P10_Single(mount='left',
                                   tip_racks=[p10Rack],
                                   trash_container=trashBox)
pipette300 = instruments.P300_Single(mount='right',
                                     tip_racks=[p200Rack],
                                     trash_container=trashBox)

custom_plate_name = 'greiner_384'

labware.create(
    custom_plate_name,
    grid=(24, 16),
    spacing=(4.5, 4.5),
    diameter=(4),
    depth=(5.5),
    volume=(20),
)
greiner380 = labware.load(custom_plate_name, slot='1')
# MMX (6.840 mL) was prepared by hand and split in to 6 tubes (1.14 mL)
tubeOTDBMMx = ['A1', 'A2', 'A3', 'A4', 'A5', 'A6']
#tubeOTDB = ['A1']
#tubeNTPs = ['A2']
#tubeT7RNApol = ['A3']
#tubeDFHBI = ['A4']
tubeWater = ['B1', 'B2', 'B3']
#tubeCFSMG1655 = ['B1']
#tubeCFSCH34 = ['B2']
# metals to be used
tubeCu = ['B4']
Пример #23
0
from opentrons import labware, instruments, modules, robot
from time import sleep
from subprocess import Popen
import os

metadata = {
    'protocolName': 'Dar cera, pulir cera',
    'description': 'Applies wax to paper sheets using a custom stamp',
    'source': 'https://github.com/Zildj1an/SELEX'
}

stamp_tiprack = "wax-stamp-tiprack"
if stamp_tiprack not in labware.list():
    labware.create(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=7)
wax = labware.load('agilent_1_reservoir_290ml', slot=4)
paper = labware.load(paper_sheet, slot=1)
Пример #24
0
#Small volume condition (is the volume less than or equal to this value?)
small_condition = 6  #ul

###### END OF USER INPUT #######

###Settings
from opentrons import containers, instruments, robot, labware
from opentrons.data_storage import database
from sqlite3 import IntegrityError
import math

#Creating P50 Tiprack
try:
    custom_container = labware.create(
        'tiprack-Fisher200ul',  # name of your container. For a tiprack, must start with 'tiprack'
        grid=(12, 8),  # specify amount of (columns, rows)
        spacing=(8.5, 8.5),  # distances (mm) between each (column, row)
        diameter=6.0,
        depth=60)  # depth (mm) of each tip on the rack
except IntegrityError:
    pass

#Creating aluminum plate container
try:
    custom_container = labware.create(
        'full_alumina',  # name of your container
        grid=(8, 8),  # specify amount of (columns, rows)
        spacing=(10, 12),  # distances (mm) between each (column, row)
        diameter=0.5,  # diameter (mm) of each well on the plate
        depth=25)  # depth (mm) of each well on the plate
except IntegrityError:
    pass
Пример #25
0
#trashBox = labware.load('trash-box', slot='12')
pipette10 = instruments.P10_Single(
    mount='left',
    tip_racks=[p10Rack]  #, trash_container=trashBox
)
pipette300 = instruments.P300_Single(
    mount='right',  #tip_racks=[p200Rack]#, trash_container=trashBox
)
#Defining 384 well plate

custom_plate_name = 'greiner_384'

if custom_plate_name not in labware.list():
    labware.create(custom_plate_name,
                   grid=(24, 16),
                   spacing=(4.5, 4.5),
                   diameter=4,
                   depth=5.5,
                   volume=20)

greiner380 = labware.load(custom_plate_name, slot='1')
# MMX (6.840 mL) was prepared by hand and split in to 6 tubes (1.14 mL)
tubeOTDBMMx = ['A1', 'A2', 'A3', 'A4', 'A5', 'A6']
#tubeOTDB = ['A1']
#tubeNTPs = ['A2']
#tubeT7RNApol = ['A3']
#tubeDFHBI = ['A4']
tubeWater = ['B1', 'B2', 'B3', 'B4']
#tubeCFSMG1655 = ['B1']
#tubeCFSCH34 = ['B2']
# metals to be used
#tubeCu = ['B4']
Пример #26
0
from opentrons import labware, instruments, robot

microplate_name = 'greiner-384-square-1'
if microplate_name not in labware.list():
    labware.create(microplate_name,
                   grid=(24, 16),
                   spacing=(4.5, 4.5),
                   diameter=3.7,
                   depth=11.5)

# labware setup
destination = protocol.load_labware(microplate_name, '2', 'Destination')
destination.properties['height'] = 14.5

master = protocol.load_labware(microplate_name, '1', 'Master')
master.properties['height'] = 14.5

control_1 = protocol.load_labware(microplate_name, '3', 'Control 1')
control_1.properties['height'] = 14.5

control_2 = protocol.load_labware(microplate_name, '5', 'Control 2')
control_2.properties['height'] = 14.5

tipracks = [
    protocol.load_labware('tiprack-10ul', str(slot))
    for slot in ['4', '6', '7', '8']
]

# instruments setup
m10 = instruments.P10_Multi(mount='left', tip_racks=tipracks)
m10.set_flow_rate(aspirate=10, dispense=200)
from opentrons import labware, instruments

metadata = {
    'protocolName': 'Create_labware_Starlab',
    'author': 'James Kitson <*****@*****.**>',
    'description': 'A list of the labware create commands for standard Starlab consumables'
    }

#######################################
######## PCR plates and strips ########
#######################################

    
    # Starlab 1000ul RPT filter tips - cat no. S1182-1830 without tips - USED AS TRASH TROUGH
plate_name = 'trash-starlab-S1182-1830'
if plate_name not in labware.list():
    custom_plate = labware.create(
        plate_name,                    # name of you labware
        grid=(12, 8),                    # specify amount of (columns, rows)
        spacing=(9, 9),               # distances (mm) between each (column, row)
        diameter=8,                     # diameter (mm) of each well on the plate
        depth=90.3,                       # depth (mm) of tiprack and holder
        volume=100000)


### makes sure to remove trash-tiprack-starlab-S1182-1830'
from opentrons import labware, instruments, modules, robot

if '4ti0131_trough-12' not in labware.list():
    custom_plate = labware.create('4ti0131_trough-12',
                                  grid=(12, 1),
                                  spacing=(9, 0),
                                  diameter=8.25,
                                  depth=39.22,
                                  volume=21000)
    robot.comment('4ti0131_trough-12 added to labware database')
else:
    robot.comment(
        '4ti0131_trough-12 already exists in the OT2 database and has not been updated. Refer to Opentrons API and Custom_labware.csv'
    )

if '4ti0136_96_deep-well' not in labware.list():
    custom_plate = labware.create('4ti0136_96_deep-well',
                                  grid=(12, 8),
                                  spacing=(9, 9),
                                  diameter=8.2,
                                  depth=39.15,
                                  volume=2200)
    robot.comment('4ti0136_96_deep-well added to labware database')
else:
    robot.comment(
        '4ti0136_96_deep-well already exists in the OT2 database and has not been updated. Refer to Opentrons API and Custom_labware.csv'
    )

if 'Nunc_Omnitray' not in labware.list():
    custom_plate = labware.create('Nunc_Omnitray',
                                  grid=(12, 8),
# print out drugs_mapping:
for key, value in drugs_mapping.items():
    _src_slot, _dst_slot = key
    _src_cols, _dst_cols = value
    for _src_col, _dst_col in zip(_src_cols, _dst_cols):
        print('slot {0} col {1} --> slot {2} col {3}'.format(
            _src_slot, _src_col, _dst_slot, _dst_col))

############################# define custom multiwell plates

if '48-well-plate-sarsted' not in labware.list():
    custom_plate = labware.create(
        '48-well-plate-sarsted',  # name of you labware
        grid=(8, 6),  # specify amount of (columns, rows)
        spacing=(12.4, 12.4),  # distances (mm) between each (column, row)
        diameter=10,  # diameter (mm) of each well on the plate
        depth=17.05,  # depth (mm) of each well on the plate
        volume=500)  # Sarsted had a "volume of work"

    print('Wells in 48WP Sarsted:')
    for well in custom_plate.wells():
        print(well)

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)
Пример #30
0
        }]
    }

    robot._driver.turn_off_rail_lights()
    thermocycler.wait_for_program(PROGRAM)
    robot.home()


# Run PCR as an independent protocol

# Labware and module initialization

if "eppendorf_rack" not in labware.list():
    labware.create("eppendorf_rack",
                   grid=(12, 8),
                   spacing=(9, 9),
                   diameter=5,
                   depth=21,
                   volume=50)

plate = labware.load('eppendorf_rack', slot='8')
tiprack = labware.load('opentrons-tiprack-300ul', slot='6')
ninja = NinjaPCR(slot='10', simulating=robot.is_simulating())

primer_well = 'A2'
mm_well = 'B2'
dna_well = 'C2'
water_well = 'D2'

first_mix = 'A1'
second_mix = 'B1'
third_mix = 'C1'