## org.biojava.bio.dp.twohead
Interface CellCalculator

    public interface CellCalculator

The interface for all functions that can calculate the 'scores' array for a given cell.

The methods in this interface work on a square matrix of cells. The cell at 0,0 is considered the 'target' cell to which data can be written. The other cells are the neighbours to this cell in the DP matrix.

Since:
  1.2
Author:
  Matthew Pocock

Method Summary
`void` `calcCell(Cell[][] cells)` Calculate the 'scores' array in the cell at cells[0][0].
`void` `initialize(Cell[][] cells)` Initialize the cell at [0][0] to the recursion initial parameters.

Method Detail

### initialize

    void initialize(Cell[][] cells)
                    throws IllegalSymbolException,
                           IllegalAlphabetException,
                           IllegalTransitionException

  Initialize the cell at [0][0] to the recursion initial parameters.

  Parameters:
    `cells` - the 2-D array of cells
  Throws:
    `IllegalSymbolException`
    `IllegalAlphabetException`
    `IllegalTransitionException`

### calcCell

    void calcCell(Cell[][] cells)
                  throws IllegalSymbolException,
                         IllegalAlphabetException,
                         IllegalTransitionException

  Calculate the 'scores' array in the cell at cells[0][0].

  These objects implement the actual cell-by-cell recursions, such as forwards or viterbi.

  Parameters:
    `cells` - the array of cells to read from, with the cell to update at 0,0
  Throws:
    `IllegalSymbolException`
    `IllegalAlphabetException`
    `IllegalTransitionException`