How to use the opentrons.robot.pause 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 / 1602-part1 / mrna_isolation.ot2.py View on Github external
robot.pause("Your P10 tips have run out, please refill the tip "
                        "racks in slot 10, and 11. Resume after you have "
                        "finished.")
            m10.reset()
            m10_tip_count = 0

    # Transfer 50 uL oligo beads to reaction plate
    for loc in mag_loc:
        m300.pick_up_tip()
        m300.transfer(50, oligo_beads, loc, new_tip='never')
        m300.mix(10, 25, loc)
        m300.blow_out(loc)
        m300.drop_tip()
        update_m300_tip_count(1)

    robot.pause("Place your PCR plate in the thermoycler. Place it back on "
                "the magnetic deck when you are finished.")

    # Resuspend beads in reaction plate
    for loc in mag_loc:
        m300.pick_up_tip()
        m300.mix(10, 30, loc[0].bottom(0.5))
        m300.drop_tip()
        update_m300_tip_count(1)

    m300.delay(minutes=5)

    robot._driver.run_flag.wait()
    magdeck.engage()
    m300.delay(minutes=1)

    # Discard 50 uL supernatant from reaction plate
github Opentrons / Protocols / protocols / 1617 / csv_cherrypick.ot2.py View on Github external
all_tips_300 = [well for rack in tips300 for well in rack.wells()]
    tip300_count = 0

    # perform transfers
    for s_slot, s_well, t_slot, t_well, vol, mix_vol, mix_n in zip(
            source_plate_slots,
            source_wells,
            target_plate_slots,
            target_wells,
            volumes,
            mix_vols,
            mix_cycles):

        if pipette_selection.split(' ')[0] == 'P10':
            if tip10_count == tips10_max:
                robot.pause('Replace tipracks before resuming.')
                p10.reset()
                tip10_count = 0
        if tip300_count == tips300_max:
            robot.pause('Replace tipracks before resuming.')
            p50.reset()
            p300.reset()
            tip300_count = 0

        if vol > 0:
            s_plate_ind = unique_source_slots[s_slot]
            s_plate = source_plates[s_plate_ind]
            t_plate_ind = unique_target_slots[t_slot]
            t_plate = destination_plates[t_plate_ind]

            source = s_plate.wells(s_well)
            target = t_plate.wells(t_well)
github Opentrons / Protocols / protocols / 1606-part2 / part2.ot2.py View on Github external
culture.strip().split(' ')[0] != 'null'):
                well_name = row_names[r_ind] + str(c_ind+1)
                well = rep_plate.wells(well_name)
                if len(all_data[culture.strip()]) == 1:
                    all_data[culture.strip()].append([well])
                else:
                    all_data[culture.strip()][1].append(well)
            elif culture.strip().split(' ')[0] == 'null':
                well_name = row_names[r_ind] + str(c_ind+1)
                well = rep_plate.wells(well_name)
                all_data['null'][1].append(well)

    """              end CSV parsing                 """

    robot.home()
    robot.pause('Pellet the cells in the 24 well plate using a table top centr\
ifuge (3000 rpm for 3 min). Quickly replace the plate in slot 1 and resume to \
ensure cells do not dislodge from the pellet.')

    # remove media
    for key in all_data:
        if key != 'null':
            p1000.transfer(
                1000,
                all_data[key][0],
                p1000.trash_container.top(),
                blow_out=True,
                new_tip='always'
            )

    # distribute PBS on the side of the wells
    p1000.pick_up_tip()
github Opentrons / Protocols / protocols / 1458-erasme-hospital-part1 / QIAseq_targeted_DNA_panel-part1.ot2.py View on Github external
mag_module.engage()
    m300.delay(minutes=2)

    # transfer sample to clean plate
    sources = [
        col[0] for col in mag_plate.cols[:cols_num+(1 if wells_num else 0)]
        ]
    dests = [
        col[0].top() for col in plate.cols[:cols_num+(1 if wells_num else 0)]
        ]
    for source, dest in zip(sources, dests):
        m300.transfer(50, source, dest)
        update_m300_tip_count(1)

    robot.pause('Remove old plate from Magnetic Module. Place the plate in \
slot 1 on Magnetic Module and supply a new clean plate in slot 1.')

    # add QIAseq Beads to samples
    bead_vol = (35 if human_mitochondria_panel == 'True' else 50)
    bead_dest = [col[0].top() for col in mag_plate.cols[:cols_num]]
    m300.distribute(bead_vol, beads, bead_dest, disposal_vol=0)
    update_m300_tip_count(1)
    if wells_num:
        bead_dest = [well.top()
                     for well in mag_plate.cols(cols_num)[:wells_num]]
        p50.transfer(bead_vol, beads, bead_dest)

    m300.delay(minutes=5)
    mag_module.engage()
    m300.delay(minutes=5)
