Files
rdkit/Code/SimDivPickers/Wrap/testMaxMin.py
gedeck e9af48ffd7 Issue1071/yapf (#1078)
* Issue #1071: add yapf configuration file

* yapf formatting of Code directory

* yapf formatting of Contrib directory

* yapf formatting of Data directory

* yapf formatting of Docs directory

* yapf formatting of External directory

* yapf formatting of Projects directory

* yapf formatting of Regress directory

* yapf formatting of Scripts directory

* yapf formatting of Web directory

* yapf formatting of rdkit directory
2016-09-23 04:58:46 +02:00

37 lines
792 B
Python
Executable File

from __future__ import print_function
from rdkit.SimDivFilters import rdSimDivPickers as rdsimdiv
import numpy
from rdkit import RDRandom
RDRandom.seed(23)
pkr = rdsimdiv.MaxMinPicker()
n = 1000
m = 80
dataPts = []
for i in range(n):
pt = numpy.zeros(2, 'd')
pt[0] = 10. * RDRandom.random()
pt[1] = 10. * RDRandom.random()
dataPts.append(pt)
# compute the distance matrix
distMat = numpy.zeros(n * (n - 1) / 2, 'd')
for i in range(n - 1):
itab = n * i - ((i + 1) * (i + 2)) / 2
pt1 = dataPts[i]
for j in range(i + 1, n):
id = itab + j
pt2 = dataPts[j]
diff = pt2 - pt1
dist = numpy.sqrt(numpy.dot(diff, diff))
distMat[id] = dist
# now do the picking
res = pkr.Pick(distMat, n, m)
print("Results:")
for k in res:
print(dataPts[k][0], dataPts[k][1])