Example #1
0
    def __init__(self, stock_rack_data, executed_worklists, parent=None):
        """
        Constructor.

        :param stock_rack_data: The stock rack layouts are required to
            fetch the pool for a transfer mapped onto their barcodes.
        :type stock_rack_data: :class:`dict` with barcode as key and
            :class:`StockRackLayout` as value
        :param executed_worklists: The stock transfer executed worklists that
            have been generated by the executor.
        :type executed_worklists: :class:`list`
        """
        CsvWriter.__init__(self, parent=parent)
        #: The executed worklists that have been generated by the executor
        #: (mapped onto transfer job indices).
        self.executed_worklists = executed_worklists
        #: The stock rack layouts are required to fetch the pool for a
        #: transfer mapped onto their barcodes.
        self.stock_rack_data = stock_rack_data
        #: Stores the values for the molecule design pool ID column.
        self.__pool_values = None
        #: Stores the values for the tube barcode column.
        self.__tube_barcode_values = None
        #: Stores the values for the volume column.
        self.__volume_values = None
        #: Stores the values for the target rack barcode column.
        self.__trg_rack_barcode_values = None
        #: Stores the values for the target position column.
        self.__trg_position_values = None
Example #2
0
    def __init__(self,
                 library_layout,
                 executed_worklists,
                 stock_rack_map,
                 parent=None):
        """
        Constructor.

        :param library_layout: The working_layout containing the molecule
            design pool data.
        :type library_layout: :class:`LibraryLayout`
        :param list executed_worklists: The executed worklists that have been
            generated by the executor (mapped onto transfer job indices).
        """
        CsvWriter.__init__(self, parent=parent)
        self.executed_worklists = executed_worklists
        self.library_layout = library_layout
        self.stock_rack_map = stock_rack_map
        #: Map source rack barcode -> stock sample creation layout.
        self.__ssc_layout_map = None
        #: Stores the values for the library molecule design pool ID column.
        self.__lib_pool_values = None
        #: Stores the values for the library molecule design pool ID column.
        self.__md_values = None
        #: Stores the values for the tube barcode column.
        self.__tube_barcode_values = None
        #: Stores the values for the volume column.
        self.__volume_values = None
        #: Stores the values for the target rack barcode column.
        self.__trg_rack_barcode_values = None
        #: Stores the values for the target position column.
        self.__trg_position_values = None
Example #3
0
    def __init__(self, stock_rack_data, executed_worklists, parent=None):
        """
        Constructor.

        :param stock_rack_data: The stock rack layouts are required to
            fetch the pool for a transfer mapped onto their barcodes.
        :type stock_rack_data: :class:`dict` with barcode as key and
            :class:`StockRackLayout` as value
        :param executed_worklists: The stock transfer executed worklists that
            have been generated by the executor.
        :type executed_worklists: :class:`list`
        """
        CsvWriter.__init__(self, parent=parent)
        #: The executed worklists that have been generated by the executor
        #: (mapped onto transfer job indices).
        self.executed_worklists = executed_worklists
        #: The stock rack layouts are required to fetch the pool for a
        #: transfer mapped onto their barcodes.
        self.stock_rack_data = stock_rack_data
        #: Stores the values for the molecule design pool ID column.
        self.__pool_values = None
        #: Stores the values for the tube barcode column.
        self.__tube_barcode_values = None
        #: Stores the values for the volume column.
        self.__volume_values = None
        #: Stores the values for the target rack barcode column.
        self.__trg_rack_barcode_values = None
        #: Stores the values for the target position column.
        self.__trg_position_values = None
Example #4
0
    def __init__(self,
                 stock_sample_creation_layout,
                 executed_worklists,
                 parent=None):
        """
        Constructor.

        :param stock_sample_creation_layout: The working_layout containing the
            molecule design pool data.
        :type stock_sample_creation_layout: :class:`StockSampleCreationLayout`
        :param list executed_worklists: The executed worklists that have been
            generated by the executor (mapped onto transfer job indices).
        """
        CsvWriter.__init__(self, parent=parent)
        #: The executed worklists that have been generated by the executor.
        self.executed_worklists = executed_worklists
        #: The working layout containing the molecule design pool data.
        self.stock_sample_creation_layout = stock_sample_creation_layout
        #: Stores the values for the molecule design pool ID column.
        self.__pool_values = None
        #: Stores the values for the single molecule design IDs column.
        self.__md_values = None
        #: Stores the values for the tube barcode column.
        self.__tube_barcode_values = None
        #: Stores the values for the volume column.
        self.__volume_values = None
        #: Stores the values for the target rack barcode column.
        self.__trg_rack_barcode_values = None
        #: Stores the values for the target position column.
        self.__trg_position_values = None
Example #5
0
    def __init__(self, stock_sample_creation_layout, executed_worklists, parent=None):
        """
        Constructor.

        :param stock_sample_creation_layout: The working_layout containing the
            molecule design pool data.
        :type stock_sample_creation_layout: :class:`StockSampleCreationLayout`
        :param list executed_worklists: The executed worklists that have been
            generated by the executor (mapped onto transfer job indices).
        """
        CsvWriter.__init__(self, parent=parent)
        #: The executed worklists that have been generated by the executor.
        self.executed_worklists = executed_worklists
        #: The working layout containing the molecule design pool data.
        self.stock_sample_creation_layout = stock_sample_creation_layout
        #: Stores the values for the molecule design pool ID column.
        self.__pool_values = None
        #: Stores the values for the single molecule design IDs column.
        self.__md_values = None
        #: Stores the values for the tube barcode column.
        self.__tube_barcode_values = None
        #: Stores the values for the volume column.
        self.__volume_values = None
        #: Stores the values for the target rack barcode column.
        self.__trg_rack_barcode_values = None
        #: Stores the values for the target position column.
        self.__trg_position_values = None
Example #6
0
    def __init__(self, library_layout, executed_worklists,
                 sample_stock_racks, parent=None):
        """
        Constructor.

        :param library_layout: The working_layout containing the molecule
            design pool data.
        :type library_layout: :class:`LibraryLayout`
        :param executed_worklists: The executed worklists that have been
            generated by the executor (mapped onto transfer job indices).
        :type executed_worklists: :class:`dict`
        """
        CsvWriter.__init__(self, parent=parent)
        #: The executed worklists that have been generated by the executor
        #: (mapped onto transfer job indices).
        self.executed_worklists = executed_worklists
        #: The working_layout containing the molecule design pool data.
        self.library_layout = library_layout
        #: The ISO sample stock racks mapped onto sector indices.
        self.sample_stock_racks = sample_stock_racks
        #: The translators for each pool stock rack (lazy initialisation).
        self.__translators = None
        #: Stores the values for the library molecule design pool ID column.
        self.__lib_pool_values = None
        #: Stores the values for the library molecule design pool ID column.
        self.__md_values = None
        #: Stores the values for the tube barcode column.
        self.__tube_barcode_values = None
        #: Stores the values for the volume column.
        self.__volume_values = None
        #: Stores the values for the target rack barcode column.
        self.__trg_rack_barcode_values = None
        #: Stores the values for the target position column.
        self.__trg_position_values = None
Example #7
0
 def reset(self):
     CsvWriter.reset(self)
     self.__pool_values = []
     self.__md_values = []
     self.__tube_barcode_values = []
     self.__volume_values = []
     self.__trg_rack_barcode_values = []
     self.__trg_position_values = []
Example #8
0
 def reset(self):
     CsvWriter.reset(self)
     self.__pool_values = []
     self.__md_values = []
     self.__tube_barcode_values = []
     self.__volume_values = []
     self.__trg_rack_barcode_values = []
     self.__trg_position_values = []
