RDPickers::HierarchicalClusterPicker Class Reference

Diversity picker based on hierarchical clustering. More...

#include <HierarchicalClusterPicker.h>

Inheritance diagram for RDPickers::HierarchicalClusterPicker:

RDPickers::DistPicker

List of all members.

Public Types

enum  ClusterMethod {
  WARD = 1, SLINK = 2, CLINK = 3, UPGMA = 4,
  MCQUITTY = 5, GOWER = 6, CENTROID = 7
}
 The type of hierarchical clustering algorithm to use. More...

Public Member Functions

 HierarchicalClusterPicker (ClusterMethod clusterMethod)
 Constructor - takes a ClusterMethod as an argument.
RDKit::INT_VECT pick (const double *distMat, unsigned int poolSize, unsigned int pickSize) const
 This is the function that does the picking.
RDKit::VECT_INT_VECT cluster (const double *distMat, unsigned int poolSize, unsigned int pickSize) const
 This is the function that does the clustering of the items - used by the picker.


Detailed Description

Diversity picker based on hierarchical clustering.

This class inherits from DistPicker since it uses the distance matrix for diversity picking. The clustering itself is done using the Murtagh code in $RDBASE/Code/ML/Cluster/Mutagh/

Definition at line 20 of file HierarchicalClusterPicker.h.


Member Enumeration Documentation

enum RDPickers::HierarchicalClusterPicker::ClusterMethod

The type of hierarchical clustering algorithm to use.

Enumerator:
WARD 
SLINK 
CLINK 
UPGMA 
MCQUITTY 
GOWER 
CENTROID 

Definition at line 25 of file HierarchicalClusterPicker.h.


Constructor & Destructor Documentation

RDPickers::HierarchicalClusterPicker::HierarchicalClusterPicker ( ClusterMethod  clusterMethod  )  [inline, explicit]

Constructor - takes a ClusterMethod as an argument.

Sets the hierarch clustering method

Definition at line 38 of file HierarchicalClusterPicker.h.


Member Function Documentation

RDKit::INT_VECT RDPickers::HierarchicalClusterPicker::pick ( const double *  distMat,
unsigned int  poolSize,
unsigned int  pickSize 
) const [virtual]

This is the function that does the picking.

Here is how the algorithm works
FIX: Supply reference

Parameters:
distMat - distance matrix - a vector of double. It is assumed that only the lower triangle element of the matrix are supplied in a 1D array
NOTE: this matrix WILL BE ALTERED during the picking
poolSize - the size of the pool to pick the items from. It is assumed that the distance matrix above contains the right number of elements; i.e. poolSize*(poolSize-1)
pickSize - the number items to pick from pool (<= poolSize)

Implements RDPickers::DistPicker.

RDKit::VECT_INT_VECT RDPickers::HierarchicalClusterPicker::cluster ( const double *  distMat,
unsigned int  poolSize,
unsigned int  pickSize 
) const

This is the function that does the clustering of the items - used by the picker.

ARGUMENTS:

Parameters:
distMat - distance matrix - a vector of double. It is assumed that only the lower triangle element of the matrix are supplied in a 1D array
NOTE: this matrix WILL BE ALTERED during the picking
poolSize - the size of the pool to pick the items from. It is assumed that the distance matrix above contains the right number of elements; i.e. poolSize*(poolSize-1)
pickSize - the number clusters to divide the pool into (<= poolSize)


The documentation for this class was generated from the following file:
Generated on Sat May 24 08:36:34 2008 for RDCode by  doxygen 1.5.3