-
Notifications
You must be signed in to change notification settings - Fork 180
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
test(analyses snapshots): partial tip protocols
- Loading branch information
Showing
5 changed files
with
653 additions
and
0 deletions.
There are no files selected for viewing
121 changes: 121 additions & 0 deletions
121
analyses-snapshot-testing/files/protocols/Flex_S_2_20_96_None_COLUMN_HappyPath.py
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 |
---|---|---|
@@ -0,0 +1,121 @@ | ||
from opentrons.protocol_api import COLUMN | ||
|
||
metadata = { | ||
"protocolName": "96Channel COLUMN Happy Path", | ||
"description": "96 channel pipette and a COLUMN partial tip configuration.", | ||
} | ||
|
||
requirements = { | ||
"robotType": "Flex", | ||
"apiLevel": "2.20", | ||
} | ||
|
||
|
||
def run(protocol): | ||
|
||
trash = protocol.load_trash_bin("A3") # must load trash bin | ||
|
||
partial_tip_rack = protocol.load_labware( | ||
load_name="opentrons_flex_96_tiprack_1000ul", | ||
label="Partial Tip Rack", | ||
location="B2", | ||
) | ||
|
||
pipette = protocol.load_instrument(instrument_name="flex_96channel_1000") | ||
|
||
# Which nozzle to use on the pipette | ||
# Think of the nozzles from above like you are looking down on a 96-well plate | ||
# start="A1" Means the West most nozzle column will pickup from the East most column of the tip rack | ||
# start="A12" Means the East most nozzle column will pickup from the West most column of the tip rack | ||
pipette.configure_nozzle_layout( | ||
style=COLUMN, | ||
start="A1", | ||
tip_racks=[partial_tip_rack], | ||
) | ||
|
||
source_labware = protocol.load_labware( | ||
load_name="nest_96_wellplate_100ul_pcr_full_skirt", | ||
label="Liquid Transfer - Source Labware", | ||
location="C2", | ||
) | ||
|
||
destination_labware = protocol.load_labware( | ||
load_name="nest_96_wellplate_100ul_pcr_full_skirt", | ||
label="Liquid Transfer - Destination Labware", | ||
location="C3", | ||
) | ||
|
||
volume = 10 # Default volume for actions that require it | ||
|
||
############################# | ||
# Pipette do work | ||
|
||
# consolidate does not work with the COLUMN configuration | ||
# consolidate only has a single well as a destination | ||
|
||
# transfer the row | ||
pipette.transfer(volume, source_labware["A1"], destination_labware["A1"]) | ||
|
||
# distribute does not work with the COLUMN configuration | ||
# distribute only has a single well as a source | ||
|
||
pipette.pick_up_tip() | ||
pipette.touch_tip(source_labware["A2"]) | ||
pipette.drop_tip() | ||
pipette.pick_up_tip() | ||
pipette.home() | ||
pipette.drop_tip() | ||
|
||
pipette.pick_up_tip() | ||
well = source_labware["A3"] | ||
# directly from docs http://sandbox.docs.opentrons.com/edge/v2/new_protocol_api.html#opentrons.protocol_api.InstrumentContext.prepare_to_aspirate | ||
pipette.move_to(well.bottom(z=2)) | ||
pipette.mix(10, 10) | ||
pipette.move_to(well.top(z=5)) | ||
pipette.blow_out() | ||
pipette.prepare_to_aspirate() | ||
pipette.move_to(well.bottom(z=2)) | ||
pipette.aspirate(10, well.bottom(z=2)) | ||
pipette.dispense(10) | ||
pipette.drop_tip() | ||
|
||
############################# | ||
# Change the pipette configuration | ||
|
||
pipette.configure_nozzle_layout( | ||
style=COLUMN, | ||
start="A12", # Which nozzle to start with | ||
tip_racks=[partial_tip_rack], | ||
) | ||
|
||
############################# | ||
# Pipette do work | ||
|
||
# consolidate does not work with the COLUMN configuration | ||
# consolidate only has a single well as a destination | ||
|
||
# transfer the row | ||
pipette.transfer(volume, source_labware["A5"], destination_labware["A5"]) | ||
|
||
# distribute does not work with the COLUMN configuration | ||
# distribute only has a single well as a source | ||
|
||
pipette.pick_up_tip() | ||
pipette.touch_tip(source_labware["A6"]) | ||
pipette.drop_tip() | ||
pipette.pick_up_tip() | ||
pipette.home() | ||
pipette.drop_tip() | ||
|
||
pipette.pick_up_tip() | ||
well = source_labware["A7"] | ||
# directly from docs http://sandbox.docs.opentrons.com/edge/v2/new_protocol_api.html#opentrons.protocol_api.InstrumentContext.prepare_to_aspirate | ||
pipette.move_to(well.bottom(z=2)) | ||
pipette.mix(10, 10) | ||
pipette.move_to(well.top(z=5)) | ||
pipette.blow_out() | ||
pipette.prepare_to_aspirate() | ||
pipette.move_to(well.bottom(z=2)) | ||
pipette.aspirate(10, well.bottom(z=2)) | ||
pipette.dispense(10) | ||
pipette.drop_tip() |
125 changes: 125 additions & 0 deletions
125
analyses-snapshot-testing/files/protocols/Flex_S_2_20_96_None_PARTIAL_COLUMN_HappyPath.py
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 |
---|---|---|
@@ -0,0 +1,125 @@ | ||
from opentrons.protocol_api import PARTIAL_COLUMN | ||
|
||
metadata = { | ||
"protocolName": "96Channel PARTIAL_COLUMN Happy Path", | ||
"description": "96 channel pipette and a PARTIAL_COLUMN partial tip configuration.", | ||
} | ||
|
||
requirements = { | ||
"robotType": "Flex", | ||
"apiLevel": "2.20", | ||
} | ||
|
||
|
||
def run(protocol): | ||
|
||
trash = protocol.load_trash_bin("A3") # must load trash bin | ||
|
||
partial_tip_rack = protocol.load_labware( | ||
load_name="opentrons_flex_96_tiprack_1000ul", | ||
label="Partial Tip Rack", | ||
location="D2", | ||
) | ||
|
||
pipette = protocol.load_instrument(instrument_name="flex_96channel_1000") | ||
|
||
# Which nozzle to use on the pipette | ||
# Think of the nozzles from above like you are looking down on a 96-well plate | ||
# Picking up partial columns with the backmost nozzles is currently not supported. Setting | ||
# ``style=PARTIAL_COLUMN`` and either ``start="A1"`` or ``start="A12"`` will raise an error. | ||
# H1 means pipette overhang NE | ||
# H12 means pipette overhang NW | ||
pipette.configure_nozzle_layout( | ||
style=PARTIAL_COLUMN, | ||
start="H1", | ||
end="D1", # pick up the first 5 | ||
tip_racks=[partial_tip_rack], | ||
) | ||
|
||
source_labware = protocol.load_labware( | ||
load_name="nest_96_wellplate_100ul_pcr_full_skirt", | ||
label="Liquid Transfer - Source Labware", | ||
location="C2", | ||
) | ||
|
||
destination_labware = protocol.load_labware( | ||
load_name="nest_96_wellplate_100ul_pcr_full_skirt", | ||
label="Liquid Transfer - Destination Labware", | ||
location="C3", | ||
) | ||
|
||
volume = 10 # Default volume for actions that require it | ||
|
||
############################# | ||
# Pipette do work | ||
|
||
# consolidate does not work with the PARTIAL_COLUMN configuration | ||
# consolidate only has a single well as a destination | ||
|
||
# transfer the row | ||
pipette.transfer(volume, source_labware["D1"], destination_labware["D1"]) | ||
|
||
# distribute does not work with the PARTIAL_COLUMN configuration | ||
# distribute only has a single well as a source | ||
|
||
pipette.pick_up_tip() | ||
pipette.touch_tip(source_labware["D2"]) | ||
pipette.drop_tip() | ||
pipette.pick_up_tip() | ||
pipette.home() | ||
pipette.drop_tip() | ||
|
||
pipette.pick_up_tip() | ||
well = source_labware["D3"] | ||
# directly from docs http://sandbox.docs.opentrons.com/edge/v2/new_protocol_api.html#opentrons.protocol_api.InstrumentContext.prepare_to_aspirate | ||
pipette.move_to(well.bottom(z=2)) | ||
pipette.mix(10, 10) | ||
pipette.move_to(well.top(z=5)) | ||
pipette.blow_out() | ||
pipette.prepare_to_aspirate() | ||
pipette.move_to(well.bottom(z=2)) | ||
pipette.aspirate(10, well.bottom(z=2)) | ||
pipette.dispense(10) | ||
pipette.drop_tip() | ||
|
||
############################# | ||
# Change the pipette configuration | ||
|
||
pipette.configure_nozzle_layout( | ||
style=PARTIAL_COLUMN, | ||
start="H1", # Which nozzle to start with | ||
end="G1", # 2 - the remaining 2 in the column | ||
tip_racks=[partial_tip_rack], | ||
) | ||
|
||
############################# | ||
# Pipette do work | ||
|
||
# consolidate does not work with the PARTIAL_COLUMN configuration | ||
# consolidate only has a single well as a destination | ||
|
||
# transfer the row | ||
pipette.transfer(volume, source_labware["B5"], destination_labware["B5"]) | ||
|
||
# distribute does not work with the PARTIAL_COLUMN configuration | ||
# distribute only has a single well as a source | ||
|
||
pipette.pick_up_tip() | ||
pipette.touch_tip(source_labware["B6"]) | ||
pipette.drop_tip() | ||
pipette.pick_up_tip() | ||
pipette.home() | ||
pipette.drop_tip() | ||
|
||
pipette.pick_up_tip() | ||
well = source_labware["B7"] | ||
# directly from docs http://sandbox.docs.opentrons.com/edge/v2/new_protocol_api.html#opentrons.protocol_api.InstrumentContext.prepare_to_aspirate | ||
pipette.move_to(well.bottom(z=2)) | ||
pipette.mix(10, 10) | ||
pipette.move_to(well.top(z=5)) | ||
pipette.blow_out() | ||
pipette.prepare_to_aspirate() | ||
pipette.move_to(well.bottom(z=2)) | ||
pipette.aspirate(10, well.bottom(z=2)) | ||
pipette.dispense(10) | ||
pipette.drop_tip() |
121 changes: 121 additions & 0 deletions
121
analyses-snapshot-testing/files/protocols/Flex_S_2_20_96_None_ROW_HappyPath.py
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 |
---|---|---|
@@ -0,0 +1,121 @@ | ||
from opentrons.protocol_api import ROW | ||
|
||
metadata = { | ||
"protocolName": "96Channel ROW Happy Path", | ||
"description": "96 channel pipette and a ROW partial tip configuration.", | ||
} | ||
|
||
requirements = { | ||
"robotType": "Flex", | ||
"apiLevel": "2.20", | ||
} | ||
|
||
|
||
def run(protocol): | ||
|
||
trash = protocol.load_trash_bin("A3") # must load trash bin | ||
|
||
partial_tip_rack = protocol.load_labware( | ||
load_name="opentrons_flex_96_tiprack_1000ul", | ||
label="Partial Tip Rack", | ||
location="B1", | ||
) | ||
|
||
pipette = protocol.load_instrument(instrument_name="flex_96channel_1000") | ||
|
||
# Which nozzle to use on the pipette | ||
# Think of the nozzles from above like you are looking down on a 96-well plate | ||
# start="A1" Means the North most nozzle row will pickup from the South most row of the tip rack | ||
# start="H1" Means the South most nozzle row will pickup from the North most row of the tip rack | ||
pipette.configure_nozzle_layout( | ||
style=ROW, | ||
start="A1", | ||
tip_racks=[partial_tip_rack], | ||
) | ||
|
||
source_labware = protocol.load_labware( | ||
load_name="nest_96_wellplate_100ul_pcr_full_skirt", | ||
label="Liquid Transfer - Source Labware", | ||
location="C2", | ||
) | ||
|
||
destination_labware = protocol.load_labware( | ||
load_name="nest_96_wellplate_100ul_pcr_full_skirt", | ||
label="Liquid Transfer - Destination Labware", | ||
location="C3", | ||
) | ||
|
||
volume = 10 # Default volume for actions that require it | ||
|
||
############################# | ||
# Pipette do work | ||
|
||
# consolidate is does not work with the ROW configuration | ||
# consolidate only has a single well as a destination | ||
|
||
# transfer the row | ||
pipette.transfer(volume, source_labware["A1"], destination_labware["A1"]) | ||
|
||
# distribute does not work with the ROW configuration | ||
# distribute only has a single well as a source | ||
|
||
pipette.pick_up_tip() | ||
pipette.touch_tip(source_labware["B1"]) | ||
pipette.drop_tip() | ||
pipette.pick_up_tip() | ||
pipette.home() | ||
pipette.drop_tip() | ||
|
||
pipette.pick_up_tip() | ||
well = source_labware["D1"] | ||
# directly from docs http://sandbox.docs.opentrons.com/edge/v2/new_protocol_api.html#opentrons.protocol_api.InstrumentContext.prepare_to_aspirate | ||
pipette.move_to(well.bottom(z=2)) | ||
pipette.mix(10, 10) | ||
pipette.move_to(well.top(z=5)) | ||
pipette.blow_out() | ||
pipette.prepare_to_aspirate() | ||
pipette.move_to(well.bottom(z=2)) | ||
pipette.aspirate(10, well.bottom(z=2)) | ||
pipette.dispense(10) | ||
pipette.drop_tip() | ||
|
||
############################# | ||
# Change the pipette configuration | ||
|
||
pipette.configure_nozzle_layout( | ||
style=ROW, | ||
start="H1", # Which nozzle to start with | ||
tip_racks=[partial_tip_rack], | ||
) | ||
|
||
############################# | ||
# Pipette do work | ||
|
||
# consolidate is does not work with the ROW configuration | ||
# consolidate only has a single well as a destination | ||
|
||
# transfer the row | ||
pipette.transfer(volume, source_labware["E1"], destination_labware["E1"]) | ||
|
||
# distribute does not work with the ROW configuration | ||
# distribute only has a single well as a source | ||
|
||
pipette.pick_up_tip() | ||
pipette.touch_tip(source_labware["F1"]) | ||
pipette.drop_tip() | ||
pipette.pick_up_tip() | ||
pipette.home() | ||
pipette.drop_tip() | ||
|
||
pipette.pick_up_tip() | ||
well = source_labware["G1"] | ||
# directly from docs http://sandbox.docs.opentrons.com/edge/v2/new_protocol_api.html#opentrons.protocol_api.InstrumentContext.prepare_to_aspirate | ||
pipette.move_to(well.bottom(z=2)) | ||
pipette.mix(10, 10) | ||
pipette.move_to(well.top(z=5)) | ||
pipette.blow_out() | ||
pipette.prepare_to_aspirate() | ||
pipette.move_to(well.bottom(z=2)) | ||
pipette.aspirate(10, well.bottom(z=2)) | ||
pipette.dispense(10) | ||
pipette.drop_tip() |
Oops, something went wrong.