You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# Overview
Update docs and release notes to advise picking up row by row, rather
than column by column, when using `SINGLE` or `PARTIAL_COLUMN` layouts.
## Test Plan and Hands on Testing
-
[Sandbox](http://sandbox.docs.opentrons.com/docs-and-notes-static/v2/pipettes/partial_tip_pickup.html#single-layout)
- Simulated new code for constructing and using lists of custom pickup
locations
## Changelog
- New warnings and code snippets in single and partial column sections.
- Cleaned up some incorrect or imprecise `start` and `end` values.
- Added API known issue.
## Review requests
- Double check my code.
- Double check my real-world advice.
## Risk assessment
docs only
Copy file name to clipboardExpand all lines: api/docs/v2/pipettes/partial_tip_pickup.rst
+36-27Lines changed: 36 additions & 27 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -183,10 +183,10 @@ The ``start`` parameter sets the first and only nozzle used in the configuration
183
183
- | Back to front, left to right
184
184
|(A1 through H1, A2 through H2, …)
185
185
186
-
Since they follow the same pickup order as a single-channel pipette, Opentrons recommends using the following configurations:
186
+
.. warning::
187
+
In certain conditions, tips in adjacent columns may cling to empty nozzles during single-tip pickup. You can avoid this by overriding automatic tip tracking to pick up tips row by row, rather than column by column. The code sample below demonstrates how to pick up tips this way.
187
188
188
-
- For 8-channel pipettes, ``start="H1"``.
189
-
- For 96-channel pipettes, ``start="H12"``.
189
+
However, as with all partial tip layouts, be careful that you don't place the pipette in a position where it overlaps more tips than intended.
190
190
191
191
Here is the start of a protocol that imports the ``SINGLE`` and ``ALL`` layout constants, loads an 8-channel pipette, and sets it to pick up a single tip.
192
192
@@ -210,29 +210,30 @@ Here is the start of a protocol that imports the ``SINGLE`` and ``ALL`` layout c
210
210
)
211
211
pipette.configure_nozzle_layout(
212
212
style=SINGLE,
213
-
start="H12",
214
-
tip_racks=[partial_rack]
213
+
start="H1"
215
214
)
216
215
217
216
.. versionadded:: 2.20
218
217
219
-
Since this configuration uses ``start="H12"``, it will pick up tips in the usual order::
218
+
To pick up tips row by row, first construct a list of all wells in the tip rack ordered from A1, A2 … H11, H12. One way to do this is to use :py:func:`sum` to flatten the list of lists returned by :py:meth:`.Labware.rows`::
220
219
221
-
pipette.pick_up_tip() # picks up A1 from tip rack
222
-
pipette.drop_tip()
223
-
pipette.pick_up_tip() # picks up B1 from tip rack
220
+
tips_by_row = sum(partial_rack.rows(), [])
224
221
225
-
.. note::
222
+
Then ``pop`` items from the front of the list (index 0) and pass them as the ``location`` of :py:meth:`.pick_up_tip`::
226
223
227
-
You can pick up tips row by row, rather than column by column, by specifying a location for :py:meth:`.pick_up_tip` each time you use it in ``SINGLE`` configuration. However, as with all partial tip layouts, be careful that you don't place the pipette in a position where it overlaps more tips than intended.
224
+
# pick up A1 from tip rack
225
+
pipette.pick_up_tip(location=tips_by_row.pop(0))
226
+
pipette.drop_tip()
227
+
# pick up A2 from tip rack
228
+
pipette.pick_up_tip(location=tips_by_row.pop(0))
228
229
229
230
230
231
Partial Column Layout
231
232
---------------------
232
233
233
234
Partial column pickup is available on 8-channel pipettes only. Partial columns contain 2 to 7 consecutive tips in a single column. The pipette always picks up partial columns with its frontmost nozzles (``start="H1"``).
234
235
235
-
To specify the number of tips to pick up, add the ``end`` parameter when calling :py:meth:`.configure_nozzle_layout`. Use the chart below to determine the end row (G through B) for your desired number of tips. The end column should be the same as your start column (1 or 12).
236
+
To specify the number of tips to pick up, add the ``end`` parameter when calling :py:meth:`.configure_nozzle_layout`. Use the chart below to determine the ending nozzle (G1 through B1) for your desired number of tips.
236
237
237
238
.. list-table::
238
239
:stub-columns: 1
@@ -244,16 +245,21 @@ To specify the number of tips to pick up, add the ``end`` parameter when calling
244
245
- 5
245
246
- 6
246
247
- 7
247
-
* - ``end`` row
248
-
- G
249
-
- F
250
-
- E
251
-
- D
252
-
- C
253
-
- B
248
+
* - ``end`` nozzle
249
+
- G1
250
+
- F1
251
+
- E1
252
+
- D1
253
+
- C1
254
+
- B1
254
255
255
256
When picking up 3, 5, 6, or 7 tips, extra tips will be left at the front of each column. You can use these tips with a different nozzle configuration, or you can manually re-rack them at the end of your protocol for future use.
256
257
258
+
.. warning::
259
+
In certain conditions, tips in adjacent columns may cling to empty nozzles during partial-column pickup. You can avoid this by overriding automatic tip tracking to pick up tips row by row, rather than column by column. The code sample below demonstrates how to pick up tips this way.
260
+
261
+
However, as with all partial tip layouts, be careful that you don't place the pipette in a position where it overlaps more tips than intended.
262
+
257
263
Here is the start of a protocol that imports the ``PARTIAL_COLUMN`` and ``ALL`` layout constants, loads an 8-channel pipette, and sets it to pick up four tips:
258
264
259
265
.. code-block:: python
@@ -274,21 +280,24 @@ Here is the start of a protocol that imports the ``PARTIAL_COLUMN`` and ``ALL``
274
280
pipette.configure_nozzle_layout(
275
281
style=PARTIAL_COLUMN,
276
282
start="H1",
277
-
end="E1",
278
-
tip_racks=[partial_rack]
283
+
end="E1"
279
284
)
280
285
281
286
.. versionadded:: 2.20
282
287
283
-
This configuration will pick up tips from the back half of column 1, then the front half of column 1, then the back half of column 2, and so on::
288
+
When pipetting in partial column configuration, remember that *the frontmost channel of the pipette is its primary channel*. To pick up tips across the back half of the rack, then across the front half of the rack, construct a list of that includes all and only the wells in row D and row H::
284
289
285
-
pipette.pick_up_tip() # picks up A1-D1 from tip rack
286
-
pipette.drop_tip()
287
-
pipette.pick_up_tip() # picks up E1-H1 from tip rack
Then ``pop`` items from the front of the list (index 0) and pass them as the ``location`` of :py:meth:`.pick_up_tip`::
293
+
294
+
# pick up A1-D1 from tip rack
295
+
pipette.pick_up_tip(location=tips_by_row.pop(0))
288
296
pipette.drop_tip()
289
-
pipette.pick_up_tip() # picks up A2-D2 from tip rack
297
+
# pick up A2-D2 from tip rack
298
+
pipette.pick_up_tip(location=tips_by_row.pop(0))
290
299
291
-
When handling liquids in partial column configuration, remember that *the frontmost channel of the pipette is its primary channel*. For example, to use the same configuration as above to transfer liquid from wells A1–D1 to wells A2–D2 on a plate, you must use the wells in row D as the source and destination targets::
300
+
To use the same configuration as above to transfer liquid from wells A1–D1 to wells A2–D2 on a plate, you must use the wells in row D as the source and destination targets::
Copy file name to clipboardExpand all lines: api/release-notes.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -26,6 +26,7 @@ Welcome to the v8.0.0 release of the Opentrons robot software!
26
26
27
27
### Known Issues
28
28
29
+
- During single-tip or partial-column pickup with a multi-channel pipette, tips in adjacent columns may cling to empty nozzles. Pick up tips row by row, rather than column by column, to avoid this.
29
30
- Protocol analysis and `opentrons_simulate` do not raise an error when a protocol tries to detect liquid with a pipette nozzle configuration that doesn't contain a pressure sensor (single-tip pickup with A12 or H1). Avoid using the A12 and H1 nozzles for single-tip pickup if you need to detect liquid presence within wells.
30
31
-`opentrons_simulate` describes motion to wells only with respect to the primary channel, regardless of the current pipette nozzle configuration.
0 commit comments