pylabrobot.liquid_handling.liquid_handler.LiquidHandler.transfer#

async LiquidHandler.transfer(source: pylabrobot.resources.well.Well, targets: Union[pylabrobot.resources.well.Well, List[pylabrobot.resources.well.Well]], source_vol: Optional[float] = None, ratios: Optional[List[float]] = None, target_vols: Optional[List[float]] = None, aspiration_flow_rate: Union[float, pylabrobot.default._DefaultType] = Default, dispense_flow_rates: Union[float, List[Union[float, pylabrobot.default._DefaultType]], pylabrobot.default._DefaultType] = Default, **backend_kwargs)#

Transfer liquid from one well to another.

Examples

Transfer 50 uL of liquid from the first well to the second well:

>>> lh.transfer(plate["A1"], plate["B1"], source_vol=50)

Transfer 80 uL of liquid from the first well equally to the first column:

>>> 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:

>>> lh.transfer(plate["A1"], plate["B1:C1"], source_vol=60, ratios=[2, 1])

Transfer arbitrary volumes to the first column:

>>> lh.transfer(plate["A1"], plate["A1:H1"], target_vols=[3, 1, 4, 1, 5, 9, 6, 2])
Parameters
  • source (pylabrobot.resources.well.Well) – The source well.

  • targets (Union[pylabrobot.resources.well.Well, List[pylabrobot.resources.well.Well]]) – The target wells.

  • source_vol (Optional[float]) – The volume to transfer from the source well.

  • ratios (Optional[List[float]]) – The ratios to use when transferring liquid to the target wells. If not specified, then the volumes will be distributed equally.

  • target_vols (Optional[List[float]]) – The volumes to transfer to the target wells. If specified, source_vols and ratios must be None.

  • aspiration_flow_rate (Union[float, pylabrobot.default._DefaultType]) – The flow rate to use when aspirating, in ul/s. If Default, the backend default will be used.

  • dispense_flow_rates (Union[float, List[Union[float, pylabrobot.default._DefaultType]], pylabrobot.default._DefaultType]) – The flow rates to use when dispensing, in ul/s. If Default, 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().