opentrons icon indicating copy to clipboard operation
opentrons copied to clipboard

feat: Tying a list of tips, rather than a list of tip racks, to a pipette

Open SyntaxColoring opened this issue 3 years ago • 2 comments

(Migrated from an internal wiki page by @ncdiehl11)

Use Case

Users often want to iterate through tips in a non-standard way. An example is picking up fewer than 8 tips with a multi channel pipette— in this case, the user may want to iterate through row H of the rack, followed by row G, then row, F, etc.

Current Workaround

Define a list of tips as mentioned above in the correct order of iteration ( [tip for row in tiprack.rows()[::-1] for tip in row] ). Then, create a custom pick_up function that increments a tip counter and iterates through this list of tips.

SyntaxColoring avatar Sep 02 '21 19:09 SyntaxColoring

Isn't this done already? #11038

silvtal avatar Sep 30 '22 12:09 silvtal

Nah, not quite. This issue is referring to how you can currently do this:

pipette = protocol.load_instrument("p300_single_gen2", mount="left", tip_racks=[tip_rack_1, tip_rack_2])
# ...
# Automatically uses the next available tip in [tip_rack_1, tip_rack_2].
pipette.transfer(100, well_plate["A1"], well_plate["A2"])

But you can't do something like this:

tips_to_use = [tip_rack_1["A1"], tip_rack_2["A1"], tip_rack_1["G6"], tip_rack_2["G6"]]
pipette = protocol.load_instrument("p300_single_gen2", mount="left", tips=tips_to_use)  # Not currently supported.
# ...
# We'd want this to automatically use the next available tip in tips_to_use.
pipette.transfer(100, well_plate["A1"], well_plate["A2"])

In other words, this ticket is about implicit tip pickups.

#11038 is about adjusting the exact tip pickup position when you have an explicit tip pickup, like pipette.pick_up_tip(tip_rack["A1"].top(-1)).

SyntaxColoring avatar Sep 30 '22 16:09 SyntaxColoring

Migrated to RSS-483.

SyntaxColoring avatar Feb 21 '24 20:02 SyntaxColoring