Files
rdkit/Python/DataStructs/testScreen.py
Greg Landrum 75a79b6327 initial import
2006-05-06 22:20:08 +00:00

45 lines
857 B
Python
Executable File

import cPickle,time
from Numeric import *
import RandomArray
from DataStructs import BitRank
nBits = 100
weights = RandomArray.random(nBits)
wSum = sum(weights)
weights /= wSum
#print 'weights:',weights
nData = 100
thresh = .50
#thresh = .2
dataFile = open('screen.pkl','wb+')
print 'generating data'
d = [None]*nData
acts = zeros(nData,Int)
for i in xrange(nData):
tmp = RandomArray.randint(0,2,nBits)
d[i] = tmp
bitSum = sum(weights*tmp)
if bitSum > thresh:
acts[i] = 1
#d = array(d)
#print 'd:'
#print d
#print 'acts:'
#print acts
print 'numActives: %d/%d'%(sum(acts),len(acts))
print 'dumping'
cPickle.dump(d,dataFile)
cPickle.dump(acts,dataFile)
print 'ranking'
t1 = time.time()
bitOrder,infoGains = BitRank.RankBits(d,acts)
t2 = time.time()
print '\t that took %f seconds'%(t2-t1)
#print 'order:',bitOrder
#print 'gains:',infoGains