-
Notifications
You must be signed in to change notification settings - Fork 178
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
docs(api): refactor Pipettes page to include partial tip pickup #14189
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## edge #14189 +/- ##
==========================================
- Coverage 70.41% 70.40% -0.02%
==========================================
Files 2513 2513
Lines 71323 71306 -17
Branches 9033 9033
==========================================
- Hits 50223 50201 -22
- Misses 18894 18899 +5
Partials 2206 2206
Flags with carried forward coverage won't be shown. Click here to find out more. |
4b13c75
to
07a3c93
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor changes. Rest all looks good. Very detailed documentation!
api/docs/v2/pipettes/configuring.rst
Outdated
tip_rack = protocol.load_labware("opentrons_flex_96_tiprack_1000ul", "C1") | ||
pipette.configure_nozzle_layout(style=COLUMN, start="A1") | ||
row_a = tiprack.rows()[0] | ||
pipette.pick_up_tip(row_a.pop()) # pick up A12-H12 | ||
pipette.drop_tip() | ||
pipette.pick_up_tip(row_a.pop()) # pick up A11-H11 | ||
pipette.drop_tip() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
smart!
Co-authored-by: Sanniti Pimpley <[email protected]>
Pipettes | ||
######## | ||
******** | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Super nice. Breaking up a very long doc into individual sections. Partial tip is significant enough to warrant it's own standalone subsection under the Pipettes heading.
|
||
.. _new-pipette-models: | ||
|
||
API Load Names |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice move. This puts the load names up front. 👏
|
||
.. _pipette-tip-racks: | ||
|
||
Adding Tip Racks |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a change too, moving under Loading Pipettes. 👏
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added my review comments. Please take a look. Partial tip pickup is an impressive feature, difficult to document.
Nozzle Layout | ||
============= | ||
|
||
Use the :py:meth:`.configure_nozzle_layout` method to choose how many tips the 96-channel pipette will pick up. The method's ``style`` parameter accepts special layout constants. You must import these constants at the top of your protocol, or you won't be able to configure the pipette for partial tip pickup. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One comment here and it refers to the COLUMN
argument definition for configure_nozzle_layout
, not the text on this page. I meant to include it yesterday, but it was buried in my notes and overlooked. This part of the method definition, on first read, is confusing:
sets the pipette to use 8 nozzles, aligned from front to back with respect to the deck. This corresponds to a column of wells on labware.
My first reaction to "aligned from front to back with respect to the deck" was a big ❓ Pipette barrels or channels don't have their own coordinates so it might help with clarity to use well coordinates in that last sentence to clarify. For example:
This corresponds to a column of wells on labware (e.g. A1-H1, A2-H2, A3-H3, etc.).
Maybe I'm just dumb, but I had to read the argument definition a few times before coming to what I hoped is an understanding of what it means.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, that was a tough definition to write. "It's a column, you know, like a column!"
Going to leave it for now, because that text will be revised as soon as additional layouts are added.
Finally, we configure the nozzle layout, with three arguments. | ||
|
||
- The ``style`` parameter directly accepts the ``COLUMN`` constant, since we imported it at the top of the protocol. | ||
- The ``start`` parameter accepts a nozzle name, representing the back-left nozzle in the layout, as a string. ``"A12"`` tells the pipette to use its rightmost column of nozzles for pipetting. | ||
- The ``tip_racks`` parameter tells the pipette which racks to use for tip tracking, just like :ref:`adding tip racks <pipette-tip-racks>` when loading a pipette. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great use of bullets here. 🥇
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good. Only one comment and it relates to the description for a method's argument and not the text in this PR.
Overview
Complete refactor of the single Pipettes page into multiple pages. It was already approaching 4000 words, and explaining partial tip pickup will take another ~1500.
Test Plan
opentrons_simulate
running fromv7.1.0
tag. protocol fileChangelog
new_pipette.rst
into a landing page.Review requests
Prose: @jwwojak
Code: @sanni-t
pop()
for ad hoc tip tracking?Risk assessment
No code risk. Big refactor for docs.