1
2
3
4
5
6
7 """ constructs the list of available descriptors
8
9 """
10 import types
11 from Chem import GraphDescriptors,MolSurf,Lipinski,Fragments,Crippen,Descriptors
12 from Chem.EState import EState_VSA
13 mods = [GraphDescriptors,MolSurf,EState_VSA,Lipinski,Descriptors,Crippen,Fragments]
14
15 import Numeric,Chem
16 otherMods = [Numeric,Chem]
17
18 others = []
19 for mod in otherMods:
20 tmp = dir(mod)
21 for name in tmp:
22 if name[0] != '_':
23 thing = getattr(mod,name)
24 if type(thing)==types.FunctionType:
25 others.append(name)
26
27 descList = []
28 descDict = {}
29 for mod in mods:
30 tmp = dir(mod)
31
32 for name in tmp:
33 if name[0] != '_' and name[-1] != '_' and name not in others:
34 thing = getattr(mod,name)
35 if type(thing)==types.FunctionType:
36
37
38 descList.append((name,thing))
39 descDict[name] = thing
40
42 """ puts in all upper and all lower case versions of each
43 descriptor name
44 """
45 ks = descDict.keys()
46 for k in ks:
47 fn = descDict[k]
48 descDict[k.upper()]=fn
49 descDict[k.lower()]=fn
50
51
52 if __name__ == '__main__':
53 import Chem
54
55 m = Chem.MolFromSmiles('CCOC')
56 for name,fn in descs:
57 print name,fn(m)
58