Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
the name of the liquid class being dispensed
density : Unit, optional
the density of liquid to be dispensed
"""
followup_z = self._move_to_initial_position(position_x, position_y, initial_z)
mode_params = LiquidHandle.builders.mode_params(
position_x=position_x,
position_y=position_y,
position_z=followup_z,
liquid_class=liquid_class,
)
self._transports += [
LiquidHandle.builders.transport(
volume=volume,
density=density,
pump_override_volume=calibrated_vol if calibrated_vol else None,
flowrate=flowrate,
mode_params=mode_params,
delay_time=delay_time,
)
the name of the liquid class being aspirated
density : Unit, optional
the density of liquid being aspirated
"""
followup_z = self._move_to_initial_position(position_x, position_y, initial_z)
mode_params = LiquidHandle.builders.mode_params(
position_x=position_x,
position_y=position_y,
position_z=followup_z,
liquid_class=liquid_class,
)
self._transports += [
LiquidHandle.builders.transport(
volume=-volume,
density=density,
# pylint: disable=invalid-unary-operand-type
pump_override_volume=-calibrated_vol if calibrated_vol else None,
flowrate=flowrate,
mode_params=mode_params,
delay_time=delay_time,
)
Returns
-------
dict
followup z position to pipette at after initial movement
See Also
--------
_move_to_well_top_before_lld : helper method
_get_followup_z : helper method
"""
self._move_to_well_top_before_lld(position_z)
if any([position_z, position_x, position_y]):
self._transports += [
LiquidHandle.builders.transport(
mode_params=LiquidHandle.builders.mode_params(
position_x=position_x,
position_y=position_y,
position_z=position_z,
)
)
]
followup_z = self._get_followup_z(position_z)
return followup_z
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)
time to pause after dispensing to let pressure equilibrate
liquid_class : str, optional
the name of the liquid class being dispensed
"""
followup_z = self._move_to_initial_position(position_x, position_y, initial_z)
mode_params = LiquidHandle.builders.mode_params(
position_x=position_x,
position_y=position_y,
position_z=followup_z,
liquid_class=liquid_class,
)
self._transports += [
LiquidHandle.builders.transport(
volume=-volume,
flowrate=asp_flowrate,
mode_params=mode_params,
delay_time=delay_time,
),
LiquidHandle.builders.transport(
volume=volume,
flowrate=dsp_flowrate,
mode_params=mode_params,
delay_time=delay_time,
),
] * repetitions