Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
Generates a position_z to followup after the specified one. If the
liquid surface is referenced, then returns a position that similarly
tracks the surface. Otherwise, generates a reference to the preceding
position.
Parameters
----------
position_z : dict
position to be referenced when deciding on a followup position
Returns
-------
dict
position_z to follow up at a non-sensing position
"""
preceding_z = LiquidHandle.builders.position_z(reference="preceding_position")
if not position_z:
followup_z = preceding_z
elif position_z["reference"] == "liquid_surface":
followup_z = LiquidHandle.builders.position_z(
reference="liquid_surface",
offset=position_z.get("offset"),
detection_method="tracked",
)
else:
followup_z = preceding_z
return followup_z
"""Dispenses the target volume into the destination location
Parameters
----------
volume : Unit
density : Unit
See Also
--------
dispense_z : holds any user defined dispense_z parameters
default_dispense_z : specifies default dispense_z parameters
_dispense_simple : lower level helper that generates dispense transports
"""
dispense_z = self.dispense_z or self.default_dispense_z(volume)
dispense_z = LiquidHandle.builders.position_z(**dispense_z)
self._dispense_simple(
volume=volume,
calibrated_vol=self._source_liquid._get_calibrated_volume(
volume, self.tip_type
),
initial_z=dispense_z,
flowrate=self._source_liquid._get_dispense_flowrate(volume, self.tip_type),
delay_time=self._source_liquid.delay_time,
liquid_class=self._source_liquid.name,
density=density,
)
def _move_to_well_top_before_lld(self, position_z):
"""If position_z contains any liquid sensing moves to well top
Parameters
----------
position_z : dict
position_z to be checked for lld events
"""
well_top_z = LiquidHandle.builders.transport(
mode_params=LiquidHandle.builders.mode_params(
position_z=LiquidHandle.builders.position_z(reference="well_top")
)
)
if position_z:
if position_z.get("reference") == "liquid_surface":
if position_z.get("detection", {}).get("method") != "tracked":
self._transports.append(well_top_z)