1 #ifndef LOCARNA_ALIGNMENT_HH
2 #define LOCARNA_ALIGNMENT_HH
12 #include "scoring_fwd.hh"
21 class AnchorConstraints;
60 return Gap(
size_t(-(end_ + 1)));
75 using edge_t = std::pair<EdgeEnd,EdgeEnd>;
91 using edge_end_pair_t = std::pair<EdgeEnd,EdgeEnd>;
92 using pos_pair_t = std::pair<pos_type, pos_type>;
104 const std::string &alistrB);
274 std::unique_ptr<AlignmentImpl> pimpl_;
278 dot_bracket_structure(
const std::string &,
bool only_local)
const;
Definition: alignment.hh:73
Represents a structure-annotated sequence alignment.
Definition: alignment.hh:83
const edges_t alignment_edges(bool only_local) const
All alignment edges.
Definition: alignment.cc:121
Alignment(const Sequence &seqA, const Sequence &seqB)
Definition: alignment.cc:23
Alignment & operator=(const Alignment &alignment)
assignment operator
Definition: alignment.cc:61
void add_basepairA(int i, int j)
Add a basepair to the structure of A.
Definition: alignment.cc:97
void add_deleted_basepairB(int i, int j)
Add a basepair to the structure of B.
Definition: alignment.cc:115
static edges_t alistrs_to_edges(const std::string &alistrA, const std::string &alistrB)
convert alignemnt string to edge end vector
Definition: alignment.cc:242
std::string dot_bracket_structureB(bool only_local) const
Structure B.
Definition: alignment.cc:237
const Sequence & seqB() const
read access seqB
Definition: alignment.cc:203
pos_pair_t end_positions() const
Definition: alignment.cc:184
std::string dot_bracket_structureA(bool only_local) const
Structure A.
Definition: alignment.cc:233
const Sequence & seqA() const
read access seqA
Definition: alignment.cc:198
EdgeEnd edge_end_t
edge end
Definition: alignment.hh:86
std::vector< EdgeEnd > edge_ends_t
edge ends
Definition: alignment.hh:89
void clear()
Definition: alignment.cc:82
bool empty() const
Definition: alignment.cc:208
void append(edge_end_t i, edge_end_t j)
Append an alignment edge.
Definition: alignment.cc:92
void add_deleted_basepairA(int i, int j)
Add a basepair to the structure of A.
Definition: alignment.cc:109
~Alignment()
Definition: alignment.cc:58
void set_consensus_structure(const RnaStructure &structure)
Set consensus structure of the alignment.
Definition: alignment.cc:77
void add_basepairB(int i, int j)
Add a basepair to the structure of B.
Definition: alignment.cc:103
void set_structures(const RnaStructure &structureA, const RnaStructure &structureB)
Set structures of the alignment.
Definition: alignment.cc:68
pos_pair_t start_positions() const
Definition: alignment.cc:170
end of an alignment edge
Definition: alignment.hh:28
EdgeEnd(Gap end)
construct as gap
Definition: alignment.hh:39
bool is_gap() const
gap test
Definition: alignment.hh:44
EdgeEnd()
construct as invalid end
Definition: alignment.hh:31
EdgeEnd(pos_type end)
construct as position
Definition: alignment.hh:35
Gap gap() const
Definition: alignment.hh:58
bool is_pos() const
is position test
Definition: alignment.hh:51
An RNA secondary structure.
Definition: rna_structure.hh:32
"Sequence View" of multiple alignment as array of column vectors
Definition: sequence.hh:17
Definition: aligner.cc:15
size_type pos_type
type of a sequence position
Definition: aux.hh:126
Gap
different types of gaps
Definition: aux.hh:132