Практикум 4. ProDy-2. ЯМР vs РСА

В этом практикуме мы сравниваем структуры одного и того же белка, полученные разными методами: ЯМР и РСА.

Задание 1


В этом задании нужно визуально сравнить две структуры

Белок: Human Tear Lipocalin
Структуры с которыми работаем:

  • ЯМР-структура: 5T43, число моделей в ансамбле: 20
  • РСА-структура: 3EYC, разрешение: 2.60 Å, полнота 99.6%

Xray_overview.png

РСА структура имеет 4 цепи в асимметрической единице. Для анализа выберем одну. Я выбрал цепь А, потому что у нее нет невосстановленных остатков в середине последовательности (такие остатки обозначены серым в режиме sequence в паймоле).
Перейдем теперь к сравнению.

comparison_overview.png

Ансамбль ЯМР-структур (зеленые) и структура, полученная с помощью РСА (красная).
Налицо отличия в длине N- и C-концов: в случае ЯМР они длиннее (снизу картинки это не очень заметно, а вот сверху видно, что в ЯМР-структурах есть довольно большой фрагмент, которого не видно в РСА). Это связано с тем, что подвижные концы застывают в разных конформациях в ячейках кристалла, и в РСА их электронная плотность размазывается и не позволяет вписать в нее атомы. В случае ЯМР у нас есть похожая проблема, связанная с подвижностью: мы детектируем усредненный сигнал от набора молекул в разных конформациях. Иногда такое усредненное ограничение может приводить к падению качества структуры. В таком случае с атомов убирают ограничения, но в модели их можно и оставить.

comparison_overview_2.png

С другого ракурса. Прокомментируем отсутствие воды в ЯМР. Теоретически, кажется, что в рамках NOESY можно было бы наблюдать усиление релаксации атомов белка под действием протонов воды, находящихся по соседству. Однако, на практике время жизни молекул воды в фиксированной ориентации на поверхости белка слишком мало, чтобы позволить такую детекцию. Дополнительно, ситуация осложняется возможным протонным обменом между водой и белком. [Источник, секция 2].
От себя могу добавить еще то, что NOESY дает нам ограничения на расстояния. Чтобы однозначно понять расположение точки (протон воды) в трехмерном пространстве относительно других неподвижных точек (атомов белка) нужно располагать как минимум четырьмя расстояниями от точки (протон воды) до четырех соответствующих зафиксированных точек (атомов белка). По такому принципу работает система GPS. Объяснение, когда у нас на одно измерение меньше.
Про лиганд можно сказать похожие слова: как и вода, он не связан с белком ковалентно, поэтому информация о его расположении не может быть получена с помощью методов, использующих константы спин-спинового взаимодействия. Остается надеяться на методы вроде NOESY. Приятным сюрпризом было то, что такой метод есть и работает. А также то, что авторы используют аналогию с GPS, до которой я тоже догадался :D
В приведенной выше статье на входу методу дается готовая структура и данные NOESY комплекса белок-лиганд, но, наверняка, можно сразу (за один эксперимент) получать структуру белка с лигандом.
Таким образом, определение воды, совсем слабо связанной с белком с помощью ЯМР если и произойдет, то, наверное, нескоро, а вот лиганд уже, гипотетически, можно было бы встретить и в ЯМР-структурах.

hydrogens.png

Ну и из очевидного, в РСА водороды трудно увидеть, и у нас при разрешении 2.60 Å их точно быть не может. В ЯМРе водороды добавляются, поскольку строится молекулярно-механическая модель белка и потому что информацию о части протонов мы получаем напрямую из эксперимента.

Задание 2


В этом задании нужно сопоставить B-факторы остатков РСА-структуры с RMSF этих же остатков, посчитанных по ансамблю ЯМР-структур.

In [1]:
import prody as prd
import numpy as np

В 3EYC есть проблема, про которую, видимо, надо просто знать, иначе можно получить артефакты при анализе: у некоторых остатков не все атомы разрешены, и вместо того, чтобы не включить эти атомы в структуру, авторы как-то вписали эти атомы с occupancy 0 и B-фактором 20. Остатки, в которых такая ситуация, я не включал в анализ, так как некорректно сравнивать "обрубок" из РСА с полноценным остатком из ЯМР. Такие неполноценные остатки я буду называть "плохими", а остальные -- "хорошими".

