Class BaseFileImporter


  • public class BaseFileImporter
    extends Object
    Imports spot data from a serial or matrix BASEfile. Before it can be used various configuration properties must be set. Optional are:

    The importer will create a new child bioassay set. Child bioassays are created according to the data found in the BASEfile. The importer will create a new datacube if the reporter/position mapping has changed or if the child/parent bioassay relationship is not 1:1. The importer supports extra values (float) and will create missing extra value types if needed.

    Version:
    2.14
    Author:
    Nicklas
    Last modified
    $Date: 2012-08-03 12:53:22 +0200 (fr, 03 aug 2012) $
    • Constructor Detail

      • BaseFileImporter

        public BaseFileImporter()
        Create a new importer object.
    • Method Detail

      • setDbControl

        public void setDbControl​(DbControl dc)
        Set's the DbControl that should be used to get data from the database.
      • getDbControl

        public DbControl getDbControl()
        Get the current DbControl.
      • setProgressReporter

        public void setProgressReporter​(ProgressReporter progress)
        Set the progress reporter that is used to report progress. Call setProgress(int, String) to update the current status.
      • getProgressReporter

        public ProgressReporter getProgressReporter()
        Get the progress reporter.
      • setSourceFileWrapper

        public void setSourceFileWrapper​(FileWrapper source)
        Set the source BASEfile to import data from.
        Parameters:
        source - The file
        Since:
        2.16
      • getSourceFileWrapper

        public FileWrapper getSourceFileWrapper()
        Get the source file.
      • setTransformation

        public void setTransformation​(Transformation transformation)
        Set the destination transformation. A child bioassay set is created.
        Parameters:
        transformation - The transformation
      • getTransformation

        public Transformation getTransformation()
        Get the destination transformation.
      • setIntensityTransform

        public void setIntensityTransform​(IntensityTransform transform)
        Set the intensity transform that have been applied to the spot data in the file. If not specified, the same transform as for the parent bioassay set is used.
        Parameters:
        transform - The intensity transform
      • getIntensityTransform

        public IntensityTransform getIntensityTransform()
        Get the intensity transform
      • getBaseFileParser

        public BaseFileParser getBaseFileParser()
        Get the underlying parser for the BASEfile. It is useful when there is need to change for example, name of columns, add different spot intensity parsers, etc.
        Returns:
        The BASEfile parser
      • useBase2ColumnNames

        public void useBase2ColumnNames​(int channels)
        Reconfigure the parser to use BASE 2 column names instead of BASE 1 column names.
        Parameters:
        channels - The expected number of data channels in the file
        Since:
        2.16
      • setProgress

        protected void setProgress​(int percent,
                                   String message)
        Update the progress of the export.
        See Also:
        ProgressReporter
      • doImport

        public BioAssaySet doImport()
                             throws IOException
        Start the import.
        Returns:
        The created bioassay set or null if the BASEfile didn't contain spot data
        Throws:
        IOException
      • createChildBioAssaySet

        public BioAssaySet createChildBioAssaySet​(DbControl dc,
                                                  BaseFileInfo info,
                                                  Transformation t,
                                                  boolean useNewDataCube)
        Helper method for creating a child bioassay set using the information in the BaseFileInfo object. The created bioassay set is scheduled for saving to the database.
        Parameters:
        dc - A DbControl to use for database access
        info - Information from the parsed BASEfile
        t - The parent transformation
        useNewDataCube - TRUE to create the child bioassay set in a new datacube, FALSE to use the same as the parent bioassay set
        Returns:
        The new child bioassay set
      • createChildPositionReporterMapping

        public void createChildPositionReporterMapping​(BioAssaySet child,
                                                       BaseFileInfo info,
                                                       ProgressReporter progress)
        Helper method for creating position/reporter mappings for the child bioassay set (which must be in a new datacube).
        Parameters:
        child - The new child bioassay set
        info - Information about the position/reporter mapping is found in BaseFileInfo.getChildReporterPositions()
        progress - Optional progress reporter
      • createChildRawDataMapping

        public void createChildRawDataMapping​(BioAssaySet child,
                                              BioAssaySet parent,
                                              BaseFileInfo info,
                                              ProgressReporter progress)
        Helper method for creating a rawdata mapping for the child bioassay set. This can only be done if the child is in a new data cube and if the position/reporter mapping hasn't change. Since we know the child/parent bioassay set mapping, the raw data mapping for a spot in the child is the same as the raw data mapping for the spots at the same position among the parents.

        Child/parent mapping is taken from the BaseFileInfo object. See BaseFileInfo.getChildColumns(short). This mapping automatically created by createChildBioAssays(DbControl, BioAssaySet, BaseFileInfo, boolean).

        Parameters:
        child - The new child bioassay set
        parent - The parent bioassay set
        info - Information about the child/parent mapping is found in BaseFileInfo.getChildColumns(short)
        progress - Optional progress reporter