2.17.2: 2011-06-17

net.sf.basedb.util.importer.spotdata
Class GenericIntensityParser

java.lang.Object
  extended by 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: 2009-09-14 08:29:17 +0200 (Mon, 14 Sep 2009) $

Field Summary
private  int channels
           
private  int[] index
           
 
Constructor Summary
GenericIntensityParser(int channels)
          Creates a new parser for the specified number of channels.
 
Method Summary
 void beginSection(BaseFileParser parser, FlatFileParser ffp, List<String> assayFields)
          Prepare for parsing the data section.
 boolean hasRequiredAssayFields(BaseFileParser parser, FlatFileParser ffp, List<String> assayFields)
          Check the list of assay fields to see if all columns that are required are present or not.
 boolean setIntensities(FlatFileParser.Data data, float[] intensities, int firstIndex)
          Extract the intensity values from the current data line for a single bioassay.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

channels

private final int channels

index

private int[] index
Constructor Detail

GenericIntensityParser

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

Method Detail

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)

2.17.2: 2011-06-17