pylabrobot.liquid_handling.liquid_handler.LiquidHandler.drop_tips#
- async LiquidHandler.drop_tips(tip_spots: List[Union[TipSpot, Resource]], use_channels: Optional[List[int]] = None, offsets: Optional[Union[Coordinate, List[Optional[Coordinate]]]] = None, allow_nonzero_volume: bool = False, **backend_kwargs)#
Drop tips to a resource.
Examples
Dropping tips to the first column.
>>> lh.pick_up_tips(tip_rack["A1:H1"])
Dropping tips with different offsets:
>>> lh.drop_tips( ... channels=tips_resource["A1":"C1"], ... offsets=[ ... Coordinate(0, 0, 0), # A1 ... Coordinate(1, 1, 1), # B1 ... Coordinate.zero() # C1 ... ] ... )
- Parameters:
tips – Tip resource locations to drop to.
use_channels (Optional[List[int]]) – List of channels to use. Index from front to back. If
None
, the firstlen(channels)
channels will be used.offsets (Optional[Union[Coordinate, List[Optional[Coordinate]]]]) – List of offsets for each channel, a translation that will be applied to the tip pickup location. If
None
, no offset will be applied.allow_nonzero_volume (bool) – If
True
, the tip will be dropped even if its volume is not zero (there is liquid in the tip). IfFalse
, a RuntimeError will be raised if the tip has nonzero volume.backend_kwargs – Additional keyword arguments for the backend, optional.
- Raises:
RuntimeError – If the setup has not been run. See
setup()
.ValueError – If no channel will pick up a tip, in other words, if all channels are
None
or if the list of channels is empty.ValueError – If the positions are not unique.
NoTipError – If a channel does not have a tip.
HasTipError – If a spot already has a tip.