コード例 #1
0
ファイル: jobcreator.py プロジェクト: papagr/TheLMA
 def _populate_iso(self, iso, layout):
     StockSampleCreationIsoPopulator._populate_iso(self, iso, layout)
     # Create sector preparation plates.
     library_name = self.iso_request.label
     ir_specs_96 = get_reservoir_specs_standard_96()
     plate_specs_96 = get_rack_specs_from_reservoir_specs(ir_specs_96)
     ir_specs_384 = get_reservoir_specs_standard_384()
     plate_specs_384 = get_rack_specs_from_reservoir_specs(ir_specs_384)
     future_status = get_item_status_future()
     sec_layout_map = get_sector_layouts_for_384_layout(layout)
     # Create preparation plates.
     for sec_idx in range(NUMBER_SECTORS):
         if not sec_idx in sec_layout_map:
             continue
         # TODO: Move label creation to LABELS class.
         prep_label = self.PREP_PLATE_LABEL_PATTERN \
                             % (library_name,
                                iso.layout_number,
                                DEFAULT_PREPARATION_PLATE_CONCENTRATION,
                                sec_idx + 1)
         prep_plate = plate_specs_96.create_rack(prep_label, future_status)
         sec_layout = sec_layout_map[sec_idx]
         iso.add_sector_preparation_plate(prep_plate, sec_idx,
                                          sec_layout.create_rack_layout())
     # Create aliquot plates.
     for i in range(self.iso_request.number_aliquots):
         # TODO: Move label creation to LABELS class.
         aliquot_label = self.ALIQUOT_PLATE_LABEL_PATTERN \
                             % (library_name,
                                iso.layout_number,
                                DEFAULT_ALIQUOT_PLATE_CONCENTRATION,
                                i + 1)
         aliquot_plate = plate_specs_384.create_rack(aliquot_label,
                                                     future_status)
         iso.add_aliquot_plate(aliquot_plate)
コード例 #2
0
    def __populate_isos(self):
        """
        Adds molecule design set, library layout and plates to the picked ISOs.
        """
        self.add_debug('Create ISOs ...')

        ir_specs_96 = get_reservoir_specs_standard_96()
        plate_specs_96 = get_rack_specs_from_reservoir_specs(ir_specs_96)
        ir_specs_384 = get_reservoir_specs_standard_384()
        plate_specs_384 = get_rack_specs_from_reservoir_specs(ir_specs_384)
        future_status = get_item_status_future()
        library_name = self._iso_request.plate_set_label
        md_type = \
          self.molecule_design_library.molecule_design_pool_set.molecule_type

        while len(self.__picked_isos) > 0:
            lci = self.__picked_isos.pop(0)
            library_layout = self._library_layouts.pop(0)
            lci.rack_layout = library_layout.create_rack_layout()
            lci.molecule_design_pool_set = \
                        library_layout.get_pool_set(md_type)
            layout_number = lci.layout_number

            # create source plates
            for sector_index in self._quadrant_positions.keys():
                prep_label = self.PREP_PLATE_LABEL_PATTERN % (
                    library_name, layout_number,
                    PREPARATION_PLATE_CONCENTRATION, (sector_index + 1))
                prep_plate = plate_specs_96.create_rack(label=prep_label,
                                                        status=future_status)
                LibrarySourcePlate(iso=lci,
                                   plate=prep_plate,
                                   sector_index=sector_index)

            # create aliquot plates
            for i in range(STARTING_NUMBER_ALIQUOTS):
                aliquot_label = self.ALIQUOT_PLATE_LABEL_PATTERN % (
                    library_name, layout_number, ALIQUOT_PLATE_CONCENTRATION,
                    (i + 1))
                aliquot_plate = plate_specs_384.create_rack(
                    label=aliquot_label, status=future_status)
                IsoAliquotPlate(iso=lci, plate=aliquot_plate)

            self.__new_isos.append(lci)