Example #9
0
    def __init__(self, planned_worklist, target_rack, pipetting_specs,
                 ignored_positions=None, parent=None):
        """
        Constructor.

        :param planned_worklist: The worklist for which to create a
            worklist file.
        :type planned_worklist:
            :class:`thelma.entities.liquidtransfer.PlannedWorklist`
        :param target_rack: The rack into which the volumes will be dispensed.
        :type target_rack: :class:`thelma.entities.rack.Rack`
        :param pipetting_specs: Pipetting specs define transfer properties and
            conditions like the transfer volume range.
        :type pipetting_specs:
            :class:`thelma.entities.liquidtransfer.PipettingSpecs`
        :param list ignored_positions: A list of positions (target
            for dilutions and source for transfers; :class:`RackPosition`)
            that are not included in the worklist file.
        """
        CsvWriter.__init__(self, parent=parent)
        #: The planned worklist for which to create a file stream.
        self.planned_worklist = planned_worklist
        #: The rack into which the volumes will be dispensed.
        self.target_rack = target_rack
        #: Pipetting specs define transfer properties and conditions like
        #: the transfer volume range.
        self.pipetting_specs = pipetting_specs
        if ignored_positions is None:
            ignored_positions = []
        #: A list of positions that will not be included in the worklist file
        #: (even if there are planned transfers for them).
        self.ignored_positions = ignored_positions
        #: Maps the containers of the target rack onto rack positions.
        self._target_containers = None
        #: Stores the volume changes for the target rack (mapped onto
        #: rack positions).
        self._target_volumes = None
        #: The maximum volume of a target rack container in ul.
        self._target_max_volume = None
        #: Maps the container of the source rack onto rack position.
        self._source_containers = None
        #: Stores the volume changes for the source rack (mapped onto
        #: rack positions).
        self._source_volumes = None
        #: The minimum dead volume of source rack container in ul.
        self._source_dead_volume = None
        #: The minimum transfer volume used in ul.
        self._min_transfer_volume = None
        #: The maximum transfer volume used in ul.
        self._max_transfer_volume = None
        # Intermediate data storage for errors.
        self._transfer_volume_too_small = None
        self._transfer_volume_too_large = None
        self._source_volume_too_small = None
        self._source_container_missing = None
        self._target_volume_too_large = None
        self._target_container_missing = None
Example #10
0
 def reset(self):
     CsvWriter.reset(self)
     self.__ssc_layout_map = dict()
     self.__lib_pool_values = []
     self.__md_values = []
     self.__tube_barcode_values = []
     self.__volume_values = []
     self.__trg_rack_barcode_values = []
     self.__trg_position_values = []
Example #11
0
 def reset(self):
     CsvWriter.reset(self)
     self.__translators = dict()
     self.__lib_pool_values = []
     self.__md_values = []
     self.__tube_barcode_values = []
     self.__volume_values = []
     self.__trg_rack_barcode_values = []
     self.__trg_position_values = []
Example #12
0
 def reset(self):
     """
     Resets all values except for the initialisation values.
     """
     CsvWriter.reset(self)
     self.source_layout = None
     self.__position_values = []
     self.__md_pool_values = []
     self.__iso_concentration_values = []
     self.__iso_volume_values = []
Example #13
0
 def reset(self):
     """
     Resets all values except for the initialisation values.
     """
     CsvWriter.reset(self)
     self.__pool_values = []
     self.__tube_barcode_values = []
     self.__volume_values = []
     self.__trg_rack_barcode_values = []
     self.__trg_position_values = []
Example #14
0
 def reset(self):
     """
     Resets all attributes except the initialization values.
     """
     CsvWriter.reset(self)
     self._source_rack_values = []
     self._source_position_values = []
     self._tube_barcode_values = []
     self._dest_rack_values = []
     self._dest_position_values = []
Example #15
0
 def reset(self):
     """
     Resets all values except for the initialisation values.
     """
     CsvWriter.reset(self)
     self.source_layout = None
     self.__position_values = []
     self.__md_pool_values = []
     self.__iso_concentration_values = []
     self.__iso_volume_values = []
Example #16
0
 def reset(self):
     """
     Resets all attributes except the initialization values.
     """
     CsvWriter.reset(self)
     self._source_rack_values = []
     self._source_position_values = []
     self._tube_barcode_values = []
     self._dest_rack_values = []
     self._dest_position_values = []
Example #17
0
 def reset(self):
     """
     Resets all values except for the initialisation values.
     """
     CsvWriter.reset(self)
     self.__pool_values = []
     self.__tube_barcode_values = []
     self.__volume_values = []
     self.__trg_rack_barcode_values = []
     self.__trg_position_values = []
