55 r.IntersectWith(clip);
71 r.IntersectWith(clip);
87 bool first_gap =
false, last_gap =
false;
92 pair<TAlignColl::const_iterator, bool> res =
m_Coll->
find_2(from);
96 _ASSERT(res.first->FirstContains(from));
110 _ASSERT(res.first->FirstContains(to));
194 : m_Coll(
orig.m_Coll),
218 CSparseIterator::operator
bool()
const
220 if(m_Coll && m_It_1 >= m_Coll->begin()) {
222 return (m_It_1 <= m_Clip->m_Last_It_1) && (m_It_2 <= m_Clip->m_Last_It_2);
249 }
while((
bool)*
this &&
m_It_1->GetFirstFrom() !=
m_It_2->GetFirstToOpen());
272 if(
typeid(*
this) ==
typeid(it)) {
283 if(
typeid(*
this) ==
typeid(it)) {
const_iterator end() const
pair< const_iterator, bool > find_2(position_type pos) const
returns an iterator pointing to a range containing "pos"; if such a range does not exists an iterator...
const_iterator begin() const
CAlignRange Represents an element of pairwise alignment of two sequences.
CSparseIterator - IAlnSegmentIterator implementation for CAlnMap::CAlnChunkVec.
void x_InitSegment()
CSparseIterator.
TAlignColl::const_iterator m_It_1
SClip * m_Clip
iterating mode
virtual const value_type * operator->() const
virtual bool operator!=(const IAlnSegmentIterator &it) const
TAlignColl::const_iterator m_It_2
virtual IAlnSegmentIterator * Clone() const
Create a copy of the iterator.
virtual const value_type & operator*() const
virtual IAlnSegmentIterator & operator++()
postfix operators are not defined to avoid performance overhead
const TAlignColl * m_Coll
bool x_Equals(const CSparseIterator &it) const
CSparseSegment m_Segment
if m_It1 != m_It2 then the iterator points to a gap between m_It1 and m_It2
virtual bool operator==(const IAlnSegmentIterator &it) const
Compare iterators.
virtual ~CSparseIterator()
void Init(TSignedSeqPos aln_from, TSignedSeqPos aln_to, TSignedSeqPos from, TSignedSeqPos to, TSegTypeFlags type)
Alignment segment iterator interface.
@ 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.
@ fAligned
Aligned segment.
@ fInvalid
The iterator is in bad state.
@ 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...
int TSignedSeqPos
Type for signed sequence position.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
where boath are integers</td > n< td ></td > n</tr > n< tr > n< td > tse</td > n< td > optional</td > n< td > String</td > n< td class=\"description\"> TSE option controls what blob is orig
range(_Ty, _Ty) -> range< _Ty >
double r(size_t dimension_, const Int4 *score_, const double *prob_, double theta_)
USING_SCOPE(ncbi::objects)
const_iterator m_Last_It_1
const_iterator m_Last_It_2
const_iterator m_First_It