Skip to content

Commit

Permalink
fix
Browse files Browse the repository at this point in the history
  • Loading branch information
“ramifarawi” committed Oct 30, 2023
1 parent 1e5de9f commit fc7b9f2
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 5 deletions.
2 changes: 1 addition & 1 deletion protoBuilds/010d6c/010d6c.ot2.apiv2.py.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"content": "\n\nmetadata = {\n 'protocolName': 'Ribogreen Assay',\n 'author': 'Rami Farawi <[email protected]>',\n 'source': 'Custom Protocol Request',\n 'apiLevel': '2.13'\n}\n\n\ndef run(ctx):\n\n [csv_samp, plate_standard, diluent_buff_col,\n duplicate_plating, m300_mount, p300_mount] = get_values( # noqa: F821\n \"csv_samp\", \"plate_standard\", \"diluent_buff_col\",\n \"duplicate_plating\", \"m300_mount\", \"p300_mount\")\n\n # p300_mount = 'left'\n # m300_mount = 'right'\n # plate_standard = True\n # diluent_buff_col = 4\n # duplicate_plating = False\n # csv_samp = \"\"\"\n #\n # source slot, source well, dest well\n # 7, A1, A1\n # 8, A1, A2\n # 7, A3, A3\n #\n # \"\"\"\n\n # labware\n reservoir = ctx.load_labware('corning_12_reservoir', 2)\n try:\n heater_shaker = ctx.load_module('heaterShakerModuleV1', 6)\n heater_shaker.close_labware_latch()\n hs_plate = heater_shaker.load_labware('nunc_96_wellplate_400ul')\n except ValueError:\n hs_plate = ctx.load_labware('nunc_96_wellplate_400ul', 6)\n\n deep_plate = ctx.load_labware('pyramid_96_wellplate_2000ul', 4)\n tuberack_15 = ctx.load_labware('opentrons_15_tuberack_5000ul', 7)\n tuberack_24 = ctx.load_labware('opentrons_24_tuberack_nest_2ml_snapcap', 8)\n tuberack_24 = tuberack_24\n\n tips = [ctx.load_labware('opentrons_96_tiprack_300ul', slot)\n for slot in [1]]\n\n # pipettes\n p300 = ctx.load_instrument('p300_single_gen2', p300_mount, tip_racks=tips)\n m300 = ctx.load_instrument('p300_multi_gen2', m300_mount, tip_racks=tips)\n\n csv_lines = [[val.strip() for val in line.split(',')]\n for line in csv_samp.splitlines()\n if line.split(',')[0].strip()][1:]\n\n # mapping\n matrix_buff = reservoir.wells_by_name()['A1']\n triton = reservoir.wells_by_name()['A3']\n te = reservoir.wells_by_name()['A5']\n dye = reservoir.wells_by_name()['A7']\n calibration_solution = tuberack_15.wells()[0]\n\n # protocol\n diluent_buff_col = deep_plate.columns()[diluent_buff_col-1]\n if plate_standard:\n ctx.comment('\\n------------ADDING BUFFER TO PLATE------------\\n\\n')\n buffer_vols = [0, 250, 500, 750, 900, 950, 980, 1000]\n p300.pick_up_tip()\n p300.mix(1, 300, matrix_buff)\n for vol, well in zip(buffer_vols, diluent_buff_col):\n if vol == 0:\n continue\n p300.transfer(vol, matrix_buff, well, new_tip='never')\n p300.drop_tip()\n\n ctx.comment('\\n------------ADDING CALIBRATION------------\\n\\n')\n calibration_vols = [1000, 750, 500, 250, 100, 50, 20, 0]\n\n for vol, well in zip(calibration_vols, diluent_buff_col):\n if vol == 0:\n continue\n p300.pick_up_tip()\n p300.mix(1, 300, matrix_buff)\n p300.transfer(vol, calibration_solution, well.top(),\n new_tip='never')\n p300.drop_tip()\n\n if duplicate_plating:\n ctx.comment('\\n------------DUPLICATE PLATING------------\\n\\n')\n dispense_wells = [hs_plate.wells_by_name()[well]\n for well in ['A1', 'A2', 'A11', 'A12']]\n source_col = diluent_buff_col[0]\n m300.pick_up_tip()\n m300.aspirate(220, source_col)\n for well in dispense_wells:\n m300.dispense(50, well)\n m300.drop_tip()\n\n else:\n ctx.comment('\\n------------TRIPLICATE PLATING------------\\n\\n')\n dispense_wells = [hs_plate.wells_by_name()[well]\n for well in ['A1', 'A2', 'A3', 'A10', 'A11', 'A12']]\n source_col = diluent_buff_col[0]\n m300.pick_up_tip()\n m300.aspirate(300, source_col)\n for well in dispense_wells:\n m300.dispense(50, well)\n m300.drop_tip()\n\n ctx.comment('\\n------------ADDING SAMPLE------------\\n\\n')\n for line in csv_lines:\n csv_slot = int(line[0])\n\n csv_well = line[1]\n source_well = ctx.loaded_labwares[csv_slot].wells_by_name()[csv_well]\n dest_well = line[2]\n p300.pick_up_tip()\n p300.aspirate(50, source_well)\n p300.dispense(50, hs_plate.wells_by_name()[dest_well])\n p300.drop_tip()\n\n ctx.comment('\\n------------PLATING TRITON------------\\n\\n')\n m300.flow_rate.dispense = 200\n dispense_wells = hs_plate.rows()[0][:6]\n m300.pick_up_tip()\n m300.mix(1, 300, triton)\n m300.aspirate(300, triton)\n for well in dispense_wells:\n m300.dispense(50, well.top())\n m300.drop_tip()\n\n ctx.comment('\\n------------PLATING TE------------\\n\\n')\n dispense_wells = hs_plate.rows()[0][6:]\n m300.pick_up_tip()\n m300.mix(1, 300, te)\n m300.aspirate(300, te)\n for well in dispense_wells:\n m300.dispense(50, well.top())\n m300.drop_tip()\n\n try:\n heater_shaker.set_and_wait_for_temperature(37)\n ctx.delay(minutes=10)\n heater_shaker.deactivate_heater()\n except UnboundLocalError:\n ctx.delay(minutes=10)\n\n ctx.comment('\\n------------PLATING DYE------------\\n\\n')\n\n m300.pick_up_tip()\n m300.mix(1, 300, te)\n\n for _ in range(2):\n m300.distribute(50, dye, [well.top() for well in hs_plate.rows()[0]],\n new_tip='never')\n\n m300.drop_tip()\n\n ctx.pause('''\n Plate is ready! Please remove, seal and transport to the plate reader for\n analysis. Please remember to tidy the robot deck and dispose of any waste.\n ''')\n",
"content": "\n\nmetadata = {\n 'protocolName': 'Ribogreen Assay',\n 'author': 'Rami Farawi <[email protected]>',\n 'source': 'Custom Protocol Request',\n 'apiLevel': '2.13'\n}\n\n\ndef run(ctx):\n\n [csv_samp, plate_standard, diluent_buff_col,\n duplicate_plating, m300_mount, p300_mount] = get_values( # noqa: F821\n \"csv_samp\", \"plate_standard\", \"diluent_buff_col\",\n \"duplicate_plating\", \"m300_mount\", \"p300_mount\")\n\n # p300_mount = 'left'\n # m300_mount = 'right'\n # plate_standard = True\n # diluent_buff_col = 4\n # duplicate_plating = False\n # csv_samp = \"\"\"\n #\n # source slot, source well, dest well\n # 7, A1, A1\n # 8, A1, A2\n # 7, A3, A3\n #\n # \"\"\"\n\n # labware\n reservoir = ctx.load_labware('corning_12_reservoir', 2)\n try:\n heater_shaker = ctx.load_module('heaterShakerModuleV1', 6)\n heater_shaker.close_labware_latch()\n hs_plate = heater_shaker.load_labware('nunc_96_wellplate_400ul')\n except ValueError:\n hs_plate = ctx.load_labware('nunc_96_wellplate_400ul', 6)\n\n deep_plate = ctx.load_labware('pyramid_96_wellplate_2000ul', 4)\n tuberack_15 = ctx.load_labware('opentrons_15_tuberack_5000ul', 7)\n tuberack_24 = ctx.load_labware('opentrons_24_tuberack_nest_2ml_snapcap', 8)\n tuberack_24 = tuberack_24\n\n tips = [ctx.load_labware('opentrons_96_tiprack_300ul', slot)\n for slot in [1]]\n\n # pipettes\n p300 = ctx.load_instrument('p300_single_gen2', p300_mount, tip_racks=tips)\n m300 = ctx.load_instrument('p300_multi_gen2', m300_mount, tip_racks=tips)\n\n csv_lines = [[val.strip() for val in line.split(',')]\n for line in csv_samp.splitlines()\n if line.split(',')[0].strip()][1:]\n\n # mapping\n matrix_buff = reservoir.wells_by_name()['A1'].bottom(z=4)\n triton = reservoir.wells_by_name()['A3'].bottom(z=4)\n te = reservoir.wells_by_name()['A5'].bottom(z=4)\n dye = reservoir.wells_by_name()['A7'].bottom(z=4)\n calibration_solution = tuberack_15.wells()[0]\n\n # protocol\n diluent_buff_col = deep_plate.columns()[diluent_buff_col-1]\n if plate_standard:\n ctx.comment('\\n------------ADDING BUFFER TO PLATE------------\\n\\n')\n buffer_vols = [0, 250, 500, 750, 900, 950, 980, 1000]\n p300.pick_up_tip()\n p300.mix(1, 300, matrix_buff)\n for vol, well in zip(buffer_vols, diluent_buff_col):\n if vol == 0:\n continue\n p300.transfer(vol, matrix_buff, well, new_tip='never')\n p300.drop_tip()\n\n ctx.comment('\\n------------ADDING CALIBRATION------------\\n\\n')\n calibration_vols = [1000, 750, 500, 250, 100, 50, 20, 0]\n\n for vol, well in zip(calibration_vols, diluent_buff_col):\n if vol == 0:\n continue\n p300.pick_up_tip()\n p300.mix(1, 300, matrix_buff)\n p300.transfer(vol, calibration_solution, well.top(),\n new_tip='never')\n p300.drop_tip()\n\n if duplicate_plating:\n ctx.comment('\\n------------DUPLICATE PLATING------------\\n\\n')\n dispense_wells = [hs_plate.wells_by_name()[well]\n for well in ['A1', 'A2', 'A11', 'A12']]\n source_col = diluent_buff_col[0]\n m300.pick_up_tip()\n m300.aspirate(220, source_col)\n for well in dispense_wells:\n m300.dispense(50, well)\n m300.drop_tip()\n\n else:\n ctx.comment('\\n------------TRIPLICATE PLATING------------\\n\\n')\n dispense_wells = [hs_plate.wells_by_name()[well]\n for well in ['A1', 'A2', 'A3', 'A10', 'A11', 'A12']]\n source_col = diluent_buff_col[0]\n m300.pick_up_tip()\n m300.aspirate(300, source_col)\n for well in dispense_wells:\n m300.dispense(50, well)\n m300.drop_tip()\n\n ctx.comment('\\n------------ADDING SAMPLE------------\\n\\n')\n for line in csv_lines:\n csv_slot = int(line[0])\n\n csv_well = line[1]\n source_well = ctx.loaded_labwares[csv_slot].wells_by_name()[csv_well]\n dest_well = line[2]\n p300.pick_up_tip()\n p300.aspirate(50, source_well)\n p300.dispense(50, hs_plate.wells_by_name()[dest_well])\n p300.drop_tip()\n\n ctx.comment('\\n------------PLATING TRITON------------\\n\\n')\n m300.flow_rate.dispense = 200\n dispense_wells = hs_plate.rows()[0][:6]\n m300.pick_up_tip()\n m300.mix(1, 300, triton)\n m300.aspirate(300, triton)\n for well in dispense_wells:\n m300.dispense(50, well.top())\n m300.drop_tip()\n\n ctx.comment('\\n------------PLATING TE------------\\n\\n')\n dispense_wells = hs_plate.rows()[0][6:]\n m300.pick_up_tip()\n m300.mix(1, 300, te)\n m300.aspirate(300, te)\n for well in dispense_wells:\n m300.dispense(50, well.top())\n m300.drop_tip()\n\n try:\n heater_shaker.set_and_wait_for_temperature(37)\n ctx.delay(minutes=10)\n heater_shaker.deactivate_heater()\n except UnboundLocalError:\n ctx.delay(minutes=10)\n\n ctx.comment('\\n------------PLATING DYE------------\\n\\n')\n\n m300.pick_up_tip()\n m300.mix(1, 300, te)\n\n for _ in range(2):\n m300.distribute(50, dye, [well.top() for well in hs_plate.rows()[0]],\n new_tip='never')\n\n m300.drop_tip()\n\n ctx.pause('''\n Plate is ready! Please remove, seal and transport to the plate reader for\n analysis. Please remember to tidy the robot deck and dispose of any waste.\n ''')\n",
"custom_labware_defs": [
{
"brand": {
Expand Down
8 changes: 4 additions & 4 deletions protocols/010d6c/010d6c.ot2.apiv2.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,10 +55,10 @@ def run(ctx):
if line.split(',')[0].strip()][1:]

# mapping
matrix_buff = reservoir.wells_by_name()['A1']
triton = reservoir.wells_by_name()['A3']
te = reservoir.wells_by_name()['A5']
dye = reservoir.wells_by_name()['A7']
matrix_buff = reservoir.wells_by_name()['A1'].bottom(z=4)
triton = reservoir.wells_by_name()['A3'].bottom(z=4)
te = reservoir.wells_by_name()['A5'].bottom(z=4)
dye = reservoir.wells_by_name()['A7'].bottom(z=4)
calibration_solution = tuberack_15.wells()[0]

# protocol
Expand Down

0 comments on commit fc7b9f2

Please sign in to comment.