Задание 1. Знакомство с укладками

Нам даны десять структур попарно схожие друг с другом не более, чем на 40%. Посмотрим на их третичную структуру.

In [1]:
from IPython.display import Image
In [2]:
Image('sup/pr8/pack1.png')
Out[2]:
In [3]:
Image('sup/pr8/pack2.png')
Out[3]:

Как мы видим, в целом упаковска всех молекул одинакова. Мы чётко видим две альфа-спирали и бета-лист имеющиеся у всех структур. Однако заметны отдельные спирали, уникальные для определённых белков.

Задание 2. Работа с разметкой вторичной структуры в ручном режиме

Попробуем найти среди структур такие, у которых один и тот же участок размечен по разному.

In [4]:
Image('sup/pr8/str1.png')
Out[4]:

Небольшой участок бета-листа. Четыре водородные связи. Хотя разметка на мой взгляд слегка не доведена.

In [5]:
Image('sup/pr8/str2.png')
Out[5]:

Тот же участок в другой структуре. Размерен как просто петля. Видимо всё портит пропущенный остаток в последовательности. По нижней цепи можно предположить, что тут должен быть тот же бета-лист.

In [6]:
Image('sup/pr8/str4.png')
Out[6]:

Другая структура. Бета-лист. Тоже слегка не доведён, но тут суть не в этом. Посмотрим на его пару.

In [7]:
Image('sup/pr8/str3.png')
Out[7]:

Идентичная структура. Вновь всё портит отсутствующий остаток, но даже там, где свё на месте, разметка не точная.

Из всего этого можно сделать вывод, что хоть автоматическая разметка крайне удобна, экономит время и упрощает понимание структуры, ей нельзя верить до конца. Особенно в случае неполных данных.

Задание 3. Работа с разметкой вторичной структуры в автоматическом режиме

В этом задании нам надо сгенерировать разметку для каждой структуры программой mkdssp и посмотреть как часто, тот или иной остаток учавствует в образовании той или иной вторичной структуры.

In [8]:
data_E = {'G': 0, 'L': 0, 'Y': 0, 'S': 0, 'E': 0, 'Q': 0, 'D': 0, 'N': 0, 'F': 0, 'A': 0, 'K': 0, 'R': 0, 'H': 0, 'C': 0, 'V': 0, 'P': 0, 'W': 0, 'M': 0, 'T': 0, 'I': 0}
data_H = {'G': 0, 'L': 0, 'Y': 0, 'S': 0, 'E': 0, 'Q': 0, 'D': 0, 'N': 0, 'F': 0, 'A': 0, 'K': 0, 'R': 0, 'H': 0, 'C': 0, 'V': 0, 'P': 0, 'W': 0, 'M': 0, 'T': 0, 'I': 0}
data_C = {'G': 0, 'L': 0, 'Y': 0, 'S': 0, 'E': 0, 'Q': 0, 'D': 0, 'N': 0, 'F': 0, 'A': 0, 'K': 0, 'R': 0, 'H': 0, 'C': 0, 'V': 0, 'P': 0, 'W': 0, 'M': 0, 'T': 0, 'I': 0}

for name in ['1.out', '2.out', '3.out', '4.out', '5.out', '6.out', '7.out', '8.out', '9.out', '10.out']:
    file = open('sup/pr8/' + name)
    for line in file:
        line_ss = line.strip().split()
        if line_ss[2] == 'E':
            data_E[line_ss[1]] += 1
        elif line_ss[2] == 'H':
            data_H[line_ss[1]] += 1
        else:
            data_C[line_ss[1]] += 1
    file.close()
In [9]:
data_E['P']
Out[9]:
0

Пролинов в бета-листах не оказалось. Придётся использовать псевдокаунты.

In [10]:
P_E = []
P_H = []
P_C = []
P_E_n = 0
P_H_n = 0
P_C_n = 0
aa = ['G', 'L', 'Y', 'S', 'E', 'Q', 'D', 'N', 'F', 'A', 'K', 'R', 'H', 'C', 'V', 'P', 'W', 'M', 'T', 'I']
for i in aa:
    P_E_n += data_E[i]
    P_H_n += data_H[i]
    P_C_n += data_C[i]
N = P_E_n + P_H_n + P_C_n + 60

for i in aa:
    P_E.append(((data_E[i] + 1) / (data_E[i] + data_H[i] + data_C[i] + 3)) / ((P_E_n + 20) / N))
    P_H.append(((data_H[i] + 1) / (data_E[i] + data_H[i] + data_C[i] + 3)) / ((P_E_n + 20) / N))
    P_C.append(((data_C[i] + 1) / (data_E[i] + data_H[i] + data_C[i] + 3)) / ((P_E_n + 20) / N))
In [11]:
import pandas as pd
result = pd.DataFrame({"Residue" : aa, "Helix probability" : P_H, "Sheet probability" : P_E, "Coil probability" : P_C})
In [12]:
result
Out[12]:
Residue Helix probability Sheet probability Coil probability
0 G 0.474320 0.474320 3.004024
1 L 1.120440 1.120440 1.711783
2 Y 0.674845 1.928128 1.349690
3 S 0.687420 0.687420 2.577824
4 E 1.441559 0.744031 1.767073
5 Q 1.657568 0.637526 1.657568
6 D 0.685128 0.421617 2.845917
7 N 1.345587 0.336397 2.270679
8 F 1.156877 0.964064 1.831722
9 A 1.449310 0.922288 1.581065
10 K 1.429687 0.672794 1.850183
11 R 0.950640 1.250843 1.751180
12 H 0.632426 0.474320 2.845917
13 C 0.741124 1.976331 1.235207
14 V 0.702696 1.844576 1.405391
15 P 0.141167 0.070583 3.740913
16 W 1.235207 0.988166 1.729290
17 M 0.416070 1.872314 1.664279
18 T 0.766935 1.474874 1.710854
19 I 1.250843 1.450977 1.250843

Среди моих структур не нашлось аминокислот, которые бы чаще встречались в альфа-спиралях, чем где-либо ещё. Однако Тирозин, Цистеин, Метионин и Изолейцин немного чаще встречаются в бета-листах. А Глицин, Аспартат, Гистидин и Пролин заметно чаще встретились в петлях.