Skip to content

Commit 1bce83d

Browse files
feedback round 1; fixing build errors part 1
1 parent 42b9801 commit 1bce83d

File tree

2 files changed

+55
-44
lines changed

2 files changed

+55
-44
lines changed

api/docs/v2/liquid_class_definitions.rst

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ When your aspirate volume falls in between, like 100 µL, a linear interpolation
3232

3333
Aqueous
3434
--------
35-
The Opentrons-verified ``aqueous`` liquid class is the Flex system default and is based on deionized water.
35+
The Opentrons-verified ``aqueous`` liquid class is based on deionized water.
3636

3737
.. tabs::
3838

@@ -152,4 +152,18 @@ The Opentrons-verified ``aqueous`` liquid class is the Flex system default and i
152152
+------------------------------+---------------------+
153153

154154
Dispense
155-
^^^^^^^^^
155+
^^^^^^^^^
156+
157+
158+
Multi-dispense
159+
^^^^^^^^^^^^^^^
160+
161+
.. _viscous:
162+
163+
Viscous
164+
--------
165+
166+
.. _volatile:
167+
168+
Volatile
169+
--------

api/docs/v2/liquid_classes.rst

Lines changed: 39 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,15 @@ Liquid Classes
88

99
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.
1010

11-
This section covers:
12-
* Opentrons-verified liquid classes and their optimized properties, like flow rate.
13-
* Selecting and using a liquid class in a Flex protocol.
14-
* Customizing a liquid class for your workflow.
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.
1512

1613

1714
.. _opentrons-verified-liquid-classes:
1815

1916
Opentrons-verified Liquid Classes
2017
=================================
2118

22-
Opentrons-verified liquid classes are based on the properties of common liquids:
19+
Opentrons-verified liquid classes are based on the properties of common liquids: water, ethanol, and glycerol.
2320

2421
.. list-table::
2522
:header-rows: 1
@@ -28,9 +25,7 @@ Opentrons-verified liquid classes are based on the properties of common liquids:
2825
- Description
2926
- Load name
3027
* - Aqueous
31-
-
32-
* Based on deionized water
33-
* The system default
28+
- Based on deionized water
3429
- ``water``
3530
* - Volatile
3631
- Based on 80% ethanol
@@ -39,7 +34,7 @@ Opentrons-verified liquid classes are based on the properties of common liquids:
3934
- Based on 50% glycerol
4035
- ``glycerol_50``
4136

42-
Use an Opentrons-verified liquid class in your transfers to automatically apply optimized behavior. For example, choosing the ``glycerol_50`` liquid class changes *properties*, like flow rate, to accurately transfer viscous liquid.
37+
Use an Opentrons-verified liquid class in your transfers to automatically apply optimized behavior. For example, choosing the ``glycerol_50`` liquid class changes properties, like flow rate, to accurately transfer viscous liquid.
4338

4439
.. _liquid-class-properties:
4540

@@ -57,59 +52,75 @@ Each Opentrons-verified liquid class is defined by a set of properties:
5752
* - Property
5853
- Description
5954
* - .. image:: ../img/lc_icons/submerge_position.png
55+
6056
**Submerge position**
6157
- The pipette begins at this position above the liquid.
6258
* - .. image:: ../img/lc_icons/submerge_speed.png
59+
6360
**Submerge speed**
6461
- The pipette submerges into the liquid at this speed.
6562
* - .. image:: ../img/lc_icons/delay_after_submerge.png
63+
6664
**Delay after submerging**
6765
- The pipette delays a specified amount of time:
6866

