LocARNA-1.8.11
|
Controls the matrix cells valid for traces. More...
#include <trace_controller.hh>
Public Member Functions | |
TraceController (const Sequence &seqA, const Sequence &seqB, const MultipleAlignment *ma, int delta, bool relaxed_merging=false) | |
Constructs for the general case of alignment of alignments. More... | |
virtual | ~TraceController () |
Virtual destructor. | |
bool | is_valid (size_type i, size_type j) const |
virtual bool | is_valid_match (size_type i, size_type j) const |
size_type | get_delta () const |
Read deviation. More... | |
void | print_debug (std::ostream &out) const |
Public Member Functions inherited from LocARNA::TraceRange | |
TraceRange (const SeqEntry &pseqA, const SeqEntry &pseqB, const SeqEntry &aliA, const SeqEntry &aliB, size_type delta) | |
Construct from pair of alignment strings. More... | |
TraceRange (size_type lenA, size_type lenB, const std::vector< TraceRange > &trs, size_type delta) | |
Construct as consensus trace range from a set of traces. More... | |
size_type | consensus_cost (size_type i, size_type j, const std::vector< TraceRange > &trs) const |
Computes cost of a cut in the consensus trace of a trace range set. More... | |
size_t | rows () const |
Read number of rows. More... | |
size_t | min_col (size_t i) const |
Minimal column of trace in a row. More... | |
size_t | max_col (size_t i) const |
Maximal column of trace in a row. More... | |
void | print_debug (std::ostream &out) const |
Additional Inherited Members | |
Public Types inherited from LocARNA::TraceRange | |
typedef MultipleAlignment::SeqEntry | SeqEntry |
alias for MultipleAlignment::SeqEntry | |
typedef std::pair< SeqEntry, SeqEntry > | seqentry_pair_t |
pair of sequence entries | |
Static Public Member Functions inherited from LocARNA::TraceRange | |
static seqentry_pair_t | remove_common_gaps (const SeqEntry &aliA, const SeqEntry &aliB) |
Protected Member Functions inherited from LocARNA::TraceRange | |
TraceRange () | |
Construct empty. | |
Protected Attributes inherited from LocARNA::TraceRange | |
std::vector< size_t > | min_col_vector_ |
minimal column in row | |
std::vector< size_t > | max_col_vector_ |
Controls the matrix cells valid for traces.
Controls the matrix cells that need to be filled in a dynamic programming algorithm because they occur on valid traces due to the max-diff heuristic
The valid traces can be defined either unrestricted, or by a maximal difference of i and j for matrix cells (i,j) or due to a maximal difference to a given alignment (trace).
LocARNA::TraceController::TraceController | ( | const Sequence & | seqA, |
const Sequence & | seqB, | ||
const MultipleAlignment * | ma, | ||
int | delta, | ||
bool | relaxed_merging = false |
||
) |
Constructs for the general case of alignment of alignments.
switch between strict and relaxed merging of pairwise trace ranges
seqA | sequence A |
seqB | sequence B |
ma | multiple reference alignment |
delta | the allowed difference |
relaxed_merging | whether to use relaxed merging of trace ranges |
|
inline |
Read deviation.
test for matrix entries on valid trace
i | position in sequence A in 1..lenA or 0 |
j | position in sequence B in 1..lenB or 0 |
test for allowed matches due to valid traces
i | position in sequence A in 1..lenA |
j | position in sequence B in 1..lenB |
Implements LocARNA::MatchController.
void LocARNA::TraceController::print_debug | ( | std::ostream & | out | ) | const |
print debugging information to stream
out | output stream |