Beispiel #1
0
 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)
Beispiel #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)
Beispiel #3
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)
Beispiel #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
Beispiel #5
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