Class BaseFileImporter

java.lang.Object
net.sf.basedb.util.importer.spotdata.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) $
  • Field Details

  • Constructor Details

    • BaseFileImporter

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

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

      public void createChildBioAssays​(DbControl dc, BioAssaySet childSet, BaseFileInfo info, boolean useNewDataCube)
      Helper method for creating new child bioassays using the information found in the BaseFileInfo object.
      See Also:
      BaseFileInfo.getChildAssays()
    • 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