Exemplo n.º 1
0
 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
Exemplo n.º 2
0
 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
Exemplo n.º 3
0
 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
Exemplo n.º 4
0
 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
Exemplo n.º 5
0
    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)
Exemplo n.º 6
0
    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)
Exemplo n.º 7
0
 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