pylabrobot.liquid_handling.liquid_handler.LiquidHandler.transfer#
- async LiquidHandler.transfer(source: Well, targets: List[Well], source_vol: float | None = None, ratios: List[float] | None = None, target_vols: List[float] | None = None, aspiration_flow_rate: float | None = None, dispense_flow_rates: List[float | None] | None = None, **backend_kwargs)#
Transfer liquid from one well to another.
Examples
Transfer 50 uL of liquid from the first well to the second well:
>>> await lh.transfer(plate["A1"], plate["B1"], source_vol=50)
Transfer 80 uL of liquid from the first well equally to the first column:
>>> await lh.transfer(plate["A1"], plate["A1:H1"], source_vol=80)
Transfer 60 uL of liquid from the first well in a 1:2 ratio to 2 other wells:
>>> await lh.transfer(plate["A1"], plate["B1:C1"], source_vol=60, ratios=[2, 1])
Transfer arbitrary volumes to the first column:
>>> await lh.transfer(plate["A1"], plate["A1:H1"], target_vols=[3, 1, 4, 1, 5, 9, 6, 2])
- Parameters:
source (Well) – The source well.
source_vol (float | None) – The volume to transfer from the source well.
ratios (List[float] | None) – The ratios to use when transferring liquid to the target wells. If not specified, then the volumes will be distributed equally.
target_vols (List[float] | None) – The volumes to transfer to the target wells. If specified,
source_vols
andratios
must beNone
.aspiration_flow_rate (float | None) – The flow rate to use when aspirating, in ul/s. If
None
, the backend default will be used.dispense_flow_rates (List[float | None] | None) – The flow rates to use when dispensing, in ul/s. If
None
, the backend default will be used. Either a single flow rate for all channels, or a list of flow rates, one for each target well.
- Raises:
RuntimeError – If the setup has not been run. See
setup()
.