-
Notifications
You must be signed in to change notification settings - Fork 180
chore(api): update resin tip docstrings #17815
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
base: edge
Are you sure you want to change the base?
Conversation
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 a few suggestions to tighten up the text. If we want, some of that pressure sensor information can be covered in a resin tips article in the docs, instead of here. Since we will include docstrings in 8.4 release (API docs 2.23), but not an article, we can wait on that.
I can make the suggestions I added here as we get closer to code freeze, and other changes as needed. Mostly just adding my thought process in here!
tip will perform a `pick up` action but there will be no tip tracking | ||
associated with the pipette. | ||
The location provided should contain resin tips. The pipette will attach itself | ||
to the resin tips, acting as if they are present, but does not check any tip presence |
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.
"Acting as if they are present" is throwing me off a bit. I think I know what you mean (that the pipette is going to attach without checking for tip presence), but maybe could be something like:
"The pipette will attach itself to any resin tips present, but does not check for tip presence."
Resin tips use pressure-based dispensing rather than isobaric volume-displacement | ||
pipetting. The volume and rate parameters to this function control the motion of | ||
the plunger to create a desired pressure profile inside the pipette chamber. The | ||
volume and rate parameters to this function do not directly relate to the volume |
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.
"The volume and rate parameters for this function control the motion of the plunger to create a desired pressure profile inside the pipette chamber. Unlike a regular dispense
action, the volume and rate do not correspond to liquid volume or flow rate dispensed from the resin tips. Select your values for volume and flow rate based on experimentation with the resin tips to create a pressure profile."
5. Unseal resin tips from the pipette using :py:meth:`resin_tip_unseal`. | ||
|
||
On the Opentrons Flex, the pipette pressure sensors will raise an overpressure | ||
error if they sense a differential pressure inside the pipette chamber above the |
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.
"Flex pipette pressure sensors will raise an overpressure when a differential pressure inside the pipette chamber above sensor limits is detected. You may need to disable the pressure sensor to create the required pressure profile, which can cause damage or failure to your pipette's pressure sensors. For more, see [link to future resin tips article]."
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.
See what, though?
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.
I tried to add some syntax Github must not have liked. Updated to include that we could eventually link to the resin tips article in the API docs (once it's written and published with commercial release) where we could explain the pressure issue more. We won't be able to do that for the docstrings immediately, though.
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.
Thanks Seth, this goes a long way towards explaining these features! So much so that I think we can eventually split out some of the content into other docs pages. For now, Emily can take these comments and clean up the prose with a follow-up commit.
In addition to my inline comments below, two things for resin_tip_unseal()
:
- What is "a valid location to drop resin tips" / "A location
containingthat can accept tips."? Also fix the typo marked in strikethrough here. home_after
param isn't in the function signature, is this a copy-paste error?
"""Dispense a volume from resin tips into a labware. | ||
"""Push liquid out of resin tips that are currently sealed to a pipette. | ||
|
||
The ``location`` provided is where the liquid will be dispensed into. |
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.
Can omit this line and rely on the param description below.
|
||
:param location: A location containing resin tips. | ||
#. Use :py:meth:`InstrumentContext.resin_tip_dispense` to displace an experimentally |
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.
The repetition of "experimentally derived" here is almost humorous. Happy to leave it for now, it definitely gets the point across. We don't have magic numbers for you!
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.
That's the intent hehe
Flex pipette pressure sensors will raise an overpressure when a differential pressure | ||
inside the pipette chamber above sensor limits is detected. You may need to disable the | ||
pressure sensor to create the required pressure profile, which can cause damage or | ||
failure to your pipette's pressure sensors. |
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.
I think it's important to split out what is likely to happen from less likely instrument damage — which rises to the level of a warning.
Flex pipette pressure sensors will raise an overpressure when a differential pressure | |
inside the pipette chamber above sensor limits is detected. You may need to disable the | |
pressure sensor to create the required pressure profile, which can cause damage or | |
failure to your pipette's pressure sensors. | |
The pressure sensors in Flex pipettes will raise an overpressure error when the pressure | |
inside the pipette chamber exceeds their limits. You may need to disable the | |
pressure sensor to create the required pressure profile. | |
.. warning:: | |
Building excessive pressure inside the pipette chamber (significantly above the sensor | |
limit) with the pressure sensors disabled can damage the pipette. |
Ideally we would have some concrete guidance here — hopefully "significantly above" is accurate.
pressure sensor to create the required pressure profile, which can cause damage or | ||
failure to your pipette's pressure sensors. | ||
|
||
:param location: The location into which to dispense. |
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.
Yep, does what it says on the tin. We could mirror the less tautological language used for dispense()
: "Tells the robot where to dispense liquid held in the pipette."
:param location: The location into which to dispense. | |
:param location: Tells the robot where to dispense to create the pressure profile. |
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.
"where to dispense to create the pressure profile" feels a little rough, maybe "where to locate the pipette while creating the pressure profile"?
:param volume: The volume that the plunger should displace. Does not directly relate | ||
to the volume of liquid that will be dispensed. |
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.
It's still µL of air to move, and presumably the max is governed by the nominal capacity of the tip in µL.
:param volume: The volume that the plunger should displace. Does not directly relate | |
to the volume of liquid that will be dispensed. | |
:param volume: The volume that the plunger should displace, in µL. Does not directly relate | |
to the volume of liquid that will be dispensed. |
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.
the max is governed by the physical displacement of the plunger, actually - the number in the pipette name.
:type volume: float | ||
|
||
:param rate: Will default to 10.0, recommended to use the default. How quickly | ||
a pipette dispenses liquid. The speed in µL/s is calculated as | ||
``rate`` multiplied by :py:attr:`flow_rate.dispense<flow_rate>`. | ||
the plunger moves to displace the commanded volume. The plunger speed |
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.
Would flip this around. Can't suggest because one line is unmodified, thx GitHub.
:param rate: How quickly the plunger moves to displace the commanded volume. The plunger speed
Multiplied this value by :py:attr:`flow_rate.dispense<flow_rate>` to get the
plunger speed in µL/s. This rate does not directly relate to the flow rate of liquid
the flow rate of liquid out of the resin tip.
The default value of ``10.0`` is recommended.
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.
Do not smash that merge button as one more commit is needed to fix a couple typos, but then this is gtg by me.
Co-authored-by: Ed Cormany <edward.cormany@opentrons.com>
This never got merged so if we need to do any renaming, we should make those edits here and then retarget onto |
Update the docstrings for the resin tip functions.