-
Notifications
You must be signed in to change notification settings - Fork 52
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
14 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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": { | ||
|
@@ -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", | ||
|
@@ -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", | ||
|
@@ -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" | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters