-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmsd_caf.py
executable file
·57 lines (46 loc) · 1.91 KB
/
msd_caf.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
#!/usr/local/bin/ipython
from ematrix.EMatrix import *
from varbnb.VarbnbMSD import *
from config.config import *
import sys
import imp
drug = sys.argv[1]
group = sys.argv[2]
# read data.
data = imp.load_source("data","input/"+drug+"/"+group+".py")
state={}
for statedef in data.stateDefs:
mytype = statedef['type']
myname = statedef['name']
if mytype not in state:
state[mytype] = {}
state[mytype][myname] = {}
state[mytype][myname]['pdbfile'] = data.base_structure_directory+myname+"/structure.pdb"
state[mytype][myname]['color'] = statedef['color']
state[mytype][myname]['ematrix_directory'] = data.base_ematrix_directory+myname+"/structure_0001/"
print "Parsing "+state[mytype][myname]['ematrix_directory']
state[mytype][myname]['ematrix'] = EMatrix()
state[mytype][myname]['ematrix'].parseMatrix(state[mytype][myname]['ematrix_directory'])
if 'id' in statedef:
state[mytype][myname]['id'] = statedef['id']
if 'homo' in statedef:
state[mytype][myname]['homo'] = statedef['homo']
if not os.path.exists("output/"+drug):
os.makedirs("output/"+drug)
logfile= "output/"+drug+"/"+drug+"_"+group+".log"
print "Running, logging in "+logfile
varbnb_run = VarbnbMSD(state, logfile)
# Results are stored in state.
multistate_results = varbnb_run.optimize()
#multistate_results = varbnb_run.optimize({('B', 91): ['GLU']})
#multistate_results = varbnb_run.optimize({('B', 46): ['ARG']})
#multistate_results = varbnb_run.optimize({('B', 46): ['ARG'], ('H', 40): ['GLU'], ('H', 48): ['GLU']})
#multistate_results = varbnb_run.optimize({('B', 64): ['ARG'], ('B', 47): ['ARG'], ('H', 64): ['GLU'], ('H', 47): ['ASP']})
## Output results to output/ directory
import json
## First convert tuples to string.
jsonarray = json.dumps(multistate_results, sort_keys=True, indent=4, separators=(',', ': '))
print jsonarray
outfile = open("output/"+drug+"/"+drug+"_"+group+".json", 'w')
outfile.write(jsonarray)
outfile.close()