How to use the opentrons.instruments.P50_Multi function in opentrons

To help you get started, we’ve selected a few opentrons examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github Opentrons / Protocols / protocols / customizable_serial_dilution_ot2 / customizable_serial_dilution.ot2.py View on Github external
pip_name = pipette_type.split('-')[1]

    if pipette_type == 'p300-Single':
        pipette = instruments.P300_Single(
            mount='left',
            tip_racks=tiprack)
    elif pipette_type == 'p50-Single':
        pipette = instruments.P50_Single(
            mount='left',
            tip_racks=tiprack)
    elif pipette_type == 'p300-Multi':
        pipette = instruments.P300_Multi(
            mount='left',
            tip_racks=tiprack)
    elif pipette_type == 'p50-Multi':
        pipette = instruments.P50_Multi(
            mount='left',
            tip_racks=tiprack)

    new_tip = 'never' if tip_use_strategy == 'use one tip' else 'always'

    transfer_volume = total_mixing_volume/dilution_factor
    diluent_volume = total_mixing_volume - transfer_volume

    if pip_name == 'Multi':

        # Distribute diluent across the plate to the the number of samples
        # And add diluent to one column after the number of samples for a blank
        pipette.distribute(diluent_volume, trough['A1'], plate.cols(
            '2', length=(num_of_dilutions)))

        # Dilution of samples across the 96-well flat bottom plate
github Opentrons / Protocols / protocols / 5c6979 / nuc_acid_pur.ot2.py View on Github external
def run_custom_protocol(
        p50_multi_mount: StringSelection('right', 'left') = 'right',
        p300_multi_mount: StringSelection('left', 'right') = 'left',
        HB_CSV: FileInput = example_hb_csv,
        replicate_CSV: FileInput = example_csv
):
    # check
    if p50_multi_mount == p300_multi_mount:
        raise Exception('Pipette mount selections must be distinct.')

    # pipettes
    m50 = instruments.P50_Multi(mount=p50_multi_mount)
    m300 = instruments.P300_Multi(mount=p300_multi_mount)

    # parse
    [rep_sets_m, rep_sets_t] = [
        [[plate.rows('A')[int(col)-1] for col in line.split(',')]
            for line in replicate_CSV.splitlines() if line]
        for plate in [magplate, temp_plate]
    ]
    # samples
    mag_samples_m = [col for set in rep_sets_m for col in set]
    mix_sets_m = []
    mix_sets_t = []
    for line in replicate_CSV.splitlines()[1:]:
        if line:
            set_m = []
            set_t = []
github Opentrons / Protocols / protocols / omega_biotek_magbind_totalpure_NGS / OmegaMagBind.ot2.py View on Github external
elif pipette_type == 'p10_Single':
        tipracks = [labware.load('tiprack-10ul', slot) for slot in slots]
        pipette = instruments.P10_Single(
            mount=pipette_mount,
            tip_racks=tipracks)

    elif pipette_type == 'p10_Multi':
        tipracks = [labware.load('tiprack-10ul', slot) for slot in slots]
        pipette = instruments.P10_Multi(
            mount=pipette_mount,
            tip_racks=tipracks)

    elif pipette_type == 'p50_Multi':
        tipracks = [labware.load('tiprack-200ul', slot) for slot in slots]
        pipette = instruments.P50_Multi(
            mount=pipette_mount,
            tip_racks=tipracks)

    elif pipette_type == 'p300_Multi':
        tipracks = [labware.load('tiprack-200ul', slot) for slot in slots]
        pipette = instruments.P300_Multi(
            mount=pipette_mount,
            tip_racks=tipracks)

    mode = pipette_type.split('_')[1]
    if mode == 'Single':
        if sample_number <= 5:
            reagent_container = labware.load('tube-rack-2ml', '7')
            liquid_waste = labware.load('trough-12row', '5').wells('A12')

        else:
