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
docs(api): remove creating a new liquid class in 8.5 (#18916)
<!--
Thanks for taking the time to open a Pull Request (PR)! Please make sure
you've read the "Opening Pull Requests" section of our Contributing
Guide:
https://github.com/Opentrons/opentrons/blob/edge/CONTRIBUTING.md#opening-pull-requests
GitHub provides robust markdown to format your PR. Links, diagrams,
pictures, and videos along with text formatting make it possible to
create a rich and informative PR. For more information on GitHub
markdown, see:
https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax
To ensure your code is reviewed quickly and thoroughly, please fill out
the sections below to the best of your ability!
-->
# Overview
<!--
Describe your PR at a high level. State acceptance criteria and how this
PR fits into other work. Link issues, PRs, and other relevant resources.
-->
based on conversations around an 8.5 bug, this PR removes mention of
customizing a liquid class in 8.5 in the liquid classes, liquid class
definitions, and complex commands articles.
For now, it leaves `define_liquid_class` visible in the API reference.
## Test Plan and Hands on Testing
<!--
Describe your testing of the PR. Emphasize testing not reflected in the
code. Attach protocols, logs, screenshots and any other assets that
support your testing.
-->
sandbox:
http://sandbox.docs.opentrons.com/docs-hotfix-new-liquid-class/v2/
## Changelog
<!--
List changes introduced by this PR considering future developers and the
end user. Give careful thought and clear documentation to breaking
changes.
-->
## Review requests
If I align the dictionary example on the left with the other code
examples in the doc, the last bracket to properly close the dictionary
throws an error (ends the code block early and prevents the docs from
building). This is one of Sanniti's dictionary examples, checked with a
black formatter and passed simulation. I did space it further _in_ to
get the docs to build.
<!--
- What do you need from reviewers to feel confident this PR is ready to
merge?
- Ask questions.
-->
## Risk assessment
<!--
- Indicate the level of attention this PR needs.
- Provide context to guide reviewers.
- Discuss trade-offs, coupling, and side effects.
- Look for the possibility, even if you think it's small, that your
change may affect some other part of the system.
- For instance, changing return tip behavior may also change the
behavior of labware calibration.
- How do your unit tests and on hands on testing mitigate this PR's
risks and the risk of future regressions?
- Especially in high risk PRs, explain how you know your testing is
enough.
-->
low. I should have gotten every mention of it.
Copy file name to clipboardExpand all lines: api/docs/v2/liquid_class_definitions.rst
+1-7Lines changed: 1 addition & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,13 +8,7 @@ Liquid Class Definitions
8
8
9
9
A *liquid class definition* specifies nearly all transfer behavior a Flex pipette will perform during a :py:meth:`.InstrumentContext.transfer_with_liquid_class`, :py:meth:`.InstrumentContext.distribute_with_liquid_class`, or :py:meth:`.InstrumentContext.consolidate_with_liquid_class`. Properties, like aspirate flow rate, submerge speed, or dispense position, are required in every liquid class definition.
10
10
11
-
This section details specific changes to transfer behavior for each Opentrons-verified liquid class. The transfer steps are listed in the order the robot performs them. Advanced settings like mix, pre-wet tip, touch tip, and blowout are automatically disabled in Opentrons-verified liquid class definitions.
12
-
13
-
.. note::
14
-
You can customize a liquid class definition for your workflow, either by customizing individual properties of an Opentrons-verified liquid class definition or creating your own definition from scratch.
15
-
16
-
For more information, see :ref:`customizing-liquid-classes`.
17
-
11
+
This section details specific changes to transfer behavior for each Opentrons-verified liquid class. The transfer steps are listed in the order the robot performs them. Advanced settings like mix, pre-wet tip, touch tip, and blowout are automatically disabled in Opentrons-verified liquid class definitions.
18
12
19
13
To use the tables below, select your liquid class: :ref:`aqueous`, :ref:`viscous`, or :ref:`volatile`. Then, click different tabs to view your pipette and tip combination.
Copy file name to clipboardExpand all lines: api/docs/v2/liquid_classes.rst
+1-75Lines changed: 1 addition & 75 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,7 +8,7 @@ Liquid Classes
8
8
9
9
Accounting for properties of liquids in your protocol can increase pipetting accuracy on the Flex. For example, a slower flow rate can improve pipetting for a viscous liquid, and an air gap can prevent a volatile liquid from dripping onto the deck.
10
10
11
-
This page covers the properties of Opentrons-verified liquid classes, how to use a verified liquid class in your protocol, and how to customize a liquid class.
11
+
This page covers the properties of Opentrons-verified liquid classes and how to use them in your protocols.
12
12
13
13
14
14
.. _opentrons-verified-liquid-classes:
@@ -212,78 +212,4 @@ In many cases, the liquid class definition represents fine-tuned changes optimiz
212
212
213
213
Not all transfer behavior is easily visible. See :ref:`liquid-class-definitions` for a full list of changes based on liquid class, pipette, and tip combination. For more detail on individual transfer settings, see :ref:`liquid-control`.
214
214
215
-
.. _customizing-liquid-classes:
216
215
217
-
Customizing Liquid Classes
218
-
===========================
219
-
220
-
You can create your own liquid class to customize transfer behavior for any liquid in a Flex protocol. To make changes, you can edit individual properties of an existing liquid class, or add properties to a new liquid class.
221
-
222
-
To customize an Opentrons-verified liquid class, first add your pipettes, tips, trash, and labware. Then, use :py:meth:`~.ProtocolContext.get_liquid_class` to specify the liquid class you'll make changes to::
223
-
224
-
# get base liquid class and custom properties for the Flex pipette and tips
Then, complete your transfers with the modified ``custom_water`` liquid class.
249
-
250
-
All Opentrons-verified liquid classes position the pipette relative to the well. To customize your liquid class to use :ref:`meniscus-relative <well-meniscus>` locations, set the ``positionReference`` to ``"liquid-meniscus"``for actions like an aspirate or dispense.
251
-
252
-
253
-
.. _new-liquid-classes:
254
-
255
-
Defining New Liquid Classes
256
-
============================
257
-
258
-
You can also create a new liquid classfor your Flex protocols. Instead of using an Opentrons-verified liquid class, you'll start from scratch, providing a value for `every required property <https://github.com/Opentrons/opentrons/blob/edge/shared-data/liquid-class/schemas/1.json>`__ in your liquid class.
259
-
260
-
.. code-block:: python
261
-
262
-
# examples of required properties in a dictionary for the pipette and tip racks
263
-
custom_liquid_class_properties = {
264
-
"flex_1channel_50": {
265
-
"opentrons/opentrons_flex_96_tiprack_50ul/1": {
266
-
"aspirate": {
267
-
"aspirate_position": {
268
-
"offset": {"x": 1, "y": 2, "z": 3},
269
-
"position_reference": "well-bottom",
270
-
},
271
-
},
272
-
},
273
-
},
274
-
}
275
-
276
-
# create a new liquid class
277
-
custom_viscous = protocol.define_liquid_class(
278
-
name="custom_viscous",
279
-
properties=custom_liquid_class_properties,
280
-
display_name="Custom Viscous"
281
-
)
282
-
283
-
.. versionadded:: 2.24
284
-
285
-
The example above is shortened and only includes aspirate position properties. To create your liquid class, you'll need to define values for all `required properties <https://github.com/Opentrons/opentrons/blob/edge/shared-data/liquid-class/schemas/1.json>` in your new liquid class, like submerging before aspirating or after dispensing, speeds and flow rates, and position offsets.
286
-
287
-
.. note::
288
-
289
-
The :py:meth:`.ProtocolContext.get_liquid_class` method only accepts Opentrons-verified liquid classes, like ``glycerol_50``. You'll need to use :py:meth:`.ProtocolContext.define_liquid_class` in each Flex protocol that uses a custom liquid class.
Copy file name to clipboardExpand all lines: api/docs/v2/versioning.rst
-1Lines changed: 0 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -147,7 +147,6 @@ Version 2.24
147
147
- Adds the ability to perform liquid handling actions using :ref:`liquid classes <liquid-classes>`.
148
148
149
149
- :py:meth:`.ProtocolContext.get_liquid_class` accesses :ref:`Opentrons-verified liquid class definitions <liquid-class-definitions>` for aqueous, volatile, and viscous liquids.
150
-
- :py:meth:`.ProtocolContext.define_liquid_class` lets you create your own liquid classes from verified classes or from scratch.
151
150
- New :py:class:`.InstrumentContext` methods — :py:meth:`.transfer_with_liquid_class`, :py:meth:`.distribute_with_liquid_class`, and :py:meth:`.consolidate_with_liquid_class` — move liquids according to their properties.
152
151
- :py:meth:`.air_gap`, :py:meth:`.blow_out`, :py:meth:`.dispense`, :py:meth:`.mix`, and :py:meth:`.touch_tip` have new parameters for advanced settings that are also available in Protocol Designer.
0 commit comments