def __create_stock_rack_worklist_series(self): # The transfer for each worklist series are derived from the stock # rack layouts. ticket_number = self._iso_request.experiment_metadata.ticket_number robot_specs = self._get_stock_transfer_pipetting_specs() for sr_marker in sorted(self._stock_rack_layouts.keys()): sr_layout = self._stock_rack_layouts[sr_marker] worklist_series = WorklistSeries() for rack_marker in self.__get_sorted_plate_markers(): transfers = [] for sr_pos in sr_layout.working_positions(): psts = sr_pos.get_planned_sample_transfers(rack_marker) transfers.extend(psts) if len(transfers) < 1: continue wl_index = len(worklist_series) wl_label = LABELS.create_worklist_label(ticket_number, worklist_number=(wl_index + 1), target_rack_marker=rack_marker, source_rack_marker=sr_marker) worklist = PlannedWorklist(label=wl_label, transfer_type=TRANSFER_TYPES.SAMPLE_TRANSFER, planned_liquid_transfers=transfers, pipetting_specs=robot_specs) worklist_series.add_worklist(wl_index, worklist) self.__stock_transfer_series[sr_marker] = worklist_series
def __create_stock_rack_worklist_series(self): # The transfer for each worklist series are derived from the stock # rack layouts. ticket_number = self._iso_request.experiment_metadata.ticket_number robot_specs = self._get_stock_transfer_pipetting_specs() for sr_marker in sorted(self._stock_rack_layouts.keys()): sr_layout = self._stock_rack_layouts[sr_marker] worklist_series = WorklistSeries() for rack_marker in self.__get_sorted_plate_markers(): transfers = [] for sr_pos in sr_layout.working_positions(): psts = sr_pos.get_planned_sample_transfers(rack_marker) transfers.extend(psts) if len(transfers) < 1: continue wl_index = len(worklist_series) wl_label = LABELS.create_worklist_label( ticket_number, worklist_number=(wl_index + 1), target_rack_marker=rack_marker, source_rack_marker=sr_marker) worklist = PlannedWorklist( label=wl_label, transfer_type=TRANSFER_TYPES.SAMPLE_TRANSFER, planned_liquid_transfers=transfers, pipetting_specs=robot_specs) worklist_series.add_worklist(wl_index, worklist) self.__stock_transfer_series[sr_marker] = worklist_series
def __create_worklist_label(self, target_plate_marker, source_plate_marker=None): worklist_number = self.__get_current_worklist_number(True) return LABELS.create_worklist_label(ticket_number=self.__ticket_number, worklist_number=worklist_number, target_rack_marker=target_plate_marker, source_rack_marker=source_plate_marker)
def __create_worklist_label(self, target_plate_marker, source_plate_marker=None): worklist_number = self.__get_current_worklist_number(True) return LABELS.create_worklist_label( ticket_number=self.__ticket_number, worklist_number=worklist_number, target_rack_marker=target_plate_marker, source_rack_marker=source_plate_marker)