NCBI C++ ToolKit
|
Search Toolkit Book for CSGSegmentMapDS
#include <gui/widgets/seq_graphic/segment_map_ds.hpp>
Public Types | |
enum | ESegmentLevel { eInvalid = -2 , eAdaptive = -1 , eContig = 0 , eComponent = 1 } |
It is not technically correct to name a specific segment level as config/scaffold and component because segment map is just a representation of sequence relationship at different level of sequence assembly. More... | |
Public Types inherited from CSGGenBankDS | |
typedef CAppJobDispatcher::TJobID | TJobID |
typedef int | TJobToken |
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 Types inherited from ISGDataSource | |
typedef map< string, string > | TAnnotNameTitleMap |
List of annotations with the corresponding titles. More... | |
Public Member Functions | |
CSGSegmentMapDS (objects::CScope &scope, const objects::CSeq_id &id) | |
void | LoadSegmentMap (const TSeqRange &range, int cutoff, TJobToken token) |
void | LoadSegmentSmear (const TSeqRange &range, TModelUnit scale, const objects::CSeqVector *seq_vec=nullptr) |
Used in sequence track for showing segment color. More... | |
void | LoadSegmentMapSeqIDs (CSeqGlyph::TObjects &objs, TJobToken token) |
void | LoadSwitchPoints () |
int | GetSegmentMapLevels (const TSeqRange &range) const |
Get total number of segment map levels. More... | |
bool | HasSegmentMap (int level, const TSeqRange &range) const |
Query if there is segment maps for given level. More... | |
bool | HasComponent (const TSeqRange &range) const |
bool | HasScaffold (const TSeqRange &range) const |
void | GetAnnotNames (objects::SAnnotSelector &sel, const TSeqRange &range, TAnnotNameTitleMap &names) const |
void | SetAnnot (const string &annot) |
CSGFeatureDS inline methods. More... | |
const string & | GetAnnot () const |
void | SetChromosome (bool flag) |
bool | IsChromosome () const |
void | SetSegmentLevel (ESegmentLevel level) |
Set which segment level to show. More... | |
Public Member Functions inherited from CSGGenBankDS | |
CSGGenBankDS (objects::CScope &scope, const objects::CSeq_id &id) | |
virtual | ~CSGGenBankDS () |
bool | IsRefSeq () const |
void | SetDepth (int depth) |
Set the annotation selector resolving depth. More... | |
int | GetDepth () const |
void | SetAdaptive (bool flag) |
bool | GetAdaptive () const |
objects::CBioseq_Handle & | GetBioseqHandle (void) |
Get the underlying bioseq handle. More... | |
const objects::CBioseq_Handle & | GetBioseqHandle (void) const |
objects::CScope & | GetScope (void) const |
Get the scope from the handle. More... | |
void | SetJobListener (CEventHandler *listener) |
Set JobDispatcher listener. More... | |
virtual void | ClearJobID (TJobID job_id) |
bool | IsJobNeeded (TJobID job_id) const |
virtual bool | AllJobsFinished () const |
virtual void | DeleteAllJobs () |
Remove waiting jobs from queue or cancel the unfinished jobs. More... | |
void | SetCoordMapper (ICoordMapper *mapper) |
void | SetGraphLevels (const string &annot) |
Public Member Functions inherited from CObjectEx | |
CObjectEx (void) | |
virtual | ~CObjectEx (void) |
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 |
Public Member Functions inherited from CWeakObject | |
CWeakObject (void) | |
virtual | ~CWeakObject (void) |
CPtrToObjectProxy * | GetPtrProxy (void) const |
Get pointer to proxy object containing pointer to this object. More... | |
Public Member Functions inherited from ISGDataSource | |
virtual | ~ISGDataSource () |
Static Public Member Functions | |
static void | SetICacheClient (ICache *pCache) |
Set cache client to use. More... | |
static void | SetEnabled (bool enabled=true) |
Enables/disables the segment map. More... | |
static bool | GetEnabled () |
Indicates if the segment map is enabled. More... | |
Static Public Member Functions inherited from CSGDataSource | |
static void | SetBackgroundJob (bool flag) |
static bool | IsBackgroundJob () |
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) |
Private Member Functions | |
int | x_ConceptualToRealDepth (ESegmentLevel level) const |
Convert conceptual segment level to real segment depth. More... | |
Private Attributes | |
bool | m_IsChromosome |
Flag to indicate if the sequence is a chromosome sequence. More... | |
string | m_Annot |
The named annotation storing segment map data. More... | |
Static Private Attributes | |
static ICache * | m_Cache = 0 |
Cache, used to store segment smear. More... | |
static bool | m_Enabled = true |
Indicates if the segment map is enabled. More... | |
Additional Inherited Members | |
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 CSGGenBankDS | |
typedef set< int > | TGraphLevels |
Protected Member Functions inherited from CSGGenBankDS | |
void | x_ForegroundJob (IAppJob &job) |
TJobID | x_BackgroundJob (IAppJob &job, int report_period, const string &pool) |
Jobs on thread pool. More... | |
TJobID | x_LaunchJob (IAppJob &job, int report_period=1, const string &pool="ObjManagerEngine") |
Launch either a background or foreground job. More... | |
Protected Member Functions inherited from CObject | |
virtual void | DeleteThis (void) |
Virtual method "deleting" this object. More... | |
Protected Member Functions inherited from CWeakObject | |
void | CleanWeakRefs (void) const |
Method cleaning all CWeakRefs referencing at this moment to the object After calling to this method all existing CWeakRefs referencing to the object will return NULL, so it effectively will be equal to deleting the object. More... | |
Protected Attributes inherited from CSGGenBankDS | |
objects::CBioseq_Handle | m_Handle |
CEventHandler * | m_JobListener |
our listener to JobDispatcher events More... | |
vector< TJobID > | m_ActiveJobs |
all currently active jobs for this DS More... | |
int | m_Depth |
annotation resolving depth More... | |
bool | m_Adaptive |
adaptive/exact annot selector More... | |
CIRef< ICoordMapper > | m_Mapper |
coordinate mapper between mapped features coord. and sequence coord. More... | |
TGraphLevels | m_GraphLevels |
Existing coverage graph levels. More... | |
Static Protected Attributes inherited from CSGDataSource | |
static bool | m_Background = true |
Definition at line 48 of file segment_map_ds.hpp.
It is not technically correct to name a specific segment level as config/scaffold and component because segment map is just a representation of sequence relationship at different level of sequence assembly.
Assumption: For all chromosome sequences, contigs/scaffolds are at level 0, and components are at level 1. For any other sequences, there will be only one level of segments which are components. And the components are at level 0.
Enumerator | |
---|---|
eInvalid | |
eAdaptive | show either contigs or components based on range |
eContig | |
eComponent |
Definition at line 59 of file segment_map_ds.hpp.
CSGSegmentMapDS::CSGSegmentMapDS | ( | objects::CScope & | scope, |
const objects::CSeq_id & | id | ||
) |
Definition at line 182 of file segment_map_ds.cpp.
Definition at line 164 of file segment_map_ds.hpp.
References m_Annot.
Referenced by CSequenceTrackFactory::GetSettings().
void CSGSegmentMapDS::GetAnnotNames | ( | objects::SAnnotSelector & | sel, |
const TSeqRange & | range, | ||
TAnnotNameTitleMap & | names | ||
) | const |
Definition at line 255 of file segment_map_ds.cpp.
References CSGSegmentSmearJob::GetAnnotNames(), CSGGenBankDS::m_Handle, names, compile_time_bits::range(), and CSeqUtils::SetResolveDepth().
Referenced by CSequenceTrackFactory::CreateTracks().
|
static |
Indicates if the segment map is enabled.
Definition at line 280 of file segment_map_ds.cpp.
References m_Enabled.
Referenced by CSequenceTrackFactory::CreateTracks().
Get total number of segment map levels.
Definition at line 226 of file segment_map_ds.cpp.
References CSGSegmentMapJob::GetSegmentMapLevels(), CSGGenBankDS::m_Handle, and compile_time_bits::range().
Referenced by CSegmentMapTrackFactory::x_IsChromosome().
Definition at line 238 of file segment_map_ds.cpp.
References HasSegmentMap(), IsChromosome(), and compile_time_bits::range().
Referenced by CComponentTrackFactory::CreateTracks().
Definition at line 245 of file segment_map_ds.cpp.
References HasSegmentMap(), IsChromosome(), and compile_time_bits::range().
Referenced by CScaffoldTrackFactory::CreateTracks().
Query if there is segment maps for given level.
level | if it is -1, it checks all the way down until either finding one or reaching the bottom. |
Definition at line 232 of file segment_map_ds.cpp.
References CSGSegmentMapJob::HasSegmentMap(), CSGGenBankDS::m_Handle, and compile_time_bits::range().
Referenced by CSegmentMapTrackFactory::CreateTracks(), CSequenceTrackFactory::CreateTracks(), HasComponent(), and HasScaffold().
|
inline |
Definition at line 172 of file segment_map_ds.hpp.
References m_IsChromosome.
Referenced by HasComponent(), and HasScaffold().
Definition at line 188 of file segment_map_ds.cpp.
References CSGGenBankDS::m_Depth, CSGGenBankDS::m_Handle, compile_time_bits::range(), and CSGGenBankDS::x_LaunchJob().
Referenced by CSegmentMapTrack::x_UpdateData().
void CSGSegmentMapDS::LoadSegmentMapSeqIDs | ( | CSeqGlyph::TObjects & | objs, |
TJobToken | token | ||
) |
Definition at line 208 of file segment_map_ds.cpp.
References CSGGenBankDS::GetScope(), and CSGGenBankDS::x_LaunchJob().
Referenced by CSegmentMapTrack::x_AddSegmentMapLayout().
void CSGSegmentMapDS::LoadSegmentSmear | ( | const TSeqRange & | range, |
TModelUnit | scale, | ||
const objects::CSeqVector * | seq_vec = nullptr |
||
) |
Used in sequence track for showing segment color.
Definition at line 198 of file segment_map_ds.cpp.
References m_Annot, m_Cache, CSGGenBankDS::m_Handle, compile_time_bits::range(), and CSGGenBankDS::x_LaunchJob().
Referenced by CSequenceTrack::x_UpdateData().
void CSGSegmentMapDS::LoadSwitchPoints | ( | ) |
Definition at line 218 of file segment_map_ds.cpp.
References CSGGenBankDS::m_Handle, and CSGGenBankDS::x_LaunchJob().
CSGFeatureDS inline methods.
Definition at line 159 of file segment_map_ds.hpp.
References m_Annot.
Referenced by CSequenceTrackFactory::CreateTracks().
|
inline |
Definition at line 168 of file segment_map_ds.hpp.
References m_IsChromosome.
Referenced by CComponentTrackFactory::CreateTracks(), CScaffoldTrackFactory::CreateTracks(), and CSegmentMapTrackFactory::CreateTracks().
Enables/disables the segment map.
Definition at line 275 of file segment_map_ds.cpp.
References m_Enabled.
|
static |
void CSGSegmentMapDS::SetSegmentLevel | ( | ESegmentLevel | level | ) |
Set which segment level to show.
level | is the conceptual segment level. It needs to be converted to the real segment level. If the level is the actual segment level, call SetDepth() directly. |
Definition at line 264 of file segment_map_ds.cpp.
References depth, CSGGenBankDS::SetDepth(), and x_ConceptualToRealDepth().
Referenced by CComponentTrackFactory::CreateTracks(), CScaffoldTrackFactory::CreateTracks(), and CSegmentMapTrack::x_LoadSettings().
|
private |
Convert conceptual segment level to real segment depth.
For all chromosome sequences, contigs/scaffolds are at level 0, and components are at level 1. For any other sequences, there will be only one level of segments (components) which are at level 0. -1 means 'Adaptive'.
Definition at line 285 of file segment_map_ds.cpp.
References depth, eComponent, eContig, and m_IsChromosome.
Referenced by SetSegmentLevel().
|
private |
The named annotation storing segment map data.
Used in sequence track (not segment map tracks, such as components or scaffolds)
Definition at line 124 of file segment_map_ds.hpp.
Referenced by GetAnnot(), LoadSegmentSmear(), and SetAnnot().
|
staticprivate |
Cache, used to store segment smear.
CSGSegmentMapDS implementation.
Definition at line 127 of file segment_map_ds.hpp.
Referenced by LoadSegmentSmear(), and SetICacheClient().
Indicates if the segment map is enabled.
Definition at line 129 of file segment_map_ds.hpp.
Referenced by GetEnabled(), and SetEnabled().
|
private |
Flag to indicate if the sequence is a chromosome sequence.
Definition at line 119 of file segment_map_ds.hpp.
Referenced by IsChromosome(), SetChromosome(), and x_ConceptualToRealDepth().