1 #ifndef OBJTOOLS_ALNMGR___ALN_EXPLORER__HPP
2 #define OBJTOOLS_ALNMGR___ALN_EXPLORER__HPP
165 virtual operator bool(
void)
const = 0;
Alignment explorer interface.
CRange< TSignedSeqPos > TSignedRange
objects::CSeqVector::TResidue TResidue
ESearchDirection
Position search options.
@ eRight
Towards higher aln coord (always to the right)
@ eLeft
Towards lower aln coord (always to the left)
@ eBackwards
Towards lower seq coord (to the left if plus strand, right if minus)
@ eForward
Towards higher seq coord (to the right if plus strand, left if minus)
Alignment segment iterator interface.
virtual const value_type * operator->(void) const =0
virtual bool operator==(const IAlnSegmentIterator &it) const =0
Compare iterators.
virtual IAlnSegmentIterator & operator++(void)=0
Advance to the next segment.
virtual ~IAlnSegmentIterator(void)
virtual const value_type & operator*(void) const =0
virtual IAlnSegmentIterator * Clone(void) const =0
Create a copy of the iterator.
virtual bool operator!=(const IAlnSegmentIterator &it) const =0
@ eSkipInserts
Iterate segments where at least some rows are aligned (including gap segments)
@ eInsertsOnly
Iterate only ranges not participating in the alignment (unaligned segments)
@ eAllSegments
Iterate all segments.
@ eSkipGaps
Skip gap segments (show only aligned ranges)
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...
bool IsReversed(void) const
virtual TSegTypeFlags GetType(void) const =0
Get current segment type.
bool IsAligned(void) const
bool IsInvalidType(void) const
bool IsGap(void) const
Check if there's a gap on the selected row.
virtual const TSignedRange & GetAlnRange(void) const =0
Get alignment range for the segment.
IAlnExplorer::TSignedRange TSignedRange
virtual ~IAlnSegment(void)
Include a standard set of the NCBI C++ Toolkit most basic headers.
objects::CSeqVectorTypes::TResidue TResidue
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.