rdkit.ML.Cluster.Resemblance module — The RDKit 2025.09.6 documentation

# 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