jebl.evolution.align
Class NonOverlapMultipleLocalAffine

java.lang.Object
  extended by jebl.evolution.align.Align
      extended by jebl.evolution.align.NonOverlapMultipleLocalAffine

public class NonOverlapMultipleLocalAffine
extends Align

Performs recursive local alignments. each time splitting the longer of the two sequences into two subsequences either side of the local alignment and aligning those. Uses SmithWatermanLinearSpaceAffine. Stores all of the local alignments and their scores. Threshold T is the minimum score that an alignment must be for inclusion.

Author:
Richard Moir

Constructor Summary
NonOverlapMultipleLocalAffine(Scores sub, float d, float e, int T)
           
 
Method Summary
 void doAlignment(String sq1, String sq2)
          Performs the alignment.
 String[][] getAlignments()
          The indices for these correspond to those for the getScoreMatrix() matrix.
 String[] getMatch()
           
 String getMatchScores(int width)
           
 float getScore()
           
 float[] getScores()
          The indices for these correspond to those for the getAlignments() matrix.
 Traceback next(Traceback tb)
          Get the next state in the traceback
 void prepareAlignment(String sq1, String sq2)
          Initialises the matrices for the alignment.
 void printf(Output out)
          Print matrix used to calculate this alignment.
 void recurseAlignment(String sq1, int leftIndex)
           
 void setGapExtend(float e)
           
 void setThreshold(int T)
           
 
Methods inherited from class jebl.evolution.align.Align
doMatch, doMatch, formatScore, setGapOpen, setScores, traceback
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NonOverlapMultipleLocalAffine

public NonOverlapMultipleLocalAffine(Scores sub,
                                     float d,
                                     float e,
                                     int T)
Method Detail

doAlignment

public void doAlignment(String sq1,
                        String sq2)
Performs the alignment. Abstract.

Parameters:
sq1 -
sq2 -

recurseAlignment

public void recurseAlignment(String sq1,
                             int leftIndex)

getMatch

public String[] getMatch()
Overrides:
getMatch in class Align
Returns:
two-element array containing all of the local alignments separated by " - ";

getMatchScores

public String getMatchScores(int width)
Parameters:
width - length to trim lines to. -1 = infinite width.
Returns:
String containing all local alignments with the score next to them.

getScore

public float getScore()
Returns:
the score of the best alignment

getScores

public float[] getScores()
The indices for these correspond to those for the getAlignments() matrix.

Returns:
a matrix of scores for all the alignments.

getAlignments

public String[][] getAlignments()
The indices for these correspond to those for the getScoreMatrix() matrix.

Returns:
a 2d matrix of alignments. first index is the alignment number. second is the sequence number (0 or 1)

printf

public void printf(Output out)
Print matrix used to calculate this alignment.

Parameters:
out - Output to print to.

prepareAlignment

public void prepareAlignment(String sq1,
                             String sq2)
Description copied from class: Align
Initialises the matrices for the alignment.


setGapExtend

public void setGapExtend(float e)

next

public Traceback next(Traceback tb)
Get the next state in the traceback

Parameters:
tb - current Traceback
Returns:
next Traceback

setThreshold

public void setThreshold(int T)