Задание 1. Вводное

Базовая информация о структуре и методах её получения.

Белок: РНК-связывающий домен фактора терминации транскрипции Nrd1

Структуры:

  • ЯМР структура 5O1T: 20 моделей в ансамбле
  • РСА структура 5O1X: разрешение 1.60 Å, полнота 100%
In [1]:
from IPython.display import Image

Стравнение структур:

In [2]:
Image('sup/pr4/comparison.png')
Out[2]:

Рыжим показана структура ЯМР, синим - РСА. Как видно структуры не идентичны, но это не удивительно. Отдельные куски спокойно могут двигаться внутри глобулы на несколько ангстрем. Однако все значимые вторичные структуры совпадают. Видно так же, что структура полученная ЯМР более полная, её концы длиннее. Их положение однако не консервативно и сильно варьируется между моделями.

In [3]:
Image('sup/pr4/lys.png')
Out[3]:

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

Задание 2. RMSF

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

In [4]:
import numpy as np
import prody as pd
import seaborn as sns
In [5]:
nmr_model = pd.parsePDB('5O1T')
RMSFs = [np.mean(pd.calcRMSF(res)) for res in nmr_model.iterResidues()]
@> PDB file is found in working directory (5o1t.pdb.gz).
@> 2788 atoms and 20 coordinate set(s) were parsed in 0.20s.
In [6]:
prot = pd.parsePDB('5O1X')
bfactor = []
for res in prot.iterResidues():
    if 'CA' in res.getNames():
        bfactor.append(np.mean(res.getBetas()))
@> PDB file is found in working directory (5o1x.pdb.gz).
@> 1493 atoms and 1 coordinate set(s) were parsed in 0.02s.
In [7]:
plot = sns.jointplot(x=bfactor, y=RMSFs[12:-5], marker = '.')
plot.set_axis_labels('B-factor', 'RMSF')
Out[7]:
<seaborn.axisgrid.JointGrid at 0x2fd3c1a8240>

Хоть и крайне слабая, но корреляция наблюдается. Малым значения B-фактора соответствуют малые значения RMSF и наоборот. Но соотношение не постоянно. Я бы сказал, что RMSF и ансамбль структур ЯМР не отражает движение молекулы во времени, но даёт представление о том, в каких диапозонах молекула колеблется.

Задание 3.

В последнем задании мы смотрим на некоторые водородные связи в структурах и сравниваем их.

Первые две водородные связи расположены между атомами остова в бета-листе внутри глобулы белка.

In [8]:
Image('sup/pr4/hbond1.png')
Out[8]:

Третья - между остатками аргинина и глутамина всё ещё внутри глобулы.

In [9]:
Image('sup/pr4/hbond2.png')
Out[9]:

И последние - между аргинином и аспарагином уже на поверхности глобулы.

In [10]:
Image('sup/pr4/hbond3.png')
Out[10]:

Теперь посмотрим на те же связи в моделях ЯМР.

In [11]:
nmr_model = pd.parsePDB('5O1T')

PHE378N = nmr_model['A', 378]['N'].getCoordsets()
PHE378O = nmr_model['A', 378]['O'].getCoordsets()
ILE369N = nmr_model['A', 369]['N'].getCoordsets()
ILE369O = nmr_model['A', 369]['O'].getCoordsets()
ARG339 = nmr_model['A', 339]['NH1'].getCoordsets()
GLN366 = nmr_model['A', 366]['OE1'].getCoordsets()
ASP4141 = nmr_model['A', 414]['OD1'].getCoordsets()
ASP4142 = nmr_model['A', 414]['OD2'].getCoordsets()
ARG4291 = nmr_model['A', 429]['NH1'].getCoordsets()
ARG4292 = nmr_model['A', 429]['NH2'].getCoordsets()


hbond1 = []
hbond2 = []
hbond3 = []
hbond4 = []
hbond5 = []

for i in range(20):
    hbond1.append(pd.calcDistance(PHE378N[i], ILE369O[i]))
    hbond2.append(pd.calcDistance(PHE378O[i], ILE369N[i]))
    hbond3.append(pd.calcDistance(ARG339[i], GLN366[i]))
    hbond4.append(pd.calcDistance(ASP4141[i], ARG4291[i]))
    hbond5.append(pd.calcDistance(ASP4142[i], ARG4292[i]))
@> PDB file is found in working directory (5o1t.pdb.gz).
@> 2788 atoms and 20 coordinate set(s) were parsed in 0.20s.
In [12]:
print(f"Пара остатков\t\tРасстояние в РСА\tМоделей ЯМР со связью\tmin\tmax\tmedian\n\
PHE-378 и ILE-369\t\t2.8\t\t\t20(100%)\t{np.min(hbond1):.2f}\t{np.max(hbond1):.2f}\t{np.median(hbond1):.2f}\n\
\t\t\t\t2.9\t\t\t20(100%)\t{np.min(hbond2):.2f}\t{np.max(hbond2):.2f}\t{np.median(hbond2):.2f}\n\
ARG-339 и GLN-366\t\t2.8\t\t\t16(80%)\t\t{np.min(hbond3):.2f}\t{np.max(hbond3):.2f}\t{np.median(hbond3):.2f}\n\
ASP-414 и ARG-429\t\t2.6\t\t\t4(20%)\t\t{np.min(hbond4):.2f}\t{np.max(hbond4):.2f}\t{np.median(hbond4):.2f}\n\
\t\t\t\t2.8\t\t\t4(20%)\t\t{np.min(hbond5):.2f}\t{np.max(hbond5):.2f}\t{np.median(hbond5):.2f}\n")
Пара остатков		Расстояние в РСА	Моделей ЯМР со связью	min	max	median
PHE-378 и ILE-369		2.8			20(100%)	2.79	2.90	2.86
				2.9			20(100%)	2.82	3.05	2.92
ARG-339 и GLN-366		2.8			16(80%)		2.68	2.86	2.75
ASP-414 и ARG-429		2.6			4(20%)		2.74	3.87	2.84
				2.8			4(20%)		2.72	2.95	2.82

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