6967
- before submerging into or retracting from liquid.
7068
- before or after an aspirate or dispense.
7169
- after a push out.
7270
* - .. image:: ../img/lc_icons/mix.png
71+
7372
**Mix liquid**
7473
- The pipette mixes liquid inside the well before an aspirate or after a dispense.
7574
* - .. image:: ../img/lc_icons/prewet_tip.png
75+
7676
**Pre-wet tip**
7777
- The pipette pre-wets the attached tip before aspirating liquid.
7878
* - .. image:: ../img/lc_icons/flow_rate_aspirate.png
79+
7980
**Aspirate flow rate**
8081
- The pipette aspirates liquid at this speed.
82+
- Varies by volume.
8183
* - .. image:: ../img/lc_icons/flow_rate_dispense.png
84+
8285
**Dispense flow rate**
8386
- The pipette dispenses liquid at this speed.
87+
- Varies by volume.
8488
* - .. image:: ../img/lc_icons/retract_position.png
89+
8590
**Retract position**
8691
- The pipette retracts from the liquid and moves to this position.
8792
* - .. image:: ../img/lc_icons/retract_speed.png
93+
8894
**Retract speed**
8995
- The pipette retracts from the liquid at the specified speed.
9096
* - .. image:: ../img/lc_icons/push_out.png
97+
9198
**Push out**
9299
- The pipette dispenses a small amount of air to ensure all liquid leaves the tip.
100+
- Varies by volume.
93101
* - .. image:: ../img/lc_icons/touch_tip.png
102+
94103
**Touch tip**
95104
- The pipette touches the attached tip to the sides of a well to remove droplets.
96105
* - .. image:: ../img/lc_icons/air_gap.png
106+
97107
**Air gap**
98108
- The pipette aspirates a small amount of air after an aspirate or dispense.
109+
- Varies by volume.
99110
* - .. image:: ../img/lc_icons/blow_out.png
111+
100112
**Blow out**
101113
- The pipette dispenses a larger amount of air to ensure all liquid leaves the tip.
102114

103115

104116

105-
A :ref:`liquid class definition <liquid-class-definitions>` specifies values for each property. When your Flex protocol includes a liquid class, these property values automatically define transfer behavior. For example, if you use `.InstrumentContext.transfer_with_liquid_class` to transfer a viscous liquid, the pipette submerges into the liquid and aspirates more slowly to prevent air bubbles from forming.
117+
A :ref:`liquid class definition <liquid-class-definitions>` specifies values for each property. When your Flex protocol includes a liquid class, these property values automatically define transfer behavior. For example, if you use ``.transfer_with_liquid_class`` to transfer a viscous liquid, the pipette submerges into the liquid and aspirates more slowly to prevent air bubbles from forming.
118+
106119

107-
Properties marked with an asterisk, as shown above, are determined by your pipette, tip, and volumbe combinations. For more information, see :ref:`liquid-class-definitions`.
120+
.. _using-liquid-classes:
108121

109-
.. _selecting-a-liquid-class:
110-
111-
Selecting a Liquid Class
112-
=========================
122+
Using Liquid Classes
123+
======================
113124

114125
You'll use a :ref:`liquid class definition <liquid-class-definitions>` in your protocol to optimize transfer behavior based on liquid properties, along with your chosen Flex pipettes and tips.
115126

@@ -140,10 +151,6 @@ Start by definining the tips, trash, pipette, and labware used in your transfers
140151
141152
You'll need to add a label, like ``liquid_1``, to liquid classes in your protocol. This helps you keep track of multiple liquids of the same class in a protocol. It's also required by ``transfer_with_liquid_class()``, instead of a liquid class load name like ``glycerol_50``.
142153

143-
.. _liquid-class-transfers:
144-
145-
Liquid Class Transfers
146-
=======================
147154

148155
Use the :py:meth:`.InstrumentContext.transfer_with_liquid_class` method to transfer an aqueous, volatile, or viscous liquid defined in a Flex protocol. This method accepts arguments that let you specify your liquid, volume, source and destination wells, tip handling preferences, and trash location.
149156

@@ -165,19 +172,20 @@ In the example below, a Flex P50 1-channel pipette will transfer 50 µL of your
165172
166173
Here, the ``glycerol_50`` viscous liquid class definition accounts for all other transfer behavior, like flow rate, whether or not to add an air gap or delay, and submerge and retract speeds. For each aspirate, the pipette:
167174

