NCBI C++ ToolKit
|
Search Toolkit Book for CAlignRangeCollection
class CAlignRangeCollection<TAlignRange> represent a sorted collection of TAlignRange. More...
#include <util/align_range_coll.hpp>
Public Types | |
enum | EFlags { fKeepNormalized = 0x0001 , fAllowMixedDir = 0x0002 , fAllowOverlap = 0x0004 , fAllowAbutting = 0x0008 , fIgnoreInsertions = 0x0010 , fDefaultPolicy = fKeepNormalized , fDefaultPoicy = fDefaultPolicy , fPolicyMask = 0x001f , fNotValidated = 0x0100 , fInvalid = 0x0200 , fUnsorted = 0x010000 , fDirect = 0x020000 , fReversed = 0x040000 , fMixedDir = fDirect | fReversed , fOverlap = 0x080000 , fAbutting = 0x100000 } |
enum | ESearchDirection { eNone , eForward , eBackwards , eLeft , eRight } |
adding empty ranges is considered valid, they are simply ignored More... | |
typedef TAlnRange | TAlignRange |
typedef TAlignRange::position_type | position_type |
typedef CAlignRangeCollection< TAlignRange > | TThisType |
typedef vector< TAlignRange > | TAlignRangeVector |
typedef TAlignRangeVector::const_iterator | const_iterator |
typedef TAlignRangeVector::const_reverse_iterator | const_reverse_iterator |
typedef TAlignRangeVector::size_type | size_type |
Static Public Member Functions | |
static int | ValidateRanges (const TAlignRange &r_1, const TAlignRange &r_2) |
determine conflicts between two ranges More... | |
Protected Types | |
typedef TAlignRangeVector::iterator | iterator |
typedef TAlignRangeVector::reverse_iterator | reverse_iterator |
Protected Member Functions | |
void | x_SetFlags (int flags) |
void | x_ResetFlags (int flags) |
void | x_ValidateFlags () |
iterator | begin_nc () |
iterator | end_nc () |
bool | x_Equals (const TThisType &c) const |
void | x_MultiplyCoordsBy3 () |
void | x_IntersectFirst (TAlignRangeVector &ranges, const CRange< position_type > &range) |
void | x_IntersectSecond (TAlignRangeVector &ranges, const CRange< position_type > &range) |
Protected Attributes | |
TAlignRangeVector | m_Ranges |
TAlignRangeVector | m_Insertions |
int | m_Flags |
class CAlignRangeCollection<TAlignRange> represent a sorted collection of TAlignRange.
The collection has two coordinate spaces: "First" - primary, usually represents alignment or consensus space, "Second" - represents a coordinate space associated with the aligned sequence. policies - do not overlap on master
Definition at line 75 of file align_range_coll.hpp.
typedef TAlignRangeVector::const_iterator CAlignRangeCollection< TAlnRange >::const_iterator |
Definition at line 82 of file align_range_coll.hpp.
typedef TAlignRangeVector::const_reverse_iterator CAlignRangeCollection< TAlnRange >::const_reverse_iterator |
Definition at line 83 of file align_range_coll.hpp.
|
protected |
Definition at line 667 of file align_range_coll.hpp.
typedef TAlignRange::position_type CAlignRangeCollection< TAlnRange >::position_type |
Definition at line 79 of file align_range_coll.hpp.
|
protected |
Definition at line 668 of file align_range_coll.hpp.
typedef TAlignRangeVector::size_type CAlignRangeCollection< TAlnRange >::size_type |
Definition at line 84 of file align_range_coll.hpp.
typedef TAlnRange CAlignRangeCollection< TAlnRange >::TAlignRange |
Definition at line 78 of file align_range_coll.hpp.
typedef vector<TAlignRange> CAlignRangeCollection< TAlnRange >::TAlignRangeVector |
Definition at line 81 of file align_range_coll.hpp.
typedef CAlignRangeCollection<TAlignRange> CAlignRangeCollection< TAlnRange >::TThisType |
Definition at line 80 of file align_range_coll.hpp.
enum CAlignRangeCollection::EFlags |
Definition at line 86 of file align_range_coll.hpp.
enum CAlignRangeCollection::ESearchDirection |
adding empty ranges is considered valid, they are simply ignored
Enumerator | |
---|---|
eNone | |
eForward | |
eBackwards | |
eLeft | |
eRight |
Definition at line 116 of file align_range_coll.hpp.
|
inline |
Definition at line 124 of file align_range_coll.hpp.
|
inline |
Definition at line 129 of file align_range_coll.hpp.
|
inline |
Definition at line 589 of file align_range_coll.hpp.
|
inline |
Definition at line 597 of file align_range_coll.hpp.
|
inline |
Definition at line 608 of file align_range_coll.hpp.
|
inline |
Definition at line 1946 of file align_range_coll.hpp.
References CAlignRangeCollectionList< TAlnRange >::begin(), CAlignRangeCollectionList< TAlnRange >::end(), CAlignRangeCollectionList< TAlnRange >::GetFlags(), and CAlignRangeCollectionList< TAlnRange >::GetInsertions().
Referenced by CPairwiseAln::operator CAlignRangeCollection< TAlnRng >().
|
inline |
Definition at line 146 of file align_range_coll.hpp.
Referenced by CAlignRangeCollection< CAlignRange< TSeqPos > >::erase(), CAlignRangeCollection< CAlignRange< TSeqPos > >::find_2(), CAlignRangeCollection< CAlignRange< TSeqPos > >::find_insertion_point(), CAlignRangeCollection< CAlignRange< TSeqPos > >::GetFirstFrom(), CAlignRangeCollection< CAlignRange< TSeqPos > >::GetFirstLength(), CAlignRangeCollection< CAlignRange< TSeqPos > >::GetFirstPosBySecondPos(), CAlignRangeCollection< CAlignRange< TSeqPos > >::GetSecondPosByFirstPos(), CAlignRangeCollection< CAlignRange< TSeqPos > >::insert(), CAlignRangeCollection< CAlignRange< TSeqPos > >::lower_bound(), SubtractAlnRngCollections(), CAlignRangeCollection< CAlignRange< TSeqPos > >::upper_bound(), CSparseIterator::x_InitIterator(), CAlnMixMerger::x_Merge(), CRuler::x_RenderOriginAndMetric(), and CRuler::x_UpdateMappingByPane().
|
inlineprotected |
Definition at line 670 of file align_range_coll.hpp.
Referenced by CAlignRangeCollection< CAlignRange< TSeqPos > >::erase(), and CAlignRangeCollection< CAlignRange< TSeqPos > >::insert().
|
inline |
Definition at line 305 of file align_range_coll.hpp.
Referenced by GetAlignColl(), CRuler::SetRange(), and CRuler::x_UpdateMappingByPane().
|
inline |
merge adjacent segments together, merging changes collection size and invalidates iterators
Definition at line 498 of file align_range_coll.hpp.
Referenced by CAlignRangeCollection< CAlignRange< TSeqPos > >::Normalize().
|
inline |
Definition at line 171 of file align_range_coll.hpp.
Referenced by CreateAlignRow(), CAlignRangeCollection< CAlignRange< TSeqPos > >::erase(), SubtractAlnRngCollections(), and CAlnMixMerger::x_Merge().
|
inline |
Definition at line 151 of file align_range_coll.hpp.
Referenced by CAlignRangeCollection< CAlignRange< TSeqPos > >::erase(), CAlignRangeCollection< CAlignRange< TSeqPos > >::find_2(), CAlignRangeCollection< CAlignRange< TSeqPos > >::find_insertion_point(), CAlignRangeCollection< CAlignRange< TSeqPos > >::GetFirstPosBySecondPos(), CAlignRangeCollection< CAlignRange< TSeqPos > >::GetSecondPosByFirstPos(), CAlignRangeCollection< CAlignRange< TSeqPos > >::insert(), CAlignRangeCollection< CAlignRange< TSeqPos > >::lower_bound(), CAlignRangeCollection< CAlignRange< TSeqPos > >::pop_back(), CAlignRangeCollection< CAlignRange< TSeqPos > >::push_back(), SubtractOnFirst(), CAlignRangeCollection< CAlignRange< TSeqPos > >::upper_bound(), and CSparseIterator::x_InitIterator().
|
inlineprotected |
Definition at line 674 of file align_range_coll.hpp.
Referenced by CAlignRangeCollection< CAlignRange< TSeqPos > >::erase(), and CAlignRangeCollection< CAlignRange< TSeqPos > >::insert().
|
inline |
Definition at line 262 of file align_range_coll.hpp.
Referenced by CAlignRangeCollection< CAlignRange< TSeqPos > >::pop_back().
|
inline |
Definition at line 315 of file align_range_coll.hpp.
|
inline |
returns an iterator pointing to a range containing "pos"; if such a range does not exists an iterator points to a first range that has ToOpen > pos; the bool element of pair specifies whether the range contains the position.
Definition at line 325 of file align_range_coll.hpp.
Referenced by CAlignRangeCollection< CAlignRange< TSeqPos > >::find(), CAlignRangeCollection< CAlignRange< TSeqPos > >::GetSecondPosByFirstPos(), CRuler::Render(), and CSparseIterator::x_InitIterator().
|
inline |
Definition at line 176 of file align_range_coll.hpp.
Referenced by CAlignRangeCollection< CAlignRange< TSeqPos > >::insert().
|
inline |
Definition at line 347 of file align_range_coll.hpp.
Referenced by CSparseAlignment::GetAlnSeqString(), CAlignRangeCollection< CAlignRange< TSeqPos > >::GetFirstRange(), CSparseAlignment::GetSeqAlnStart(), and SubtractOnFirst().
|
inline |
Definition at line 377 of file align_range_coll.hpp.
|
inline |
Definition at line 434 of file align_range_coll.hpp.
Referenced by CSparseAlignment::GetAlnPosFromSeqPos().
|
inline |
Definition at line 388 of file align_range_coll.hpp.
Referenced by CSparseAlignment::Init().
|
inline |
Definition at line 367 of file align_range_coll.hpp.
Referenced by CSparseAlignment::GetAlnSeqString(), CAlignRangeCollection< CAlignRange< TSeqPos > >::GetFirstRange(), and CSparseAlignment::GetSeqAlnStop().
|
inline |
Definition at line 357 of file align_range_coll.hpp.
Referenced by SubtractOnFirst().
|
inline |
Definition at line 393 of file align_range_coll.hpp.
Referenced by CreateAlignRow(), and CreateSparseAlign().
|
inline |
Each insertion shows where the 'first' sequence has a gap while the 'second' sequence has the insertion of the specified length.
Direction of the insertion is always 'direct'.
Definition at line 622 of file align_range_coll.hpp.
|
inline |
Definition at line 401 of file align_range_coll.hpp.
Referenced by SubtractAlnRngCollections().
|
inline |
Definition at line 409 of file align_range_coll.hpp.
Referenced by CSparseAlignment::GetSeqPosFromAlnPos().
|
inline |
Definition at line 405 of file align_range_coll.hpp.
|
inline |
Definition at line 182 of file align_range_coll.hpp.
Referenced by CreateAlignRow(), CDiagRangeCollection::Diff(), GetAlignColl(), CSparseAlignment::Init(), CAlignRangeCollection< CAlignRange< TSeqPos > >::insert(), CAlignRangeCollection< CAlignRange< TSeqPos > >::push_back(), CRuler::SetRange(), SubtractOnFirst(), SubtractOnSecond(), CAlnMixMerger::x_Merge(), and CRuler::x_UpdateMappingByPane().
|
inline |
Definition at line 199 of file align_range_coll.hpp.
|
inline |
Definition at line 627 of file align_range_coll.hpp.
|
inline |
Definition at line 632 of file align_range_coll.hpp.
|
inline |
Definition at line 397 of file align_range_coll.hpp.
Referenced by CAlignRangeCollection< CAlignRange< TSeqPos > >::AddInsertion(), CAlignRangeCollection< CAlignRange< TSeqPos > >::AddInsertions(), CAlignRangeCollection< CAlignRange< TSeqPos > >::CombineAbutting(), CAlignRangeCollection< CAlignRange< TSeqPos > >::erase(), CAlignRangeCollection< CAlignRange< TSeqPos > >::insert(), CAlignRangeCollection< CAlignRange< TSeqPos > >::Validate(), and CAlignRangeCollection< CAlignRange< TSeqPos > >::x_ValidateFlags().
|
inline |
Definition at line 333 of file align_range_coll.hpp.
|
inline |
ensures that segments are sorted, if fAllowAdjust is not set - merges adjacent segments
Definition at line 557 of file align_range_coll.hpp.
|
inline |
Definition at line 300 of file align_range_coll.hpp.
|
inline |
Definition at line 295 of file align_range_coll.hpp.
|
inline |
Definition at line 289 of file align_range_coll.hpp.
|
inline |
Definition at line 284 of file align_range_coll.hpp.
|
inline |
|
inline |
Definition at line 161 of file align_range_coll.hpp.
|
inline |
Definition at line 139 of file align_range_coll.hpp.
|
inline |
Definition at line 166 of file align_range_coll.hpp.
Referenced by CreateSparseAlign(), CRuler::x_RenderOriginAndMetric(), and CRuler::x_UpdateMappingByPane().
|
inline |
Definition at line 480 of file align_range_coll.hpp.
Referenced by CAlignRangeCollection< CAlignRange< TSeqPos > >::Normalize().
|
inline |
Definition at line 490 of file align_range_coll.hpp.
Referenced by CAlignRangeCollection< CAlignRange< TSeqPos > >::AddInsertions(), and CAlignRangeCollection< CAlignRange< TSeqPos > >::Sort().
|
inline |
Definition at line 339 of file align_range_coll.hpp.
|
inline |
analyses segements and updates flags
Definition at line 535 of file align_range_coll.hpp.
Referenced by CAlignRangeCollection< CAlignRange< TSeqPos > >::Normalize().
|
inlinestatic |
determine conflicts between two ranges
Definition at line 565 of file align_range_coll.hpp.
Referenced by CAlignRangeCollection< CAlignRange< TSeqPos > >::insert(), and CAlignRangeCollection< CAlignRange< TSeqPos > >::Validate().
|
inlineprotected |
Definition at line 678 of file align_range_coll.hpp.
|
inlineprotected |
Definition at line 702 of file align_range_coll.hpp.
Referenced by CAlignRangeCollection< CAlignRange< TSeqPos > >::IntersectFirst().
|
inlineprotected |
Definition at line 718 of file align_range_coll.hpp.
Referenced by CAlignRangeCollection< CAlignRange< TSeqPos > >::IntersectSecond().
|
inlineprotected |
Definition at line 688 of file align_range_coll.hpp.
|
inlineprotected |
Definition at line 642 of file align_range_coll.hpp.
Referenced by CAlignRangeCollection< CAlignRange< TSeqPos > >::clear(), CAlignRangeCollection< CAlignRange< TSeqPos > >::CombineAbutting(), CAlignRangeCollection< CAlignRange< TSeqPos > >::erase(), CAlignRangeCollection< CAlignRange< TSeqPos > >::Sort(), and CAlignRangeCollection< CAlignRange< TSeqPos > >::Validate().
|
inlineprotected |
Definition at line 638 of file align_range_coll.hpp.
Referenced by CAlignRangeCollection< CAlignRange< TSeqPos > >::CombineAbutting(), CAlignRangeCollection< CAlignRange< TSeqPos > >::erase(), CAlignRangeCollection< CAlignRange< TSeqPos > >::Sort(), CAlignRangeCollection< CAlignRange< TSeqPos > >::Validate(), and CAlignRangeCollection< CAlignRange< TSeqPos > >::x_ValidateFlags().
|
inlineprotected |
Definition at line 646 of file align_range_coll.hpp.
Referenced by CAlignRangeCollection< CAlignRange< TSeqPos > >::insert().
|
protected |
Definition at line 736 of file align_range_coll.hpp.
Referenced by CAlignRangeCollection< CAlignRange< TSeqPos > >::GetFlags(), CAlignRangeCollection< CAlignRange< TSeqPos > >::GetPolicyFlags(), CAlignRangeCollection< CAlignRange< TSeqPos > >::GetStateFlags(), CAlignRangeCollection< CAlignRange< TSeqPos > >::insert(), CAlignRangeCollection< CAlignRange< TSeqPos > >::IsSet(), CAlignRangeCollection< CAlignRange< TSeqPos > >::x_ResetFlags(), CAlignRangeCollection< CAlignRange< TSeqPos > >::x_SetFlags(), and CAlignRangeCollection< CAlignRange< TSeqPos > >::x_ValidateFlags().
|
protected |
Definition at line 735 of file align_range_coll.hpp.
Referenced by CAlignRangeCollection< CAlignRange< TSeqPos > >::AddInsertion(), CAlignRangeCollection< CAlignRange< TSeqPos > >::AddInsertions(), CAlignRangeCollection< CAlignRange< TSeqPos > >::GetInsertions(), CAlignRangeCollection< CAlignRange< TSeqPos > >::IntersectFirst(), CAlignRangeCollection< CAlignRange< TSeqPos > >::IntersectSecond(), CAlignRangeCollection< CAlignRange< TSeqPos > >::SortInsertions(), and CAlignRangeCollection< CAlignRange< TSeqPos > >::x_MultiplyCoordsBy3().
|
protected |
Definition at line 734 of file align_range_coll.hpp.
Referenced by CAlignRangeCollection< CAlignRange< TSeqPos > >::begin(), CAlignRangeCollection< CAlignRange< TSeqPos > >::begin_nc(), CAlignRangeCollection< CAlignRange< TSeqPos > >::CAlignRangeCollection(), CAlignRangeCollection< CAlignRange< TSeqPos > >::clear(), CAlignRangeCollection< CAlignRange< TSeqPos > >::CombineAbutting(), CAlignRangeCollection< CAlignRange< TSeqPos > >::empty(), CAlignRangeCollection< CAlignRange< TSeqPos > >::end(), CAlignRangeCollection< CAlignRange< TSeqPos > >::end_nc(), CAlignRangeCollection< CAlignRange< TSeqPos > >::erase(), CAlignRangeCollection< CAlignRange< TSeqPos > >::find(), CAlignRangeCollection< CAlignRange< TSeqPos > >::GetFirstFrom(), CAlignRangeCollection< CAlignRange< TSeqPos > >::GetFirstLength(), CAlignRangeCollection< CAlignRange< TSeqPos > >::GetFirstTo(), CAlignRangeCollection< CAlignRange< TSeqPos > >::GetFirstToOpen(), CAlignRangeCollection< CAlignRange< TSeqPos > >::insert(), CAlignRangeCollection< CAlignRange< TSeqPos > >::IntersectFirst(), CAlignRangeCollection< CAlignRange< TSeqPos > >::IntersectSecond(), CAlignRangeCollection< CAlignRange< TSeqPos > >::operator[](), CAlignRangeCollection< CAlignRange< TSeqPos > >::rbegin(), CAlignRangeCollection< CAlignRange< TSeqPos > >::rend(), CAlignRangeCollection< CAlignRange< TSeqPos > >::reserve(), CAlignRangeCollection< CAlignRange< TSeqPos > >::size(), CAlignRangeCollection< CAlignRange< TSeqPos > >::Sort(), CAlignRangeCollection< CAlignRange< TSeqPos > >::Validate(), CAlignRangeCollection< CAlignRange< TSeqPos > >::x_Equals(), and CAlignRangeCollection< CAlignRange< TSeqPos > >::x_MultiplyCoordsBy3().