Skip to content

Commit

Permalink
flip labware
Browse files Browse the repository at this point in the history
  • Loading branch information
ncdiehl11 committed Oct 5, 2023
1 parent b94cc26 commit 1f69b63
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 9 deletions.
12 changes: 6 additions & 6 deletions protoBuilds/08bbaf/standard_prep.ot2.apiv2.py.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"content": "metadata = {\n 'protocolName': '1 Curve Draft - PLPv2',\n 'author': 'Nick <[email protected]>',\n 'apiLevel': '2.13',\n 'description': ''\n}\n\nflow_rate_modulator = 0.25 # 25% of default flow rates\nreps_mix = 5\nvol_mix = 100.0\n\n\ndef run(ctx):\n\n [num_curves, type_matrix, using_tempdeck,\n temp_setting] = get_values( # noqa: F821\n 'num_curves', 'type_matrix', 'using_tempdeck', 'temp_setting')\n\n # modules\n tempdeck = ctx.load_module('temperature module gen2', '7')\n if using_tempdeck:\n tempdeck.set_temperature(temp_setting)\n\n # labware\n plate = ctx.load_labware('thermo_96_wellplate_750uL', '1')\n tuberack_diluent = tempdeck.load_labware(\n 'opentrons_24_aluminumblock_nest_1.5ml_snapcap', )\n tiprack20 = [ctx.load_labware('opentrons_96_filtertiprack_20ul', '3')]\n tiprack200 = [ctx.load_labware('opentrons_96_filtertiprack_200ul', '6')]\n\n # pipettes\n p20 = ctx.load_instrument('p20_single_gen2', 'left', tip_racks=tiprack20)\n p300 = ctx.load_instrument(\n 'p300_single_gen2', 'right', tip_racks=tiprack200)\n\n # slow flow rates for blood\n p20.flow_rate.aspirate *= flow_rate_modulator\n p300.flow_rate.aspirate *= flow_rate_modulator\n p20.flow_rate.dispense *= flow_rate_modulator\n p300.flow_rate.dispense *= flow_rate_modulator\n\n vol_stock = 4.0\n vols_diluent = [196, 50, 50, 100, 100, 100, 100, 50, 50, 50, 50]\n vols_dilution = [50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50]\n\n # liquids\n diluents = tuberack_diluent.wells()[:num_curves]\n stocks_b = plate.columns()[0][:num_curves]\n\n def slow_withdraw(pip, well, delay_seconds=2.0):\n pip.default_speed /= 16\n if delay_seconds > 0:\n ctx.delay(seconds=delay_seconds)\n pip.move_to(well.top())\n pip.default_speed *= 16\n\n def mix_high_low(pip,\n reps,\n vol,\n well,\n z_offset_low=2.0,\n z_offset_high=5.0):\n for _ in range(reps):\n pip.aspirate(vol, well.bottom(z_offset_low))\n pip.dispense(vol, well.bottom(z_offset_high))\n\n \"\"\" PROTOCOL STEPS\"\"\"\n for n in range(num_curves):\n\n # pre-transfer diluent to plate\n diluent_source = diluents[n]\n diluent_destinations = plate.rows()[n][1:]\n p300.pick_up_tip()\n for vol, d in zip(vols_diluent, diluent_destinations):\n mix_high_low(p300, reps_mix, 150, diluent_source)\n p300.aspirate(4, diluent_source.bottom(5)) # reverse pipette vol\n p300.aspirate(vol, diluent_source.bottom(3))\n slow_withdraw(p300, diluent_source)\n p300.dispense(p300.current_volume, d.bottom(3))\n slow_withdraw(p300, d)\n p300.drop_tip()\n\n # initial stock transfer to plate\n stock_source = stocks_b[n]\n p20.pick_up_tip()\n mix_high_low(p20, reps_mix, 15, stock_source)\n p20.aspirate(10, stock_source.bottom(3)) # reverse pipette vol\n p20.aspirate(vol_stock, stock_source.bottom(3))\n slow_withdraw(p20, stock_source)\n p20.dispense(p20.current_volume, plate.rows()[n][1].bottom(5))\n slow_withdraw(p20, plate.rows()[n][1])\n p20.drop_tip()\n\n # serial dilution\n sources = plate.rows()[n][1:11]\n destinations = plate.rows()[n][2:]\n\n vol_reverse_pipette = 15.0\n\n for i, (vol_dilution, s, d) in enumerate(\n zip(vols_dilution, sources, destinations)):\n p300.pick_up_tip()\n mix_high_low(p300, reps_mix, vol_mix, s)\n p300.aspirate(vol_reverse_pipette, s.bottom(2))\n p300.aspirate(vol_dilution, s.bottom(2))\n slow_withdraw(p300, s)\n p300.dispense(vol_dilution, d.bottom(2))\n slow_withdraw(p300, d)\n if type_matrix == 'plasma':\n p300.dispense(vol_reverse_pipette, s.bottom(2)) # for plasma\n slow_withdraw(p300, s)\n if i == len(sources) - 1:\n p300.drop_tip()\n p300.pick_up_tip()\n mix_high_low(p300, reps_mix, vol_mix, d)\n p300.drop_tip()\n\n tempdeck.deactivate()\n",
"content": "metadata = {\n 'protocolName': '1 Curve Draft - PLPv2',\n 'author': 'Nick <[email protected]>',\n 'apiLevel': '2.13',\n 'description': ''\n}\n\nflow_rate_modulator = 0.25 # 25% of default flow rates\nreps_mix = 5\nvol_mix = 100.0\n\n\ndef run(ctx):\n\n [num_curves, type_matrix, using_tempdeck,\n temp_setting] = get_values( # noqa: F821\n 'num_curves', 'type_matrix', 'using_tempdeck', 'temp_setting')\n\n # modules\n tempdeck = ctx.load_module('temperature module gen2', '7')\n if using_tempdeck:\n tempdeck.set_temperature(temp_setting)\n\n # labware\n try:\n plate = tempdeck.load_labware(\n 'opentrons_96_flat_bottom_adapter_nest_wellplate_200ul_flat')\n except FileNotFoundError:\n plate = tempdeck.load_labware(\n 'opentrons_96_aluminumblock_nest_wellplate_100ul')\n tuberack_diluent = ctx.load_labware(\n 'opentrons_24_aluminumblock_nest_1.5ml_snapcap', '1')\n tiprack20 = [ctx.load_labware('opentrons_96_filtertiprack_20ul', '3')]\n tiprack200 = [ctx.load_labware('opentrons_96_filtertiprack_200ul', '6')]\n\n # pipettes\n p20 = ctx.load_instrument('p20_single_gen2', 'left', tip_racks=tiprack20)\n p300 = ctx.load_instrument(\n 'p300_single_gen2', 'right', tip_racks=tiprack200)\n\n # slow flow rates for blood\n p20.flow_rate.aspirate *= flow_rate_modulator\n p300.flow_rate.aspirate *= flow_rate_modulator\n p20.flow_rate.dispense *= flow_rate_modulator\n p300.flow_rate.dispense *= flow_rate_modulator\n\n vol_stock = 4.0\n vols_diluent = [196, 50, 50, 100, 100, 100, 100, 50, 50, 50, 50]\n vols_dilution = [50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50]\n\n # liquids\n diluents = tuberack_diluent.wells()[:num_curves]\n stocks_b = plate.columns()[0][:num_curves]\n\n def slow_withdraw(pip, well, delay_seconds=2.0):\n pip.default_speed /= 16\n if delay_seconds > 0:\n ctx.delay(seconds=delay_seconds)\n pip.move_to(well.top())\n pip.default_speed *= 16\n\n def mix_high_low(pip,\n reps,\n vol,\n well,\n z_offset_low=2.0,\n z_offset_high=5.0):\n for _ in range(reps):\n pip.aspirate(vol, well.bottom(z_offset_low))\n pip.dispense(vol, well.bottom(z_offset_high))\n\n \"\"\" PROTOCOL STEPS\"\"\"\n for n in range(num_curves):\n\n # pre-transfer diluent to plate\n diluent_source = diluents[n]\n diluent_destinations = plate.rows()[n][1:]\n p300.pick_up_tip()\n for vol, d in zip(vols_diluent, diluent_destinations):\n mix_high_low(p300, reps_mix, 150, diluent_source)\n p300.aspirate(4, diluent_source.bottom(5)) # reverse pipette vol\n p300.aspirate(vol, diluent_source.bottom(3))\n slow_withdraw(p300, diluent_source)\n p300.dispense(p300.current_volume, d.bottom(3))\n slow_withdraw(p300, d)\n p300.drop_tip()\n\n # initial stock transfer to plate\n stock_source = stocks_b[n]\n p20.pick_up_tip()\n mix_high_low(p20, reps_mix, 15, stock_source)\n p20.aspirate(10, stock_source.bottom(3)) # reverse pipette vol\n p20.aspirate(vol_stock, stock_source.bottom(3))\n slow_withdraw(p20, stock_source)\n p20.dispense(p20.current_volume, plate.rows()[n][1].bottom(5))\n slow_withdraw(p20, plate.rows()[n][1])\n p20.drop_tip()\n\n # serial dilution\n sources = plate.rows()[n][1:11]\n destinations = plate.rows()[n][2:]\n\n vol_reverse_pipette = 15.0\n\n for i, (vol_dilution, s, d) in enumerate(\n zip(vols_dilution, sources, destinations)):\n p300.pick_up_tip()\n mix_high_low(p300, reps_mix, vol_mix, s)\n p300.aspirate(vol_reverse_pipette, s.bottom(2))\n p300.aspirate(vol_dilution, s.bottom(2))\n slow_withdraw(p300, s)\n p300.dispense(vol_dilution, d.bottom(2))\n slow_withdraw(p300, d)\n if type_matrix == 'plasma':\n p300.dispense(vol_reverse_pipette, s.bottom(2)) # for plasma\n slow_withdraw(p300, s)\n if i == len(sources) - 1:\n p300.drop_tip()\n p300.pick_up_tip()\n mix_high_low(p300, reps_mix, vol_mix, d)\n p300.drop_tip()\n\n tempdeck.deactivate()\n",
"custom_labware_defs": [
{
"brand": {
Expand Down Expand Up @@ -1185,10 +1185,10 @@
],
"labware": [
{
"name": "Thermo 96 Well Plate 750 \u00b5L on 1",
"name": "Opentrons 24 Well Aluminum Block with NEST 1.5 mL Snapcap on 1",
"share": false,
"slot": "1",
"type": "thermo_96_wellplate_750ul"
"type": "opentrons_24_aluminumblock_nest_1.5ml_snapcap"
},
{
"name": "Opentrons 96 Filter Tip Rack 20 \u00b5L on 3",
Expand All @@ -1203,10 +1203,10 @@
"type": "opentrons_96_filtertiprack_200ul"
},
{
"name": "Opentrons 24 Well Aluminum Block with NEST 1.5 mL Snapcap on Temperature Module GEN2 on 7",
"name": "Opentrons 96 Well Aluminum Block with NEST Well Plate 100 \u00b5L on Temperature Module GEN2 on 7",
"share": false,
"slot": "7",
"type": "opentrons_24_aluminumblock_nest_1.5ml_snapcap"
"type": "opentrons_96_aluminumblock_nest_wellplate_100ul"
},
{
"name": "Opentrons Fixed Trash on 12",
Expand All @@ -1223,7 +1223,7 @@
},
"modules": [
{
"name": "TemperatureModuleContext at Temperature Module GEN2 on 7 lw Opentrons 24 Well Aluminum Block with NEST 1.5 mL Snapcap on Temperature Module GEN2 on 7",
"name": "TemperatureModuleContext at Temperature Module GEN2 on 7 lw Opentrons 96 Well Aluminum Block with NEST Well Plate 100 \u00b5L on Temperature Module GEN2 on 7",
"share": false,
"slot": "7",
"type": "tempdeck"
Expand Down
11 changes: 8 additions & 3 deletions protocols/08bbaf/standard_prep.ot2.apiv2.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,14 @@ def run(ctx):
tempdeck.set_temperature(temp_setting)

# labware
plate = ctx.load_labware('thermo_96_wellplate_750uL', '1')
tuberack_diluent = tempdeck.load_labware(
'opentrons_24_aluminumblock_nest_1.5ml_snapcap', )
try:
plate = tempdeck.load_labware(
'opentrons_96_flat_bottom_adapter_nest_wellplate_200ul_flat')
except FileNotFoundError:
plate = tempdeck.load_labware(
'opentrons_96_aluminumblock_nest_wellplate_100ul')
tuberack_diluent = ctx.load_labware(
'opentrons_24_aluminumblock_nest_1.5ml_snapcap', '1')
tiprack20 = [ctx.load_labware('opentrons_96_filtertiprack_20ul', '3')]
tiprack200 = [ctx.load_labware('opentrons_96_filtertiprack_200ul', '6')]

Expand Down

0 comments on commit 1f69b63

Please sign in to comment.