168-
* Moves to the submerge start position of 2 mm above the top of the source well at 4 mm/sec.
169-
* Submerges into ``liquid_1`` at 4 mm/sec to the aspirate start position of 2 mm above the bottom of the well.
170-
* Aspirates 50 µL of ``liquid_1`` at 50 µL/sec with a correction by volume of -0.2 µL.
171-
* Delays for 1 sec after aspirating.
172-
* Moves to the retract position of 2 mm above the top of the well at 4 mm/sec.
175+
* Moves to 2 mm above the top of the source well at 4 mm/sec.
176+
* Submerges to 2 mm above the bottom of the source well at 4mm/sec.
177+
* Aspirates 50 µL at 50 µL/sec with a correction of -0.2 µL.
178+
* Delays for 1 second.
179+
* Retracts to 2 mm above the top of the well at 4 mm/sec.
173180

174181
And for each dispense, the pipette:
175182

176-
* Moves to the submerge start position of 2 mm above the top of the destination well at 4 mm/sec.
177-
* Moves to the dispense position of 2 mm above the top of the destination well at 4 mm/sec.
178-
* Dispense 50 µL of ``liquid_1`` at 25 µL/sec with a correction by volume of -0.2 µL.
179-
* Pushes out a volume of air equivalent to 3.9 µL to ensure all liquid leaves the tip, and delays for 0.5 sec afterward.
180-
* Moves to the retract position of 2 mm above the top of the well at 4 mm/sec.
183+
* Moves to 2 mm above the top of the destination well at 4 mm/sec.
184+
* Submerges to 2 mm above the top of the destination well at 4 mm/sec.
185+
* Dispenses 50 µL at 25 µL/sec with a correction of -0.2 µL.
186+
* Pushes out a volume of air equivalent to 3.9 µL
187+
* Delays for 0.5 second.
188+
* Retracts to 2 mm above the top of the well at 4 mm/sec.
181189

182190
In many cases, the liquid class definition represents fine-tuned changes optimized for each liquid class. If you instead use the Flex P50 1-channel pipette to transfer 50 µL of the volatile ``liquid_2``, transfer behavior would include:
183191
* Submerging into and retracting from the volatile ``liquid_2`` at 100 mm/sec.
@@ -192,21 +200,10 @@ Not all transfer behavior is easily visible. See :ref:`liquid-class-definitions`
192200
Customizing Liquid Classes
193201
===========================
194202

195-
You can create your own liquid class to customize transfer behavior for any liquid in a Flex protocol. To make changes, you can:
196-
* Edit individual properties of an existing liquid class, or
197-
* Add properties to a new liquid class.
203+
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.
198204

199205
To customize an Opentrons-verified liquid class, use :py:meth:`InstrumentContext.define_liquid_class` to define your custom liquid class after adding your pipettes, tips, trash, and labware::
200206

201-
requirements = {"robotType": "Flex", "apiLevel": "2.24"}
202-
203-
def run(protocol_context):
204-
tiprack = protocol_context.load_labware("opentrons_96_tiprack_20ul", "A2")
205-
pipette_20 = protocol_context.load_instrument("p20_single_gen2", mount="left", tip_racks=[tiprack])
206-
trash = protocol_context.load_trash_bin("A3")
207-
nest_plate = protocol_context.load_labware("nest_96_wellplate_200ul_flat", "B1")
208-
arma_plate = protocol_context.load_labware("armadillo_96_wellplate_200ul_pcr_full_skirt", "B2")
209-
210207
## customize based on the aqueous liquid class
211208
custom_water = protocol_context.define_liquid_class(
212209
name="custom_water",
@@ -232,7 +229,7 @@ Next, edit indivual liquid class properties based on your Flex pipette and tip c
232229
custom_water_props.aspirate.delay = {"enabled": True}
233230
234231
235-
You can also create a new liquid class for your Flex protocols. Instead of using an Opentrons-verified ``base_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.
232+
You can also create a new liquid class for your Flex protocols. Instead of using an Opentrons-verified ``base_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.
236233

237234
.. code-block:: python
238235

0 commit comments

Comments
 (0)