Example #18
0
 def __init__(self, parent=None):
     CsvWriter.__init__(self, parent=parent)
     #: The values for the source rack column.
     self._source_rack_values = None
     #: The values for the source position column.
     self._source_position_values = None
     #: The values of the tube barcode column.
     self._tube_barcode_values = None
     #: The values of the destination rack column.
     self._dest_rack_values = None
     #: The values of the destination position column.
     self._dest_position_values = None
Example #19
0
 def __init__(self, parent=None):
     CsvWriter.__init__(self, parent=parent)
     #: The values for the source rack column.
     self._source_rack_values = None
     #: The values for the source position column.
     self._source_position_values = None
     #: The values of the tube barcode column.
     self._tube_barcode_values = None
     #: The values of the destination rack column.
     self._dest_rack_values = None
     #: The values of the destination position column.
     self._dest_position_values = None
Example #20
0
 def reset(self):
     """
     Resets all values except for initialisation values.
     """
     CsvWriter.reset(self)
     self.__worklist_data = dict()
     self.__position_values = []
     self.__name_values = []
     self.__final_dil_factor_values = []
     self.__ini_dil_factor_values = []
     self.__total_volume_values = []
     self.__reagent_volume_values = []
     self.__diluent_volume_values = []
Example #21
0
 def reset(self):
     """
     Resets all values except for initialisation values.
     """
     CsvWriter.reset(self)
     self.__worklist_data = dict()
     self.__position_values = []
     self.__name_values = []
     self.__final_dil_factor_values = []
     self.__ini_dil_factor_values = []
     self.__total_volume_values = []
     self.__reagent_volume_values = []
     self.__diluent_volume_values = []
Example #22
0
 def reset(self):
     """
     Resets all values except for the initialisation values.
     """
     CsvWriter.reset(self)
     self.source_layout = None
     self.association_layouts = None
     self.final_concentrations = None
     self.__source_well_values = []
     self.__design_rack_values = []
     self.__target_well_values = []
     self.__iso_volume_values = []
     self.__iso_concentration_values = []
     self.__final_concentration_values = []
Example #23
0
 def reset(self):
     """
     Resets all values except for the initialisation values.
     """
     CsvWriter.reset(self)
     self.source_layout = None
     self.association_layouts = None
     self.final_concentrations = None
     self.__source_well_values = []
     self.__design_rack_values = []
     self.__target_well_values = []
     self.__iso_volume_values = []
     self.__iso_concentration_values = []
     self.__final_concentration_values = []
Example #24
0
    def __init__(self, generator, parent=None):
        """
        Constructor.

        :param generator: The generator that has conducted the upload.
        :type generator: :class:`ExperimentMetadataGenerator`
        """
        CsvWriter.__init__(self, parent=parent)
        #: The generator that has conducted the upload.
        self.generator = generator
        #: The completed ISO source layout.
        self.source_layout = None
        #: Intermediate storage for the column values.
        self.__position_values = None
        self.__md_pool_values = None
        self.__iso_concentration_values = None
        self.__iso_volume_values = None
Example #25
0
    def __init__(self, generator, parent=None):
        """
        Constructor.

        :param generator: The generator that has conducted the upload.
        :type generator: :class:`ExperimentMetadataGenerator`
        """
        CsvWriter.__init__(self, parent=parent)
        #: The generator that has conducted the upload.
        self.generator = generator
        #: The completed ISO source layout.
        self.source_layout = None
        #: Intermediate storage for the column values.
        self.__position_values = None
        self.__md_pool_values = None
        self.__iso_concentration_values = None
        self.__iso_volume_values = None
Example #26
0
 def reset(self):
     """
     Resets all values except for input values.
     """
     CsvWriter.reset(self)
     self._target_containers = dict()
     self._target_volumes = dict()
     self._target_max_volume = None
     self._source_containers = dict()
     self._source_volumes = dict()
     self._source_dead_volume = None
     # Intermediate data storage for errors.
     self._transfer_volume_too_small = []
     self._transfer_volume_too_large = []
     self._source_volume_too_small = set()
     self._source_container_missing = set()
     self._target_volume_too_large = []
     self._target_container_missing = []