In [58]:
X_ray_prot = prd.parsePDB("3EYC", chain='A')  # we chose chain A for analysis
betas = []
good_indexes = []
bad_residues_count = 0
prot_len = 0

for residue in X_ray_prot.iterResidues():
    if "CA" in residue.getNames():  # if residue is an aminoacid
        if 0 not in residue.getOccupancies():  # in this structure there are missing atoms with occ=0 and B=20
            mean_beta = np.mean(residue.getBetas())
            betas.append(mean_beta)
            good_indexes.append(residue.getResnum())
        else:
            bad_residues_count += 1
        prot_len += 1
@> PDB file is found in working directory (3eyc.pdb.gz).
@> 1154 atoms and 1 coordinate set(s) were parsed in 0.05s.

Узнаем сколько у нас "плохих" остатков

In [55]:
print(f"Number of bad residue is {bad_residues_count} ({bad_residues_count / prot_len * 100 :.2f} %).")
Number of bad residue is 11 (7.69 %).
In [59]:
NMR_prot = prd.parsePDB("5T43")
RMSFs = [np.mean(prd.calcRMSF(res)) for res in NMR_prot.iterResidues()]
@> PDB file is found in working directory (5t43.pdb.gz).
@> 2427 atoms and 20 coordinate set(s) were parsed in 0.27s.

Отфильтруем RMSF тех остатков, которые "хорошие" в РСА-структуре.

In [70]:
good_RMSFs = []
for res, RMSF in zip(NMR_prot.iterResidues(), RMSFs):
    if res.getResnum() in good_indexes:
        good_RMSFs.append(RMSF)

Нарисуем теперь это дело

In [71]:
import seaborn as sns

plot = sns.jointplot(x=betas, y=good_RMSFs, marker = ".")
plot.set_axis_labels('B-factor', 'RMSF')
Out[71]:
<seaborn.axisgrid.JointGrid at 0x1e71de69880>

В целом, малым значения B-фактора соответствуют малые значения RMSF и наоборот. Похоже на линейную зависимость, но есть много аутлаеров, когда B-фактор не очень большой, а RMSF здоровый, и наоборот.

In [72]:
plot = sns.jointplot(x=betas, y=good_RMSFs, kind = "kde")
plot.set_axis_labels('B-factor', 'RMSF')
Out[72]:
<seaborn.axisgrid.JointGrid at 0x1e71df26c10>

По крайней мере, можно сказать, что форма и моды у двух распределений (сверху и справа) в относительной шкале более-менее совпадают: больше всего остатков с небольшим RMSF и небольшим B-фактором. Это кажется разумным, ведь для получения структуры ЯМР применяют моделирование, главная идея которого в том, чтобы то, что мы получаем в компьютере было похожим на то, что есть в реальности. В этом весь смысл моделирования.
Получается, что в этом случае мы можем доверять RMSF как мере подвижности белка. Это не значит, что ансамбль конформаций отражает эволюцию во времени, но значит, что в среднем остатки колеблются ровно настолько, насколько мы видим в эксперименте.

Задание 3


В это задании надо было посмотреть, насколько сохраняются водородные связи, которые мы видим в РСА, в ансамбле ЯМР.

backbone.png

PHE-99 и LYS-114. Находятся в ядре белка в составе бета-тяжей. Зеленым обозначена ЯМР-структура, желтым - РСА.
Водородная связь между атомами остова: со PHE-99 остовный амидный водород, со стороны LYS-114 остовный карбонильный кислород.

backbone_ensemble.png

При отображении всего ансамбля ЯМР видно, что атомы остова двигаются незначительно и водородная связь есть во всех кадрах.

radical_hbond.png

TYR-100 и GLU-102. Расположены в составе бета-тяжей, TYR-100 более-менее погружен в глобулу, а GLU-102 на поверхности белка. Геометрия водородной связи не самая оптимальная, но иначе объяснить небольшое расстояние между кислородами мы не сможем. В водородную связь вовлечена гидроксильная группа TYR-100 и кислород карбоксильной группы GLU-102.

radical_hbond_nmr.png

В ЯМР GLU-102 занимает как будто два типа положений: налево или направо. Нет конформации, похожей на РСА. Тирозин же особо не двигается. Часто расстояние между кислородами меньше 2.7 ангстрем, но водорода между ними нет. Это настораживает. В целом, ни на одном кадре, кроме 6 (и то с большой натяжкой) водородной связи нет.

loops.png

ASN-32 и SER-58. ASN-32 находится в составе большой петли между двумя бета-тяжами, SER-58 принадлежит бета-повороту двух других бета-тяжей. Оба остатка находятся на поверхности белка. В водородную связь вовлечены остовный амидный водород ASN-32 и гидроксильный кислород SER-58.

loops_ensemble.png

В ЯМР боковой радикал серина подвижен, водородная связь наблюдается не везде, но в большем числе случаев, чем в предыдущей паре остатков.

Соберем статистику по ЯМР-ансамблю. Измерим расстояние между тяжелыми атомами. Для глутамата возможно вращение карбоксильной группы, и кислороды могут меняться местами. Для него расстояние между взаимодействующими атомами будем принимать за минимум между d(Tyr-OH, OE1-Glu) и d(Tyr-OH, OE2-Glu).

In [98]:
NMR_prot = prd.parsePDB("5T43")
bb_hb_dist = []
sc_hb_dist = []
loop_hb_dist = []

PHE99 = NMR_prot["A", 99]["N"].getCoordsets()
LYS114 = NMR_prot["A", 114]["O"].getCoordsets()
TYR100 = NMR_prot["A", 100]["OH"].getCoordsets()
GLU102_OE1 = NMR_prot["A", 102]["OE1"].getCoordsets()
GLU102_OE2 = NMR_prot["A", 102]["OE2"].getCoordsets()
ASN32 = NMR_prot["A", 32]["N"].getCoordsets()
SER58 = NMR_prot["A", 58]["OG"].getCoordsets()

for i in range(20):
    bb_hb_dist.append(prd.calcDistance(PHE99[i], LYS114[i]))
    sc_hb_dist.append(min(prd.calcDistance(TYR100[i], GLU102_OE1[i]), prd.calcDistance(TYR100[i], GLU102_OE2[i])))
    loop_hb_dist.append(prd.calcDistance(ASN32[i], SER58[i]))
@> PDB file is found in working directory (5t43.pdb.gz).
@> 2427 atoms and 20 coordinate set(s) were parsed in 0.27s.

Напечатаем табличку. Расстояния указаны в ангстремах, колонки min, max, median относятся к данным по ЯМР-ансамблю.

In [178]:
print(f"Пара остатков       dist X-ray\tframes w/ hbond\t\tmin\tmax\tmedian\n\
PHE-99 и LYS-114\t2.7\t  20(100%)\t\t{np.min(bb_hb_dist):.2f}\t{np.max(bb_hb_dist):.2f}\t{np.median(bb_hb_dist):.2f}\n\
TYR-100 и GLU-102\t2.7\t  1(5%)   \t\t{np.min(sc_hb_dist):.2f}\t{np.max(sc_hb_dist):.2f}\t{np.median(sc_hb_dist):.2f}\n\
ASN-32 и SER-58 \t3.0\t  12(60%) \t\t{np.min(loop_hb_dist):.2f}\t{np.max(loop_hb_dist):.2f}\t{np.median(loop_hb_dist):.2f}\n")
Пара остатков       dist X-ray	frames w/ hbond		min	max	median
PHE-99 и LYS-114	2.7	  20(100%)		2.69	2.80	2.77
TYR-100 и GLU-102	2.7	  1(5%)   		2.36	3.91	2.56
ASN-32 и SER-58 	3.0	  12(60%) 		2.94	5.57	3.30

Можно заключить, что водородные связи во вторичной структуре в ядре белка устойчивы в ЯМР-структуре, водородные связи с подвижными радикалами заряженных аминокислот (GLU-102) на поверхности белка образуются редко, так как у таких аминокислот всегда есть опция смотреть в раствор. В то же время, связь с менее подвижным незаряженным остатком серина более устойчива, хотя тоже находится на поверхности белка.
Помимо разной подвижности акцепторов в случае последний двух пар остатков у нас есть симметричное отличие в подвижности доноров водородной связи: вокруг связи ОН-С в TYR-100 мы наблюдаем вращение, амидный же протон ASN-32 зафиксирован. Все эти наблюдения о подвижности можно обобщить, сказав, что чем меньше энтропии остаток теряет, образуя водородную связь, тем более вероятно наблюдать эту связь в ансамбле.