github Opentrons / Protocols / protocols / 1358-andersen-lab-northwestern-university-part2 / nebnext_ultra_II_part2.ot2.py View on Github external
def update_m300_tip_count(num):
    global m300_tip_count
    m300_tip_count += num
    if m300_tip_count == 12 * len(tipracks_m300):
        robot.pause("Your P300 tips have run out, please refill the tip racks \
        in slot 5, 6, 7, 8, and 9. Resume after you have finished.")
        m300.reset_tip_tracking()
        m300.start_at_tip(tipracks_m300[0].cols('1'))
        m300_tip_count = 0
github Opentrons / Protocols / protocols / 1342-clinical-development-associates-of-cape-cod-inc / fungitell_protocol.ot2.py View on Github external
p50.set_flow_rate(aspirate=10, dispense=15)

for source, dest in zip(sources, dests):
    p50.distribute(5, source, dest)

p50.set_flow_rate(aspirate=25, dispense=50)
# alkaline pre-treatment addition
all_wells = [well for subdests in dests for well in subdests]
p50.pick_up_tip()
for well in all_wells:
    if p50.current_volume <= 20:
        p50.aspirate(APTS)
    p50.dispense(20, well.top())
p50.drop_tip()

robot.pause("Off robot: Sequence Hold for Alkaline Pre-treatment of Serum \
Samples and Fungitell Reconstitution.")

# fungitell addition
for col in destination.cols('1', to='7'):
    m300.transfer(100, fungitell, col)
github Opentrons / Protocols / protocols / 716efb / nucleic_acid_purification.ot2.py View on Github external
# remove supernatant
    for t, s in zip(tip_locs, mag_samples):
        pick_up(t)
        w = waste_check(550)
        m300.transfer(550, s, w, new_tip='never')
        m300.drop_tip()

    # wash 1
    magbead_wash(wash1)

    # wash 2
    magbead_wash(wash2)

    # second set of 3x EtOH washes
    etoh_wash_3x()
    robot.pause('Let the beads dry, ideally at 55C or let the plate seat for \
20min. Replace plate on magnetic module when finished if necessary before \
resuming.')

    # add DNAse/RNAse-free water and mix during 8 minute incubation
    magdeck.disengage()
    pick_up()
    m300.distribute(50, water, [s.top() for s in mag_samples], new_tip='never')
    tip_locs = []
    for mix_rep in range(3):
        for t, (s, d) in enumerate(zip(mag_samples, disp_locs)):
            if mix_rep == 0:
                if not m300.tip_attached:
                    m300.pick_up_tip()
                tip_locs.append(m300.current_tip())
            else:
                pick_up(tip_locs[t])
github Opentrons / Protocols / protocols / 1f9218 / capsule_filling.ot2.py View on Github external
def vol_track():
        nonlocal total_vol
        nonlocal h
        total_vol += volume_to_fill_in_ul
        if total_vol > max_vol:
            robot.pause('Refill oil reservoir before resuming.')
            total_vol = volume_to_fill_in_ul
            h = -10
github Opentrons / Protocols / protocols / 1579 / nucleic_acid_purification.ot2.py View on Github external
# discard supernatant from plate 2
    m10.transfer(20, plate2_samples, liquid_trash, new_tip='always')

    # set slow flow rate for P300 multi-channel pipettes and distribute ethanol
    m300.set_flow_rate(aspirate=50, dispense=100)

    # 3 ethanol washes, drop tip after last wash
    ethanol_wash()
    ethanol_wash()
    ethanol_wash(discard=True)

    # remove any remaining supernatant
    m10.transfer(10, plate2_samples, liquid_trash, new_tip='always')

    robot.pause('Replace 10ul tips before resuming.')
    m10.reset()

    # distribute TE buffer and mix
    TE_transfer()
    TE_transfer(mix=True, discard=True)

    magdeck1.disengage()
    magdeck2.disengage()
github Opentrons / Protocols / protocols / 1272-obsidian-therapeutics / mesoscalediscovery_assay.ot2.py View on Github external
for source, dest in zip(source_loc, dest_loc):
        p50.transfer(50, source, dest)

    # pause for user to seal plate and shake plate
    robot.pause("Seal plate with adhesive plate seal and incubate at room \
        temperature with shaking for two hours.")

    # wash plate 3 times with wash buffer
    wash_plate(1, dest_cols, reservoir)

    # add 25 uL of detection antibody to output plate
    dispense_loc = [well.top() for wells in dest_loc for well in wells]
    p50.transfer(25, tuberack.wells('A1'), dispense_loc)

    # pause for user to seal and shake plate
    robot.pause("Seal plate with adhesive plate seal and incubate at room \
        temperature with shaking for two hours.")

    # wash plate 3 times with wash buffer
    wash_plate(2, dest_cols, reservoir)

    # add 150 uL buffer T to output plate using multi-channel
    m300.pick_up_tip()
    for col in dest_cols:
        if m300.current_volume < 150:
            m300.aspirate(reservoir.cols('12'))
        m300.dispense(150, col)
    m300.drop_tip()