1 #ifndef LOCARNA_TRACE_CONTROLLER_HH 2 #define LOCARNA_TRACE_CONTROLLER_HH 12 #include "multiple_alignment.hh" 46 const SeqEntry &aliB);
78 const SeqEntry &pseqB,
110 const std::vector<TraceRange> &trs)
const;
117 rows()
const {
return min_col_vector_.size()-1;}
125 min_col(
size_t i)
const {
return min_col_vector_[i];}
133 max_col(
size_t i)
const {
return max_col_vector_[i];}
158 is_valid_match(
size_t i,
size_t j)
const=0;
181 static const char delimiter =
'&';
218 bool relaxed_merging=
false);
282 return is_valid(i,j) && is_valid(i-1,j-1);
size_t rows() const
Read number of rows.
Definition: trace_controller.hh:117
Represents a range of traces.
Definition: trace_controller.hh:25
size_t max_col(size_t i) const
Maximal column of trace in a row.
Definition: trace_controller.hh:133
std::vector< size_t > max_col_vector_
Definition: trace_controller.hh:50
A row in a multiple alignment.
Definition: multiple_alignment.hh:144
std::vector< size_t > min_col_vector_
minimal column in row
Definition: trace_controller.hh:49
size_t size_type
general size type
Definition: aux.hh:94
MultipleAlignment::SeqEntry SeqEntry
alias for MultipleAlignment::SeqEntry
Definition: trace_controller.hh:28
Definition: aligner.cc:17
void print_debug(std::ostream &out) const
Definition: trace_controller.cc:309
virtual bool is_valid_match(size_type i, size_type j) const
Definition: trace_controller.hh:281
bool is_valid(size_type i, size_type j) const
Definition: trace_controller.hh:275
size_type get_delta() const
Read deviation.
Definition: trace_controller.hh:247
static seqentry_pair_t remove_common_gaps(const SeqEntry &aliA, const SeqEntry &aliB)
Definition: trace_controller.cc:23
TraceRange()
Construct empty.
Definition: trace_controller.hh:52
Controls the matrix cells valid for traces.
Definition: trace_controller.hh:177
abstract class that declares the method is_valid_match()
Definition: trace_controller.hh:147
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.
Definition: trace_controller.cc:212
Represents a multiple alignment.
Definition: multiple_alignment.hh:65
size_t min_col(size_t i) const
Minimal column of trace in a row.
Definition: trace_controller.hh:125
"Sequence View" of multiple alignment as array of column vectors
Definition: sequence.hh:29
std::pair< SeqEntry, SeqEntry > seqentry_pair_t
pair of sequence entries
Definition: trace_controller.hh:31