Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
tip_racks=tipracks)
elif pipette_model == 'p10-Single':
tipracks = [
labware.load('tiprack-10ul', slot)
for slot in tiprack_slots]
pipette = instruments.P10_Single(
mount=pipette_mount,
tip_racks=tipracks)
plate = labware.load(plate_type, '3')
volumes = [float(cell) for cell in well_csv_to_list(volumes_csv)]
for vol in volumes:
if 0 < vol < pipette.min_volume:
robot.comment(
'WARNING: volume {} is below pipette\'s minimum volume.'
.format(vol))
tip_strategy = 'always' if tip_reuse == 'new tip each time' else 'once'
pipette.transfer(volumes, source, plate, new_tip=tip_strategy)
conc1 = float(y)
vol1 = round(vol_const/conc1, 1)
if vol1 > final_volume:
vol1 = final_volume
ww = final_volume - vol1
src.append(x)
v1.append(vol1)
water_vol.append(ww)
robot.comment('Adding correct amount of water to corresponding wells.')
# transfer water
for dest, vol in zip(src, water_vol):
if vol > 0:
water_transfer(dest, vol)
robot.comment('Adding correct amount of DNA to corresponding wells')
# transfer dna
for dest, vol in zip(src, v1):
dna_transfer(dest, vol)
robot.comment('Protocol now complete.')
collection tubes on slot 2 using TissueLyserII, incubate at 56°C for 30 \
minutes, and centrifuge at 4,000 x g for 10 minutes')
# carefully transfer lysate from collection tubes to corresponding wells of
# magnetic module deep plate
m300.set_flow_rate(aspirate=50)
for s, d in zip(strips_multi, mag_multi):
pick_up('m300')
m300.transfer(
volume_of_lysate_to_transfer_in_ul, s, d.top(), new_tip='never')
m300.mix(10, 250, d)
m300.blow_out(d.top())
m300.drop_tip()
m300.set_flow_rate(aspirate=150)
robot.comment('Let sit at room temperature for 5 minutes, and continue \
with part 2.')
m50.transfer(
11.6,
strips.wells('A1'),
[s for s in samples_multi],
new_tip='always'
)
robot.pause('Briefly centrifuge reaction plate and replace in slot 1')
for s in samples_multi:
m50.pick_up_tip()
m50.mix(7, 10, s)
m50.blow_out(s.top())
m50.drop_tip()
robot.comment('Briefly centrifuge again. Program the thermal cycler \
according to the parameters prescribed in the manual, and thermocycle the \
# Step 5
for source, dest in zip(ultratubes.wells()[:50], sampvials.wells()):
pick_up(pip50)
pip50.transfer(20, source, dest, new_tip='never')
pip50.blow_out(dest.top())
pip50.drop_tip()
robot.pause("Samples have been transferred to sample vial. Replace the \
centrifuge tubes in slots 2/5/8 and when ready, click RESUME.")
for source, dest in zip(ultratubes.wells()[:50], centtubes.wells()):
pick_up(pip300)
pip300.transfer(180, source, dest, new_tip='never')
pip300.blow_out(dest.top())
pip300.drop_tip()
robot.comment("Part 2 complete, protocol is now finished.")
def pick_up():
nonlocal tip1000_count
if tip1000_count == tip1000_max:
robot.pause('Refill 1000ul tipracks before resuming.')
p1000.reset()
tip1000_count = 0
tip1000_count += 1
p1000.pick_up_tip()
# perform dilution transfer
for i, (vol, dest) in enumerate(zip(volumes, all_tubes)):
if i == 0:
pick_up()
p1000.move_to(dest.top())
robot.comment('Ensure pipette tip is centered and flush with the \
opening of tube A1 of tuberack 1. Cancel run if not.')
p1000.delay(seconds=10)
# determine offset for dispense
offset = -10 if vol >= 1800 else -20
num_transfers = math.ceil(vol/1000)
v_per_trans = vol/num_transfers
for _ in range(num_transfers):
if not p1000.tip_attached:
pick_up()
p1000.transfer(v_per_trans, te, dest.top(offset), new_tip='never')
p1000.blow_out()
p1000.drop_tip()
p300.transfer(400, zyppy_wash, mag.top(), new_tip='never')
p300.mix(10, 280, mag)
p300.blow_out(mag.top())
p300.drop_tip()
magdeck.engage(height=mag_offset)
p300.delay(minutes=2)
p300.set_flow_rate(aspirate=75)
for mag in mag_plate:
pick_up()
p300.transfer(400, mag, liq_waste, new_tip='never')
p300.drop_tip()
magdeck.disengage()
inc_cmmt = 'Incubating for '+str(incubation_time)+' minutes.'
robot.comment(inc_cmmt)
robot.comment('While incubating, please replace tips in slot 8.')
p300.set_flow_rate(aspirate=150)
p300.delay(minutes=incubation_time)
# add elution buffer and mix
for tips, mag in zip(used_tips, mag_plate):
p300.pick_up_tip(tips)
p300.transfer(40, zyppy_el, mag, new_tip='never')
p300.mix(10, 40, mag)
p300.blow_out(mag.top())
p300.return_tip()
for _ in range(10):
p300.delay(seconds=30)
for tips, mag in zip(used_tips, mag_plate):
p300.pick_up_tip(tips)
dispense_locs,
disposal_vol=0,
new_tip='never'
)
m300.move_to(res_12.wells('A12').top(10))
robot.comment('Incubating 5 minutes.')
m300.delay(minutes=5)
if i < 3:
vacuum()
m300.move_to(res_12.wells('A12').top(10))
robot.comment('Incubating 5 minutes.')
m300.delay(minutes=5)
m300.drop_tip(m300.trash_container.top(15))
robot.comment('Take off slides from FastFrame and place into 50 ml \
conical tube filled with 45 ml PBS, and wash by agitating on TeleShake for 5 \
tip10_count += 1
dest = tempplate.rows('A')
for i in range(number_of_plates):
# transfer 10ul of mastermix from PCR strip to plate on tempdeck
for d in dest:
pick_up(pip10)
pip10.transfer(10, pcr_well.wells('A1'), d, new_tip='never')
pip10.blow_out(d.top())
pip10.drop_tip()
if i == number_of_plates-1:
robot.comment("Part 2/4 (GAP) complete. Please remove plate from \
Slot 1 and run on PCR program. When ready, load materials and run \
Part 3/4 (EXO) on the OT-2.")
else:
robot.pause("Part 2/4 (GAP), plate "+str(i+1)+" now complete. \
Please remove plate from Slot 1 and run on PCR program. You may \
)
m300.move_to(res_12.wells('A12').top(10))
robot.comment('Incubating 5 minutes.')
m300.delay(minutes=5)
vacuum()
m300.pick_up_tip()
m300.distribute(
100,
sg_source,
dispense_locs,
disposal_vol=0,
new_tip='never'
)
m300.move_to(res_12.wells('A12').top(10))
robot.comment('Incubating 5 minutes.')
m300.delay(minutes=5)
vacuum()
for i in range(num_final_pbst):
m300.pick_up_tip()
m300.distribute(
100,
pbst[wash_ind],
dispense_locs,
disposal_vol=0,
new_tip='never'
)
m300.move_to(res_12.wells('A12').top(10))
robot.comment('Incubating 5 minutes.')
m300.delay(minutes=5)
if final_aspirate: