Rosetta  2020.37
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Attributes | List of all members
core::sequence::MCAligner Class Reference

#include <MCAligner.hh>

Inheritance diagram for core::sequence::MCAligner:
Inheritance graph
[legend]

Public Member Functions

 MCAligner ()
 constructors More...
 
 MCAligner (Real kT)
 
 ~MCAligner () override=default
 destructor More...
 
void kT (Real new_kT)
 Sets the kT used in the align method. A optimal value of kT means acceptance of less optimal decisions along the dynamic programming matrix. More...
 
Real kT () const
 Returns the kT used in the align method. More...
 
SequenceAlignment align (SequenceOP seq_y, SequenceOP seq_x, ScoringSchemeOP ss) override
 Align these two Sequences using the given ScoringScheme. Rather than finding an optimal alignment, MCAligner uses a stochastic algorithm to generate an alignment at a given kT. More...
 
- Public Member Functions inherited from core::sequence::Aligner
 Aligner ()
 ctor More...
 
 ~Aligner () override=default
 dtor More...
 
void validate_input (SequenceOP seq_y, SequenceOP seq_x, ScoringSchemeOP ss)
 
SequenceAlignment traceback (SequenceOP seq_x, SequenceOP seq_y, DP_Matrix matrix, CellOP start)
 

Private Attributes

Real kT_
 

Constructor & Destructor Documentation

core::sequence::MCAligner::MCAligner ( )
inline

constructors

core::sequence::MCAligner::MCAligner ( Real  kT)
inline
core::sequence::MCAligner::~MCAligner ( )
overridedefault

destructor

Member Function Documentation

SequenceAlignment core::sequence::MCAligner::align ( SequenceOP  seq_y,
SequenceOP  seq_x,
ScoringSchemeOP  ss 
)
overridevirtual

Align these two Sequences using the given ScoringScheme. Rather than finding an optimal alignment, MCAligner uses a stochastic algorithm to generate an alignment at a given kT.

The Needleman-Wunsch algorithm uses dynamic programming to generate an optimal alignment between two scoring sequences under a given scoring scheme. Rather than making the best decision at each element of the dynamic programming matrix, MCAligner makes a stochastic decision between introducing a gap in seq_y, introducing a gap in seq_x, or aligning two characters between the two sequences. The decision is made by transforming the scores for each of the three possible decisions into probabilities using Boltzmann weighting of the scores for each possibility at a given kT. The kT is stored as a member variable of the MCAligner class, and accessor methods are provided above.

Implements core::sequence::Aligner.

References core::sequence::above, core::sequence::SequenceAlignment::clone(), core::sequence::diagonal, core::sequence::NWAligner::init_matrix(), kT(), core::sequence::left, core::scoring::rg, and core::sequence::Aligner::traceback().

void core::sequence::MCAligner::kT ( Real  new_kT)
inline

Sets the kT used in the align method. A optimal value of kT means acceptance of less optimal decisions along the dynamic programming matrix.

References kT_.

Real core::sequence::MCAligner::kT ( ) const
inline

Returns the kT used in the align method.

References kT_.

Referenced by align().

Member Data Documentation

Real core::sequence::MCAligner::kT_
private

Referenced by kT().


The documentation for this class was generated from the following files: