org.biojava.bio.program.scf
Class SCF

java.lang.Object
  extended by org.biojava.bio.chromatogram.AbstractChromatogram
      extended by org.biojava.bio.program.scf.SCF
All Implemented Interfaces:
Chromatogram

public class SCF
extends AbstractChromatogram

A Chromatogram as loaded from an SCF v2 or v3 file. Also loads and exposes the SCF format's "private data" and "comments" sections. The quality values from the SCF are stored as additional sequences on the base call alignment. The labels are the PROB_* constants in this class. The values are IntegerAlphabet.IntegerSymbol objects in the range 0 to 255.

Author:
Rhett Sutphin (UI CBCB)

Field Summary
static int BYTE_MAX_VALUE
          Represents the maximum unsigned value of a byte for wrapping purposes
static Object PROB_NUC_A
          Base call alignment sequence label for the probability that call should be A.
static Object PROB_NUC_C
          Base call alignment sequence label for the probability that call should be C.
static Object PROB_NUC_G
          Base call alignment sequence label for the probability that call should be G.
static Object PROB_NUC_T
          Base call alignment sequence label for the probability that call should be T.
static Object PROB_OVERCALL
          Base call alignment sequence label for the overcall probability.
static Object PROB_SUBSTITUTION
          Base call alignment sequence label for the substitution probability.
static Object PROB_UNDERCALL
          Base call alignment sequence label for the undercall probability.
static int SHORT_MAX_VALUE
          Represents the maximum unsigned value of a short for wrapping purposes
 
Fields inherited from interface org.biojava.bio.chromatogram.Chromatogram
DNA, OFFSETS
 
Constructor Summary
protected SCF()
          Creates a new, completely empty SCF.
 
Method Summary
static SCF create(File f)
           
static SCF create(InputStream in, long alreadyRead)
           
 Properties getComments()
          Returns the comments fields as a Properties mapping.
static IntegerAlphabet.SubIntegerAlphabet getProbabilityAlphabet()
           
protected  void load(File f)
           
protected  void load(InputStream in, long initOffset)
           
protected  SymbolList reverseComplementBaseCallList(Object label)
          Overrides AbstractChromatogram.reverseComplementBaseCallList(java.lang.Object) to support the 7 quality values from the SCF.
protected  AbstractChromatogram reverseComplementInstance()
          Returns a new instance of this AbstractChromatogram subclass for use in AbstractChromatogram.reverseComplement().
 
Methods inherited from class org.biojava.bio.chromatogram.AbstractChromatogram
clearTraces, createImmutableAlignment, createImmutableSymbolList, getBaseCalls, getMax, getMax, getSequenceLength, getSignificantBits, getTrace, getTraceLength, reverse, reverseComplement, reverseComplementBaseCalls, setBaseCallAlignment, setBits, setTrace
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

BYTE_MAX_VALUE

public static final int BYTE_MAX_VALUE
Represents the maximum unsigned value of a byte for wrapping purposes

See Also:
Constant Field Values

SHORT_MAX_VALUE

public static final int SHORT_MAX_VALUE
Represents the maximum unsigned value of a short for wrapping purposes

See Also:
Constant Field Values

PROB_NUC_A

public static final Object PROB_NUC_A
Base call alignment sequence label for the probability that call should be A.


PROB_NUC_C

public static final Object PROB_NUC_C
Base call alignment sequence label for the probability that call should be C.


PROB_NUC_G

public static final Object PROB_NUC_G
Base call alignment sequence label for the probability that call should be G.


PROB_NUC_T

public static final Object PROB_NUC_T
Base call alignment sequence label for the probability that call should be T.


PROB_SUBSTITUTION

public static final Object PROB_SUBSTITUTION
Base call alignment sequence label for the substitution probability. In versions of the SCF spec before 3.10, this is called spareQual[0].


PROB_OVERCALL

public static final Object PROB_OVERCALL
Base call alignment sequence label for the overcall probability. In versions of the SCF spec before 3.10, this is called spareQual[1].


PROB_UNDERCALL

public static final Object PROB_UNDERCALL
Base call alignment sequence label for the undercall probability. In versions of the SCF spec before 3.10, this is called spareQual[2].

Constructor Detail

SCF

protected SCF()
Creates a new, completely empty SCF.

Method Detail

create

public static SCF create(File f)
                  throws IOException,
                         UnsupportedChromatogramFormatException
Throws:
IOException
UnsupportedChromatogramFormatException

create

public static SCF create(InputStream in,
                         long alreadyRead)
                  throws IOException,
                         UnsupportedChromatogramFormatException
Throws:
IOException
UnsupportedChromatogramFormatException

load

protected void load(File f)
             throws IOException,
                    UnsupportedChromatogramFormatException
Throws:
IOException
UnsupportedChromatogramFormatException

load

protected void load(InputStream in,
                    long initOffset)
             throws IOException,
                    UnsupportedChromatogramFormatException
Throws:
IOException
UnsupportedChromatogramFormatException

getComments

public Properties getComments()
Returns the comments fields as a Properties mapping.


reverseComplementInstance

protected AbstractChromatogram reverseComplementInstance()
Description copied from class: AbstractChromatogram
Returns a new instance of this AbstractChromatogram subclass for use in AbstractChromatogram.reverseComplement().

Specified by:
reverseComplementInstance in class AbstractChromatogram
Returns:
a reverse-complemented AbstractChromatogram

getProbabilityAlphabet

public static IntegerAlphabet.SubIntegerAlphabet getProbabilityAlphabet()

reverseComplementBaseCallList

protected SymbolList reverseComplementBaseCallList(Object label)
Overrides AbstractChromatogram.reverseComplementBaseCallList(java.lang.Object) to support the 7 quality values from the SCF. These are handled thus:

Overrides:
reverseComplementBaseCallList in class AbstractChromatogram
Parameters:
label - the label Object
Returns:
an appropriately reverse-complemented SymbolList, or null if the label is unhandled.