1 #ifndef _theplu_yat_utility_aligner_
2 #define _theplu_yat_utility_aligner_
27 #include <boost/cstdint.hpp>
69 explicit Aligner(
double gap=0,
double open_gap=0);
90 Aligner(
double vertical_gap,
double open_vertical_gap,
91 double horizon_gap,
double open_horizon_gap);
190 uint32_t
length(
void)
const;
197 uint8_t
op(
size_t i)
const;
205 char opchr(
size_t i)
const;
210 uint32_t
oplen(
size_t i)
const;
227 void push_back(uint8_t op, uint32_t len=1);
265 size_t size(
void)
const;
267 std::deque<uint32_t> cigar_;
271 uint32_t
length(uint8_t mask)
const;
283 direction& directions(
size_t i,
size_t j);
286 double vertical_gap_;
287 double open_vertical_gap_;
289 double open_horizon_gap_;
290 std::vector<direction> alignment_;
301 std::ostream& operator<<(std::ostream& os,
const Aligner::Cigar& cigar);
uint32_t length(void) const
double smith_waterman(const Matrix &d)
uint32_t oplen(size_t i) const
uint32_t query_length(void) const
Translate CIGAR to a query length.
double needleman_wunsch(const Matrix &d)
const Cigar cigar(size_t i, size_t j) const
char opchr(size_t i) const
void push_back(uint8_t op, uint32_t len=1)
Aligner(double gap=0, double open_gap=0)
Constructor.
void pop_back(uint32_t len=1)
void pop_front(uint32_t len=1)
uint32_t reference_length(void) const
Translate CIGAR to a reference length.
Aligning two sequences.
Definition: Aligner.h:54
uint32_t operator[](size_t i) const
const direction & alignment(size_t i, size_t j) const
Interface to GSL matrix.
Definition: Matrix.h:63
Compact Idiosyncratic Gapped Alignment Report.
Definition: Aligner.h:177
void operator()(const Matrix &dot, Matrix &score)
calculate score matrix based on the dot matrix
direction
Definition: Aligner.h:62
void push_front(uint8_t op, uint32_t len=1)
uint8_t op(size_t i) const