92 << (aln_rng.
IsDirect() ?
"direct" :
"reverse")
121 out << aln_seq_id_iref->AsString()
122 <<
" (base_width=" << aln_seq_id_iref->GetBaseWidth()
130 out <<
"CPairwiseAln between ";
135 cout <<
" with flags=" << pairwise_aln.
GetFlags() <<
" and segments:" << endl;
146 out <<
"CAnchorAln has score of " << anchored_aln.
GetScore() <<
" and contains "
147 << anchored_aln.
GetDim() <<
" pair(s) of rows:" << endl;
149 out << **pairwise_aln_i;
ostream & operator<<(ostream &out, const CPairwiseAln::TRng &rng)
@ fMixedDir
contains at least one reversed range
@ fNotValidated
State flags:
@ fAllowOverlap
allow segments with different orientation
@ fAllowAbutting
allow segments overlapping on the first sequence
@ fInvalid
collection was modified and not validated
@ fAllowMixedDir
enforce all policies after any modification
@ fKeepNormalized
Policies:
@ fReversed
contains at least one direct range
@ fUnsorted
one or more policies violated
CAlignRange Represents an element of pairwise alignment of two sequences.
Query-anchored alignment can be 2 or multi-dimentional.
const TPairwiseAlnVector & GetPairwiseAlns(void) const
The vector of pairwise alns.
vector< CRef< CPairwiseAln > > TPairwiseAlnVector
TDim GetDim(void) const
How many rows.
int GetScore(void) const
What is the total score?
A pairwise aln is a collection of ranges for a pair of rows.
const TAlnSeqIdIRef & GetFirstId(void) const
Get first sequence id.
const TAlnSeqIdIRef & GetSecondId(void) const
Get second sequence id.
Alignment segment interface.
virtual const TSignedRange & GetRange(void) const =0
Get the selected row range.
ESegTypeFlags
binary OR of ESegTypeFlags
@ fAligned
Aligned segment.
@ fInvalid
The iterator is in bad state.
@ fIndel
Either anchor or the selected row is not present in the segment.
@ fUnaligned
The range on the selected sequence does not participate in the alignment (the alignment range of the ...
@ fReversed
The selected row is reversed (relative to the anchor).
@ fGap
Both anchor row and the selected row are not included in the segment (some other row is present and t...
virtual TSegTypeFlags GetType(void) const =0
Get current segment type.
virtual const TSignedRange & GetAlnRange(void) const =0
Get alignment range for the segment.
std::ofstream out("events_result.xml")
main entry point for tests
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
position_type GetLength(void) const
position_type GetToOpen(void) const
position_type GetSecondFrom(void) const
position_type GetFirstFrom(void) const
position_type GetLength(void) const
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
static string UIntToString(unsigned int value, TNumToStringFlags flags=0, int base=10)
Convert UInt to string.
TTo GetTo(void) const
Get the To member data.
TFrom GetFrom(void) const
Get the From member data.