Class ExperimentalDesignImporterImpl

    • Field Detail

      • EXPERIMENTAL_FACTOR_DESCRIPTION_LINE_INDICATOR

        public static final String EXPERIMENTAL_FACTOR_DESCRIPTION_LINE_INDICATOR
        See Also:
        Constant Field Values
    • Constructor Detail

      • ExperimentalDesignImporterImpl

        public ExperimentalDesignImporterImpl()
    • Method Detail

      • importDesign

        @Transactional
        public void importDesign​(ExpressionExperiment experiment,
                                 InputStream is)
                          throws IOException
        Description copied from interface: ExperimentalDesignImporter
        This is the main builder director method of the application: It processes the input file containing information about the experimental design for a given expression experiment. There are 3 main steps in the workflow:

        Step1 - validate the the 3 components of the file which should contain: The first component is the experimental factor lines marked with a $# there are as many lines as experimental factors - (experimentalFactorLines). Then one line containing header information indicating the order of the experimental factors in the file - sampleHeaderLine Finally factor values, the first column of which is the sample or biomaterial ids and thereafter factor values.

        Step 2 the file components are mapped to objects to populate the experimental design, before addition of objects to the composite existing values are checked for. The expression experiment composite: ExpressionExperiments have an experimental design which have experimental factors. Experimental factors have factor values. BioMaterials have factor values. Bioassays have biomaterials, bioassays are in an expression experiment which completes the circle.

        Step 3 on successful validation and object creation the experimental design is persisted following a strict order, expression factors first then biomaterial details.

        Specified by:
        importDesign in interface ExperimentalDesignImporter
        Parameters:
        experiment - the one to add the experimental design
        is - File to process
        Throws:
        IOException - when IO problems occur.
        See Also:
        #importDesign(ubic.gemma.model.expression.experiment .ExpressionExperiment, java.io.InputStream, boolean)