# 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
# PDB: 6AF7
# Question: B
cmd.fetch('6af7')
'6af7'
cmd.hide('everything')
cmd.bg_color('white')
cmd.remove('solvent')
cmd.show('cartoon', 'all')
cmd.color('gray80', '(elem C)')
cmd.select('resA', 'chain A and resn LYS and resi 4 and alt "A"')
cmd.select('resB', 'chain A and resn LYS and resi 4 and alt "B"')
cmd.select('siteA', 'byres all within 5 of resA')
cmd.select('siteB', 'byres all within 5 of resB')
cmd.show('sticks', 'resA or resB or siteA or siteB')
cmd.color('br6', 'elem C and resA')
cmd.color('brightorange', 'elem C and resB')
cmd.do('''
set_view (\
0.449445873, -0.822412074, -0.348758787,\
0.642761827, 0.568851531, -0.513090491,\
0.620364845, 0.006437571, 0.784287095,\
0.000045546, 0.000143267, -40.139106750,\
18.839939117, -24.288829803, -13.970940590,\
4.219099998, 76.055686951, -20.000000000 )
set cartoon_side_chain_helper, 1
set cartoon_transparency, 0.4
set ray_trace_mode, 1
''')
cmd.hide('everything', 'resA')
cmd.do('''
distance hbB, /6af7/A/A/LYS`4/NZ`B, /6af7/A/A/ASP`68/OD1
distance elB, /6af7/A/A/LYS`4/NZ`B, /6af7/A/A/ASP`68/CG
set label_size, 15
set label_position, [-0.1, -0.1, 5.0], hbB
color paleyellow, hbB
set label_position, [-0.2, 0.1, 5.0], elB
color lightblue, elB
''')
#cmd.ray(1500, 800)
#cmd.save('altB.png')
cmd.hide('everything', 'resB')
cmd.show('sticks', 'resA')
cmd.show('sticks', 'resA')
cmd.show('cartoon', 'resA')
cmd.do('''
delete hbB or elB
distance hbA, /6af7/A/A/LYS`4/NZ`A, /6af7/A/A/ASP`68/OD1
distance elA, /6af7/A/A/LYS`4/NZ`A, /6af7/A/A/ASP`68/CG
set label_size, 15
set label_position, [0.2, -0.4, 5.0], hbA
color paleyellow, hbA
set label_position, [-0.1, 0.3, 5.0], elA
color lightblue, elA
''')
#cmd.ray(1500, 800)
#cmd.save('altA.png')
Мне кажется альт-лок B более стабильным несмотря на то, что данные по населенности (рисунок 1) говорят обратное (все альт-локи A населены на 60%, а B - на 40%).
Лизин - положительно зараяженная при pH = 7 аминокислота (-NH3+ в радикале). Водородные связи образуются на более близком расстоянии, чем солевые мостики (длина первых - до ~3 Å, последних - до ~5 Å), также для образования водородной связи требуется угол ~180°. BLYS4 (алт-лок B LYS4) в цепи A 6AF7 не образует связей с подобной геометрией, поэтому, водородных связей среди его контактов с другими остатками нет (рисунок 2, бледно-желтая пунктирная линия), а электростатическое взаимодествие есть (рисунок 2, бледно-синяя пунктирная линия): между -NH3+ группой BLYS4 и -COO- группой ASP68. Всеми остальными атомами радикала (С-атомы) BLYS4 образует Ван-дер-Ваальсовы взаимодействиями с неполярнуми аминокислотами окружения. Такое положение, когда он "лежит" на гидрофобных остатках, требует меньше молекул воды, чтобы сформировать гидратную оболочку вокруг BLYS4 и гидрофобных остатков. В альт-локе A LYS4 (ALYS4) водородной связи так же нет (рисунок 3, бледно-желтая пунктирная линия), солевой мостик слабее (рисунок 3, бледно-синяя пунктирная линия), поскольку -NH3+ группа ALYS4 расположена дальше от -COO- группы ASP68, чем в BLYS4 (-NH3+ BLYS4 - -COO- ASP68: 4.7 Å, -NH3+ ALYS4 - -COO- ASP68: 5.1 Å). К тому же, положительно заряженная группа в ALYS4 смотрит вниз (не на -COO- ASP68), что странно, поскольку между этими группами притяжение, а не отталкивание, чего не видно в ALYS4.
display.Image('/home/eva/pymol/lys4.jpg')
Рисунок 1. Данные по насленности атомов LYS4 цепи A структуры 6AF7 с сайта PDB.
display.Image('/home/eva/pymol/altB.png')
Рисунок 2. Альт-лок B LYS4 цепи A структуры 6AF7. В виде sticks отображены остатки белка на расстоянии 5 Å от LYS4. Бледно-желтая пунктирная линия - возможная водородная связь (которй в данной позиции структуры нет из слишком большого рассстояния) бледно-синяя пунктирная линия - солевой мостик (есть). Водороды не показаны.
display.Image('/home/eva/pymol/altA.png')
Рисунок 3. Альт-лок A LYS4 цепи A структуры 6AF7. В виде sticks отображены остатки белка на расстоянии 5 Å от LYS4. Бледно-желтая пунктирная линия - возможная водородная связь (которй в данной позиции структуры нет из слишком большого рассстояния) бледно-синяя пунктирная линия - солевой мостик (есть). Водороды не показаны.
cmd.reinitialize()
# PDB: 6AF7
cmd.fetch('6af7')
cmd.do('''
fetch 6af7, type=2fofc
''')
cmd.hide('everything')
cmd.bg_color('white')
cmd.remove('solvent')
cmd.show('sticks', 'backbone')
cmd.do('''
set_view (\
-0.385240614, 0.546688914, -0.743449271,\
0.855693638, 0.513254285, -0.065987006,\
0.345505148, -0.661586404, -0.665526032,\
0.000105709, -0.000030562, -126.273597717,\
23.557159424, -27.538999557, -11.444760323,\
-500.478698730, 753.027282715, -20.000000000 )
spectrum b, blue_white_red, backbone
set ray_trace_mode, 1
''')
#cmd.ray(1500, 800)
#cmd.save('bfactor_bb.png')
cmd.show('sticks', 'all')
cmd.do('''
spectrum b, blue_white_red
set_view (\
-0.442371488, 0.399984896, -0.802692592,\
0.734237015, 0.675469160, -0.068056881,\
0.514974117, -0.619474590, -0.592492998,\
0.000300027, 0.000080511, -28.563470840,\
22.413707733, -46.604255676, -25.736667633,\
6.795495510, 50.332107544, -20.000000000 )
select res, resn LYS and resi 188 and chain A
label res and name CA, "%s-%s" %(resn, resi)
set label_size, 20
set label_position, [-3.0, 0.0, 5]
isomesh res_mesh1, 6af7_2fofc, 2, res, carve=2, level=1.0
isomesh res_mesh2, 6af7_2fofc, 2, res, carve=2, level=2.0
isomesh res_mesh3, 6af7_2fofc, 2, res, carve=2, level=3.0
color density, res_mesh1
color density, res_mesh2
color density, res_mesh3
''')
Величина B-фактора отражает термическую подвижность белка. Есть связь между положением участка белка относительно всей глобулы и B-факторами атомов этого участка: по переферии белка окраска красная (высокая подвижность атомов) или белая (средняя подвижность атомов), внутри - синяя (малая подвижность атомов). По краям белков расположены петли, подвижность которых практически ничем не ограничивается, а внутри - высоко структурированные участки (альфа-спирали, бета-тяжи), чья подвижность сдерживается различными взаимодействиями (сетью водородных связей, дисульфидными и солевыми мостиками, гидрофобным эффектом)
При наблюдении за электронной плотностью и величиной B-фактора атомов отдельного остатка (я взяла LYS188 цепи A 6AF7) можно заметить, что плотность пропадает сначала с наиболее подвижной части остатка (с его конча в данном случае, поскольку радикал длинный, а никакие взаимодействия его подвижность не сдерживают) и дольше всего сохраняется на границе радикала с коровй части всех аминокислот (рисунки 5-7). Т. е. при переходе 1 -> 2 -> 3 по уровням покрытия в первую очередь электронной плотности не остается в красных высокоподвижных регионах, потом - в белых, в конце - в синих. Это может быть связано с тем, что из-за подвижности атомов их плотность размазывается, и в каждой точке пространства ее становится меньше.
display.Image('/home/eva/pymol/bfactor.png')
Рисунок 4. Структура 6AF7, раскрашенная по B-фактору. Синий цвет остатка обозначает малую подвижность, белый — среднюю, красный — высокую.
display.Image('/home/eva/pymol/res_mesh1.png')
Рисунок 5. LYS188 цепи A 6AF7, раскрашенная по B-фактору. Синий цвет остатка обозначает малую подвижность, белый — среднюю, красный — высокую. Электронная плотность показана в виде mesh. Уровень подрезки 1.
display.Image('/home/eva/pymol/res_mesh2.png')
Рисунок 6. LYS188 цепи A 6AF7, раскрашенная по B-фактору. Синий цвет остатка обозначает малую подвижность, белый — среднюю, красный — высокую. Электронная плотность показана в виде mesh. Уровень подрезки 2.
display.Image('/home/eva/pymol/res_mesh3.png')
Рисунок 7. LYS188 цепи A 6AF7, раскрашенная по B-фактору. Синий цвет остатка обозначает малую подвижность, белый — среднюю, красный — высокую. Электронная плотность показана в виде mesh. Уровень подрезки 3.
cmd.reinitialize()
# PDB: 6AF7
cmd.fetch('6af7')
'6af7'
cmd.hide('everything')
cmd.bg_color('white')
cmd.remove('solvent')
cmd.show('cartoon', 'all')
cmd.color('gray80', '(elem C)')
cmd.do('''
symexp 6af7_, 6af7, all, 1000
''')
Чтобы востановить кристалл, частью которого является 6AF7, я использовала отсечку в 15 Å. Такого занчения отсечки было достаточно, чтобы показать достаточное для иллюстрации "кристалличности" количество соседей. При увеличении отсечки (до 1000 Å) структура кристалла, показанная на рисунке 8, не менялась, он только вытягивался в стороны: переднюю и заднюю, если смотреть с ракурса, изображенного на рисунке 8.
6AF7 непосредственно соприкосается в 5 соседями (рисунок 9). Зоны контактов изображены на рисунках 10-14. 6AF7 контактирует с соседями посредствам гидрофобных взаимодействий.
display.Image('/home/eva/pymol/sym_1.png')
Рисунок 8. Кристалл, в состав которого входит структура 6AF7.
display.Image('/home/eva/pymol/sym_5.png')
Рисунок 9. Соседи, с которыми контактирует 6AF7 (5 штук).
display.Image('/home/eva/pymol/contact_orange_gray.png')
Рисунок 10. Контакт между соседом (оранжевый на рисунке 9) и исходным 6AF7 (серый). Surface показано место гидрофобного взаимодействия между молекулами.
display.Image('/home/eva/pymol/contact_yellow_gray.png')
Рисунок 11. Контакт между соседом (желтый на рисунке 9) и исходным 6AF7 (серый). Surface показано место гидрофобного взаимодействия между молекулами.
display.Image('/home/eva/pymol/contact_green_gray.png')
Рисунок 12. Контакт между соседом (зеленый на рисунке 9) и исходным 6AF7 (серый). Surface показано место гидрофобного взаимодействия между молекулами.
display.Image('/home/eva/pymol/contact_blue_gray.png')
Рисунок 13. Контакт между соседом (синий на рисунке 9) и исходным 6AF7 (серый). Surface показано место гидрофобного взаимодействия между молекулами.
display.Image('/home/eva/pymol/contact_magenta_gray.png')
Рисунок 14. Контакт между соседом (фиолетовый на рисунке 9) и исходным 6AF7 (серый). Surface показано место гидрофобного взаимодействия между молекулами.