Example #27
0
 def reset(self):
     """
     Resets all values except for input values.
     """
     CsvWriter.reset(self)
     self._target_containers = dict()
     self._target_volumes = dict()
     self._target_max_volume = None
     self._source_containers = dict()
     self._source_volumes = dict()
     self._source_dead_volume = None
     # Intermediate data storage for errors.
     self._transfer_volume_too_small = []
     self._transfer_volume_too_large = []
     self._source_volume_too_small = set()
     self._source_container_missing = set()
     self._target_volume_too_large = []
     self._target_container_missing = []
Example #28
0
    def __init__(self, stock_sample_creation_iso, parent=None):
        """
        Constructor:

        :param stock_sample_creation_iso: The ISO whose library layout you want
            to print.
        :type stock_sample_creation_iso:
            :class:`thelma.entities.iso.StockSampleCreationIso`
        """
        CsvWriter.__init__(self, parent=parent)

        #: The ISO whose layout you want to print.
        self.stock_sample_creation_iso = stock_sample_creation_iso

        #: The values for the columns.
        self.__position_values = None
        self.__pool_values = None
        self.__md_values = None
        self.__tube_values = None
Example #29
0
    def __init__(self, stock_sample_creation_iso, parent=None):
        """
        Constructor:

        :param stock_sample_creation_iso: The ISO whose library layout you want
            to print.
        :type stock_sample_creation_iso:
            :class:`thelma.entities.iso.StockSampleCreationIso`
        """
        CsvWriter.__init__(self, parent=parent)

        #: The ISO whose layout you want to print.
        self.stock_sample_creation_iso = stock_sample_creation_iso

        #: The values for the columns.
        self.__position_values = None
        self.__pool_values = None
        self.__md_values = None
        self.__tube_values = None
Example #30
0
    def __init__(self, generator, parent=None):
        """
        Constructor.

        :param generator: The generator that has conducted the upload.
        :type generator: :class:`ExperimentMetadataGenerator`
        """
        CsvWriter.__init__(self, parent=parent)
        #: The generator that has conducted the upload.
        self.generator = generator
        #: The completed ISO source layout.
        self.source_layout = None
        #: The transfection layouts containing the association data for
        #: each design rack.
        self.association_layouts = None
        #: A map containing the final concentrations for each design rack.
        self.final_concentrations = None
        #: Intermediate storage for the column values.
        self.__source_well_values = None
        self.__design_rack_values = None
        self.__target_well_values = None
        self.__iso_volume_values = None
        self.__iso_concentration_values = None
        self.__final_concentration_values = None
Example #31
0
    def __init__(self, reagent_stream_content, parent=None):
        """
        Constructor.

        :param str reagent_stream_content: The content of the reagent dilution
            worklist stream.
        """
        CsvWriter.__init__(self, parent=parent)
        #: The content of the reagent dilution worklist stream.
        self.reagent_stream_content = reagent_stream_content
        #: The relevant data of the worklist (key: line index, values:
        #: tuple (source pos, dilution volume, diluent info) .
        self.__worklist_data = None
        #: The estimated dead volume in ul.
        self.__dead_volume = get_reservoir_spec(RESERVOIR_SPECS_NAMES.TUBE_24).\
                             max_dead_volume * VOLUME_CONVERSION_FACTOR
        #: Intermediate storage for the column values.
        self.__position_values = None
        self.__name_values = None
        self.__final_dil_factor_values = None
        self.__ini_dil_factor_values = None
        self.__total_volume_values = None
        self.__reagent_volume_values = None
        self.__diluent_volume_values = None
