File tree Expand file tree Collapse file tree 1 file changed +30
-0
lines changed
pylabrobot/liquid_handling Expand file tree Collapse file tree 1 file changed +30
-0
lines changed Original file line number Diff line number Diff line change @@ -769,6 +769,36 @@ async def discard_tips(
769769 ** backend_kwargs ,
770770 )
771771
772+ async def move_tips (
773+ self ,
774+ source_tip_spots : List [TipSpot ],
775+ dest_tip_spots : List [TipSpot ],
776+ ):
777+ """Move tips from one tip rack to another.
778+
779+ This is a convenience method that picks up tips from `source_tip_spots` and drops them to
780+ `dest_tip_spots`.
781+
782+ Examples:
783+ Move tips from one tip rack to another:
784+
785+ >>> await lh.move_tips(source_tip_rack["A1":"A8"], dest_tip_rack["B1":"B8"])
786+ """
787+
788+ if len (source_tip_spots ) != len (dest_tip_spots ):
789+ raise ValueError ("Number of source and destination tip spots must match." )
790+
791+ use_channels = list (range (len (source_tip_spots )))
792+
793+ await self .pick_up_tips (
794+ tip_spots = source_tip_spots ,
795+ use_channels = use_channels ,
796+ )
797+ await self .drop_tips (
798+ tip_spots = dest_tip_spots ,
799+ use_channels = use_channels ,
800+ )
801+
772802 def _check_containers (self , resources : Sequence [Resource ]):
773803 """Checks that all resources are containers."""
774804 not_containers = [r for r in resources if not isinstance (r , Container )]
You can’t perform that action at this time.
0 commit comments