## org.biojava.bio.program.scf
Class SCF

    java.lang.Object
      org.biojava.bio.chromatogram.AbstractChromatogram
          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:
  - `PROB_SUBSTITUTION`, `PROB_OVERCALL`, and `PROB_UNDERCALL` are just reversed &returned.
  - `PROB_NUC_`* returns the reverse of the quality sequence for the complement base.

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