def __get_robot_specs(self, step_container): # Always returns a Biomek spec. If the source racks are tube racks # the stock settings are returned. result = get_pipetting_specs_biomek() for rack_id in step_container.rack_containers[TRANSFER_ROLES.SOURCE]: data_item = self.__ror_map[rack_id] if isinstance(data_item.rack, TubeRack): result = get_pipetting_specs_biomek_stock() break return result
def __create_buffer_worklist(self, sector_layout, buffer_volume, label): # Creates the buffer dilution worklist for a particular quadrant # and adds it to the worklist series. volume = buffer_volume / VOLUME_CONVERSION_FACTOR ptfs = [] for rack_pos_96 in sector_layout.get_positions(): planned_transfer = PlannedSampleDilution.get_entity(volume, self.DILUTION_INFO, rack_pos_96) ptfs.append(planned_transfer) worklist = PlannedWorklist( label, TRANSFER_TYPES.SAMPLE_DILUTION, get_pipetting_specs_biomek(), planned_liquid_transfers=ptfs ) self.__worklist_series.add_worklist(self.__last_worklist_index, worklist) self.__last_worklist_index += 1
def __init__(self, planned_worklist, target_rack, pipetting_specs=None, ignored_positions=None, parent=None): WorklistWriter.__init__(self, planned_worklist, target_rack, pipetting_specs, ignored_positions=ignored_positions, parent=parent) if self.pipetting_specs is None: self.pipetting_specs = get_pipetting_specs_biomek() # These are the CsvColumnParameters for the worklists. self._source_rack_values = None self._source_pos_values = None self._target_rack_values = None self._target_pos_values = None self._volume_values = None
def __create_buffer_worklist(self, sector_layout, buffer_volume, label): # Creates the buffer dilution worklist for a particular quadrant # and adds it to the worklist series. volume = buffer_volume / VOLUME_CONVERSION_FACTOR ptfs = [] for rack_pos_96 in sector_layout.get_positions(): planned_transfer = PlannedSampleDilution.get_entity( volume, self.DILUTION_INFO, rack_pos_96) ptfs.append(planned_transfer) worklist = PlannedWorklist(label, TRANSFER_TYPES.SAMPLE_DILUTION, get_pipetting_specs_biomek(), planned_liquid_transfers=ptfs) self.__worklist_series.add_worklist(self.__last_worklist_index, worklist) self.__last_worklist_index += 1
def __create_worklist(self, worklist_label, planned_liquid_transfers, transfer_type, trg_plate_marker, series_key): # The indices for the worklists are subsequent numbers. if transfer_type == TRANSFER_TYPES.RACK_SAMPLE_TRANSFER: robot_specs = get_pipetting_specs_cybio() elif transfer_type == TRANSFER_TYPES.SAMPLE_DILUTION: robot_specs = self.builder.dilution_pipetting_specs[ trg_plate_marker] else: robot_specs = get_pipetting_specs_biomek() worklist = PlannedWorklist(label=worklist_label, transfer_type=transfer_type, pipetting_specs=robot_specs, planned_liquid_transfers=planned_liquid_transfers) worklist_number = self.__get_current_worklist_number(False) worklist_series = self.__series_map[series_key] worklist_series.add_worklist(worklist_number, worklist)
def __create_worklist(self, worklist_label, planned_liquid_transfers, transfer_type, trg_plate_marker, series_key): # The indices for the worklists are subsequent numbers. if transfer_type == TRANSFER_TYPES.RACK_SAMPLE_TRANSFER: robot_specs = get_pipetting_specs_cybio() elif transfer_type == TRANSFER_TYPES.SAMPLE_DILUTION: robot_specs = self.builder.dilution_pipetting_specs[ trg_plate_marker] else: robot_specs = get_pipetting_specs_biomek() worklist = PlannedWorklist( label=worklist_label, transfer_type=transfer_type, pipetting_specs=robot_specs, planned_liquid_transfers=planned_liquid_transfers) worklist_number = self.__get_current_worklist_number(False) worklist_series = self.__series_map[series_key] worklist_series.add_worklist(worklist_number, worklist)