github Opentrons / Protocols / protocols / qiaseq-pt-7 / pt7_cleanup_universal_pcr.ot2.py View on Github external
num_sample_cols = math.ceil(number_of_samples/8)
    rxn_samples = rxn_plate.rows('A')[:num_sample_cols]
    elution_samples = elution_plate.rows('A')[:num_sample_cols]

    # pipettes
    tips300 = [labware.load('opentrons_96_tiprack_300ul', slot)
               for slot in ['4', '5', '6', '7']]
    tips50 = [labware.load('opentrons_96_tiprack_300ul', slot)
              for slot in ['8', '9', '10', '11']]

    m300 = instruments.P300_Multi(
        mount='left',
        tip_racks=tips300
    )
    m50 = instruments.P50_Multi(
        mount='right',
        tip_racks=tips50
    )

    tip50_count = 0
    tip300_count = 0
    tip50_max = len(tips50)*12
    tip300_max = len(tips300)*12

    def pick_up(pip):
        nonlocal tip50_count
        nonlocal tip300_count

        if pip == m50:
            if tip50_count == tip50_max:
                robot.pause('Replace 300ul tipracks before resuming.')
github Opentrons / Protocols / protocols / 1555-absci / nucleic_acid_purification.ot2.py View on Github external
def run_custom_protocol(
        columns_to_process: StringSelection('1', '2', '3', '4',
                                            '5', '6', '7', '8',
                                            '9', '10', '11',
                                            '12') = '12',
        pipettes_type: StringSelection('single', 'multi') = 'multi'):

    num_columns = int(columns_to_process)
    if pipettes_type == 'single':
        pipette50 = instruments.P50_Single(mount='right', tip_racks=[tips50])
        pipette300 = instruments.P300_Single(mount='left', tip_racks=tips300)
        bacteria_samples = bacteria_plate.wells('A1', length=8*num_columns)
        mag_samples = mag_plate.wells('A1', length=8*num_columns)
    else:
        pipette50 = instruments.P50_Multi(mount='right', tip_racks=[tips50])
        pipette300 = instruments.P300_Multi(mount='left', tip_racks=tips300)
        bacteria_samples = bacteria_plate.rows('A')[0:num_columns]
        mag_samples = mag_plate.rows('A')[0:num_columns]

    # distribute RE1 and mix
    for s in bacteria_samples:
        pipette300.pick_up_tip()
        pipette300.transfer(100, RE1_1, s, new_tip='never')
        pipette300.mix(20, 80, s)
        pipette300.blow_out(s.top())
        pipette300.drop_tip()

    # distribute L2 and mix
    for s in bacteria_samples:
        pipette300.pick_up_tip()
        pipette300.transfer(100, L2, s, new_tip='never')
github Opentrons / Protocols / protocols / 1437-loop-genomics-part1 / mastermix_assembly.ot2.py View on Github external
mastermix_volume: float=80,
        reagent_volume: float=15,
        number_of_plates_to_fill: int=8,
        number_of_columns_to_fill: int=3):

    # labware setup
    pcr_plates = [labware.load('PCR-strip-tall', slot)
                  for slot in ['1', '2', '4', '5', '7', '8', '10', '11']][
                    :number_of_plates_to_fill]

    deep_well3 = labware.load(custom_deep_plate, '3')
    deep_well6 = labware.load(custom_deep_plate, '6')
    tiprack = labware.load('tiprack-200ul', '9')

    # instrument setup
    m50 = instruments.P50_Multi(
        mount='right',
        tip_racks=[tiprack])

    for index in range(number_of_columns_to_fill):
        m50.pick_up_tip()
        m50.transfer(
            mastermix_volume,
            deep_well6.cols(index),
            deep_well3.cols(index)[0].top(),
            new_tip='never')
        m50.mix(10, 50, deep_well3.cols(index))

        dest = [plate.cols(index) for plate in pcr_plates]
        m50.distribute(
            reagent_volume, deep_well3.cols(index), dest, new_tip='never')
        m50.drop_tip()
github Opentrons / Protocols / protocols / 1520-gencell-pharma-part3 / cleanup_PCR1.ot2.py View on Github external
waste_rack = labware.load('PCR-strip-tall', '3')

# set up tip rack to accommodate single transfers with multi-channel pipette
tip_rack300 = labware.load('opentrons-tiprack-300ul', '7')
tips_temp = []
for row in range(7, -1, -1):
    tips_temp.append(tip_rack300.rows()[row])
tips = [well for row in tips_temp for well in row]
tip_counter = 0

# modules
magdeck = modules.load('magdeck', '6')
mag_plate = labware.load('biorad-hardshell-96-PCR', '6', share=True)

# pipettes:
m50 = instruments.P50_Multi(
    mount='right'
)
m300 = instruments.P300_Multi(
    mount='left'
)


def run_custom_protocol(
    number_of_samples: StringSelection('3', '4', '6', '8',
                                       '9', '12', '16') = '4'):
    global tip_counter

    number_of_samples = int(number_of_samples)
    samples = samples_rack.wells('A4', length=number_of_samples)
    mag_samples = mag_plate.wells('A4', length=number_of_samples)
    etanol = [well for row in tubes.rows()
github Opentrons / Protocols / protocols / 1619 / aliquots.ot2.py View on Github external
labware.create(
        dest_name,
        grid=(12, 8),
        spacing=(9, 9),
        diameter=7,
        depth=17,
        volume=50
    )

# load labware
tips300 = labware.load('opentrons-tiprack-300ul', '3')
tips50 = labware.load('opentrons-tiprack-300ul', '6')

# pipettes
m300 = instruments.P300_Multi(mount='right', tip_racks=[tips300])
m50 = instruments.P50_Multi(mount='left', tip_racks=[tips50])


def run_custom_protocol(
        tempdeck_temperature_in_degrees_C: float = 4,
        number_of_protein_samples: int = 48
):
    # checks
    if number_of_protein_samples > 48 or number_of_protein_samples < 1:
        raise Exception('Invalid number of protein samples.')

    # load tempdeck and plate
    tempdeck = modules.load('tempdeck', '1')
    source_plate = labware.load(source_name, '1', share=True)
    tempdeck.set_temperature(tempdeck_temperature_in_degrees_C)
    tempdeck.wait_for_temp()
github Opentrons / Protocols / protocols / 1520-gencell-pharma-part7 / second_amplification.ot2.py View on Github external
}

# labware
wash_rack = labware.load('96-PCR-tall', '1')
tube_rack = labware.load('opentrons-tuberack-2ml-eppendorf', '2')

# set up tip rack to accommodate single transfers with multi-channel pipette
tip_rack50 = labware.load('opentrons-tiprack-300ul', '7')
tips_temp = []
for row in range(7, -1, -1):
    tips_temp.append(tip_rack50.rows()[row])
tips = [well for row in tips_temp for well in row]
tip_counter = 0

# pipettes
m50 = instruments.P50_Multi(
    mount='right',
)


def run_custom_protocol(
        number_of_samples: StringSelection('1', '2', '3', '4') = '4'):
    global tip_counter

    # reagent setup
    number_of_samples = int(number_of_samples)
    samples = wash_rack.wells('E6', length=number_of_samples)
    primers = tube_rack.wells('A1')
    NEM_mix = tube_rack.wells('A2')

    # distribute primers to samples
    m50.pick_up_tip(tips[tip_counter])
github Opentrons / Protocols / protocols / 0cb5e5-part4 / ngs_prep_pt4.ot2.py View on Github external
p10_multi_mount: StringSelection('right', 'left') = 'right',
        p50_multi_mount: StringSelection('left', 'right') = 'left',
        dual_index: StringSelection('yes', 'no') = 'yes',
        reagent_starting_column: int = 1
):
    # checks
    if number_of_samples > 96 or number_of_samples < 1:
        raise Exception('Invalid number of samples')
    if p10_multi_mount == p50_multi_mount:
        raise Exception('Invalid pipette mount combination')
    if reagent_starting_column > 7:
        raise Exception('Invlaid reagent starting column')

    # pipettes
    m10 = instruments.P10_Multi(mount=p10_multi_mount, tip_racks=tips10)
    m50 = instruments.P50_Multi(mount=p50_multi_mount, tip_racks=tips50)

    # reagent setup
    [fs2e1, fs1, rs, ss1, ss2e2, pcre3] = [
        reagent_plate.rows('A')[ind]
        for ind in range(reagent_starting_column-1, reagent_starting_column+5)
    ]
    [pb, eb, ps] = [trough.wells(ind) for ind in range(3)]
    etoh = [chan for chan in trough.wells('A4', length=4)]
    etoh_waste = [chan for chan in trough.wells('A8', length=4)]
    liquid_waste = trough.wells('A12')

    # sample setup
    num_cols = math.ceil(number_of_samples/8)
    samples_TM = plate_TM.rows('A')[:num_cols]
    samples_2 = plate_2.rows('A')[:num_cols]
    samples_mag = magplate.rows('A')[:num_cols]