-
Notifications
You must be signed in to change notification settings - Fork 0
/
rgb_gnuplot.py
205 lines (177 loc) · 18.5 KB
/
rgb_gnuplot.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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
#!/software/bin/python
#$Id: rgb_gnuplot.py 255 2007-10-03 14:16:26Z tc $
#Tommy Carstensen, University College Dublin, 2007
def main():
import os
d_properties = {
1:{'xtic':'Lys1 H^{/Symbol z}','hue':0},
7:{'xtic':'Glu7 H^{/Symbol e2}','hue':80},
15:{'xtic':'His15 H^{/Symbol e2}','hue':160},
18:{'xtic':'Asp18 H^{/Symbol d2}','hue':20},
35:{'xtic':'Glu35 H^{/Symbol e2}','hue':100},
48:{'xtic':'Asp48 H^{/Symbol d2}','hue':180},
52:{'xtic':'Asp52 H^{/Symbol d2}','hue':40},
66:{'xtic':'Asp66 H^{/Symbol d2}','hue':120},
87:{'xtic':'Asp87 H^{/Symbol d2}','hue':200},
101:{'xtic':'Asp101 H^{/Symbol d2}','hue':60},
119:{'xtic':'Asp119 H^{/Symbol d2}','hue':140},
129:{'xtic':'Leu129 H^{COOH}','hue':220},
}
d_data = {
1:{'K1':0,'V2':0,'F3':0,'G4':0,'R5':0,'C6':0,'E7':0,'L8':0,'A9':0,'A10':0,'A11':0,'M12':0,'K13':0,'R14':0,'H15':0,'G16':0,'L17':0,'D18':0,'N19':0,'Y20':0,'R21':0,'G22':0,'Y23':0,'S24':0,'L25':0,'G26':0,'N27':0,'W28':0,'V29':0,'C30':0,'A31':0,'A32':0,'K33':0,'F34':0,'E35':0,'S36':0,'N37':0,'F38':0,'N39':0,'T40':0,'Q41':0,'A42':0,'T43':0,'N44':0,'R45':0,'N46':0,'T47':0,'D48':0,'G49':0,'S50':0,'T51':0,'D52':0,'Y53':0,'G54':0,'I55':0,'L56':0,'Q57':0,'I58':0,'N59':0,'S60':0,'R61':0,'W62':0,'W63':0,'C64':0,'N65':0,'D66':0,'G67':0,'R68':0,'T69':0,'P70':0,'G71':0,'S72':0,'R73':0,'N74':0,'L75':0,'C76':0,'N77':0,'I78':0,'P79':0,'C80':0,'S81':0,'A82':0,'L83':0,'L84':0,'S85':0,'S86':0,'D87':0,'I88':0,'T89':0,'A90':0,'S91':0,'V92':0,'N93':0,'C94':0,'A95':0,'K96':0,'K97':0,'I98':0,'V99':0,'S100':0,'D101':0,'G102':0,'N103':0,'G104':0,'M105':0,'N106':0,'A107':0,'W108':0,'V109':0,'A110':0,'W111':0,'R112':0,'N113':0,'R114':0,'C115':0,'K116':0,'G117':0,'T118':0,'D119':0,'V120':0,'Q121':0,'A122':0,'W123':0,'I124':0,'R125':0,'G126':0,'C127':0,'R128':0,'L129':0},
7:{'K1':0,'V2':.16,'F3':.23,'G4':.42,'R5':0,'C6':0,'E7':1.93,'L8':.28,'A9':0,'A10':.13,'A11':0,'M12':0,'K13':.13,'R14':0,'H15':0,'G16':0,'L17':0,'D18':0,'N19':0,'Y20':0,'R21':0,'G22':0,'Y23':0,'S24':0,'L25':0,'G26':0,'N27':0,'W28':0,'V29':0,'C30':0,'A31':0,'A32':0,'K33':0,'F34':0,'E35':0,'S36':0,'N37':0,'F38':0,'N39':0,'T40':0,'Q41':0,'A42':0,'T43':0,'N44':0,'R45':0,'N46':0,'T47':0,'D48':0,'G49':0,'S50':0,'T51':0,'D52':0,'Y53':0,'G54':0,'I55':0,'L56':0,'Q57':0,'I58':0,'N59':0,'S60':0,'R61':0,'W62':0,'W63':0,'C64':0,'N65':0,'D66':0,'G67':0,'R68':0,'T69':0,'P70':0,'G71':0,'S72':0,'R73':0,'N74':0,'L75':0,'C76':0,'N77':0,'I78':0,'P79':0,'C80':0,'S81':0,'A82':0,'L83':0,'L84':0,'S85':0,'S86':0,'D87':0,'I88':0,'T89':0,'A90':0,'S91':0,'V92':0,'N93':0,'C94':0,'A95':0,'K96':0,'K97':0,'I98':0,'V99':0,'S100':0,'D101':0,'G102':0,'N103':0,'G104':0,'M105':0,'N106':0,'A107':0,'W108':0,'V109':0,'A110':0,'W111':0,'R112':0,'N113':0,'R114':0,'C115':0,'K116':0,'G117':0,'T118':0,'D119':0,'V120':0,'Q121':0,'A122':0,'W123':0,'I124':0,'R125':0,'G126':0,'C127':0,'R128':0,'L129':0},
15:{'K1':0,'V2':0,'F3':0,'G4':0,'R5':0,'C6':0,'E7':.38,'L8':.11,'A9':0,'A10':.44,'A11':.44,'M12':2.42,'K13':.82,'R14':0,'H15':1.33,'G16':0,'L17':0,'D18':0,'N19':0,'Y20':0,'R21':0,'G22':0,'Y23':0,'S24':0,'L25':0,'G26':0,'N27':0,'W28':0,'V29':0,'C30':0,'A31':0,'A32':0,'K33':0,'F34':0,'E35':0,'S36':0,'N37':0,'F38':0,'N39':0,'T40':.06,'Q41':0,'A42':0,'T43':0,'N44':0,'R45':0,'N46':0,'T47':0,'D48':0,'G49':0,'S50':0,'T51':0,'D52':0,'Y53':0,'G54':0,'I55':0,'L56':0,'Q57':0,'I58':0,'N59':0,'S60':0,'R61':0,'W62':0,'W63':0,'C64':0,'N65':0,'D66':0,'G67':0,'R68':0,'T69':0,'P70':0,'G71':0,'S72':0,'R73':0,'N74':0,'L75':0,'C76':.09,'N77':0,'I78':0,'P79':0,'C80':0,'S81':0,'A82':0,'L83':0,'L84':0,'S85':0,'S86':.2,'D87':.11,'I88':0,'T89':0,'A90':0,'S91':0,'V92':0,'N93':0,'C94':0,'A95':0,'K96':0,'K97':0,'I98':0,'V99':0,'S100':0,'D101':0,'G102':0,'N103':0,'G104':0,'M105':0,'N106':0,'A107':0,'W108':0,'V109':0,'A110':0,'W111':0,'R112':0,'N113':0,'R114':0,'C115':0,'K116':0,'G117':0,'T118':0,'D119':0,'V120':0,'Q121':0,'A122':0,'W123':0,'I124':0,'R125':0,'G126':0,'C127':0,'R128':0,'L129':0},
18:{'K1':0,'V2':0,'F3':0,'G4':0,'R5':0,'C6':0,'E7':0,'L8':0,'A9':0,'A10':0,'A11':0,'M12':0,'K13':0,'R14':0,'H15':0,'G16':.46,'L17':.43,'D18':1.24,'N19':1.79,'Y20':.88,'R21':0,'G22':0,'Y23':0,'S24':.37,'L25':0,'G26':1.07,'N27':.12,'W28':.09,'V29':0,'C30':0,'A31':0,'A32':0,'K33':0,'F34':0,'E35':0,'S36':0,'N37':0,'F38':0,'N39':0,'T40':0,'Q41':0,'A42':0,'T43':0,'N44':0,'R45':0,'N46':0,'T47':0,'D48':0,'G49':0,'S50':0,'T51':0,'D52':0,'Y53':0,'G54':0,'I55':0,'L56':0,'Q57':0,'I58':0,'N59':0,'S60':0,'R61':0,'W62':0,'W63':0,'C64':0,'N65':0,'D66':0,'G67':0,'R68':0,'T69':0,'P70':0,'G71':0,'S72':0,'R73':0,'N74':0,'L75':0,'C76':0,'N77':0,'I78':0,'P79':0,'C80':0,'S81':0,'A82':0,'L83':0,'L84':0,'S85':0,'S86':0,'D87':0,'I88':0,'T89':0,'A90':0,'S91':0,'V92':0,'N93':0,'C94':0,'A95':0,'K96':0,'K97':0,'I98':0,'V99':0,'S100':0,'D101':0,'G102':0,'N103':0,'G104':0,'M105':0,'N106':0,'A107':0,'W108':0,'V109':0,'A110':0,'W111':0,'R112':0,'N113':0,'R114':0,'C115':0,'K116':0,'G117':0,'T118':0,'D119':0,'V120':0,'Q121':0,'A122':0,'W123':0,'I124':0,'R125':0,'G126':0,'C127':0,'R128':0,'L129':0},
35:{'K1':0,'V2':0,'F3':0,'G4':0,'R5':0,'C6':0,'E7':0,'L8':0,'A9':0,'A10':0,'A11':0,'M12':0,'K13':0,'R14':0,'H15':0,'G16':0,'L17':0,'D18':0,'N19':0,'Y20':0,'R21':0,'G22':0,'Y23':0,'S24':0,'L25':0,'G26':0,'N27':0,'W28':0,'V29':0,'C30':0,'A31':0,'A32':0,'K33':0,'F34':0,'E35':.83,'S36':0,'N37':0,'F38':0,'N39':0,'T40':0,'Q41':0,'A42':.22,'T43':0,'N44':0,'R45':0,'N46':0,'T47':0,'D48':0,'G49':0,'S50':0,'T51':.15,'D52':.23,'Y53':0,'G54':.13,'I55':0,'L56':.2,'Q57':0,'I58':.66,'N59':.11,'S60':.09,'R61':0,'W62':0,'W63':0,'C64':0,'N65':0,'D66':0,'G67':0,'R68':0,'T69':0,'P70':0,'G71':0,'S72':0,'R73':0,'N74':0,'L75':0,'C76':0,'N77':0,'I78':0,'P79':0,'C80':0,'S81':0,'A82':0,'L83':0,'L84':0,'S85':0,'S86':0,'D87':0,'I88':0,'T89':.2,'A90':.04,'S91':0,'V92':0,'N93':0,'C94':0,'A95':0,'K96':0,'K97':0,'I98':0,'V99':0,'S100':0,'D101':0,'G102':0,'N103':0,'G104':0,'M105':0,'N106':0,'A107':0,'W108':0,'V109':0,'A110':0,'W111':0,'R112':0,'N113':0,'R114':0,'C115':0,'K116':0,'G117':0,'T118':0,'D119':0,'V120':0,'Q121':0,'A122':0,'W123':0,'I124':0,'R125':0,'G126':0,'C127':0,'R128':0,'L129':0},
48:{'K1':0,'V2':0,'F3':0,'G4':0,'R5':0,'C6':0,'E7':0,'L8':0,'A9':0,'A10':0,'A11':0,'M12':0,'K13':0,'R14':0,'H15':0,'G16':0,'L17':0,'D18':0,'N19':0,'Y20':0,'R21':0,'G22':0,'Y23':0,'S24':0,'L25':0,'G26':0,'N27':0,'W28':0,'V29':0,'C30':0,'A31':0,'A32':0,'K33':0,'F34':0,'E35':0,'S36':0,'N37':0,'F38':0,'N39':.13,'T40':.13,'Q41':.26,'A42':.11,'T43':1.45,'N44':.08,'R45':.87,'N46':0,'T47':0,'D48':.33,'G49':.3,'S50':0,'T51':0,'D52':0,'Y53':0,'G54':0,'I55':0,'L56':0,'Q57':0,'I58':0,'N59':0,'S60':0,'R61':0,'W62':0,'W63':0,'C64':0,'N65':0,'D66':0,'G67':0,'R68':0,'T69':0,'P70':0,'G71':0,'S72':0,'R73':0,'N74':0,'L75':0,'C76':0,'N77':0,'I78':0,'P79':0,'C80':0,'S81':0,'A82':0,'L83':0,'L84':0,'S85':0,'S86':0,'D87':0,'I88':0,'T89':0,'A90':0,'S91':0,'V92':0,'N93':0,'C94':0,'A95':0,'K96':0,'K97':0,'I98':0,'V99':0,'S100':0,'D101':0,'G102':0,'N103':0,'G104':0,'M105':0,'N106':0,'A107':0,'W108':0,'V109':0,'A110':0,'W111':0,'R112':0,'N113':0,'R114':0,'C115':0,'K116':0,'G117':0,'T118':0,'D119':0,'V120':0,'Q121':0,'A122':0,'W123':0,'I124':0,'R125':0,'G126':0,'C127':0,'R128':0,'L129':0},
52:{'K1':0,'V2':0,'F3':0,'G4':0,'R5':0,'C6':0,'E7':0,'L8':0,'A9':0,'A10':0,'A11':0,'M12':0,'K13':0,'R14':0,'H15':0,'G16':0,'L17':0,'D18':0,'N19':0,'Y20':0,'R21':0,'G22':0,'Y23':0,'S24':0,'L25':0,'G26':0,'N27':0,'W28':0,'V29':.16,'C30':0,'A31':0,'A32':.05,'K33':.22,'F34':.11,'E35':.34,'S36':.19,'N37':0,'F38':.12,'N39':0,'T40':0,'Q41':0,'A42':0,'T43':0,'N44':0,'R45':0,'N46':0,'T47':0,'D48':0,'G49':0,'S50':0,'T51':.84,'D52':1.96,'Y53':.3,'G54':.29,'I55':0,'L56':.32,'Q57':0,'I58':.14,'N59':0,'S60':0,'R61':0,'W62':0,'W63':.05,'C64':0,'N65':0,'D66':0,'G67':0,'R68':0,'T69':0,'P70':0,'G71':0,'S72':0,'R73':0,'N74':0,'L75':0,'C76':0,'N77':0,'I78':0,'P79':0,'C80':0,'S81':0,'A82':0,'L83':0,'L84':0,'S85':0,'S86':0,'D87':0,'I88':0,'T89':0,'A90':0,'S91':0,'V92':0,'N93':0,'C94':0,'A95':0,'K96':0,'K97':0,'I98':0,'V99':0,'S100':0,'D101':0,'G102':0,'N103':0,'G104':0,'M105':0,'N106':0,'A107':0,'W108':0,'V109':0,'A110':0,'W111':0,'R112':0,'N113':0,'R114':0,'C115':0,'K116':0,'G117':0,'T118':0,'D119':0,'V120':0,'Q121':0,'A122':0,'W123':0,'I124':0,'R125':0,'G126':0,'C127':0,'R128':0,'L129':0},
66:{'K1':0,'V2':0,'F3':0,'G4':0,'R5':0,'C6':0,'E7':0,'L8':0,'A9':0,'A10':0,'A11':0,'M12':0,'K13':0,'R14':0,'H15':0,'G16':0,'L17':0,'D18':0,'N19':0,'Y20':0,'R21':0,'G22':0,'Y23':0,'S24':0,'L25':0,'G26':0,'N27':0,'W28':0,'V29':0,'C30':0,'A31':0,'A32':0,'K33':0,'F34':0,'E35':0,'S36':0,'N37':0,'F38':0,'N39':0,'T40':0,'Q41':0,'A42':0,'T43':0,'N44':0,'R45':0,'N46':0,'T47':0,'D48':0,'G49':0,'S50':0,'T51':0,'D52':0,'Y53':0,'G54':0,'I55':0,'L56':0,'Q57':0,'I58':0,'N59':0,'S60':0,'R61':0,'W62':0,'W63':0,'C64':0,'N65':0,'D66':.23,'G67':0,'R68':0,'T69':.48,'P70':0,'G71':.13,'S72':.31,'R73':.19,'N74':0,'L75':0,'C76':0,'N77':0,'I78':.25,'P79':0,'C80':0,'S81':0,'A82':0,'L83':0,'L84':0,'S85':0,'S86':0,'D87':0,'I88':0,'T89':0,'A90':0,'S91':0,'V92':0,'N93':0,'C94':0,'A95':0,'K96':0,'K97':0,'I98':0,'V99':0,'S100':0,'D101':0,'G102':0,'N103':0,'G104':0,'M105':0,'N106':0,'A107':0,'W108':0,'V109':0,'A110':0,'W111':0,'R112':0,'N113':0,'R114':0,'C115':0,'K116':0,'G117':0,'T118':0,'D119':0,'V120':0,'Q121':0,'A122':0,'W123':0,'I124':0,'R125':0,'G126':0,'C127':0,'R128':0,'L129':0},
87:{'K1':0,'V2':0,'F3':0,'G4':0,'R5':0,'C6':0,'E7':0,'L8':0,'A9':0,'A10':0,'A11':0,'M12':0,'K13':0,'R14':0,'H15':0,'G16':0,'L17':0,'D18':0,'N19':0,'Y20':0,'R21':0,'G22':0,'Y23':0,'S24':0,'L25':0,'G26':0,'N27':0,'W28':0,'V29':0,'C30':0,'A31':0,'A32':0,'K33':0,'F34':0,'E35':0,'S36':0,'N37':0,'F38':0,'N39':0,'T40':0,'Q41':0,'A42':0,'T43':0,'N44':0,'R45':0,'N46':0,'T47':0,'D48':0,'G49':0,'S50':0,'T51':0,'D52':0,'Y53':0,'G54':0,'I55':0,'L56':0,'Q57':0,'I58':0,'N59':0,'S60':0,'R61':0,'W62':0,'W63':0,'C64':0,'N65':0,'D66':0,'G67':0,'R68':0,'T69':0,'P70':0,'G71':0,'S72':0,'R73':0,'N74':0,'L75':0,'C76':0,'N77':0,'I78':0,'P79':0,'C80':0,'S81':0,'A82':.05,'L83':0,'L84':.06,'S85':.16,'S86':.06,'D87':.55,'I88':.45,'T89':.55,'A90':.28,'S91':0,'V92':0,'N93':0,'C94':0,'A95':0,'K96':0,'K97':0,'I98':0,'V99':0,'S100':0,'D101':0,'G102':0,'N103':0,'G104':0,'M105':0,'N106':0,'A107':0,'W108':0,'V109':0,'A110':0,'W111':0,'R112':0,'N113':0,'R114':0,'C115':0,'K116':0,'G117':0,'T118':0,'D119':0,'V120':0,'Q121':0,'A122':0,'W123':0,'I124':0,'R125':0,'G126':0,'C127':0,'R128':0,'L129':0},
101:{'K1':0,'V2':0,'F3':0,'G4':0,'R5':0,'C6':0,'E7':0,'L8':0,'A9':0,'A10':0,'A11':0,'M12':0,'K13':0,'R14':0,'H15':0,'G16':0,'L17':0,'D18':0,'N19':0,'Y20':0,'R21':0,'G22':0,'Y23':0,'S24':0,'L25':0,'G26':0,'N27':0,'W28':0,'V29':0,'C30':0,'A31':0,'A32':0,'K33':0,'F34':0,'E35':0,'S36':0,'N37':0,'F38':0,'N39':0,'T40':0,'Q41':0,'A42':0,'T43':0,'N44':0,'R45':0,'N46':0,'T47':0,'D48':0,'G49':0,'S50':0,'T51':0,'D52':0,'Y53':0,'G54':0,'I55':0,'L56':0,'Q57':0,'I58':0,'N59':0,'S60':0,'R61':0,'W62':0,'W63':0,'C64':0,'N65':0,'D66':0,'G67':0,'R68':0,'T69':0,'P70':0,'G71':0,'S72':0,'R73':0,'N74':0,'L75':0,'C76':0,'N77':0,'I78':0,'P79':0,'C80':0,'S81':0,'A82':0,'L83':0,'L84':0,'S85':0,'S86':0,'D87':0,'I88':0,'T89':0,'A90':0,'S91':0,'V92':0,'N93':0,'C94':0,'A95':0,'K96':0,'K97':0,'I98':0,'V99':0,'S100':0,'D101':0,'G102':0,'N103':0,'G104':0,'M105':0,'N106':0,'A107':0,'W108':0,'V109':0,'A110':0,'W111':0,'R112':0,'N113':0,'R114':0,'C115':0,'K116':0,'G117':0,'T118':0,'D119':0,'V120':0,'Q121':0,'A122':0,'W123':0,'I124':0,'R125':0,'G126':0,'C127':0,'R128':0,'L129':0},
119:{'K1':0,'V2':0,'F3':0,'G4':0,'R5':0,'C6':0,'E7':0,'L8':0,'A9':0,'A10':0,'A11':0,'M12':0,'K13':0,'R14':0,'H15':0,'G16':0,'L17':0,'D18':0,'N19':0,'Y20':0,'R21':0,'G22':0,'Y23':0,'S24':0,'L25':0,'G26':0,'N27':0,'W28':0,'V29':0,'C30':0,'A31':0,'A32':0,'K33':0,'F34':0,'E35':0,'S36':0,'N37':0,'F38':0,'N39':0,'T40':0,'Q41':0,'A42':0,'T43':0,'N44':0,'R45':0,'N46':0,'T47':0,'D48':0,'G49':0,'S50':0,'T51':0,'D52':0,'Y53':0,'G54':0,'I55':0,'L56':0,'Q57':0,'I58':0,'N59':0,'S60':0,'R61':0,'W62':0,'W63':0,'C64':0,'N65':0,'D66':0,'G67':0,'R68':0,'T69':0,'P70':0,'G71':0,'S72':0,'R73':0,'N74':0,'L75':0,'C76':0,'N77':0,'I78':0,'P79':0,'C80':0,'S81':0,'A82':0,'L83':0,'L84':0,'S85':0,'S86':0,'D87':0,'I88':0,'T89':0,'A90':0,'S91':0,'V92':0,'N93':0,'C94':0,'A95':0,'K96':0,'K97':0,'I98':0,'V99':0,'S100':0,'D101':0,'G102':0,'N103':0,'G104':0,'M105':0,'N106':0,'A107':0,'W108':0,'V109':0,'A110':0,'W111':0,'R112':0,'N113':0,'R114':0,'C115':0,'K116':0,'G117':0,'T118':.2,'D119':1.22,'V120':0,'Q121':.74,'A122':.74,'W123':.65,'I124':0,'R125':0,'G126':0,'C127':0,'R128':0,'L129':0},
129:{'K1':0,'V2':0,'F3':0,'G4':0,'R5':0,'C6':0,'E7':0,'L8':0,'A9':0,'A10':0,'A11':0,'M12':0,'K13':0,'R14':0,'H15':0,'G16':0,'L17':0,'D18':0,'N19':0,'Y20':0,'R21':0,'G22':0,'Y23':0,'S24':0,'L25':0,'G26':0,'N27':0,'W28':0,'V29':0,'C30':0,'A31':0,'A32':0,'K33':0,'F34':0,'E35':0,'S36':0,'N37':0,'F38':0,'N39':0,'T40':0,'Q41':0,'A42':0,'T43':0,'N44':0,'R45':0,'N46':0,'T47':0,'D48':0,'G49':0,'S50':0,'T51':0,'D52':0,'Y53':0,'G54':0,'I55':0,'L56':0,'Q57':0,'I58':0,'N59':0,'S60':0,'R61':0,'W62':0,'W63':0,'C64':0,'N65':0,'D66':0,'G67':0,'R68':0,'T69':0,'P70':0,'G71':0,'S72':0,'R73':0,'N74':0,'L75':0,'C76':0,'N77':0,'I78':0,'P79':0,'C80':0,'S81':0,'A82':0,'L83':0,'L84':0,'S85':0,'S86':0,'D87':0,'I88':0,'T89':0,'A90':0,'S91':0,'V92':0,'N93':0,'C94':0,'A95':0,'K96':0,'K97':0,'I98':0,'V99':0,'S100':0,'D101':0,'G102':0,'N103':0,'G104':0,'M105':0,'N106':0,'A107':0,'W108':0,'V109':0,'A110':0,'W111':0,'R112':0,'N113':0,'R114':0,'C115':0,'K116':0,'G117':0,'T118':0,'D119':0,'V120':0,'Q121':0,'A122':0,'W123':0,'I124':0,'R125':.06,'G126':.47,'C127':.12,'R128':.63,'L129':5.8},
}
s_sequence = 'KVFGRCELAAAMKRHGLDNYRGYSLGNWVCAAKFESNFNTQATNRNTDGSTDYGILQINSRWWCNDGRTPGSRNLCNIPCSALLSSDITASVNCAKKIVSDGNGMNAWVAWRNRCKGTDVQAWIRGCRL'
l_resnos_titratable = d_properties.keys()
l_resnos_titratable.sort()
##
## define palette
##
palette = '%.4f %6.4f %6.4f %6.4f, %.4f %6.4f %6.4f %6.4f,\\\n ' %(0,0,0,0,1,0,0,0)
saturation = 240
luminance_step = 1
luminance_min = 0+40
luminance_max = 240-40
for i in range(len(l_resnos_titratable)):
resno_titratable = l_resnos_titratable[i]
hue = d_properties[resno_titratable]['hue']
for luminance in range(luminance_min,luminance_max,luminance_step):
z1 = 2+2*i+(luminance-luminance_min)/float(luminance_max-luminance_min) ## multiply with 2 to avoid color overlap
z2 = 2+2*i+(luminance-luminance_min+luminance_step)/float(luminance_max-luminance_min) ## multiply with 2 to avoid color overlap
r,g,b = hsl2rgb(hue,saturation,luminance)
palette += '%.4f %6.4f %6.4f %6.4f, %.4f %6.4f %6.4f %6.4f,\\\n ' %(z1,r,g,b,z2,r,g,b)
## palette += '%.4f %6.4f %6.4f %6.4f, %.4f %6.4f %6.4f %6.4f,\\\n ' %(z2,r,g,b,len(residues),r,g,b)
palette = palette[:-25]
##
## write data
##
gnuplotdata = []
for i in range(len(l_resnos_titratable)):
resno_titratable = l_resnos_titratable[i]
x = i
data_min = min(d_data[resno_titratable].values())
data_max = max(d_data[resno_titratable].values())
for j in range(len(d_data[resno_titratable])):
y = j+1
residue = s_sequence[j]+str(j+1)
data = d_data[resno_titratable][residue]
if data == 0:
z = 0
else:
z = 2+2*x+(data-data_min)/float(data_max-data_min) ## multiply with 2 to avoid color overlap
gnuplotdata += ['%s %s %s\n' %(x,y,z)]
## append y data because of corners2color c1
gnuplotdata += ['%s %s %s\n\n' %(x,y+1,0)]
## append x data because of corners2color c1
for j in range(len(d_data[resno_titratable])):
y = j+1
gnuplotdata += ['%s %s %s\n' %(x+1,y,0)]
## append y data because of corners2color c1
gnuplotdata += ['%s %s %s\n\n' %(x+1,y+1,0)]
## write to file
fd = open('gnuplot.data','w')
fd.writelines(gnuplotdata)
fd.close()
##
## write settings
##
gnuplotsettings = []
gnuplotsettings += [
'set terminal postscript eps enhanced color "Helvetica" 36\n',
'set output "helen.ps"\n',
'set size 4,4\n', ## scale 400%
'set autoscale fix\n', ## scale axes to include min and max *only* and *not* the next tic
'set view map\n', ## change orientation of plot
'set style data pm3d\n',
'set style function pm3d\n',
'set pm3d map corners2color c1\n', ## generate a 2D surface rather than 3D points
'set xlabel "titratable groups (pH 2-9)"\n',
'set xlabel offset 0,-4\n',
'set ylabel "residue numbers\n',
'set title "Helen\'s funky plot"\n',
'set nokey\n',
]
## xtics
line_xtic = 'set xtics ('
for i in range(len(l_resnos_titratable)):
resno_titratable = l_resnos_titratable[i]
xtic = d_properties[resno_titratable]['xtic']
line_xtic += '"%s" %s, ' %(xtic, i+.5)
line_xtic = line_xtic[:-2]+')\n'
gnuplotsettings += [
line_xtic,
'set xtics rotate\n',
'set xtics font "Helvetica,30"\n',
'set xtics offset 0,-2\n',
]
## palette
gnuplotsettings += [
## '''set palette defined ( 0 0 1 0, 0.3333 0 0.3922 0, 0.3333 1 1 0,\
## 0.6667 0.7843 0.7843 0, 0.6667 1 0 0, 1 0.5451 0 0 )'''+'\n'
'set palette defined ( %s )\n' %palette
]
gnuplotsettings += [
'splot "gnuplot.data"\n', ## splot gnuplot data file
]
## write
fd = open('gnuplot.settings','w')
fd.writelines(gnuplotsettings)
fd.close()
##
## execute settings
##
os.system('/software/bin/gnuplot gnuplot.settings')
##
## remove data and settings
##
## os.remove('gnuplot.data')
## os.remove('gnuplot.settings')
return
def hsl2rgb(h,s,l):
h = h/240.
s = s/240.
l = l/240.
if l < .5:
q = l+l*s
else:
q = l+s-l*s
p = 2*l-q
tr = h+1./3
tg = h
tb = h-1./3
l_rgb = [0,0,0]
l_tc = [tr,tg,tb]
for i in range(len(l_tc)):
tc = l_tc[i]
if tc < 0:
tc += 1
if tc > 1:
tc -= 1
if tc < 1./6:
c = p+(q-p)*6*tc
elif 1./6 <= tc and tc < .5:
c = q
elif .5 <= tc and tc < 2./3.:
c = p+(q-p)*(2./3-tc)*6
else:
c = p
l_rgb[i] = c
## r = int(l_rgb[0]*255)
## g = int(l_rgb[1]*255)
## b = int(l_rgb[2]*255)
r = l_rgb[0]
g = l_rgb[1]
b = l_rgb[2]
return r,g,b
if __name__ == '__main__':
main()