NCBI C++ ToolKit
|
Search Toolkit Book for CClusterer::CSingleCluster
Single cluster. More...
#include <algo/cobalt/clusterer.hpp>
Public Types | |
typedef vector< int >::const_iterator | const_iterator |
typedef vector< int >::iterator | iterator |
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 | |
CSingleCluster (void) | |
Create empty cluster. More... | |
void | AddElement (int el) |
Add element to the cluster. More... | |
void | clear (void) |
Removes all elements from the cluster. More... | |
void | SetPrototype (int el) |
Set cluster prototype. More... | |
int | GetPrototype (void) const |
Get cluster prototype. More... | |
void | SetMaxDistance (double dist) |
Set maximum distance in cluster. More... | |
double | GetMaxDistance (void) const |
Get maximum distance in cluster. More... | |
size_t | size (void) const |
Get cluster size. More... | |
int | FindCenterElement (const TDistMatrix &dmatrix) const |
Find element that is closest to the center of the cluster. More... | |
const vector< int > & | GetElements (void) const |
Get list of cluster elements. More... | |
int | operator[] (size_t index) const |
Get element. More... | |
const_iterator | begin (void) const |
const_iterator | end (void) const |
iterator | begin (void) |
iterator | end (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 Attributes | |
TPhyTreeNode * | m_Tree |
Cluster tree root. More... | |
vector< double > | m_DistToRoot |
Distances between cluster elements and tree root. More... | |
Protected Attributes | |
int | m_Prototype |
Index of cluster representative element. More... | |
double | m_Diameter |
Max distance between elements. More... | |
vector< int > | m_Elements |
List of indeces of cluster elements. More... | |
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... | |
Single cluster.
Definition at line 74 of file clusterer.hpp.
typedef vector<int>::const_iterator CClusterer::CSingleCluster::const_iterator |
Definition at line 77 of file clusterer.hpp.
typedef vector<int>::iterator CClusterer::CSingleCluster::iterator |
Definition at line 78 of file clusterer.hpp.
|
inline |
Create empty cluster.
Definition at line 83 of file clusterer.hpp.
|
inline |
Add element to the cluster.
el | Index of an element |
Definition at line 88 of file clusterer.hpp.
Referenced by CClusterer::ComputeClusters(), CClusterer::x_CreateCluster(), CClusterer::x_JoinClusters(), and CClusterer::x_JoinElements().
|
inline |
Definition at line 142 of file clusterer.hpp.
|
inline |
Definition at line 140 of file clusterer.hpp.
|
inline |
Removes all elements from the cluster.
Definition at line 92 of file clusterer.hpp.
Referenced by CClusterer::x_JoinClusters().
|
inline |
Definition at line 143 of file clusterer.hpp.
|
inline |
Definition at line 141 of file clusterer.hpp.
int CClusterer::CSingleCluster::FindCenterElement | ( | const TDistMatrix & | dmatrix | ) | const |
Find element that is closest to the center of the cluster.
dmatrix | Full distance matrix used to cluster data |
Definition at line 1184 of file clusterer.cpp.
References i, and NCBI_THROW.
Referenced by BOOST_AUTO_TEST_CASE().
|
inline |
Get maximum distance in cluster.
Definition at line 113 of file clusterer.hpp.
|
inline |
Get cluster prototype.
Definition at line 103 of file clusterer.hpp.
Referenced by BOOST_AUTO_TEST_CASE(), CMultiAligner::x_AddRpsFreqsToCluster(), CMultiAligner::x_AlignInClusters(), CMultiAligner::x_BuildFullTree(), x_GetClusterGapLocations(), and CMultiAligner::x_MakeClusterResidueFrequencies().
int CClusterer::CSingleCluster::operator[] | ( | size_t | index | ) | const |
Get element.
index | Element index |
Definition at line 1173 of file clusterer.cpp.
References m_Elements, and NCBI_THROW.
|
inline |
Set maximum distance in cluster.
dist | Maximum distance |
Definition at line 108 of file clusterer.hpp.
Referenced by CClusterer::x_JoinElements().
|
inline |
Set cluster prototype.
el | Index of element to be used as cluster prototype |
Prototype does not have to belong to the cluster
Definition at line 98 of file clusterer.hpp.
|
inline |
Get cluster size.
Definition at line 118 of file clusterer.hpp.
Referenced by BOOST_AUTO_TEST_CASE(), CClusterer::ComputeClustersFromLinks(), CClusterer::GetClusterDistMatrix(), s_FindDistAsMax(), s_FindDistAsMean(), s_FindMaxDistFromElem(), s_FindSumDistFromElem(), s_MakeTwoLeafTree(), s_SetLeafIds(), s_TestClusterTree(), CMultiAligner::x_ComputeClusterTrees(), CMultiAligner::x_FindQueryClusters(), CClusterer::x_JoinClusters(), and CMultiAligner::x_MakeClusterResidueFrequencies().
|
protected |
Max distance between elements.
Definition at line 147 of file clusterer.hpp.
vector<double> CClusterer::CSingleCluster::m_DistToRoot |
Distances between cluster elements and tree root.
Definition at line 156 of file clusterer.hpp.
Referenced by CClusterer::x_JoinClusters().
|
protected |
List of indeces of cluster elements.
Definition at line 148 of file clusterer.hpp.
Referenced by operator[]().
|
protected |
Index of cluster representative element.
Definition at line 146 of file clusterer.hpp.
TPhyTreeNode* CClusterer::CSingleCluster::m_Tree |
Cluster tree root.
Definition at line 153 of file clusterer.hpp.
Referenced by CClusterer::ComputeClustersFromLinks(), and CClusterer::x_JoinClusters().