NCBI C++ ToolKit
|
Search Toolkit Book for CMergeAligner
#include <algo/align/ngalign/merge_aligner.hpp>
Public Types | |
enum | EMode { eAlignCleanup , eTreeAlignMerger , eDefault = eAlignCleanup } |
typedef EMode | TMode |
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... | |
Public Member Functions | |
CMergeAligner (int Threshold, TMode mode=eAlignCleanup) | |
string | GetName () const |
TAlignResultsRef | GenerateAlignments (objects::CScope &Scope, ISequenceSet *QuerySet, ISequenceSet *SubjectSet, TAlignResultsRef AccumResults) |
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 |
Private Member Functions | |
CRef< objects::CSeq_align_set > | x_MergeAlignments (CQuerySet &QueryAligns, objects::CScope &Scope) |
CRef< objects::CSeq_align_set > | x_MergeSeqAlignSet (objects::CSeq_align_set &InAligns, objects::CScope &Scope) |
void | x_SortAlignSet (objects::CSeq_align_set &AlignSet, int CompartFlags=0) |
Private Attributes | |
int | m_Threshold |
TMode | m_Mode |
CTreeAlignMerger | m_TreeAlignMerger |
Additional Inherited Members | |
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 Member Functions inherited from CObject | |
virtual void | DeleteThis (void) |
Virtual method "deleting" this object. More... | |
Definition at line 66 of file merge_aligner.hpp.
typedef EMode CMergeAligner::TMode |
Definition at line 78 of file merge_aligner.hpp.
enum CMergeAligner::EMode |
Enumerator | |
---|---|
eAlignCleanup | Use the older (CAlignCleanup) merge algorithm. |
eTreeAlignMerger | Use the new (CTreeAlignMerger) merge algorithm. |
eDefault |
Definition at line 69 of file merge_aligner.hpp.
|
inline |
Definition at line 80 of file merge_aligner.hpp.
|
virtual |
Implements IAlignmentFactory.
Definition at line 64 of file merge_aligner.cpp.
References _TRACE, ERR_POST, CSeq_align_set_Base::Get(), Info(), and NON_CONST_ITERATE.
|
inlinevirtual |
Implements IAlignmentFactory.
Definition at line 85 of file merge_aligner.hpp.
Referenced by x_MergeSeqAlignSet().
|
private |
Definition at line 96 of file merge_aligner.cpp.
References eNa_strand_minus, eNa_strand_plus, fCompart_AllowIntersections, fCompart_SortByScore, FindCompartments(), CQuerySet::Get(), CSeq_align_set_Base::Get(), i, CRef< C, Locker >::IsNull(), ITERATE, NON_CONST_ITERATE, out(), CSeq_align_set_Base::Set(), x_MergeSeqAlignSet(), and x_SortAlignSet().
|
private |
Definition at line 167 of file merge_aligner.cpp.
References CDense_seg::Assign(), CDense_seg_Base::CanGetStrands(), CAlignCleanup::Cleanup(), eAlignCleanup, eNa_strand_plus, ERR_POST, Error(), eTreeAlignMerger, CDense_seg::FillUnaligned(), CAlignCleanup::FillUnaligned(), CSeq_align_set_Base::Get(), CDense_seg_Base::GetDim(), GetName(), CDense_seg_Base::GetNumseg(), CDense_seg::GetSeqStrand(), CDense_seg_Base::GetStrands(), ITERATE, m_Mode, m_TreeAlignMerger, CTreeAlignMerger::Merge(), NON_CONST_ITERATE, Out(), CException::ReportAll(), CDense_seg::Reverse(), CSeq_align::SetNamedScore(), CSeq_align_Base::SetSegs(), and CDense_seg_Base::SetStrands().
Referenced by x_MergeAlignments().
|
private |
Definition at line 243 of file merge_aligner.cpp.
References copy(), fCompart_SortByScore, s_SortByAlignedLength(), s_SortByScore(), CSeq_align_set_Base::Set(), and ct::sort().
Referenced by x_MergeAlignments().
|
private |
Definition at line 103 of file merge_aligner.hpp.
Referenced by x_MergeSeqAlignSet().
|
private |
Definition at line 102 of file merge_aligner.hpp.
|
private |
Definition at line 104 of file merge_aligner.hpp.
Referenced by x_MergeSeqAlignSet().