forked from fak/mapChEMBLPfam
-
Notifications
You must be signed in to change notification settings - Fork 0
/
singleDomain.py
executable file
·60 lines (51 loc) · 2.3 KB
/
singleDomain.py
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
"""
Function: singleDomains
--------------------
Identify targets with one binding site containing domain and at least one other domain and train a generic model
momo.sander@ebi.ac.uk
"""
def singleDomains(pfamDict, chemblTargets,threshold, release, user, pword, host, port):
import pickle
import getLigands
import filterForTarget
single = {}
for target in chemblTargets:
if target in pfamDict:
if len(pfamDict[target]['domains']) == 1:
domain = pfamDict[target]['domains'][0]
ligands = getLigands.getLigandsForTarget(target, release, user, pword, host, port)
ligands = filterForTarget.filterForTarget(ligands, threshold)
for ligand in ligands:
smiles = ligand[0]
aff = ligand[1]
molregno = ligand[2]
actId = ligand[3]
try:
single[domain][molregno]['pAfnty'].append(aff)
single[domain][molregno]['target'].append(target)
single[domain][molregno]['actId'].append(actId)
single[domain][molregno]['smiles']=smiles
except KeyError:
try:
single[domain][molregno] = {}
single[domain][molregno]['pAfnty']=[]
single[domain][molregno]['target']=[]
single[domain][molregno]['actId'] = []
single[domain][molregno]['smiles']=smiles
single[domain][molregno]['pAfnty'].append(aff)
single[domain][molregno]['target'].append(target)
single[domain][molregno]['actId'].append(actId)
except KeyError:
single[domain]={}
single[domain][molregno] = {}
single[domain][molregno]['pAfnty']=[]
single[domain][molregno]['target']=[]
single[domain][molregno]['actId'] = []
single[domain][molregno]['smiles']=smiles
single[domain][molregno]['pAfnty'].append(aff)
single[domain][molregno]['target'].append(target)
single[domain][molregno]['actId'].append(actId)
outfile = open('data/singleDict_pKi%s_%s.pkl' %(int(threshold), release),'w')
pickle.dump(single, outfile)
outfile.close()
return single