Class ExperimentalDesignImporterImpl

java.lang.Object
ubic.gemma.core.loader.expression.simple.ExperimentalDesignImporterImpl
All Implemented Interfaces:
ExperimentalDesignImporter

@Service public class ExperimentalDesignImporterImpl extends Object implements ExperimentalDesignImporter
See interface for docs.
Author:
Paul
  • Constructor Details

    • ExperimentalDesignImporterImpl

      public ExperimentalDesignImporterImpl()
  • Method Details

    • 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: