Необходимо было сравнить структуры YTH домена белка YTHDC2 из человеческого (Homo sapiens) организма. Этот белок взаимодействует с N6-метиладенозином в составе РНК и стабилизирует связанный таким образом транскрипт.
PDB ID PCA структуры: 6K6U
Разрешение PCA структуры: 2.27 Å
PDB ID ЯМР структуры: 6LR2
Число моделей в ансамбле ЯМР структуры: 20
В этом задании мы описывали различия PCA структуры с первой ЯМР моделью.
Сравнение этих двух структур показывает, что в двух структурах немного отличается положение атомов. В частности положение линкерных фрагментов сильно отличается (Рисунок 1), как и направление радикалов аминокислот на поверхности белка (Рисунок 2.1).
При сравнении расположения атомов водорода в двух структурах становится заметно, что атомы принадлежащие остову белка расположены почти одинаково, с точностью до различий в геометрии самого остова в двух моделях (Рисунок 2.2). Обычно различается положение водородов боковых групп аминокислот. Так, например, на рисунке 2.2 водород гидроксильной группы серина направлен в разные стороны в двух моделях.
Также можно заметить, что ЯМР модель содержит больше аминокислот на N и C концах белка (Рисунок 1).
Кроме того в ЯМР структуре остутсвует вода.
Рисунок 1 Сравнение структур PCA и ЯМР, представление cartoons. PCA изображен зеленым, ЯМР голубым. Представлена 1 модель ЯМР.
Рисунок 2.1 Сравнение структур PCA и ЯМР, представление sticks. PCA изображен зеленым, ЯМР голубым. Представлена 1 модель ЯМР.
Рисунок 2.2 Сравнение расположения атомов водорода в структурах PCA и ЯМР, представление sticks. Представлена 1 модель ЯМР.
В этом задании нам предлагалось проанализировать зависимость между RMSF ЯМР-модели и бета-фактором PCA модели.
import prody
import numpy as np
import matplotlib.pyplot as plt
pca_model = prody.parsePDB('6K6U', chain='B')
pca_seq = [res.getSequence()[0] for res in pca_model.iterResidues() if "CA" in res.getNames()]
pca_resnums = [int(res.getResnum()) for res in pca_model.iterResidues() if "CA" in res.getNames()]
nmr_model = prody.parsePDB('6LR2')
nmr_seq = [res.getSequence()[0] for res in nmr_model.iterResidues()]
nmr_resnums = [int(res.getResnum()) for res in nmr_model.iterResidues()]
@> PDB file is found in working directory (6k6u.pdb.gz). @> 1092 atoms and 1 coordinate set(s) were parsed in 0.02s. @> PDB file is found in working directory (6lr2.pdb.gz). @> 2252 atoms and 20 coordinate set(s) were parsed in 0.17s.
Для того чтобы сопоставить номера остатков в двх последовательностях выведем эти последовательности.
print('PCA последовательность')
print(*pca_seq)
print('Номер первого остатка: %s' % pca_resnums[0])
PCA последовательность P V R Y F I M K S S N L R N L E I S Q Q K G I W S T T P S N E R K L N R A F W E S S I V Y L V F S V Q G S G H F Q G F S R M S S E I G A G L G G V F K V E W I R K E S L P F Q F A H H L L N P W N D N K K V Q I S R D G Q E L E P L V G E Q L L Q L W E R L P L Номер первого остатка: 1287
print('ЯМР последовательность')
print(*nmr_seq)
print('Номер первого остатка: %s' % nmr_resnums[0])
ЯМР последовательность G S S G S S G V R Y F I M K S S N L R N L E I S Q Q K G I W S T T P S N E R K L N R A F W E S S I V Y L V F S V Q G S G H F Q G F S R M S S E I G R E K S Q D W G S A G L G G V F K V E W I R K E S L P F Q F A H H L L N P W N D N K K V Q I S R D G Q E L E P Q V G E Q L L Q L W E R L Номер первого остатка: 1
У последовательностей отличаются N и C концы, поэтому целиком их сопоставить не получится.
Чтобы перевести номера остатков PCA последовательности в номера ЯМР нужно из них вычесть 1280.
shift = 1280
new_pca_resnums = [num - shift for num in pca_resnums]
common_nums = set(new_pca_resnums) & set(nmr_resnums)
pca_model = prody.parsePDB('6K6U', chain='B')
betas = [np.mean(res.getBetas()) for res in pca_model.iterResidues() if int(res.getResnum()) - shift in common_nums]
nmr_model = prody.parsePDB('6LR2')
RMSFs = [np.mean(prody.calcRMSF(res)) for res in nmr_model.iterResidues() if res.getResnum() in common_nums]
@> PDB file is found in working directory (6k6u.pdb.gz). @> 1092 atoms and 1 coordinate set(s) were parsed in 0.03s. @> PDB file is found in working directory (6lr2.pdb.gz). @> 2252 atoms and 20 coordinate set(s) were parsed in 0.20s.
plt.scatter(RMSFs, betas)
plt.xlabel('RMSF')
plt.ylabel('B фактор')
plt.show()
Мы не видим сильной зависимости между значениями RMSF и B фактора. Большая часть точек распределена нормально со средним значением B фактора 40, RMSF 0.5. Для точек находящихся далеко от средних значений в целом характерно, что высоким значениям RMSF характерны высокие значения B фактора.
Из этих результатов можно сделать следующий вывод. Анализ различий разных ЯМР моделей не позволяет оценить естественную конформационную подвижность разных участков структуры.
Мы рассмотрели несколько водородных связей в разных учатсках структуры белка.
На рисунке 3 изображена водородная связь между двумя бета листами в центре глобулы. В образовании связи участвуют атомы водорода метионина 13 (нумерация ЯМР последовательности) и атом кислорода валина 53. 20 из 20 моделей ЯМР образуют водородную связь.
Рисунок 3.1 Водородная связь между атомами остова в центре глобулы, изображение относительно структуры всего белка. Нумерация по РСА последовательности.
На рисунке 4 изображена водородная связь между боковыми цепями внутри глобулы. В образовании связи участвуют атомы водорода аспаргина 109 (нумерация ЯМР последовательности) и атом кислорода серина 120. 12 из 20 моделей ЯМР образуют водородную связь.
Рисунок 4.1 Водородная связь между атомами боковых цепей в центре глобулы. PCA изображен зеленым, ЯМР голубым.
Рисунок 4.2 Водородная связь между атомами боковых цепей в центре глобулы, изображение относительно структуры всего белка.
На рисунке 5 изображена водородная связь между атомами боковой цепи и остова на поверхности глобулы. В образовании связи участвуют атомы водорода аргиниа 95 (нумерация ЯМР последовательности) и атом кислорода изолейцина 94. 12 из 20 моделей ЯМР образуют водородную связь.
Рисунок 5.1 Водородная связь между атомами боковой цепи и остова на поверхности глобулы. PCA изображен зеленым, ЯМР голубым.
Рисунок 5.2 Водородная связь между атомами боковой цепи и остова на поверхности глобулы, изображение относительно структуры всего белка.
Проанализируем характеристики этих связей:
def get_stat(pca_donor, pca_acceptor, nmr_donor, nmr_acceptor):
pca_dist = prody.calcDistance(pca_donor, pca_acceptor)[0]
nmr_dists = prody.calcDistance(nmr_donor, nmr_acceptor)
return [pca_dist, min(nmr_dists), max(nmr_dists), np.median(nmr_dists)]
stats = []
pca_met13 = pca_model['B', 13+1280]["N"].getCoordsets()
pca_val53 = pca_model['B', 53+1280]["O"].getCoordsets()
nmr_met13 = nmr_model['A', 13]["N"].getCoordsets()
nmr_val53 = nmr_model['A', 53]["O"].getCoordsets()
stats.append(get_stat(pca_met13, pca_val53, nmr_met13, nmr_val53))
pca_asn109 = pca_model['B', 109+1280]["ND2"].getCoordsets()
pca_ser120 = pca_model['B', 120+1280]["OG"].getCoordsets()
nmr_asn109 = nmr_model['A', 109]["ND2"].getCoordsets()
nmr_ser120 = nmr_model['A', 120]["OG"].getCoordsets()
stats.append(get_stat(pca_asn109, pca_ser120, nmr_asn109, nmr_ser120))
pca_arg95 = pca_model['B', 95+1280]["NH1"].getCoordsets()
pca_ile94 = pca_model['B', 94+1280]["O"].getCoordsets()
nmr_arg95 = nmr_model['A', 95]["NH1"].getCoordsets()
nmr_ile94 = nmr_model['A', 94]["O"].getCoordsets()
stats.append(get_stat(pca_arg95, pca_ile94, nmr_arg95, nmr_ile94))
import pandas as pd
df = pd.DataFrame(stats)
df.index = ['met13-val53 hbond', 'asn109-ser120 hbond', 'arg95-ile94 hbond']
df.columns = ['x-ray dist', 'min NMR dist', 'max NMR dist', 'median NMR dist']
df['frames with hbond, n'] = [20, 12, 12]
df['frames with hbond, %'] = [1*100, 12/20*100, 12/20*100]
df
x-ray dist | min NMR dist | max NMR dist | median NMR dist | frames with hbond, n | frames with hbond, % | |
---|---|---|---|---|---|---|
met13-val53 hbond | 2.673065 | 2.773036 | 2.823896 | 2.789434 | 20 | 100.0 |
asn109-ser120 hbond | 5.391242 | 2.992916 | 7.659458 | 3.417348 | 12 | 60.0 |
arg95-ile94 hbond | 6.660309 | 2.834632 | 6.392825 | 2.870470 | 12 | 60.0 |
Из этих результатов можно заключить, что различия в положении атомов в структурах, полученных разным способом, влияет на оценку количества в них водородных связей.
Проанализированные водородные связи между атомами остова, которые лежат в центре глобулы, присутствуют в обеих структурах.
Проанализированные водородные связи между боковыми группами, как внутри так и на поверхности глобулы, присутствуют только в структуре, полученной методом ЯМР. Это можно объяснить подвижностью групп образующих эти связи. В ЯМР структурах мы видели образование этих связей в только в 60%.
Ключевым наблюдением в нашем анализе является то, что структуры, полученные разными способами, или разные модели, интерпретации одного и того же эксперимента, наиболее схожи в стабильных участках структуры белка, соответствующих центру глобулы и элементам вторичной структуры.