Example #32
0
    def __init__(self, generator, parent=None):
        """
        Constructor.

        :param generator: The generator that has conducted the upload.
        :type generator: :class:`ExperimentMetadataGenerator`
        """
        CsvWriter.__init__(self, parent=parent)
        #: The generator that has conducted the upload.
        self.generator = generator
        #: The completed ISO source layout.
        self.source_layout = None
        #: The transfection layouts containing the association data for
        #: each design rack.
        self.association_layouts = None
        #: A map containing the final concentrations for each design rack.
        self.final_concentrations = None
        #: Intermediate storage for the column values.
        self.__source_well_values = None
        self.__design_rack_values = None
        self.__target_well_values = None
        self.__iso_volume_values = None
        self.__iso_concentration_values = None
        self.__final_concentration_values = None
Example #33
0
    def __init__(self, reagent_stream_content, parent=None):
        """
        Constructor.

        :param str reagent_stream_content: The content of the reagent dilution
            worklist stream.
        """
        CsvWriter.__init__(self, parent=parent)
        #: The content of the reagent dilution worklist stream.
        self.reagent_stream_content = reagent_stream_content
        #: The relevant data of the worklist (key: line index, values:
        #: tuple (source pos, dilution volume, diluent info) .
        self.__worklist_data = None
        #: The estimated dead volume in ul.
        self.__dead_volume = get_reservoir_spec(RESERVOIR_SPECS_NAMES.TUBE_24).\
                             max_dead_volume * VOLUME_CONVERSION_FACTOR
        #: Intermediate storage for the column values.
        self.__position_values = None
        self.__name_values = None
        self.__final_dil_factor_values = None
        self.__ini_dil_factor_values = None
        self.__total_volume_values = None
        self.__reagent_volume_values = None
        self.__diluent_volume_values = None
Example #34
0
 def reset(self):
     CsvWriter.reset(self)
     self.__position_values = []
     self.__pool_values = []
     self.__md_values = []
     self.__tube_values = []
Example #35
0
 def reset(self):
     CsvWriter.reset(self)
     self.__position_values = []
     self.__pool_values = []
     self.__md_values = []
     self.__tube_values = []
Example #36
0
    def __init__(self,
                 planned_worklist,
                 target_rack,
                 pipetting_specs,
                 ignored_positions=None,
                 parent=None):
        """
        Constructor.

        :param planned_worklist: The worklist for which to create a
            worklist file.
        :type planned_worklist:
            :class:`thelma.entities.liquidtransfer.PlannedWorklist`
        :param target_rack: The rack into which the volumes will be dispensed.
        :type target_rack: :class:`thelma.entities.rack.Rack`
        :param pipetting_specs: Pipetting specs define transfer properties and
            conditions like the transfer volume range.
        :type pipetting_specs:
            :class:`thelma.entities.liquidtransfer.PipettingSpecs`
        :param list ignored_positions: A list of positions (target
            for dilutions and source for transfers; :class:`RackPosition`)
            that are not included in the worklist file.
        """
        CsvWriter.__init__(self, parent=parent)
        #: The planned worklist for which to create a file stream.
        self.planned_worklist = planned_worklist
        #: The rack into which the volumes will be dispensed.
        self.target_rack = target_rack
        #: Pipetting specs define transfer properties and conditions like
        #: the transfer volume range.
        self.pipetting_specs = pipetting_specs
        if ignored_positions is None:
            ignored_positions = []
        #: A list of positions that will not be included in the worklist file
        #: (even if there are planned transfers for them).
        self.ignored_positions = ignored_positions
        #: Maps the containers of the target rack onto rack positions.
        self._target_containers = None
        #: Stores the volume changes for the target rack (mapped onto
        #: rack positions).
        self._target_volumes = None
        #: The maximum volume of a target rack container in ul.
        self._target_max_volume = None
        #: Maps the container of the source rack onto rack position.
        self._source_containers = None
        #: Stores the volume changes for the source rack (mapped onto
        #: rack positions).
        self._source_volumes = None
        #: The minimum dead volume of source rack container in ul.
        self._source_dead_volume = None
        #: The minimum transfer volume used in ul.
        self._min_transfer_volume = None
        #: The maximum transfer volume used in ul.
        self._max_transfer_volume = None
        # Intermediate data storage for errors.
        self._transfer_volume_too_small = None
        self._transfer_volume_too_large = None
        self._source_volume_too_small = None
        self._source_container_missing = None
        self._target_volume_too_large = None
        self._target_container_missing = None