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. | |
| virtual | ~TraceController () |
| Virtual destructor. | |
| void | restrict_by_anchors (const AnchorConstraints &constraints) |
| Restrict by anchor constraints. | |
| 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. | |
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 |
| size_type LocARNA::TraceController::get_delta | ( | ) | const [inline] |
Read deviation.
| bool LocARNA::TraceController::is_valid | ( | size_type | i, |
| size_type | j | ||
| ) | const [inline] |
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 |
| bool LocARNA::TraceController::is_valid_match | ( | size_type | i, |
| size_type | j | ||
| ) | const [inline, virtual] |
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::restrict_by_anchors | ( | const AnchorConstraints & | constraints | ) |
Restrict by anchor constraints.
Limits trace ranges due to anchor constraints
| constraints | anchor constraints |
1.7.6.1