NCBI C++ ToolKit
|
Search Toolkit Book for CSeq_align_Mapper
#include <objmgr/impl/seq_align_mapper.hpp>
Public Member Functions | |
CSeq_align_Mapper (const CSeq_align &align, CSeq_loc_Mapper_Base &loc_mapper) | |
~CSeq_align_Mapper (void) | |
Public Member Functions inherited from CSeq_align_Mapper_Base | |
CSeq_align_Mapper_Base (const CSeq_align &align, CSeq_loc_Mapper_Base &loc_mapper) | |
~CSeq_align_Mapper_Base (void) | |
void | Convert (void) |
Map the whole alignment through the linked seq-loc mapper. More... | |
void | Convert (size_t row) |
Map a single row of the alignment through the linked seq-loc mapper. More... | |
CRef< CSeq_align > | GetDstAlign (void) const |
Create mapped alignment. More... | |
size_t | GetDim (void) const |
Some of the following methods use only the first segment to get information about rows. More... | |
const CSeq_id_Handle & | GetRowId (size_t idx) const |
Get seq-id for the given row. More... | |
const TSegments & | GetSegments () const |
Get parsed segments. More... | |
Public Member Functions inherited from CObject | |
CObject (void) | |
Constructor. More... | |
CObject (const CObject &src) | |
Copy constructor. More... | |
virtual | ~CObject (void) |
Destructor. More... | |
CObject & | operator= (const CObject &src) THROWS_NONE |
Assignment operator. More... | |
bool | CanBeDeleted (void) const THROWS_NONE |
Check if object can be deleted. More... | |
bool | IsAllocatedInPool (void) const THROWS_NONE |
Check if object is allocated in memory pool (not system heap) More... | |
bool | Referenced (void) const THROWS_NONE |
Check if object is referenced. More... | |
bool | ReferencedOnlyOnce (void) const THROWS_NONE |
Check if object is referenced only once. More... | |
void | AddReference (void) const |
Add reference to object. More... | |
void | RemoveReference (void) const |
Remove reference to object. More... | |
void | ReleaseReference (void) const |
Remove reference without deleting object. More... | |
virtual void | DoNotDeleteThisObject (void) |
Mark this object as not allocated in heap – do not delete this object. More... | |
virtual void | DoDeleteThisObject (void) |
Mark this object as allocated in heap – object can be deleted. More... | |
void * | operator new (size_t size) |
Define new operator for memory allocation. More... | |
void * | operator new[] (size_t size) |
Define new[] operator for 'array' memory allocation. More... | |
void | operator delete (void *ptr) |
Define delete operator for memory deallocation. More... | |
void | operator delete[] (void *ptr) |
Define delete[] operator for memory deallocation. More... | |
void * | operator new (size_t size, void *place) |
Define new operator. More... | |
void | operator delete (void *ptr, void *place) |
Define delete operator. More... | |
void * | operator new (size_t size, CObjectMemoryPool *place) |
Define new operator using memory pool. More... | |
void | operator delete (void *ptr, CObjectMemoryPool *place) |
Define delete operator. More... | |
virtual void | DebugDump (CDebugDumpContext ddc, unsigned int depth) const |
Define method for dumping debug information. More... | |
Public Member Functions inherited from CDebugDumpable | |
CDebugDumpable (void) | |
virtual | ~CDebugDumpable (void) |
void | DebugDumpText (ostream &out, const string &bundle, unsigned int depth) const |
void | DebugDumpFormat (CDebugDumpFormatter &ddf, const string &bundle, unsigned int depth) const |
void | DumpToConsole (void) const |
Protected Member Functions | |
virtual CSeq_align_Mapper_Base * | CreateSubAlign (const CSeq_align &align) |
virtual CSeq_align_Mapper_Base * | CreateSubAlign (const CSpliced_seg &spliced, const CSpliced_exon &exon) |
Protected Member Functions inherited from CSeq_align_Mapper_Base | |
CSeq_align_Mapper_Base (CSeq_loc_Mapper_Base &loc_mapper) | |
CSeq_loc_Mapper_Base & | GetLocMapper (void) const |
size_t | GetMaxDim (void) const |
Get max number of rows of all segments. More... | |
void | InitExon (const CSpliced_seg &spliced, const CSpliced_exon &exon) |
void | x_Init (const CSeq_align &align) |
SAlignment_Segment & | x_InsertSeg (TSegments::iterator &where, int len, size_t dim, bool reverse) |
void | x_InvalidateScores (SAlignment_Segment *seg=NULL) |
Protected Member Functions inherited from CObject | |
virtual void | DeleteThis (void) |
Virtual method "deleting" this object. More... | |
Private Types | |
typedef CSeq_loc_Conversion_Set::TRange | TRange |
typedef CSeq_loc_Conversion_Set::TRangeMap | TRangeMap |
typedef CSeq_loc_Conversion_Set::TIdMap | TIdMap |
typedef CSeq_loc_Conversion_Set::TConvByIndex | TConvByIndex |
Private Member Functions | |
CSeq_align_Mapper (CSeq_loc_Mapper_Base &loc_mapper) | |
void | Convert (CSeq_loc_Conversion_Set &cvts) |
void | x_ConvertAlignCvt (CSeq_loc_Conversion_Set &cvts) |
void | x_ConvertRowCvt (CSeq_loc_Conversion &cvt, size_t row) |
void | x_ConvertRowCvt (TIdMap &cvts, size_t row) |
CSeq_id_Handle | x_ConvertSegmentCvt (TSegments::iterator &seg_it, CSeq_loc_Conversion &cvt, size_t row) |
CSeq_id_Handle | x_ConvertSegmentCvt (TSegments::iterator &seg_it, TIdMap &id_map, size_t row) |
Friends | |
class | CSeq_loc_Conversion_Set |
Additional Inherited Members | |
Public Types inherited from CSeq_align_Mapper_Base | |
typedef CSeq_align::C_Segs::TDendiag | TDendiag |
typedef CSeq_align::C_Segs::TStd | TStd |
typedef list< SAlignment_Segment > | TSegments |
Public Types inherited from CObject | |
enum | EAllocFillMode { eAllocFillNone = 1 , eAllocFillZero , eAllocFillPattern } |
Control filling of newly allocated memory. More... | |
typedef CObjectCounterLocker | TLockerType |
Default locker type for CRef. More... | |
typedef atomic< Uint8 > | TCounter |
Counter type is CAtomiCounter. More... | |
typedef Uint8 | TCount |
Alias for value type of counter. More... | |
Static Public Member Functions inherited from CObject | |
static NCBI_XNCBI_EXPORT void | ThrowNullPointerException (void) |
Define method to throw null pointer exception. More... | |
static NCBI_XNCBI_EXPORT void | ThrowNullPointerException (const type_info &type) |
static EAllocFillMode | GetAllocFillMode (void) |
static void | SetAllocFillMode (EAllocFillMode mode) |
static void | SetAllocFillMode (const string &value) |
Set mode from configuration parameter value. More... | |
Static Public Member Functions inherited from CDebugDumpable | |
static void | EnableDebugDump (bool on) |
Static Public Attributes inherited from CObject | |
static const TCount | eCounterBitsCanBeDeleted = 1 << 0 |
Define possible object states. More... | |
static const TCount | eCounterBitsInPlainHeap = 1 << 1 |
Heap signature was found. More... | |
static const TCount | eCounterBitsPlaceMask |
Mask for 'in heap' state flags. More... | |
static const int | eCounterStep = 1 << 2 |
Skip over the "in heap" bits. More... | |
static const TCount | eCounterValid = TCount(1) << (sizeof(TCount) * 8 - 2) |
Minimal value for valid objects (reference counter is zero) Must be a single bit value. More... | |
static const TCount | eCounterStateMask |
Valid object, and object in heap. More... | |
Protected Types inherited from CSeq_align_Mapper_Base | |
enum | EAlignFlags { eAlign_Normal , eAlign_Empty , eAlign_MultiId , eAlign_MultiDim } |
typedef vector< CRef< CSeq_align_Mapper_Base > > | TSubAligns |
Protected Attributes inherited from CSeq_align_Mapper_Base | |
CRef< CSeq_align > | m_DstAlign |
TSubAligns | m_SubAligns |
TSegments | m_Segs |
EAlignFlags | m_AlignFlags |
Definition at line 48 of file seq_align_mapper.hpp.
|
private |
Definition at line 65 of file seq_align_mapper.hpp.
|
private |
Definition at line 64 of file seq_align_mapper.hpp.
|
private |
Definition at line 62 of file seq_align_mapper.hpp.
|
private |
Definition at line 63 of file seq_align_mapper.hpp.
CSeq_align_Mapper::CSeq_align_Mapper | ( | const CSeq_align & | align, |
CSeq_loc_Mapper_Base & | loc_mapper | ||
) |
Definition at line 44 of file seq_align_mapper.cpp.
Referenced by CreateSubAlign().
CSeq_align_Mapper::~CSeq_align_Mapper | ( | void | ) |
Definition at line 58 of file seq_align_mapper.cpp.
|
private |
Definition at line 52 of file seq_align_mapper.cpp.
|
private |
Definition at line 87 of file seq_align_mapper.cpp.
References CSeq_align_Mapper_Base::Convert(), CSeq_align_Mapper_Base::m_DstAlign, CSeq_align_Mapper_Base::m_SubAligns, NON_CONST_ITERATE, CRef< C, Locker >::Reset(), and x_ConvertAlignCvt().
Referenced by CSeq_loc_Conversion_Set::Convert().
|
protectedvirtual |
Reimplemented from CSeq_align_Mapper_Base.
Definition at line 456 of file seq_align_mapper.cpp.
References CSeq_align_Mapper(), and CSeq_align_Mapper_Base::GetLocMapper().
|
protectedvirtual |
Reimplemented from CSeq_align_Mapper_Base.
Definition at line 463 of file seq_align_mapper.cpp.
References CSeq_align_Mapper(), and CSeq_align_Mapper_Base::GetLocMapper().
|
private |
Definition at line 102 of file seq_align_mapper.cpp.
References _ASSERT, CSeq_align_Mapper_Base::GetMaxDim(), CSeq_loc_Conversion_Set::kAllIndexes, CSeq_loc_Conversion_Set::m_CvtByIndex, CSeq_loc_Conversion_Set::m_SingleConv, CSeq_loc_Conversion_Set::m_SingleIndex, NON_CONST_ITERATE, row, map_checker< Container >::size(), and x_ConvertRowCvt().
Referenced by Convert().
|
private |
Definition at line 131 of file seq_align_mapper.cpp.
References CSeq_align_Mapper_Base::eAlign_MultiDim, CSeq_align_Mapper_Base::eAlign_MultiId, CSeq_align_Mapper_Base::eAlign_Normal, CSeq_align_Mapper_Base::m_AlignFlags, CSeq_align_Mapper_Base::m_Segs, row, and x_ConvertSegmentCvt().
Referenced by x_ConvertAlignCvt().
|
private |
Definition at line 154 of file seq_align_mapper.cpp.
References CSeq_align_Mapper_Base::eAlign_MultiDim, CSeq_align_Mapper_Base::eAlign_MultiId, CSeq_align_Mapper_Base::eAlign_Normal, CSeq_align_Mapper_Base::m_AlignFlags, CSeq_align_Mapper_Base::m_Segs, row, and x_ConvertSegmentCvt().
|
private |
Definition at line 178 of file seq_align_mapper.cpp.
References CSeq_loc_Conversion::ConvertInterval(), SAlignment_Segment::CopyRow(), dr, CSeq_loc_Conversion::eMappedObjType_not_set, eNa_strand_unknown, CRange_Base::GetFrom(), COpenRange< Position >::GetLength(), CRange_Base::GetTo(), IsReverse(), kInvalidSeqPos, CSeq_loc_Conversion::m_Dst_id_Handle, SAlignment_Segment::m_HaveStrands, SAlignment_Segment::SAlignment_Row::m_Id, SAlignment_Segment::SAlignment_Row::m_IsSetStrand, CSeq_loc_Conversion::m_LastRange, CSeq_loc_Conversion::m_LastStrand, CSeq_loc_Conversion::m_LastType, SAlignment_Segment::m_Len, SAlignment_Segment::m_PartType, SAlignment_Segment::m_Scores, SAlignment_Segment::m_ScoresGroupIdx, CSeq_align_Mapper_Base::m_Segs, CSeq_loc_Conversion::m_Src_from, CSeq_loc_Conversion::m_Src_id_Handle, CSeq_loc_Conversion::m_Src_to, SAlignment_Segment::SAlignment_Row::m_Start, SAlignment_Segment::SAlignment_Row::m_Strand, r(), row, SAlignment_Segment::SAlignment_Row::SameStrand(), CRange_Base::SetFrom(), SAlignment_Segment::SAlignment_Row::SetMapped(), CSeq_align_Mapper_Base::x_InsertSeg(), and CSeq_align_Mapper_Base::x_InvalidateScores().
Referenced by x_ConvertRowCvt().
|
private |
Definition at line 300 of file seq_align_mapper.cpp.
References CRangeMapBase< Traits >::begin(), CSeq_loc_Conversion::ConvertInterval(), SAlignment_Segment::CopyRow(), dr, CSeq_align_Mapper_Base::eAlign_MultiId, CSeq_align_Mapper_Base::eAlign_Normal, CSeq_loc_Conversion::eMappedObjType_not_set, CRangeMapBase< Traits >::empty(), eNa_strand_unknown, map_checker< Container >::end(), map_checker< Container >::find(), CRange_Base::GetFrom(), COpenRange< Position >::GetLength(), CRange_Base::GetTo(), IsReverse(), kInvalidSeqPos, CSeq_align_Mapper_Base::m_AlignFlags, CSeq_loc_Conversion::m_Dst_id_Handle, SAlignment_Segment::m_HaveStrands, SAlignment_Segment::SAlignment_Row::m_Id, SAlignment_Segment::SAlignment_Row::m_IsSetStrand, CSeq_loc_Conversion::m_LastRange, CSeq_loc_Conversion::m_LastStrand, CSeq_loc_Conversion::m_LastType, SAlignment_Segment::m_Len, SAlignment_Segment::m_PartType, SAlignment_Segment::m_Rows, SAlignment_Segment::m_Scores, SAlignment_Segment::m_ScoresGroupIdx, CSeq_align_Mapper_Base::m_Segs, CSeq_loc_Conversion::m_Src_from, CSeq_loc_Conversion::m_Src_to, SAlignment_Segment::SAlignment_Row::m_Start, SAlignment_Segment::SAlignment_Row::m_Strand, r(), row, SAlignment_Segment::SAlignment_Row::SameStrand(), CRange_Base::SetFrom(), SAlignment_Segment::SAlignment_Row::SetMapped(), ct::sort(), CSeq_align_Mapper_Base::x_InsertSeg(), and CSeq_align_Mapper_Base::x_InvalidateScores().
|
friend |
Definition at line 67 of file seq_align_mapper.hpp.