1
1
"""96 ch Test Single Tip and Gripper Moves."""
2
2
from opentrons .protocol_api import (
3
- ALL ,
3
+ COLUMN ,
4
4
SINGLE ,
5
5
ParameterContext ,
6
6
ProtocolContext ,
@@ -63,7 +63,7 @@ def run(ctx: ProtocolContext) -> None:
63
63
helpers .temp_str , "C1"
64
64
) # type: ignore[assignment]
65
65
if disposable_lid :
66
- unused_lids = helpers .load_disposable_lids (ctx , 3 , ["A4 " ], deck_riser )
66
+ unused_lids = helpers .load_disposable_lids (ctx , 3 , ["A2 " ], deck_riser )
67
67
used_lids : List [Labware ] = []
68
68
thermocycler .open_lid ()
69
69
h_s .open_labware_latch ()
@@ -77,12 +77,11 @@ def run(ctx: ProtocolContext) -> None:
77
77
78
78
source_reservoir = ctx .load_labware (RESERVOIR_NAME , "D2" )
79
79
dest_pcr_plate = ctx .load_labware (PCR_PLATE_96_NAME , "C2" )
80
- liquid_waste = ctx .load_labware ("nest_1_reservoir_195ml " , "B3 " , "Liquid Waste" )
80
+ liquid_waste = ctx .load_labware ("nest_1_reservoir_290ml " , "B2 " , "Liquid Waste" )
81
81
82
82
tip_rack_1 = ctx .load_labware (
83
- TIPRACK_96_NAME , "A2" , adapter = TIPRACK_96_ADAPTER_NAME
83
+ TIPRACK_96_NAME , "A4"
84
84
)
85
- tip_rack_adapter = tip_rack_1 .parent
86
85
87
86
tip_rack_2 = ctx .load_labware (TIPRACK_96_NAME , "C3" )
88
87
tip_rack_3 = ctx .load_labware (TIPRACK_96_NAME , "C4" )
@@ -162,7 +161,7 @@ def test_gripper_moves() -> None:
162
161
def deck_moves (labware : Labware , reset_location : str ) -> None :
163
162
"""Function to perform the movement of labware."""
164
163
deck_move_sequence = [
165
- ["B2 " ], # Deck Moves
164
+ ["B3 " ], # Deck Moves
166
165
["C3" ], # Staging Area Slot 3 Moves
167
166
["C4" , "D4" ], # Staging Area Slot 4 Moves
168
167
[
@@ -178,7 +177,7 @@ def deck_moves(labware: Labware, reset_location: str) -> None:
178
177
def staging_area_slot_3_moves (labware : Labware , reset_location : str ) -> None :
179
178
"""Function to perform the movement of labware, starting w/ staging area slot 3."""
180
179
staging_area_slot_3_move_sequence = [
181
- ["B2 " , "C2" ], # Deck Moves
180
+ ["B3 " , "C2" ], # Deck Moves
182
181
[], # Don't have Staging Area Slot 3 open
183
182
["C4" , "D4" ], # Staging Area Slot 4 Moves
184
183
[
@@ -199,7 +198,7 @@ def staging_area_slot_3_moves(labware: Labware, reset_location: str) -> None:
199
198
def staging_area_slot_4_moves (labware : Labware , reset_location : str ) -> None :
200
199
"""Function to perform the movement of labware, starting with staging area slot 4."""
201
200
staging_area_slot_4_move_sequence = [
202
- ["C2" , "B2 " ], # Deck Moves
201
+ ["C2" , "B3 " ], # Deck Moves
203
202
["C3" ], # Staging Area Slot 3 Moves
204
203
["C4" ], # Staging Area Slot 4 Moves
205
204
[
@@ -220,7 +219,7 @@ def staging_area_slot_4_moves(labware: Labware, reset_location: str) -> None:
220
219
def module_moves (labware : Labware , module_locations : List ) -> None :
221
220
"""Function to perform the movement of labware, starting on a module."""
222
221
module_move_sequence = [
223
- ["C2" , "B2 " ], # Deck Moves
222
+ ["C2" , "B3 " ], # Deck Moves
224
223
["C3" ], # Staging Area Slot 3 Moves
225
224
["C4" , "D4" ], # Staging Area Slot 4 Moves
226
225
]
@@ -293,43 +292,31 @@ def test_single_tip_pickup_usage() -> None:
293
292
# want to test partial drop
294
293
ctx .move_labware (tip_rack_2 , waste_chute , use_gripper = USING_GRIPPER )
295
294
296
- def test_full_tip_rack_usage () -> None :
295
+ def test_column_tip_rack_usage () -> None :
297
296
"""Full Tip Pick Up."""
298
- pipette_96_channel .configure_nozzle_layout (style = ALL , start = "A1" )
299
- pipette_96_channel .liquid_presence_detection = True
300
- pipette_96_channel .pick_up_tip (tip_rack_1 ["A1" ])
301
-
302
- pipette_96_channel .aspirate (45 , source_reservoir ["A1" ])
303
-
304
- pipette_96_channel .liquid_presence_detection = False
305
- pipette_96_channel .air_gap (5 )
306
-
307
- pipette_96_channel .dispense (25 , dest_pcr_plate ["A1" ].bottom (b ))
308
- pipette_96_channel .blow_out (location = liquid_waste ["A1" ])
309
- pipette_96_channel .mix (repetitions = 5 , volume = 15 )
310
- pipette_96_channel .return_tip ()
311
-
312
- ctx .move_labware (tip_rack_1 , waste_chute , use_gripper = USING_GRIPPER )
313
- ctx .move_labware (tip_rack_3 , tip_rack_adapter , use_gripper = USING_GRIPPER )
314
-
315
- pipette_96_channel .pick_up_tip (tip_rack_3 ["A1" ])
316
- pipette_96_channel .transfer (
317
- volume = 10 ,
318
- source = source_reservoir ["A1" ],
319
- dest = dest_pcr_plate ["A1" ],
320
- new_tip = "never" ,
321
- touch_tip = True ,
322
- blow_out = True ,
323
- blowout_location = "trash" ,
324
- mix_before = (3 , 5 ),
325
- mix_after = (1 , 5 ),
326
- )
327
- pipette_96_channel .return_tip ()
328
-
329
- ctx .move_labware (tip_rack_3 , waste_chute , use_gripper = USING_GRIPPER )
330
-
297
+ list_of_columns = list (range (1 ,13 ))
298
+ not_reversed = list (range (1 ,13 ))
299
+ list_of_columns .reverse ()
300
+ i = 0
301
+ column_racks = [tip_rack_1 , tip_rack_3 ]
302
+ for rack in column_racks :
303
+ ctx .move_labware (rack , "C3" , use_gripper = USING_GRIPPER )
304
+ for (column ,well ) in zip (list_of_columns , not_reversed ):
305
+ tiprack_well = "A" + str (column )
306
+ well_name = "A" + str (well )
307
+ pipette_96_channel .configure_nozzle_layout (style = COLUMN , start = "A12" )
308
+ pipette_96_channel .liquid_presence_detection = True
309
+ pipette_96_channel .pick_up_tip (rack [tiprack_well ])
310
+ pipette_96_channel .aspirate (45 , source_reservoir [well_name ])
311
+ pipette_96_channel .liquid_presence_detection = False
312
+ pipette_96_channel .air_gap (5 )
313
+ pipette_96_channel .dispense (25 , dest_pcr_plate [tiprack_well ].bottom (b ))
314
+ pipette_96_channel .blow_out (location = liquid_waste ["A1" ])
315
+ pipette_96_channel .drop_tip ()
316
+ ctx .move_labware (rack , waste_chute , use_gripper = USING_GRIPPER )
317
+ i += 1
331
318
test_single_tip_pickup_usage ()
332
- test_full_tip_rack_usage ()
319
+ test_column_tip_rack_usage ()
333
320
334
321
def test_module_usage (unused_lids : List [Labware ], used_lids : List [Labware ]) -> None :
335
322
"""Test Module Use."""
0 commit comments