# Launch PyMOL with the "-R" option (pymol -R),
# open a Python 3 notebook, then execute
# remote control of PyMOL (RPC) with XML-RPC:
# https://pymolwiki.org/index.php/Jupyter
# https://pymolwiki.org/index.php/RPC
import xmlrpc.client as xmlrpclib
cmd = xmlrpclib.ServerProxy('http://localhost:9123')
from IPython import display
# ID task 1: 16
# PDB task 1, 3, 4: 5RE6
cmd.fetch('5re6')
'5re6'
cmd.hide('everything')
cmd.bg_color('white')
cmd.remove('solvent')
cmd.show('cartoon', 'all')
cmd.color('white', '(chain B)')
cmd.color('gray80', '(elem C)')
cmd.select('ligand', 'chain A and resn O0S') # The ligand's name is O0S
cmd.orient('ligand')
cmd.select('site', 'byres all within 4.5 of ligand')
cmd.show('sticks', 'site')
cmd.set_bond('stick_radius', '0.25', 'site')
cmd.do('''
label site and name CA, "%s-%s" %(resn, resi)
label ligand and name C5, "%s" %(O0S)
set label_size, 10
set label_position, [0.0, 0.0, 2.5]
set_view (\
-0.398083270, 0.375156015, 0.837123096,\
-0.910819650, -0.053016413, -0.409366786,\
-0.109199025, -0.925433218, 0.362802476,\
-0.000168266, 0.000473794, -48.623908997,\
21.257823944, -16.955026627, 24.551086426,\
-54872.414062500, 54969.546875000, -20.000000000 )
''')
cmd.do('''
show sticks, ligand
set stick_radius, .07
set sphere_scale, .18
set sphere_scale, .13, elem H
set stick_quality, 50
set sphere_quality, 4
color gray70, elem C and ligand
color red, elem O
color slate, elem N
color gray98, elem H
set ray_trace_mode, 1
set ray_texture, 2
set antialias, 3
set ambient, 0.5
set spec_count, 5
set shininess, 50
set specular, 1
set reflect, .1
set dash_gap, 0
set dash_color, black
set dash_gap, .15
set dash_length, .05
set dash_round_ends, 0
set dash_radius, .05
python
preset.ball_and_stick('ligand')
python end
''')
cmd.do('''
set cartoon_side_chain_helper, 1
set cartoon_transparency, 0.3
set ray_trace_mode, 1
''')
#cmd.do('''
#ray
#save /home/eva/pymol/5re6.png
#save /home/eva/pymol/5re6.pse
#''')
В задании 1 нужно было отработать навыки работы с PyMol и подготовить 1 картинку и 1 сессию. На рисунке 1 я показала фрагмент (O0S) и окружающие его остатки так, чтобы было понятно, где он располагается и с чем потенциально взаимодействует. Подписаны названия и id остатков белка, расположенных на расстоянии 5 Å и меньше.
display.Image('/home/eva/pymol/5re6_pymol.png')
Рисунок 1. Визуализация 5RE6 в PyMol.
cmd.reinitialize()
# ID task 2: 25
# PDB task 2: 3K34, 1KWQ
cmd.fetch('3k34')
cmd.fetch('1kwq')
'1kwq'
cmd.bg_color('white')
cmd.remove('solvent')
cmd.color('gray80', '3k34 and elem C')
cmd.color('br2', '1kwq and elem C')
cmd.select('site_1_1kwq', 'resi 43-51 and 1kwq')
cmd.select('site_1_3k34', 'resi 43-51 and 3k34')
cmd.select('site_2_1kwq', 'resi 77-82 and 1kwq')
cmd.select('site_2_3k34', 'resi 77-82 and 3k34')
cmd.select('site_3_1kwq', 'resi 11-26 and 1kwq')
cmd.select('site_3_3k34', 'resi 11-26 and 3k34')
cmd.do('''
label site_1_1kwq and name CA, "%s" %(resi)
label site_2_1kwq and name CA, "%s" %(resi)
set label_position, [-1.7, 0.4, 4.5]
set label_size, 7
''')
cmd.color('br6', 'site_1_1kwq or site_2_1kwq or site_3_1kwq and elem C')
cmd.color('brightorange', 'site_1_3k34 or site_2_3k34 or site_3_3k34 and elem C')
cmd.do('''
set_view (\
0.228800148, -0.150891542, -0.961697102,\
0.614363074, 0.788685620, 0.022422662,\
0.755099535, -0.595966280, 0.273155957,\
-0.000412092, 0.000285134, -90.332374573,\
-17.815889359, 3.420006037, 18.034568787,\
-101.844551086, 282.359222412, -20.000000000 )
''')
cmd.do('''
ray 1500, 800
save /home/eva/pymol/3k34_1kwq_4.png
''')
cmd.do('''
set_view (\
-0.123166658, 0.225557178, 0.966401398,\
-0.696505666, 0.674008250, -0.246086031,\
-0.706873655, -0.703424513, 0.074088268,\
-0.000412092, 0.000285134, -91.694145203,\
-17.815889359, 3.420006037, 18.034568787,\
-1329.983642578, 1513.221801758, -20.000000000 )
hide label
label site_3_1kwq and name CA, "%s" %(resi)
ray 1500, 800
save /home/eva/pymol/3k34_1kwq_5.png
''')
Оранжевым и фиолетовым отмечены отличающиеся части в структурах 3K34 и 1KWQ соответственно. На рисунке 2 показаны два отличающихся фрагмента: участок 1 (между 43 и 51 остатком) отличается длиной бета-тяжа и ходом петли (3K34 формирует более длинный бета-тяж), участок 2 (между 77 и 82 остатком) - поворотом бета-тяжей (бета-тяж 1KWQ перпендикулярно закручен относительно конца бета-тяжа 3K34). На рисунке 3 изображен третий отличающийся фрагмент: участок с 11 по 26 отличается отсутствием вторичной структуры на месте петли (на месте спирали 1KWQ расположена петля 3K34 и наоборот).
display.Image('/home/eva/pymol/3k34_1kwq_4.png')
Рисунок 2. Отличающиеся части в структурах 3K34 (отмечены оранжевым) и 1KWQ (отмечены фиолетовым). На рисунке показаны фрагменты с 43 по 51 и с 77 по 82 остаток.
display.Image('/home/eva/pymol/3k34_1kwq_5.png')
Рисунок 3. Отличающиеся части в структурах 3K34 (отмечены оранжевым) и 1KWQ (отмечены фиолетовым). На рисунке показан фрагмент с 11 по 26 остататок.
cmd.do('''
hide everything, all
show cartoon, 3k34
label site_3_1kwq and name CA, "%s" %(resi)
set label_position, [1.0, 0.4, 4.5]
ray 1500, 800
save /home/eva/pymol/3k34_5.png
hide everything, all
show cartoon, 1kwq
label site_3_1kwq and name CA, "%s" %(resi)
set label_position, [-0.3, 0.4, 6.5]
ray 1500, 800
save /home/eva/pymol/1kwq_5.png
show cartoon, 3k34
''')
Однако последний фрагмент скорее свидетельствует об ошибке отображения PyMol, т. к. для сохранения своей структуры (паттерна i-i+4) альфа-спираль должна быть прямой. Ни у 3K34, ни у 1KWQ это правило не соблюдается (альфа-спираль изогнута). Т. е. различия на рисунках 4, 5 являются следствием неправильного отображение вторичной структуры PyMol'ом, а не разным качеством структур.
display.Image('/home/eva/pymol/3k34_5.png')
Рисунок 4. Отличающийся между структурами фрагмент с 11 по 26 остаток в 3K34. Ход спирали не прерывается.
display.Image('/home/eva/pymol/1kwq_5.png')
Рисунок 5. Отличающийся между структурами фрагмент с 11 по 26 остаток в 1KWQ. Ход спирали прерывается с 16 по 20 остаток.
cmd.do('''
fetch 3k34, type=2fofc
fetch 1kwq, type=2fofc
''')
cmd.do('''
set_view (\
0.192248225, 0.500236094, 0.844247162,\
-0.625654578, 0.725258946, -0.287248641,\
-0.756012678, -0.472994238, 0.452418476,\
-0.000342323, 0.000081204, -48.818889618,\
7.758347034, 0.666214943, 18.246301651,\
8.696754456, 88.900054932, -20.000000000 )
sele diff_1kwq, 1kwq and resi 16-20
hide cartoon, diff_1kwq
show sticks, diff_1kwq
sele diff_3k34, 3k34 and resi 16-20
hide cartoon, diff_3k34
show sticks, diff_3k34
set cartoon_transparency, 0.3
isomesh 16-20_diff_1kwq, 1kwq_2fofc, 2, diff_1kwq and backbone, carve=1, level=2.0
color lightblue, 16-20_diff_1kwq
isomesh 16-20_diff_3k34, 3k34_2fofc, 2, diff_3k34 and backbone, carve=1, level=2.0
color marine, 16-20_diff_3k34
label 1kwq and resi 16-20 and name CA, "%s" %(resi)
label 3k34 and resi 16-20 and name CA, "%s" %(resi)
set label_size, 20
''')
#cmd.ray
Посмотрим на электронную плотность на участках с 16 по 20 остаток обеих структур в этом участке.
По моему мнению, структура 3K34 (рисунок 6) имеет лучшее разрешение, т. к. электронная плотность, представленная с помощью покрытия mesh, у 1KWQ (рисунок 7) значительно менее равномерное, с большим размером "дыр" (не занолненное линиями пространсто в mesh). Электронные облачка вокруг атомов в 1KWQ выглядят угловато, некоторые части атомов "обрезаются" или вплотную соприкасаются с покрытием, чего не должно быть, т. к. в таком случае "обрезаются" и неотображающиеся электроны. В 3K34 такого нет, электорнная плотность лучше согласуется с положениями отдельных атомов, т. к. облачка вокруг атомов шарообразные, образуют сферу вокруг атомв, а mesh более плотно покрывает весь backbone. Это может быть связано с лучшим разрешением структуры.
3K34 - 0.90 Å
1KWQ - 2.60 Å
Мои выводы совпали с информацией на сайте PDB.
display.Image('/home/eva/pymol/3k34_mesh_l2.png')
Рисунок 6. Отличающийся между структурами фрагмент с 11 по 26 остаток в 3K34. Ход спирали прерывается с 16 по 20 остаток. Показана электронная плотность в виде mesh. Уровень подрезки 2. Значениe разрешения из записей в PDB 3K34 - 0.90 Å.
display.Image('/home/eva/pymol/1kwq_mesh_l2.png')
Рисунок 7. Отличающийся между структурами фрагмент с 11 по 26 остаток в 1KWQ. Ход спирали прерывается с 16 по 20 остаток. Показана электронная плотность в виде mesh. Уровень подрезки 2. Значениe разрешения из записей в PDB 1BNM - 2.60 Å.
cmd.reinitialize()
# ID task 1: 16
# PDB task 1, 3, 4: 5RE6
cmd.fetch('5re6')
cmd.do('''
fetch 5re6, type=2fofc
''')
cmd.hide('everything')
cmd.bg_color('white')
cmd.remove('solvent')
cmd.show('cartoon', 'all')
cmd.show('sticks', 'all')
cmd.color('white', '(chain B)')
cmd.color('gray80', '(elem C)')
cmd.do('''
hide everything
show sticks, backbone
set_view (\
-0.056904662, -0.426454484, -0.902717054,\
-0.734771073, 0.630037606, -0.251320034,\
0.675923288, 0.648988903, -0.349198729,\
-0.000000585, 0.000001617, -134.616790771,\
12.880530357, 1.399322033, 1.993731737,\
88.974060059, 180.259948730, -20.000000000 )
isomesh 5re6_mesh_l1, 5re6_2fofc, 2, backbone, carve=2, level=1.0
isomesh 5re6_mesh_l2, 5re6_2fofc, 2, backbone, carve=2, level=2.0
isomesh 5re6_mesh_l3, 5re6_2fofc, 2, backbone, carve=2, level=3.0
color density, 5re6_mesh_l1
color density, 5re6_mesh_l2
color density, 5re6_mesh_l3
set cartoon_transparency, 0.6
set ray_trace_mode, 1
''')
#cmd.draw()
При рассмотрении на уровне всего белка перехода 1 -> 2 -> 3 mesh начинает уходит с краев и петель белка и дольше всего остается в центре (рисунки 8-10). На атомном уровне первыми перестают быть покрытыми mesh'ем химические связи. Возможно, это связано с тем, что электронная плотность в районе связей малая (количество электронов, образующих химическую связь, меньше, чем электронов у тяжелых атомов). Падение качества на краях белка и линкерных петлях может быть связано с большей подвижностью этих областей. По краям белков расположены петли, подвижность которых практически ничем не ограничивается, а внутри - высоко структурированные участки (альфа-спирали, бета-тяжи), чья подвижность сдерживается различными взаимодействиями (сетью водородных связей, дисульфидными и солевыми мостиками, гидрофобным эффектом).
display.Image('/home/eva/pymol/5re6_mesh_l1.png')
Рисунок 8. Структура 5RE6. Показано покрытие mesh только для остова белка. Уровень подрезки 1.
display.Image('/home/eva/pymol/5re6_mesh_l2.png')
Рисунок 9. Структура 5RE6. Показано покрытие mesh только для остова белка. Уровень подрезки 2.
display.Image('/home/eva/pymol/5re6_mesh_l3.png')
Рисунок 10. Структура 5RE6. Показано покрытие mesh только для остова белка. Уровень подрезки 3.
cmd.hide('everything')
cmd.select('ligand', 'chain A and resn O0S') # The ligand's name is O0s
cmd.orient('ligand')
cmd.show('sticks', 'ligand')
cmd.do('''
isomesh ligand_mesh_l1, 5re6_2fofc, 2, ligand, carve=2, level=1.0
isomesh ligand_mesh_l2, 5re6_2fofc, 2, ligand, carve=2, level=2.0
isomesh ligand_mesh_l3, 5re6_2fofc, 2, ligand, carve=2, level=3.0
color density, ligand_mesh_l1
color density, ligand_mesh_l2
color density, ligand_mesh_l3
set_view (\
0.039613873, -0.971352577, -0.234314591,\
-0.610839546, -0.209119961, 0.763638616,\
-0.790763378, 0.112877831, -0.601625264,\
0.000000000, 0.000000000, -25.196849823,\
23.887704849, -18.588882446, 23.159883499,\
19.865388870, 30.528310776, -20.000000000 )
''')
#cmd.draw()
Как видно из рисунков 11-13, после 2 уровня подрезки постепенно начинает пропадать mesh с атомов. Покрытие сохраняется дольше всего на наиболее электоотрицательных атомах (например, на ислородах, когда на атомах С покрытия mesh уже не осталось).
Таким образом, изменение количества покрытых mesh'ем частей белка зависит от электронной плотности. Т. к. электронная плотность убывает слева направо в ряду химические связи -> менее электроотрицательные атомы (например, C) -> более электроотрицательные атомы (например, О), то и mesh убывает при переходе 1 -> 2 -> 3 по уровням покрытия.
display.Image('/home/eva/pymol/ligand_mesh_l1.png')
Рисунок 11. Фрагмент структуры 5RE6 (O0S). Показано покрытие mesh только для остова. Уровень подрезки 1.
display.Image('/home/eva/pymol/ligand_mesh_l2.png')
Рисунок 12. Фрагмент структуры 5RE6 (O0S). Показано покрытие mesh только для остова. Уровень подрезки 2.
display.Image('/home/eva/pymol/ligand_mesh_l3.png')
Рисунок 13. Фрагмент структуры 5RE6 (O0S). Показано покрытие mesh только для остова. Уровень подрезки 3.