org.biojava.bio.dp.twohead
Class LightPairDPCursor

java.lang.Object
  extended by org.biojava.bio.dp.twohead.LightPairDPCursor
All Implemented Interfaces:
PairDPCursor

public class LightPairDPCursor
extends java.lang.Object
implements PairDPCursor

A LIGHT implementation of PairDPCursor.

This object manages memory that is linear on the length of the shortest sequence. It does not maintain any data beyond that necessary for the next round of calcCell invocations.

Author:
Matthew Pocock, David Huen (fixes for magical state)

Field Summary
protected  BackPointer[][][] bPointers
          Description of the Field
protected  int[] depth
          Description of the Field
protected  EmissionCache eCache
          Description of the Field
protected  BackPointer[] emptyBP
          Description of the Field
protected  int numStates
          Description of the Field
protected  double[] zeroCol
          Description of the Field
 
Constructor Summary
LightPairDPCursor(SymbolList seq1, SymbolList seq2, int depth1, int depth2, int numStates, EmissionCache eCache)
          Constructor for the LightPairDPCursor object
 
Method Summary
 int[] getDepth()
          Gets the Depth attribute of the LightPairDPCursor object
 boolean hasNext()
          Are there further Cells to be computed?
 void next(Cell[][] cells)
          Description of the Method
 Cell[][] press()
          Returns the minimal context of the DP matrix necessary to compute the value of a single point in that matrix.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

bPointers

protected BackPointer[][][] bPointers
Description of the Field


numStates

protected int numStates
Description of the Field


zeroCol

protected double[] zeroCol
Description of the Field


emptyBP

protected BackPointer[] emptyBP
Description of the Field


depth

protected int[] depth
Description of the Field


eCache

protected EmissionCache eCache
Description of the Field

Constructor Detail

LightPairDPCursor

public LightPairDPCursor(SymbolList seq1,
                         SymbolList seq2,
                         int depth1,
                         int depth2,
                         int numStates,
                         EmissionCache eCache)
                  throws IllegalSymbolException
Constructor for the LightPairDPCursor object

Parameters:
seq1 - First sequence in this twohead DP.
seq2 - Second sequence in this twohead DP.
depth1 - The number of bases of context required in first sequence to compute DP matrix at a point (= max advance in first sequence + 1).
depth2 - The number of bases of context required in second sequence to compute DP matrix at a point (= max advance in second sequence + 1).
numStates - Total number of states in model.
eCache - Emission cache to be used with this run.
Throws:
IllegalSymbolException - Description of Exception
Method Detail

getDepth

public int[] getDepth()
Gets the Depth attribute of the LightPairDPCursor object

Specified by:
getDepth in interface PairDPCursor
Returns:
The Depth value

hasNext

public boolean hasNext()
Are there further Cells to be computed?

Specified by:
hasNext in interface PairDPCursor
Returns:
Description of the Returned Value

press

public Cell[][] press()
Returns the minimal context of the DP matrix necessary to compute the value of a single point in that matrix.

The Cell [][] array has the origin as the current point to be evaluated and successive rows/columns represent rows/columns backwards within the DP matrix.

Specified by:
press in interface PairDPCursor
Returns:
An array representing the immediate context around the element to be computed.

next

public void next(Cell[][] cells)
          throws IllegalSymbolException
Description of the Method

Specified by:
next in interface PairDPCursor
Parameters:
cells - Description of Parameter
Throws:
IllegalSymbolException - Description of Exception