Загрузили структуру 1cll, видны только остовные атомы - C, O, N, CA. Фокусируемся на остатках 4, 5 (лейцин и треонин).
import __main__
__main__.pymol_argv = [ 'pymol', '-x' ]
import pymol
pymol.finish_launching()
from pymol import cmd,stored
cmd.do('''
fetch 1cll, async=0
as lines, n. C+O+N+CA
zoom i. 4+5
mset 1 x1000
mview store''')
from IPython.display import Image
import __main__
__main__.pymol_argv = [ 'pymol', '-x' ]
import pymol
pymol.finish_launching()
from pymol import cmd,stored
cmd.do('''
fetch 1LMP, async=0
as lines, n. C+O+N+CA''')
Модель до:
Image('1lmp.png')
Модель после применения Sculpting
Image('1lmp_new.png')
Ниже представлено изображение всех обнаруженных водородных связей, образуемых между лигандом и белком.
Image('contacts.png')
Промутируем наш белок по остатку аспарагиновой кислоты (выделен малиновым на картинке выше), заменив его на остаток лейцина, тем самым нарушив его взаимодействие с лигандом.
cmd.create("1LMP_2", "1LMP")
cmd.wizard("mutagenesis")
cmd.do("refresh_wizard")
cmd.get_wizard().set_mode("LEU")
cmd.select("resi 52 and chain A and 1LMP_2")
cmd.get_wizard().do_select("sele")
cmd.get_wizard().apply()
cmd.set_wizard("done")
cmd.do('''
select mut, (resi 52 and chain A and 1LMP_2 and sc.) or (resi 52 and chain A and 1LMP_2 and name CA)
select norm, (resi 52 and chain A and 1LMP and sc.) or (resi 52 and chain A and 1LMP_2 and name CA)''')
#Создаем видео, в котором из 120 кадров 90 кадров происходит совмещение белков (дикий тип и мутантный)
#Оставшиеся кадры мы приближамся к мутированному аминокислотному остатку (при этом дикий тип делаем полупрозрачным)
cmd.do('''
color atomic, 1LMP
color orange, 1LMP_2
mset 1 x120
set_view (\
-0.7483029961585999,\
-0.5054934620857239,\
0.42955076694488525,\
-0.4733351171016693,\
0.8605573773384094,\
0.18813560903072357,\
-0.46475449204444885,\
-0.06254035234451294,\
-0.8832262754440308,\
-0.0,\
0.0,\
-130.9127197265625,\
14.314750671386719,\
50.99576187133789,\
20.766393661499023,\
103.21258544921875,\
158.61285400390625,\
-20.0)
translate [0,0,60], object=1LMP_2
translate [0,0,-60], object=1LMP
mview store
frame 1
set_view (\
-0.7483029961585999,\
-0.5054934620857239,\
0.42955076694488525,\
-0.4733351171016693,\
0.8605573773384094,\
0.18813560903072357,\
-0.46475449204444885,\
-0.06254035234451294,\
-0.8832262754440308,\
-0.0,\
0.0,\
-130.9127197265625,\
14.314750671386719,\
50.99576187133789,\
20.766393661499023,\
103.21258544921875,\
158.61285400390625,\
-20.0)
mview store, object=1LMP_2
mview store, object=1LMP
mview store
frame 90
set_view (\
-0.7483029961585999,\
-0.5054934620857239,\
0.42955076694488525,\
-0.4733351171016693,\
0.8605573773384094,\
0.18813560903072357,\
-0.46475449204444885,\
-0.06254035234451294,\
-0.8832262754440308,\
-0.0,\
0.0,\
-130.9127197265625,\
14.314750671386719,\
50.99576187133789,\
20.766393661499023,\
103.21258544921875,\
158.61285400390625,\
-20.0)
translate [0,0,-60], object=1LMP_2
translate [0,0,60], object=1LMP
mview store, object=1LMP_2
mview store, object=1LMP
mview store
mview interpolate, object=1LMP_2
mview interpolate, object=1LMP
frame 120
translate [0,0,0], object=1LMP_2
translate [0,0,0], object=1LMP
set_view (\
-0.7483029961585999, -0.5054934620857239, 0.42955076694488525,\
-0.4733351171016693, 0.8605573773384094, 0.18813560903072357,\
-0.46475449204444885, -0.06254035234451294, -0.8832262754440308,\
-0.00014065971481613815, -0.002770405262708664, -34.00832748413086,\
20.798187, 55.54808044, 27.16142272,\
23.577062, 44.5744247, -20.00 )
show sticks, norm
show sticks, mut
set stick_transparency, 0.6, norm
mview store, object=1LMP_2
mview store, object=1LMP
mview store
mplay
set cache_frames=0
mclear
mpng mov
''')
from IPython.display import Image
display(Image("pr_2.gif", format='png'))
Присоединение TAMRA к серину 81
cmd.do('''
reini
fetch 1lmp
hide nonbonded
bg_color black
load Tamra.sdf
remove tamra and id 54
show sticks, resi 81
remove resi 81 and name OG1
fuse tamra and donor, resi 81 and name CB, mode=1
torsion 50
remove tamra
orient resi 81
turn y, -150
unpick
png 24.png, width=1080, height=720, ray=1
orient 1lmp
color orange, resi 81
png tamra.png, width=1080, height=720, ray=1
''')
Image('tamra.png')
Альфа-спираль из остатков ALA:
cmd.reinitialize()
cmd.fragment('ALA')
cmd.do('''
edit ALA and name C
editor.attach_amino_acid("pk1","ALA")
set_dihedral ALA///2/ and name N, ALA///2/ and name CA, ALA///2/ and name C, ALA///3/ and name N, -45
set_dihedral ALA///2/ and name CA, ALA///2/ and name C, ALA///3/ and name N, ALA///3/ and name CA, 180
set_dihedral ALA///2/ and name C, ALA///3/ and name N, ALA///3/ and name CA, ALA///3/ and name C, -60''')
for i in range(3,100):
to_do = 'edit ALA///' + str(i) + '/ and name C'
cmd.do(to_do)
cmd.do('editor.attach_amino_acid("pk1","ALA")')
to_do = 'set_dihedral ALA///'+str(i)+'/ and name N, ALA///'+str(i)+'/ and name CA, ALA///'+str(i)+'/ and name C, ALA///'+str(i+1)+'/ and name N, -45'
cmd.do(to_do)
to_do = 'set_dihedral ALA///'+str(i)+'/ and name CA, ALA///'+str(i)+'/ and name C, ALA///'+str(i+1)+'/ and name N, ALA///'+str(i+1)+'/ and name CA, 180'
cmd.do(to_do)
to_do = 'set_dihedral ALA///'+str(i)+'/ and name C, ALA///'+str(i+1)+'/ and name N, ALA///'+str(i+1)+'/ and name CA, ALA///'+str(i+1)+'/ and name C, -60'
cmd.do(to_do)
cmd.do('''
hide all
show sticks, ALA''')
Image('ALA.png')