Exemple #1
0
    def __init__(self, parser, code, volume, step_number, diluent):
        """
        Constructor:

        :param parser: The parser this container belongs to.
        :type parser: :class:`GenericSampleTransferPlanParser`

        :param code: The code for the transfer from the sheet (used as ID
            within the step).

        :param volume: The volume for the step.
        :type volume: positive number

        :param step_number: The number of the step this transfer belongs to.
        :type step_number: :class:`int`

        :param diluent: Applies only to sample dilutions.
        :type diluent: :class:`str`
        """
        ExcelParsingContainer.__init__(self, parser=parser)

        self.code = code
        self.step_number = step_number
        self.volume = volume
        self.diluent = diluent

        self.positions = dict()
Exemple #2
0
    def __init__(self, parser, parameter_name, tag_predicates):
        """
        Constructor.

        :param str parameter_name: The name of the parameter.
        :param tag_predicates: A list of aliases (valid tag predicates)
            for this parameter.
        """
        ExcelParsingContainer.__init__(self, parser)
        #: The name of the parameter.
        self.parameter_name = parameter_name
        #: A list of valid predicates for this parameter.
        self.tag_predicates = self.__init_predicates(tag_predicates)
        #: Dedicates whether there is a well-wise specification for this
        #: parameter.
        self.has_layout = False
        #: The parameter's tag container
        #: (:class:`thelma.parsers.bsae.TagDefinitionParsingContainer`)
        self.tag_definition = None
        #: The parameter's :class:`IsoLayoutParsingContainer`
        self.layout_container = None
        #: Stores the values for the all wells (wells as rack position labels).
        self.well_map = {}
        #: The default value (as given in the metadata specification).
        self.default_value = None
Exemple #3
0
    def __init__(self, parser, parameter_name, tag_predicates):
        """
        Constructor.

        :param str parameter_name: The name of the parameter.
        :param tag_predicates: A list of aliases (valid tag predicates)
            for this parameter.
        """
        ExcelParsingContainer.__init__(self, parser)
        #: The name of the parameter.
        self.parameter_name = parameter_name
        #: A list of valid predicates for this parameter.
        self.tag_predicates = self.__init_predicates(tag_predicates)
        #: Dedicates whether there is a well-wise specification for this
        #: parameter.
        self.has_layout = False
        #: The parameter's tag container
        #: (:class:`thelma.parsers.bsae.TagDefinitionParsingContainer`)
        self.tag_definition = None
        #: The parameter's :class:`IsoLayoutParsingContainer`
        self.layout_container = None
        #: Stores the values for the all wells (wells as rack position labels).
        self.well_map = {}
        #: The default value (as given in the metadata specification).
        self.default_value = None
Exemple #4
0
    def __init__(self, parser, step_marker, starting_row):
        """
        Constructor:

        :param parser: The parser this container belongs to.
        :type parser: :class:`GenericSampleTransferPlanParser`

        :param step_marker: The step marker indicating this step. It
            contains a keyword an integer number.
        :class step_marker: :class:`str`

        :param starting_row: The row index of the step marker.
        :type starting_row: :class:`int`
        """
        ExcelParsingContainer.__init__(self, parser=parser)

        #: The row index of the step marker.
        self.__starting_row = starting_row
        #: Step number define the order or transfers.
        self.__number = None
        self.__parse_step_marker(step_marker)

        #: The :class:`TagDefinitionParsingContainer` containing the codes
        #: for the transfers.
        self.transfer_tag_definition = None
        if self.__number is not None:
            predicate = self._parser.TRANSFER_TAG_BASE_NAME + '%i' \
                        % (self.__number)
            self.transfer_tag_definition = TagDefinitionParsingContainer(
                        parser=self._parser, tag_predicate=predicate,
                        start_row_index=(starting_row + 1))
        #: A transfer volume applying to all transfers in this step (optional).
        self.default_volume = None
        #: The :class:`TagDefinitionParsingContainer` containing the codes
        #: for transfer volumes.
        self.volume_tag_definition = None
        #: The :class:`TagDefinitionParsingContainer` containing the codes
        #: for diluent (dilutions only) volumes.
        self.diluent_tag_definition = None

        #: The layouts for this step mapped onto roles (there can only be
        #: one layout for each role).
        self.layouts = dict()
        #: The rack containers for this step mapped onto roles.
        self.rack_containers = dict()

        #: Stores the transfer parsing containers for this step mapped onto
        #: codes.
        self.__transfer_containers = dict()