1
|
|
|
""" |
2
|
|
|
See the PyMOL Sessions processed with this code here <https://github.com/mmagnus/PyMOL4Spliceosome> |
3
|
|
|
""" |
4
|
|
|
from pymol import cmd |
5
|
|
|
from rna_tools.tools.PyMOL4RNA import code_for_color_spl |
6
|
|
|
from rna_tools.tools.PyMOL4RNA import code_for_spl |
7
|
|
|
|
8
|
|
|
try: |
9
|
|
|
from pymol import cmd |
10
|
|
|
except ImportError: |
11
|
|
|
print("PyMOL Python lib is missing") |
12
|
|
|
# sys.exit(0) |
13
|
|
|
|
14
|
|
|
def spl_help(): |
15
|
|
|
print(""" |
16
|
|
|
PyMOL4Spliceosome |
17
|
|
|
----------------------- |
18
|
|
|
extract all (ea) - show |
19
|
|
|
colors - list all colors |
20
|
|
|
|
21
|
|
|
spl hprp8 |
22
|
|
|
spl prp8 |
23
|
|
|
spl yprp8 - "color skyblue, PRP8_* and resi 885-1251" |
24
|
|
|
spl hprp28 |
25
|
|
|
|
26
|
|
|
spl chains |
27
|
|
|
color blue, chain 5 |
28
|
|
|
color red, chain 6 |
29
|
|
|
color forest, chain 2 |
30
|
|
|
|
31
|
|
|
set cartoon_ring_mode to 3 ... |
32
|
|
|
|
33
|
|
|
""") |
34
|
|
|
spl_help() |
35
|
|
|
|
36
|
|
|
print(""" |
37
|
|
|
spl g2 # coloring for 6chr g2 introns |
38
|
|
|
""") |
39
|
|
|
|
40
|
|
|
cmd.set('transparency', 0.25) |
41
|
|
|
cmd.set('cartoon_ring_mode', 3) |
42
|
|
|
# colors taken from https://github.com/maxewilkinson/Spliceosome-PyMOL-sessions |
43
|
|
|
cmd.set_color('lightgreen', [144, 238, 144]) |
44
|
|
|
cmd.set_color('darkgreen', [0, 100, 0]) |
45
|
|
|
cmd.set_color('darkseagreen', [143, 188, 143]) |
46
|
|
|
cmd.set_color('greenyellow', [173, 255, 47]) |
47
|
|
|
cmd.set_color('coral', [255, 127, 80]) |
48
|
|
|
cmd.set_color('darkorange', [255, 140, 0]) |
49
|
|
|
cmd.set_color('gold', [255, 215, 0]) |
50
|
|
|
cmd.set_color('lemonchiffon', [255,250,205]) |
51
|
|
|
cmd.set_color('moccasin', [255,228,181]) |
52
|
|
|
cmd.set_color('skyblue', [135,206,235]) |
53
|
|
|
cmd.set_color('lightyellow', [255,255,224]) |
54
|
|
|
cmd.set_color('powderblue', [176,224,230]) |
55
|
|
|
cmd.set_color('royalblue', [65,105,225]) |
56
|
|
|
cmd.set_color('cornflowerblue', [100,149,237]) |
57
|
|
|
cmd.set_color('steelblue', [70,130,180]) |
58
|
|
|
cmd.set_color('lightsteelblue', [176,196,222]) |
59
|
|
|
cmd.set_color('violetBlue', [40, 0, 120]) |
60
|
|
|
cmd.set_color('mediumpurple', [147,112,219]) |
61
|
|
|
cmd.set_color('lavenderblush', [255,240,245]) |
62
|
|
|
cmd.set_color('lavender', [230,230,250]) |
63
|
|
|
cmd.set_color('thistle', [216,191,216]) |
64
|
|
|
|
65
|
|
|
|
66
|
|
|
|
67
|
|
|
def color_by_text(txt): |
68
|
|
|
"""Helper function used for color-coding based on residue indexes ranges.""" |
69
|
|
|
for t in txt.strip().split('\n'): |
70
|
|
|
print(t) |
71
|
|
|
color, resi = t.replace('color ', '').split(',') |
72
|
|
|
print((color, resi)) |
73
|
|
|
cmd.color(color.strip(), resi.strip()) |
74
|
|
|
|
75
|
|
|
def spl(arg=''): |
76
|
|
|
""" |
77
|
|
|
action='', name='' |
78
|
|
|
""" |
79
|
|
|
#reload() |
80
|
|
|
print(arg) |
81
|
|
|
if ' ' in arg: |
82
|
|
|
action, name = arg.split() |
83
|
|
|
name = name.lower() |
84
|
|
|
else: |
85
|
|
|
action = arg |
86
|
|
|
name = '' |
87
|
|
|
#import pandas as pd |
88
|
|
|
#df = pd.read_excel("/home/magnus/Desktop/pyMoL_colors-EMX.xlsx") |
89
|
|
|
if not action or action == 'help': |
90
|
|
|
spl_help() |
91
|
|
|
cmd.do('color red, chain A') |
92
|
|
|
cmd.do('color forest, chain B') |
93
|
|
|
cmd.do('color grey, chain C') |
94
|
|
|
cmd.do('color grey, chain D') |
95
|
|
|
|
96
|
|
|
cmd.do('color grey, chain I') |
97
|
|
|
cmd.do('color grey, chain J') |
98
|
|
|
|
99
|
|
|
cmd.do('color purple, chain D and resi 4') |
100
|
|
|
cmd.do('color purple, resn MG') |
101
|
|
|
# exon |
102
|
|
|
cmd.do('color yellow, chain G') |
103
|
|
|
cmd.do('color yellow, chain E') |
104
|
|
|
|
105
|
|
|
cmd.do('color blue, chain H') |
106
|
|
|
cmd.do('color blue, chain U') |
107
|
|
|
|
108
|
|
|
cmd.show("spheres", "inorganic") |
109
|
|
|
cmd.set('sphere_scale', '1', '(all)') |
110
|
|
|
#cmd.set('sphere_scale', '1', '(all)') |
111
|
|
|
cmd.color("yellow", "inorganic") |
112
|
|
|
|
113
|
|
|
elif arg == 'g22': |
114
|
|
|
print('g22') |
115
|
|
|
t = """ |
116
|
|
|
color gray, resi 1-600; |
117
|
|
|
color red, resi 550-586; |
118
|
|
|
color pink, resi 587-630; |
119
|
|
|
color brown, resi 507-549; |
120
|
|
|
color marine, resi 350-424; |
121
|
|
|
color yellow, resi 425-507; |
122
|
|
|
color forest, resi 1-26; |
123
|
|
|
color forest, resi 327-350; |
124
|
|
|
color yellow, chain B; |
125
|
|
|
""" |
126
|
|
|
color_by_text(t) |
127
|
|
|
|
128
|
|
|
elif arg == 'g21': |
129
|
|
|
print('g21') |
130
|
|
|
t = """ |
131
|
|
|
color gray, resi 1-600; |
132
|
|
|
color red, resi 300-400 |
133
|
|
|
color marine, resi 288-289; |
134
|
|
|
""" |
135
|
|
|
color_by_text(t) |
136
|
|
|
|
137
|
|
|
elif action == 'color' or arg=='c': |
138
|
|
|
code_for_color_spl.spl_color() |
139
|
|
|
elif arg == 'extract all' or arg == 'ea' or arg == 'e': |
140
|
|
|
code_for_spl.spl_extract() |
141
|
|
|
elif arg == 'cc': # colorchains |
142
|
|
|
cmd.do('color blue, chain 5') |
143
|
|
|
cmd.do('color red, chain 6') |
144
|
|
|
cmd.do('color forest, chain 2') |
145
|
|
|
|
146
|
|
|
cmd.do('color red, chain V') |
147
|
|
|
cmd.do('color forest, chain Z') |
148
|
|
|
|
149
|
|
|
elif arg == 'ab': # colorchains |
150
|
|
|
cmd.do('color red, chain B') |
151
|
|
|
cmd.do('color forest, chain A') |
152
|
|
|
cmd.do('color grey, chain C') |
153
|
|
|
cmd.do('color grey, chain D') |
154
|
|
|
cmd.do('color purple, chain D and resi 4') |
155
|
|
|
cmd.do('color purple, resn MG') |
156
|
|
|
|
157
|
|
|
elif arg == 'trim': |
158
|
|
|
cmd.do(""" remove chain 5; |
159
|
|
|
remove chain 2 and resi 1-19; |
160
|
|
|
remove chain 2 and resi 50-200; |
161
|
|
|
remove chain 6 and resi 87-200; |
162
|
|
|
remove chain 6 and resi 1-40; |
163
|
|
|
remove chain P and resi 45-200; |
164
|
|
|
""") |
165
|
|
|
|
166
|
|
|
elif arg == 'trim2': # keep super small |
167
|
|
|
cmd.do(""" remove chain 5; |
168
|
|
|
remove chain 2 and resi 1-19; |
169
|
|
|
remove chain 2 and resi 30-200; |
170
|
|
|
|
171
|
|
|
remove chain 6 and resi 87-200; |
172
|
|
|
remove chain 6 and resi 1-50; |
173
|
|
|
|
174
|
|
|
remove chain P and resi 45-200; |
175
|
|
|
|
176
|
|
|
remove chain I; |
177
|
|
|
remove chain E; |
178
|
|
|
""") |
179
|
|
|
|
180
|
|
|
elif arg == 't5': |
181
|
|
|
cmd.set('transparency', 0.5) |
182
|
|
|
elif arg == 't1': |
183
|
|
|
cmd.set('transparency', 1) |
184
|
|
|
elif arg.startswith('hprp28'): |
185
|
|
|
print(""" |
186
|
|
|
purple, resi 240-361 # RecA1 |
187
|
|
|
blue, resi 361-631 # RecA1 |
188
|
|
|
orange, resi 631-811 # RecA2 |
189
|
|
|
""") |
190
|
|
|
cmd.do("color purple, PRP28_h* and resi 240-361") # RecA1 |
191
|
|
|
cmd.do("color blue, PRP28_h* and resi 361-631") # RecA1 |
192
|
|
|
cmd.do("color orange, PRP28_h* and resi 631-811") # RecA2 |
193
|
|
|
elif arg.startswith('hprp8'): |
194
|
|
|
print(""" |
195
|
|
|
|
196
|
|
|
RT finger/palm, skyblue, 812-1303 |
197
|
|
|
Thumb/X, cyan, 1257-1375 |
198
|
|
|
linker smudge, 1304-1577 |
199
|
|
|
Endonuclease yellow, 1581-1752 |
200
|
|
|
RNaseH-like wheat, 1767-2020 |
201
|
|
|
JAB salmon, 2103-2234 |
202
|
|
|
|
203
|
|
|
""") |
204
|
|
|
cmd.do("color yellow, PRP8_h* and resi 1581-1752") # rt |
205
|
|
|
cmd.do("color wheat, PRP8_h* and resi 1767-2020") # rh |
206
|
|
|
cmd.do("color salmon, PRP8_h* and resi 2103-2234") # jab |
207
|
|
|
cmd.do("color smudge, PRP8_h* and resi 1304-1577") # linker |
208
|
|
|
cmd.do("color skyblue, PRP8_h* and resi 812-1303") # rt |
209
|
|
|
elif arg.startswith('prp8'): |
210
|
|
|
print( |
211
|
|
|
""" |
212
|
|
|
select Prp8N, Prp8 and resi 1-870 |
213
|
|
|
select Prp8Large, Prp8 and resi 871-1827 |
214
|
|
|
select Prp8RH, Prp8 and resi 1828-2106 |
215
|
|
|
select Prp8RT, Prp8 and resi 871-1375 |
216
|
|
|
select Prp8linker, Prp8 and resi 1376-1652 |
217
|
|
|
select Prp8EN, Prp8 and resi 1653-1824 |
218
|
|
|
select Prp8afinger, Prp8 and resi 1583-1610 |
219
|
|
|
""") |
220
|
|
|
cmd.do("color skyblue, PRP8_y* and resi 885-1251") # rt |
221
|
|
|
cmd.do("color cyan, PRP8_y* and resi 1257-1375") # thumb/x |
222
|
|
|
cmd.do("color smudge, PRP8_y* and resi 1376-1649") # linker |
223
|
|
|
cmd.do("color wheat, PRP8_y* and resi 1840-2090") # rh |
224
|
|
|
cmd.do("color salmon, PRP8_y* and resi 2150-2395") # jab |
225
|
|
|
cmd.do("color yellow, PRP8_y* and resi 1650-1840") # endo |
226
|
|
|
elif arg.startswith('yprp8'): |
227
|
|
|
print( |
228
|
|
|
""" |
229
|
|
|
select Prp8N, Prp8 and resi 1-870 |
230
|
|
|
select Prp8Large, Prp8 and resi 871-1827 |
231
|
|
|
select Prp8RH, Prp8 and resi 1828-2106 |
232
|
|
|
select Prp8RT, Prp8 and resi 871-1375 |
233
|
|
|
select Prp8linker, Prp8 and resi 1376-1652 |
234
|
|
|
select Prp8EN, Prp8 and resi 1653-1824 |
235
|
|
|
select Prp8afinger, Prp8 and resi 1583-1610 |
236
|
|
|
""") |
237
|
|
|
cmd.do("color skyblue, PRP8_* and resi 885-1251") # rt |
238
|
|
|
cmd.do("color cyan, PRP8_* and resi 1257-1375") # thumb/x |
239
|
|
|
cmd.do("color smudge, PRP8_* and resi 1376-1649") # linker |
240
|
|
|
cmd.do("color wheat, PRP8_* and resi 1840-2090") # rh |
241
|
|
|
cmd.do("color salmon, PRP8_* and resi 2150-2395") # jab |
242
|
|
|
cmd.do("color yellow, PRP8_* and resi 1650-1840") # endo |
243
|
|
|
elif arg.startswith(''): |
244
|
|
|
if 'hjab' in arg.lower(): |
245
|
|
|
cmd.select('PRP8_h* and resi 2103-2234') |
246
|
|
|
if 'hlinker' in arg.lower(): |
247
|
|
|
cmd.select('PRP8_h* and resi 1304-1577') |
248
|
|
|
if 'hrt' in arg.lower(): |
249
|
|
|
cmd.select('PRP8_h* and resi 812-1303') |
250
|
|
|
if 'hrh' in arg.lower(): |
251
|
|
|
cmd.select('PRP8_h* and resi 1767-2020') |
252
|
|
|
if 'he' in arg.lower(): |
253
|
|
|
cmd.select('PRP8_h* and resi 1581-1752') |
254
|
|
|
elif arg == 'align' or arg=='a': |
255
|
|
|
cmd.do(""" |
256
|
|
|
align /5gm6//6, /5lj3//V; |
257
|
|
|
align /5mps//6, /5lj3//V; |
258
|
|
|
align /6exn//6, /5lj3//V; |
259
|
|
|
align /5y88//D, /5lj3//V; |
260
|
|
|
align /5ylz//D, /5lj3//V; |
261
|
|
|
""") |
262
|
|
|
else: |
263
|
|
|
spl_help() |
264
|
|
|
|
265
|
|
|
cmd.extend('spl', spl) |
266
|
|
|
|
267
|
|
|
def g2(): |
268
|
|
|
txt = """color gray, all; |
269
|
|
|
color yellow, chain B; |
270
|
|
|
color red, resi 788-824; |
271
|
|
|
color yellow, resi 828-866; |
272
|
|
|
color forest, resi 476-490; |
273
|
|
|
""" |
274
|
|
|
color_by_text(txt) |
275
|
|
|
cmd.color('pink', 'resi 120') |
276
|
|
|
cmd.color('pink', 'resi 2') |
277
|
|
|
|
278
|
|
|
def __spl_color(): |
279
|
|
|
for m in mapping: |
|
|
|
|
280
|
|
|
protein = m[0] |
281
|
|
|
chain = m[1] |
282
|
|
|
color = m[2] |
283
|
|
|
print('\_' + ' '.join([protein, chain, color])) |
284
|
|
|
cmd.do('color ' + color + ', chain ' + chain) |
285
|
|
|
# cmd.do('color firebrick, chain V') # U6 |
286
|
|
|
|
287
|
|
|
def _spl_color(): |
288
|
|
|
"""Color spl RNAs (for only color spl RNA and use 4-color code for residues see `spl2`) |
289
|
|
|
""" |
290
|
|
|
AllObj = cmd.get_names("all") |
291
|
|
|
for name in AllObj: |
292
|
|
|
if 'Exon' in name or 'exon' in name: |
293
|
|
|
cmd.color('yellow', name) |
294
|
|
|
if 'Intron' in name or 'intron' in name or '5splicing-site' in name: |
295
|
|
|
cmd.color('gray40', name) |
296
|
|
|
if '3exon-intron' in name.lower(): |
297
|
|
|
cmd.color('gray20', name) |
298
|
|
|
if name.startswith("U2_snRNA"): |
299
|
|
|
cmd.color('forest', name) |
300
|
|
|
if name.startswith("U5_snRNA"): |
301
|
|
|
cmd.color('blue', name) |
302
|
|
|
if name.startswith("U4_snRNA"): |
303
|
|
|
cmd.color('orange', name) |
304
|
|
|
if name.startswith("U6_snRNA"): |
305
|
|
|
cmd.color('red', name) |
306
|
|
|
|
307
|
|
|
cmd.do('color gray') |
308
|
|
|
|
309
|
|
|
# trisnrp |
310
|
|
|
cmd.do('color orange, chain V') # conflict |
311
|
|
|
cmd.do('color red, chain W') |
312
|
|
|
cmd.do('color blue, chain U') |
313
|
|
|
# |
314
|
|
|
cmd.do('color blue, chain 5') |
315
|
|
|
cmd.do('color forest, chain 2') |
316
|
|
|
cmd.do('color red, chain 6') |
317
|
|
|
cmd.do('color orange, chain 4') |
318
|
|
|
cmd.do('color yellow, chain Y') |
319
|
|
|
# shi |
320
|
|
|
cmd.do('color blue, chain D') # u5 |
321
|
|
|
cmd.do('color forest, chain L') # u2 |
322
|
|
|
cmd.do('color red, chain E') # u6 |
323
|
|
|
cmd.do('color yellow, chain M') |
324
|
|
|
cmd.do('color yellow, chain N') |
325
|
|
|
# afte branch |
326
|
|
|
cmd.do('color blue, chain U') # u5 |
327
|
|
|
cmd.do('color forest, chain Z') # u2 |
328
|
|
|
cmd.do('color red, chain V') # u6 |
329
|
|
|
cmd.do('color yellow, chain E') |
330
|
|
|
cmd.do('color black, chain I') |
331
|
|
|
# 5WSG |
332
|
|
|
# Cryo-EM structure of the Catalytic Step II spliceosome (C* complex) at 4.0 angstrom resolution |
333
|
|
|
cmd.do('color blue, chain D') # u5 |
334
|
|
|
#cmd.do('color forest, chain L') # u2 |
335
|
|
|
cmd.do('color yellow, chain B') |
336
|
|
|
cmd.do('color yellow, chain b') |
337
|
|
|
cmd.do('color black, chain N') |
338
|
|
|
cmd.do('color black, chain M') |
339
|
|
|
|
340
|
|
|
cmd.do('color black, chain 3') # orange |
341
|
|
|
cmd.do('color black, chain E') # yellow |
342
|
|
|
cmd.do('color black, chain i') |
343
|
|
|
cmd.do('color black, chain e') |
344
|
|
|
|
345
|
|
|
cmd.do('color black, chain e') |
346
|
|
|
|
347
|
|
|
cmd.do('color dirtyviolet, chain L') # bud31 |
348
|
|
|
cmd.do('color rasberry, chain L') # CERF1 |
349
|
|
|
|
350
|
|
|
cmd.do('color skyblue, chain A') # PRP8 |
351
|
|
|
cmd.do('color grey60, chain B') # BRR2 |
352
|
|
|
cmd.do('color dirtyiolet, chain L') # BUD31 |
353
|
|
|
cmd.do('color rasberry, chain O') # CEF1 |
354
|
|
|
cmd.do('color rasberry, chain S') # CLF1 |
355
|
|
|
cmd.do('color dirtyviolet, chain P') # CWC15 |
356
|
|
|
cmd.do('color lightteal, chain D') # CWC16/YJU2 |
357
|
|
|
cmd.do('color ruby, chain M') # CWC2 |
358
|
|
|
cmd.do('color violetpurple, chain R') # CWC21 |
359
|
|
|
cmd.do('color bluewhite, chain H') # CWC22 |
360
|
|
|
cmd.do('color deepteal, chain F') # CWC25 |
361
|
|
|
cmd.do('color black, chain I') # Intron |
362
|
|
|
cmd.do('color dirtyviolet, chain G') # ISY1 |
363
|
|
|
cmd.do('color palegreen, chain W') # LEA1 |
364
|
|
|
cmd.do('color palegreen, chain Y') # Msl1 |
365
|
|
|
cmd.do('color lightpink, chain K') # PRP45 |
366
|
|
|
cmd.do('color smudge, chain Q') # Prp16 |
367
|
|
|
cmd.do('color grey70, chain t') # Prp19 |
368
|
|
|
cmd.do('color lightblue, chain J') # PRP46 |
369
|
|
|
cmd.do('color chocolate, chain N') # SLT11/ECM2 |
370
|
|
|
cmd.do('color grey70, chain s') # Snt309 |
371
|
|
|
cmd.do('color slate, chain C') # SNU114 |
372
|
|
|
cmd.do('color brightorange, chain T') # SYF1 |
373
|
|
|
cmd.do('color forest, chain Z') # U2 |
374
|
|
|
cmd.do('color density, chain U') # U5 |
375
|
|
|
cmd.do('color deepblue, chain b') # U5_Sm |
376
|
|
|
|
377
|
|
|
cmd.do('bg gray') |
378
|
|
|
# cmd.do('remove (polymer.protein)') |
379
|
|
|
|
380
|
|
|
cmd.set("cartoon_tube_radius", 1.0) |
381
|
|
|
ino() |
|
|
|
|
382
|
|
|
|
383
|
|
|
def spl2(): |
384
|
|
|
"""Color spl RNAs and use 4-color code for residues (for only color spl RNA see `spl`) |
385
|
|
|
""" |
386
|
|
|
|
387
|
|
|
AllObj = cmd.get_names("all") |
388
|
|
|
for name in AllObj: |
389
|
|
|
if 'Exon' in name or 'exon' in name: |
390
|
|
|
cmd.color('yellow', name) |
391
|
|
|
if 'Intron' in name or 'intron' in name or '5splicing-site' in name: |
392
|
|
|
cmd.color('gray40', name) |
393
|
|
|
if '3exon-intron' in name.lower(): |
394
|
|
|
cmd.color('gray20', name) |
395
|
|
|
if name.startswith("U2_snRNA"): |
396
|
|
|
cmd.color('forest', name) |
397
|
|
|
if name.startswith("U5_snRNA"): |
398
|
|
|
cmd.color('blue', name) |
399
|
|
|
if name.startswith("U4_snRNA"): |
400
|
|
|
cmd.color('orange', name) |
401
|
|
|
if name.startswith("U6_snRNA"): |
402
|
|
|
cmd.color('red', name) |
403
|
|
|
|
404
|
|
|
cmd.do('color gray') |
405
|
|
|
|
406
|
|
|
# trisnrp |
407
|
|
|
cmd.do('color orange, chain V') # conflict |
408
|
|
|
cmd.do('color red, chain W') |
409
|
|
|
cmd.do('color blue, chain U') |
410
|
|
|
# |
411
|
|
|
cmd.do('color blue, chain 5') |
412
|
|
|
cmd.do('color forest, chain 2') |
413
|
|
|
cmd.do('color red, chain 6') |
414
|
|
|
cmd.do('color orange, chain 4') |
415
|
|
|
cmd.do('color yellow, chain Y') |
416
|
|
|
# shi |
417
|
|
|
cmd.do('color blue, chain D') # u5 |
418
|
|
|
cmd.do('color forest, chain L') # u2 |
419
|
|
|
cmd.do('color red, chain E') # u6 |
420
|
|
|
cmd.do('color yellow, chain M') |
421
|
|
|
cmd.do('color yellow, chain N') |
422
|
|
|
# afte branch |
423
|
|
|
cmd.do('color blue, chain U') # u5 |
424
|
|
|
cmd.do('color forest, chain Z') # u2 |
425
|
|
|
cmd.do('color red, chain V') # u6 |
426
|
|
|
cmd.do('color yellow, chain E') |
427
|
|
|
cmd.do('color black, chain I') |
428
|
|
|
# 5WSG |
429
|
|
|
# Cryo-EM structure of the Catalytic Step II spliceosome (C* complex) at 4.0 angstrom resolution |
430
|
|
|
cmd.do('color blue, chain D') # u5 |
431
|
|
|
#cmd.do('color forest, chain L') # u2 |
432
|
|
|
cmd.do('color yellow, chain B') |
433
|
|
|
cmd.do('color yellow, chain b') |
434
|
|
|
cmd.do('color black, chain N') |
435
|
|
|
cmd.do('color black, chain M') |
436
|
|
|
|
437
|
|
|
cmd.do('color black, chain 3') # orange |
438
|
|
|
cmd.do('color black, chain E') # yellow |
439
|
|
|
cmd.do('color black, chain i') |
440
|
|
|
cmd.do('color black, chain e') |
441
|
|
|
|
442
|
|
|
cmd.do('bg gray') |
443
|
|
|
cmd.do('remove (polymer.protein)') |
444
|
|
|
|
445
|
|
|
cmd.color("red",'resn rG+G and name n1+c6+o6+c5+c4+n7+c8+n9+n3+c2+n1+n2') |
446
|
|
|
cmd.color("forest",'resn rC+C and name n1+c2+o2+n3+c4+n4+c5+c6') |
447
|
|
|
cmd.color("orange",'resn rA+A and name n1+c6+n6+c5+n7+c8+n9+c4+n3+c2') |
448
|
|
|
cmd.color("blue",'resn rU+U and name n3+c4+o4+c5+c6+n1+c2+o2') |
449
|
|
|
cmd.set("cartoon_tube_radius", 1.0) |
450
|
|
|
ino() |
|
|
|
|
451
|
|
|
|
452
|
|
|
|
453
|
|
|
def x(): |
454
|
|
|
spl_extract() |
|
|
|
|
455
|
|
|
spl_color() |
|
|
|
|
456
|
|
|
cmd.extend("x", x) |
457
|
|
|
|
458
|
|
|
def _spli(): |
459
|
|
|
""" |
460
|
|
|
# this trick is taken from Rhiju's Das code |
461
|
|
|
color red,resn rG+G and name n1+c6+o6+c5+c4+n7+c8+n9+n3+c2+n1+n2 |
462
|
|
|
color forest,resn rC+C and name n1+c2+o2+n3+c4+n4+c5+c6 |
463
|
|
|
color orange, resn rA+A and name n1+c6+n6+c5+n7+c8+n9+c4+n3+c2 |
464
|
|
|
color blue, resn rU+U and name n3+c4+o4+c5+c6+n1+c2+o2 |
465
|
|
|
|
466
|
|
|
# |
467
|
|
|
#cmd.color("yellow", "*intron*") |
468
|
|
|
#cmd.color("yellow", "*exon*") |
469
|
|
|
|
470
|
|
|
#cmd.show("spheres", "inorganic") |
471
|
|
|
#cmd.color("yellow", "inorganic") |
472
|
|
|
""" |
473
|
|
|
cmd.color("orange", "U4_snRNA*") |
474
|
|
|
cmd.color("red", "U6_snRNA*") |
475
|
|
|
cmd.color("blue", "U5_snRNA*") |
476
|
|
|
cmd.color("green", "U2_snRNA*") |
477
|
|
|
cmd.color("red",'resn rG+G and name n1+c6+o6+c5+c4+n7+c8+n9+n3+c2+n1+n2') |
478
|
|
|
cmd.color("forest",'resn rC+C and name n1+c2+o2+n3+c4+n4+c5+c6') |
479
|
|
|
cmd.color("orange",'resn rA+A and name n1+c6+n6+c5+n7+c8+n9+c4+n3+c2') |
480
|
|
|
cmd.color("blue",'resn rU+U and name n3+c4+o4+c5+c6+n1+c2+o2') |
481
|
|
|
|
482
|
|
|
try: |
483
|
|
|
from pymol import cmd |
484
|
|
|
except ImportError: |
485
|
|
|
print("PyMOL Python lib is missing") |
486
|
|
|
else: |
487
|
|
|
|
488
|
|
|
#cmd.extend("spl", spl) |
489
|
|
|
cmd.extend("spl2", spl2) |
490
|
|
|
|
491
|
|
|
|