示例#1
0
文件: base.py 项目: helixyte/TheLMA
 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
示例#2
0
文件: base.py 项目: papagr/TheLMA
 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
示例#3
0
 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)
示例#4
0
 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)