Class GenericIntensityParser

java.lang.Object
net.sf.basedb.util.importer.spotdata.GenericIntensityParser
All Implemented Interfaces:
SpotIntensityParser

public class GenericIntensityParser
extends Object
implements SpotIntensityParser
Generic spot intensity parser implementation that looks for 'intensity1', ..., 'intensityN' data columns for any number of channels.
Version:
2.14
Author:
Nicklas
Last modified
$Date: 2019-03-20 14:31:03 +0100 (ons, 20 mars 2019) $
  • Field Details

    • channels

      private final int channels
    • index

      private int[] index
  • Constructor Details

    • GenericIntensityParser

      public GenericIntensityParser​(int channels)
      Creates a new parser for the specified number of channels.
  • Method Details

    • hasRequiredAssayFields

      public boolean hasRequiredAssayFields​(BaseFileParser parser, FlatFileParser ffp, List<String> assayFields)
      Description copied from interface: SpotIntensityParser
      Check the list of assay fields to see if all columns that are required are present or not. This method is called in the first pass to decide which spot intensity parser that should be used in the second pass.
      Specified by:
      hasRequiredAssayFields in interface SpotIntensityParser
      Parameters:
      parser - The master BASEfile parser
      ffp - The flat file parser that parses the current file
      assayFields - The list of assay fields
      Returns:
      TRUE if all required fields are present, FALSE otherwise
    • beginSection

      public void beginSection​(BaseFileParser parser, FlatFileParser ffp, List<String> assayFields)
      Description copied from interface: SpotIntensityParser
      Prepare for parsing the data section. Preparations typically include extracting the column indexes of the data columns. This method is called in the second pass before starting to parse data for a 'spot' section. NOTE! The same object instance may be used to parse more than one section in a serial BASEfile.
      Specified by:
      beginSection in interface SpotIntensityParser
      Parameters:
      parser - The master BASEfile parser
      ffp - The flat file parser that parses the current file
      assayFields - The list of assay fields
    • setIntensities

      public boolean setIntensities​(FlatFileParser.Data data, float[] intensities, int firstIndex)
      Description copied from interface: SpotIntensityParser
      Extract the intensity values from the current data line for a single bioassay. If the section contains data for multiple bioassays (eg. a matrix BASEfile) this method is called multiple times (with different 'firstIndex' value) for each row.
      Specified by:
      setIntensities in interface SpotIntensityParser
      Parameters:
      data - The current data line
      intensities - An array that should be populate with intensity values
      firstIndex - The index of the first data column that contains data for the current bioassay
      Returns:
      TRUE if the values could be set correctly, FALSE otherwise (which means that the spot data will not be inserted)