Interface ExperimentalDesignImporter
-
- All Known Implementing Classes:
ExperimentalDesignImporterImpl
public interface ExperimentalDesignImporter
Parse a description of ExperimentalFactors from a file, and associate it with a given ExpressionExperiment. The format is specified by
ExperimentalDesignWriter
Example of format, where 'Category' is an MGED term and 'Type' is either "Categorical' or 'Continuous' with no extra white space around the '='s. The ID column MUST match the names on the BioAssays the design will be attached to. Main section is tab-delimited. Column headings in the main table must match the identifiers given in the header.
#$ Age : Category=Age Type=Continuous #$ Profile : Category=DiseaseState Type=Categorical #$ PMI (h) : Category=EnvironmentalHistory Type=Continuous #$ Lifetime Alcohol : Category=EnvironmentalHistory Type=Categorical #ID Age Profile PMI (h) Lifetime Alcohol f-aa 50 Bipolar 48 Moderate present f-ab 50 Bipolar 60 Heavy in present f-ac 55 Schizophrenia 26 Little or none f-ad 35 Bipolar 28 Unknown f-af 60 Bipolar 70 Little or none
Note: Files downloaded from Gemma may have an "ExternalID" column after the first column. This is allowed in the import format.- Author:
- Paul
- See Also:
ExperimentalDesignWriter
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
importDesign(ExpressionExperiment experiment, InputStream is)
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.
-
-
-
Method Detail
-
importDesign
@Secured({"GROUP_USER","ACL_SECURABLE_EDIT"}) void importDesign(ExpressionExperiment experiment, InputStream is) throws IOException
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.
- Parameters:
experiment
- the one to add the experimental designis
- File to process- Throws:
IOException
- when IO problems occur.- See Also:
#importDesign(ubic.gemma.model.expression.experiment .ExpressionExperiment, java.io.InputStream, boolean)
-
-