コード例 #3
0
ファイル: iso.py プロジェクト: helixyte/TheLMA
    def __populate_isos(self):
        """
        Adds molecule design set, library layout and plates to the picked ISOs.
        """
        self.add_debug('Create ISOs ...')

        ir_specs_96 = get_reservoir_specs_standard_96()
        plate_specs_96 = get_rack_specs_from_reservoir_specs(ir_specs_96)
        ir_specs_384 = get_reservoir_specs_standard_384()
        plate_specs_384 = get_rack_specs_from_reservoir_specs(ir_specs_384)
        future_status = get_item_status_future()
        library_name = self._iso_request.plate_set_label
        md_type = \
          self.molecule_design_library.molecule_design_pool_set.molecule_type

        while len(self.__picked_isos) > 0:
            lci = self.__picked_isos.pop(0)
            library_layout = self._library_layouts.pop(0)
            lci.rack_layout = library_layout.create_rack_layout()
            lci.molecule_design_pool_set = \
                        library_layout.get_pool_set(md_type)
            layout_number = lci.layout_number

            # create source plates
            for sector_index in self._quadrant_positions.keys():
                prep_label = self.PREP_PLATE_LABEL_PATTERN % (library_name,
                                layout_number, PREPARATION_PLATE_CONCENTRATION,
                                (sector_index + 1))
                prep_plate = plate_specs_96.create_rack(label=prep_label,
                                                        status=future_status)
                LibrarySourcePlate(iso=lci, plate=prep_plate,
                                   sector_index=sector_index)

            # create aliquot plates
            for i in range(STARTING_NUMBER_ALIQUOTS):
                aliquot_label = self.ALIQUOT_PLATE_LABEL_PATTERN % (
                                library_name, layout_number,
                                ALIQUOT_PLATE_CONCENTRATION, (i + 1))
                aliquot_plate = plate_specs_384.create_rack(label=aliquot_label,
                                                        status=future_status)
                IsoAliquotPlate(iso=lci, plate=aliquot_plate)

            self.__new_isos.append(lci)
コード例 #4
0
    def get_critical_iso_concentration(cls, stock_concentration):
        """
        Returns the critical ISO concentration in ul.

        ISO concentrations that are larger than this value might cause slight
        inaccuracies in the concentration when using the Biomek (due to the
        transfer volume step width of 0.1 ul).

        :param stock_concentration: The stock concentration for molecule design
            pool in nM.
        :type stock_concentration: positive number
        :return: critical ISO concentration in ul.
        """
        rs = get_reservoir_specs_standard_96()
        std_96_min_dead_vol = rs.min_dead_volume * VOLUME_CONVERSION_FACTOR
        min_biomek_transfer_vol = get_min_transfer_volume(
            PIPETTING_SPECS_NAMES.BIOMEK)

        crit_iso_conc = stock_concentration \
                    / ((std_96_min_dead_vol + cls.MINIMUM_ISO_VOLUME) \
                    / (std_96_min_dead_vol + cls.MINIMUM_ISO_VOLUME \
                       - min_biomek_transfer_vol))

        return crit_iso_conc
コード例 #5
0
ファイル: base.py プロジェクト: helixyte/TheLMA
    def get_critical_iso_concentration(cls, stock_concentration):
        """
        Returns the critical ISO concentration in ul.

        ISO concentrations that are larger than this value might cause slight
        inaccuracies in the concentration when using the Biomek (due to the
        transfer volume step width of 0.1 ul).

        :param stock_concentration: The stock concentration for molecule design
            pool in nM.
        :type stock_concentration: positive number
        :return: critical ISO concentration in ul.
        """
        rs = get_reservoir_specs_standard_96()
        std_96_min_dead_vol = rs.min_dead_volume * VOLUME_CONVERSION_FACTOR
        min_biomek_transfer_vol = get_min_transfer_volume(
                                                PIPETTING_SPECS_NAMES.BIOMEK)

        crit_iso_conc = stock_concentration \
                    / ((std_96_min_dead_vol + cls.MINIMUM_ISO_VOLUME) \
                    / (std_96_min_dead_vol + cls.MINIMUM_ISO_VOLUME \
                       - min_biomek_transfer_vol))

        return crit_iso_conc