Class NeedlemanWunschLinearSpaceAffine

java.lang.Object
jebl.evolution.align.Align
jebl.evolution.align.NeedlemanWunschLinearSpaceAffine
All Implemented Interfaces:
PairwiseAligner

public class NeedlemanWunschLinearSpaceAffine extends Align implements PairwiseAligner
  • Constructor Details

    • NeedlemanWunschLinearSpaceAffine

      public NeedlemanWunschLinearSpaceAffine(Scores sub, float openGapPenalty, float extendGapPenalty)
    • NeedlemanWunschLinearSpaceAffine

      public NeedlemanWunschLinearSpaceAffine(Scores sub, float d, float e, boolean freeGapsAtEnds)
    • NeedlemanWunschLinearSpaceAffine

      public NeedlemanWunschLinearSpaceAffine(Scores sub, float d, float e, boolean freeGapsAtEnds, boolean applyGapExtendCostToFirstGapResidue)
      Parameters:
      sub -
      d -
      e -
      freeGapsAtEnds -
      applyGapExtendCostToFirstGapResidue - Generally there is an ambiguity in bioinformatics whether "gap opening" already includes the first gap character - in other words, whether a gap of length N has
           (a) a cost of gapOpen + N * gapExtend
           or
           (b) gapOpen + (N-1) * gapExtend.
           
      . applyGapExtendCostToFirstGapResidue should be true if using interpretation (a).
  • Method Details

    • allocateMatrices

      public void allocateMatrices(int n, int m)
    • doAlignment

      public void doAlignment(String sq1, String sq2)
      Performs the alignment. Abstract.
      Parameters:
      sq1 -
      sq2 -
    • doAlignment

      public void doAlignment(String sq1, String sq2, ProgressListener progress, boolean scoreOnly)
    • doAlignment

      public void doAlignment(String sq1, String sq2, ProgressListener progress)
    • getMemoryRequiredForAlignment

      public static long getMemoryRequiredForAlignment(int maximumSequenceLength)
      Returns:
      the number of bytes required per residue in the longest sequence to be alignned.
    • doAlignment

      public jebl.evolution.align.AlignmentResult[] doAlignment(jebl.evolution.align.Profile profile1, jebl.evolution.align.Profile profile2, ProgressListener progress, boolean scoreOnly)
    • getMatch

      public String[] getMatch()
      Overrides:
      getMatch in class Align
      Returns:
      two-element array containing an alignment with maximal score
    • getScore

      public float getScore()
      Returns:
      score for this alignment
    • main

      public static void main(String[] arguments)
    • setDebug

      public void setDebug(boolean display)
    • doAlignment

      public PairwiseAligner.Result doAlignment(Sequence seq1, Sequence seq2, ProgressListener progress)
      Specified by:
      doAlignment in interface PairwiseAligner
    • getScore

      public double getScore(Sequence seq1, Sequence seq2)
      Specified by:
      getScore in interface PairwiseAligner
    • prepareAlignment

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

      public void printf(Output out)
      Print matrix used to calculate this alignment.
      Parameters:
      out - Output to print to.
    • setGapExtend

      public void setGapExtend(float e)
    • next

      public Traceback next(Traceback tb)
      Get the next state in the traceback
      Overrides:
      next in class Align
      Parameters:
      tb - current Traceback
      Returns:
      next Traceback