rdkit.ML.Cluster.Resemblance module

code for dealing with resemblance (metric) matrices

Here’s how the matrices are stored:

‘[(0,1),(0,2),(1,2),(0,3),(1,3),(2,3)…] (row,col), col>row’

or, alternatively the matrix can be drawn, with indices as:

|| - || 0 || 1 || 3 || - || - || 2 || 4 || - || - || - || 5 || - || - || - || -

the index of a given (row,col) pair is:

‘(col*(col-1))/2 + row’

rdkit.ML.Cluster.Resemblance.CalcMetricMatrix(inData, metricFunc)

generates a metric matrix

Arguments
  • inData is assumed to be a list of clusters (or anything with a GetPosition() method)

  • metricFunc is the function to be used to generate the matrix

Returns

the metric matrix as a Numeric array

rdkit.ML.Cluster.Resemblance.EuclideanDistance(inData)

returns the euclidean metricMat between the points in _inData_

Arguments

  • inData: a Numeric array of data points

Returns

a Numeric array with the metric matrix. See the module documentation for the format.

rdkit.ML.Cluster.Resemblance.FindMinValInList(mat, nObjs, minIdx=None)

finds the minimum value in a metricMatrix and returns it and its indices

Arguments

  • mat: the metric matrix

  • nObjs: the number of objects to be considered

  • minIdx: the index of the minimum value (value, row and column still need to be calculated

Returns

a 3-tuple containing:

  1. the row

  2. the column

  3. the minimum value itself

Notes

-this probably ain’t the speediest thing on earth

rdkit.ML.Cluster.Resemblance.ShowMetricMat(metricMat, nObjs)

displays a metric matrix

Arguments

  • metricMat: the matrix to be displayed

  • nObjs: the number of objects to display