示例#1
0
    def handle_transfer_from(self,
                             tool_obj,
                             tool_settings,
                             from_info,
                             volume,
                             extra_pull=False):
        extra_pull_delay = (tool_settings.get('extra-pull-delay', 0)
                            if extra_pull else 0)
        extra_pull_volume = (tool_settings.get('extra-pull-volume', 0)
                             if extra_pull else 0)

        from_well = self.get_well_obj(from_info)

        should_touch_tip_on_from = from_info.get('touch-tip', False)
        from_tip_offset = from_info.get('tip-offset', 0)
        from_delay = from_info.get('delay', 0)

        from_location = (from_well, from_well.from_center(x=0, y=0, z=-1) +
                         vector.Vector(0, 0, from_tip_offset))

        tool_obj.aspirate(volume + extra_pull_volume, from_location)
        if extra_pull_delay > 0:
            tool_obj.delay(extra_pull_delay)
        if extra_pull_volume > 0:
            tool_obj.dispense(extra_pull_volume)
        if should_touch_tip_on_from:
            tool_obj.touch_tip()
        if from_delay > 0:
            tool_obj.delay(from_delay)
示例#2
0
def test_drop_tip_default_trash(robot, instruments):
    tiprack = containers_load(robot, 'tiprack-200ul', '1')
    pip = instruments.P300_Single(mount='right', tip_racks=[tiprack])

    trash_loc = vector.Vector([80.00, 80.00, 80.00])

    pip.pick_up_tip()

    with mock.patch.object(robot, 'move_to') as move_to:  # NOQA
        pip.drop_tip()

        move_to.assert_called_with((robot.fixed_trash[0], trash_loc),
                                   instrument=pip,
                                   strategy='arc')
示例#3
0
    def handle_transfer_to(self, tool_obj, to_info, volume):
        to_well = self.get_well_obj(to_info)

        should_touch_tip_on_to = to_info.get('touch-tip', False)
        to_tip_offset = to_info.get('tip-offset', 0)
        to_delay = to_info.get('delay', 0)
        blowout = to_info.get('blowout', False)

        to_location = (to_well, to_well.from_center(x=0, y=0, z=-1) +
                       vector.Vector(0, 0, to_tip_offset))

        tool_obj.dispense(volume, to_location)
        if blowout:
            tool_obj.blow_out(to_location)

        if should_touch_tip_on_to:
            tool_obj.touch_tip()

        if to_delay is not None:
            tool_obj.delay(to_delay)