Click or drag to resize
DynamicProgrammingPairwiseAligner Class
Base class for dynamic programming alignment algorithms, including NeedlemanWunsch, SmithWaterman and PairwiseOverlap. The basic reference for this code (including NW, SW and Overlap) is Chapter 2 in Biological Sequence Analysis; Durbin, Eddy, Krogh and Mitchison; Cambridge Press; 1998 The variable names in these classes follow the notation in Durbin et al.
Inheritance Hierarchy
SystemObject
  Bio.Algorithms.AlignmentDynamicProgrammingPairwiseAligner
    Bio.Algorithms.AlignmentPairwiseOverlapAligner

Namespace: Bio.Algorithms.Alignment
Assembly: Bio.Core (in Bio.Core.dll) Version: 2.0.0.1 (2.0.0.1)
Syntax
public abstract class DynamicProgrammingPairwiseAligner : IPairwiseSequenceAligner, 
	ISequenceAligner

The DynamicProgrammingPairwiseAligner type exposes the following members.

Constructors
  NameDescription
Protected methodDynamicProgrammingPairwiseAligner
Initializes a new instance of the DynamicProgrammingPairwiseAligner class. Constructor for all the pairwise aligner (NeedlemanWunsch, SmithWaterman, Overlap). Sets default similarity matrix and gap penalties. Users will typically reset these using parameters specific to their particular sequences and needs.
Top
Properties
  NameDescription
Public propertyConsensusResolver
Gets or sets the object that will be used to compute the alignment's consensus.
Public propertyDescription
Gets the description of the Aligner. Intended to be filled in by classes deriving from DynamicProgrammingPairwiseAligner class with the exact details of the Alignment algorithm.
Public propertyGapExtensionCost
Gets or sets gap extension penalty for use in alignment algorithms. Not used for alignments using a linear gap penalty. For alignments using an affine gap, this is the penalty to extend an existing gap. This is a negative number, for example GapExtensionCost = -2, not +2.
Public propertyGapOpenCost
Gets or sets gap open penalty for use in alignment algorithms. For alignments using a linear gap penalty, this is the gap penalty. For alignments using an affine gap, this is the penalty to open a new gap. This is a negative number, for example GapOpenCost = -8, not +8.
Public propertyName
Gets the name of the Aligner. Intended to be filled in by classes deriving from DynamicProgrammingPairwiseAligner class with the exact name of the Alignment algorithm.
Public propertySimilarityMatrix
Gets or sets similarity matrix for use in alignment algorithms.
Top
Methods
  NameDescription
Public methodAlign(IEnumerableISequence)
Aligns two sequences using the affine gap metric, a gap open penalty and a gap extension penalty. This method uses the existing gap open and extension penalties and similarity matrix. Set these using GapOpenCost, GapExtensionCost and SimilarityMatrix properties before calling this method.
Public methodAlign(ISequence, ISequence)
Aligns two sequences using the affine gap metric, a gap open penalty and a gap extension penalty. This method uses the existing gap open and extension penalties and similarity matrix. Set these using GapOpenCost, GapExtensionCost and SimilarityMatrix properties before calling this method.
Public methodAlign(SimilarityMatrix, Int32, Int32, ISequence, ISequence)
Pairwise alignment of two sequences using an affine gap penalty. The various algorithms in derived classes (NeedlemanWunsch, SmithWaterman, and PairwiseOverlap) all use this general engine for alignment with an affine gap penalty.
Public methodAlignSimple(IEnumerableISequence)
Aligns two sequences using a linear gap parameter, using existing gap open cost and similarity matrix. Set these using GapOpenCost and SimilarityMatrix properties before calling this method.
Public methodAlignSimple(ISequence, ISequence)
Aligns two sequences using a linear gap parameter, using existing gap open cost and similarity matrix. Set these using GapOpenCost and SimilarityMatrix properties before calling this method.
Public methodAlignSimple(SimilarityMatrix, Int32, ISequence, ISequence)
Pairwise alignment of two sequences using a linear gap penalty. The various algorithms in derived classes (NeedlemanWunsch, SmithWaterman, and PairwiseOverlap) all use this general engine for alignment with a linear gap penalty.
Protected methodCreateAffineAlignmentJob
Creates the Affine aligner job
Protected methodCreateSimpleAlignmentJob
Creates the Simple aligner job
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Protected methodValidateAlignInput
Validates input sequences and gap penalties. Checks that input sequences use the same alphabet. Checks that each symbol in the input sequences exists in the similarity matrix. Checks that gap penalties are less than or equal to 0. Throws exception if sequences fail these checks. Writes warning to ApplicationLog if gap penalty or penalties are positive.
Top
Fields
  NameDescription
Protected fieldFirstInputSequence
First input sequence.
Protected fieldInternalSimilarityMatrix
Similarity matrix for use in alignment algorithms.
Protected fieldSecondInputSequence
Second input sequence.
Top
See Also