1 #ifndef _theplu_yat_utility_aligner_
2 #define _theplu_yat_utility_aligner_
27 #include "CigarIterator.h"
29 #include <boost/cstdint.hpp>
71 explicit Aligner(
double gap=0,
double open_gap=0);
92 Aligner(
double vertical_gap,
double open_vertical_gap,
93 double horizon_gap,
double open_horizon_gap);
212 uint32_t
length(
void)
const;
219 uint8_t
op(
size_t i)
const;
227 char opchr(
size_t i)
const;
232 uint32_t
oplen(
size_t i)
const;
294 size_t size(
void)
const;
296 std::deque<uint32_t> cigar_;
300 uint32_t
length(uint8_t mask)
const;
312 direction& directions(
size_t i,
size_t j);
315 double vertical_gap_;
316 double open_vertical_gap_;
318 double open_horizon_gap_;
319 std::vector<direction> alignment_;
330 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
const_iterator begin(void) 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.
Iterator over a CIGAR.
Definition: CigarIterator.h:60
CigarIterator< std::deque< uint32_t >::const_iterator > const_iterator
Definition: Aligner.h:186
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:56
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:179
void operator()(const Matrix &dot, Matrix &score)
calculate score matrix based on the dot matrix
direction
Definition: Aligner.h:64
const_iterator end(void) const
void push_front(uint8_t op, uint32_t len=1)
uint8_t op(size_t i) const
void reverse(void)
reverse the CIGAR