Так как во время запуска подсчет на суперкомпьютере был невозможен, то весь последующий анализ результатов выполялся с предоставленными нам файлами прошлых лет.
1. Визуализируем движение молекул ДНК (группа 1).
%%bash
trjconv -f dna_md.xtc -s dna_md.tpr -o dna_pbc_1.pdb -skip 20 -pbc mol
В полученной файле молекула достаточно хаотично движется, однако можно заметить, что уже на 5 состоянии системы ДНК похожа на B-форму, соотвествующему времени моделирования 0.8 нс.
2. Определим средне-квадратичное отколнение в ходе моделирования. Так как у нас происходит конформационный переход сначала расчитаем отклонение в ходе все симуляции относительно стартовой структуры.
%%bash
g_rms -f dna_md.xtc -s dna_md.tpr -o rms_1
И относительно каждой предидущей структуры на растоянии 400 кадров. Если ближе к концу закончился конформационный переход, то отколнение должно уменьшаться.
%%bash
g_rms -f dna_md.xtc -s dna_md.tpr -o rms_2 -prev 400
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
from matplotlib import pylab
from pylab import *
fig, axes = plt.subplots(1, 3,figsize=(30,6))
a=np.genfromtxt('rms_1.csv',skiprows=1,delimiter=',')
x1 = a[:,0]
y1 = a[:,1]
b =np.genfromtxt('rms_2.csv',skiprows=1,delimiter=',')
x2 = b[:,0]
y2 = b[:,1]
axes[0].plot(x1,y1, ls='*',marker='.', color="red")
axes[0].set_xlabel('RMSD, nm')
axes[0].set_ylabel('Time, ps')
axes[1].plot(x2,y2, ls='*',marker='.',color="green")
axes[1].set_xlabel('RMSD, nm')
axes[1].set_ylabel('Time, ps')
axes[2].plot(x1,y1, ls='*',marker='.', color="red")
axes[2].plot(x2,y2, ls='*',marker='.',color="green")
axes[2].set_xlabel('RMSD, nm')
axes[2].set_ylabel('Time, ps')
axes[0].set_title("rms_1")
axes[1].set_title("rms_2")
axes[2].set_title("Combination of rms_1 and rms_2")
На графиках видно, что результаты двух методов похожи, однако с увеличением времени квадратичное отклонение уменьшается в случае во втором случае расчетов относительно каждой предидущей структуры на растоянии 400 кадров, как и предполагалось.
3. Определим изменение гидрофобной и гидрофильной поверхности в ходе конформационного перехода.
%%bash
g_sas -f dna_md.xtc -s dna_md.tpr -o sas_dna.xvg
По полученному sas_dna.xvg, предварительно также конфертированному в .csv, построили график зависимости изменения гидрофобной гидрофильной поверхностей доступных растворителю от времени.
data = genfromtxt('sas_dna.csv',skiprows=1, delimiter=',')
x = data[:,0]
y1 = data[:,1]
y2 = data[:,2]
plt.plot(x,y1,x,y2)
plt.xlabel("Time, ps")
plt.xlabel("Area")
На графике зеленым точкам соответствует гидрофобная поверхность, синим - гидрофильная. В течение времени гидрофобная поверхность слегка снижается, что, возможно, способствует конформационному переходу.
4. Традиционным анализом для ДНК является расчёт колчества образуемых водородных связей. Если мы будем исследовать связи между ДНК и ДНК, то это будут водородные связи между цепями ДНК. Для конца траектории:
%%bash
g_hbond -f dna_md.xtc -s dna_md.tpr -num hbond_dna
a=np.genfromtxt('hbond_dna.csv',skiprows=1,delimiter=',')
x1 = a[:,0]
y1 = a[:,1]
plt.plot(x1,y1,ls='*', marker='1')
plt.xlabel("Time, ps")
plt.xlabel("Number")
Как видно по графику количество водородных связей колеблется в отрезке от 11 до 17, а основные значения сконцетрированы в районе 13-15. Также можно сделать вывод, что среднее количество водороных связей ДНК-ДНК не поменялось и было равно примерно 14.
Не менее интересно будет изучить количество вдородных связей ДНК-Вода
%%bash
g_hbond -f dna_md.xtc -s dna_md.tpr -num hbond_dna_sol
a=np.genfromtxt('hbond_dna_sol.csv',skiprows=1,delimiter=',')
x1 = a[:,0]
y1 = a[:,1]
plt.plot(x1,y1,ls='*', marker='.')
plt.xlabel("Time, ps")
plt.xlabel("Number")
Также, как и в случае с водородными связями между ДНК и ДНК, зависимость не имеет пиков или "впадин" не наблюдается. Все значения не менее 95 и не более 126, а среднее значение примерно равно 110. Таким образом, незначительное изменение в количестве водородных связей никак не влияет на конформационный перед из A- в B- форму ДНК.
Файлы: