File: UnitTestSAScore.py

package info (click to toggle)
rdkit 201403-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 62,288 kB
  • ctags: 15,156
  • sloc: cpp: 125,376; python: 55,674; java: 4,831; ansic: 4,178; xml: 2,499; sql: 1,775; yacc: 1,551; lex: 1,051; makefile: 353; fortran: 183; sh: 148; cs: 93
file content (34 lines) | stat: -rw-r--r-- 900 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
from rdkit import RDConfig
from rdkit import Chem
import unittest,os.path
import sascorer
print sascorer.__file__

class TestCase(unittest.TestCase):
  def test1(self):
   testData = [x.strip().split('\t') for x in file('data/zim.100.txt').readlines()]
   testData.pop(0)
   for row in testData:
     smi = row[0]
     m = Chem.MolFromSmiles(smi)
     tgt = float(row[2])
     val = sascorer.calculateScore(m)
     self.failUnlessAlmostEqual(tgt,val,3)

if __name__ == '__main__':
  import sys,getopt,re
  doLong=0
  if len(sys.argv) >1:
    args,extras=getopt.getopt(sys.argv[1:],'l')
    for arg,val in args:
      if arg=='-l':
        doLong=1
      sys.argv.remove('-l')
  if doLong:
    for methName in dir(TestCase):
      if re.match('_test',methName):
        newName = re.sub('_test','test',methName)
        exec('TestCase.%s = TestCase.%s'%(newName,methName))
        
  unittest.main()