NCBI C++ ToolKit
Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
CSGSegmentMapDS Class Reference

Search Toolkit Book for CSGSegmentMapDS

CSGSegmentMapDS. More...

#include <gui/widgets/seq_graphic/segment_map_ds.hpp>

+ Inheritance diagram for CSGSegmentMapDS:
+ Collaboration diagram for CSGSegmentMapDS:

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< Uint8TCounter
 Counter type is CAtomiCounter. More...
 
typedef Uint8 TCount
 Alias for value type of counter. More...
 
- Public Types inherited from ISGDataSource
typedef map< string, stringTAnnotNameTitleMap
 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 stringGetAnnot () 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...
 
CObjectoperator= (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)
 
CPtrToObjectProxyGetPtrProxy (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 ICachem_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< intTGraphLevels
 
- 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
 
CEventHandlerm_JobListener
 our listener to JobDispatcher events More...
 
vector< TJobIDm_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< ICoordMapperm_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
 

Detailed Description

CSGSegmentMapDS.

Definition at line 48 of file segment_map_ds.hpp.

Member Enumeration Documentation

◆ ESegmentLevel

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.

Constructor & Destructor Documentation

◆ CSGSegmentMapDS()

CSGSegmentMapDS::CSGSegmentMapDS ( objects::CScope &  scope,
const objects::CSeq_id &  id 
)

Definition at line 182 of file segment_map_ds.cpp.

Member Function Documentation

◆ GetAnnot()

const string & CSGSegmentMapDS::GetAnnot ( void  ) const
inline

Definition at line 164 of file segment_map_ds.hpp.

References m_Annot.

Referenced by CSequenceTrackFactory::GetSettings().

◆ GetAnnotNames()

void CSGSegmentMapDS::GetAnnotNames ( objects::SAnnotSelector &  sel,
const TSeqRange range,
TAnnotNameTitleMap names 
) const

◆ GetEnabled()

bool CSGSegmentMapDS::GetEnabled ( void  )
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().

◆ GetSegmentMapLevels()

int CSGSegmentMapDS::GetSegmentMapLevels ( const TSeqRange range) const

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().

◆ HasComponent()

bool CSGSegmentMapDS::HasComponent ( const TSeqRange range) const

◆ HasScaffold()

bool CSGSegmentMapDS::HasScaffold ( const TSeqRange range) const

◆ HasSegmentMap()

bool CSGSegmentMapDS::HasSegmentMap ( int  level,
const TSeqRange range 
) const

Query if there is segment maps for given level.

Parameters
levelif 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().

◆ IsChromosome()

bool CSGSegmentMapDS::IsChromosome ( ) const
inline

Definition at line 172 of file segment_map_ds.hpp.

References m_IsChromosome.

Referenced by HasComponent(), and HasScaffold().

◆ LoadSegmentMap()

void CSGSegmentMapDS::LoadSegmentMap ( const TSeqRange range,
int  cutoff,
TJobToken  token 
)

◆ LoadSegmentMapSeqIDs()

void CSGSegmentMapDS::LoadSegmentMapSeqIDs ( CSeqGlyph::TObjects objs,
TJobToken  token 
)

◆ LoadSegmentSmear()

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().

◆ LoadSwitchPoints()

void CSGSegmentMapDS::LoadSwitchPoints ( )

Definition at line 218 of file segment_map_ds.cpp.

References CSGGenBankDS::m_Handle, and CSGGenBankDS::x_LaunchJob().

◆ SetAnnot()

void CSGSegmentMapDS::SetAnnot ( const string annot)
inline

CSGFeatureDS inline methods.

Definition at line 159 of file segment_map_ds.hpp.

References m_Annot.

Referenced by CSequenceTrackFactory::CreateTracks().

◆ SetChromosome()

void CSGSegmentMapDS::SetChromosome ( bool  flag)
inline

◆ SetEnabled()

void CSGSegmentMapDS::SetEnabled ( bool  enabled = true)
static

Enables/disables the segment map.

Definition at line 275 of file segment_map_ds.cpp.

References m_Enabled.

◆ SetICacheClient()

void CSGSegmentMapDS::SetICacheClient ( ICache pCache)
static

Set cache client to use.

Definition at line 270 of file segment_map_ds.cpp.

References m_Cache.

◆ SetSegmentLevel()

void CSGSegmentMapDS::SetSegmentLevel ( ESegmentLevel  level)

Set which segment level to show.

Parameters
levelis 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().

◆ x_ConceptualToRealDepth()

int CSGSegmentMapDS::x_ConceptualToRealDepth ( ESegmentLevel  level) const
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().

Member Data Documentation

◆ m_Annot

string CSGSegmentMapDS::m_Annot
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().

◆ m_Cache

ICache * CSGSegmentMapDS::m_Cache = 0
staticprivate

Cache, used to store segment smear.

CSGSegmentMapDS implementation.

Definition at line 127 of file segment_map_ds.hpp.

Referenced by LoadSegmentSmear(), and SetICacheClient().

◆ m_Enabled

bool CSGSegmentMapDS::m_Enabled = true
staticprivate

Indicates if the segment map is enabled.

Definition at line 129 of file segment_map_ds.hpp.

Referenced by GetEnabled(), and SetEnabled().

◆ m_IsChromosome

bool CSGSegmentMapDS::m_IsChromosome
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().


The documentation for this class was generated from the following files:
Modified on Wed Sep 04 15:05:22 2024 by modify_doxy.py rev. 669887