Анализ молекулярной динамики биологических молекул в GROMACS

Анализ результатов моделирования ДНК в формамиде.

На данной странице представлены результаты моделирования ДНК в формамиде.

In []:
<a href="http://kodomo.fbb.msu.ru/~pankevich-ev/term8/pr9/"></a>

Анализ начинали с визуального анализа движений молекул

In []:
%%bash
trjconv -f dna_md.xtc -s dna_md.tpr -o dna_pbc_1.pdb -skip 20 -pbc mol

Можно посмотреть анимацию движений в dna_pbc_1.pdb. Вначале ДНК нормальная, все основания спарены. В конце - ДНК денатурирована. Можно посмотреть картинки результата до (1 шаг) и после (101 шаг).

Cредне-квадратичное отколнение в ходе моделирования. Так как у нас происходит конформационный переход сначала расчитаем отклонение в ходе все симуляции относительно стартовой структуры.

In [6]:
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
In [7]:
with open('rms_1') as f:
    w = [float(x) for x in f.readline().split()]
    forces = [[float(x) for x in line.split()] for line in f]
steps = range(2000)
plt.scatter(steps,forces)
plt.show()

RMSD относительно каждой предидущей структуры на растоянии 400 кадров:

In [8]:
with open('rms_2') as f:
    w = [float(x) for x in f.readline().split()]
    forces = [[float(x) for x in line.split()] for line in f]
steps = range(2000)
plt.scatter(steps,forces)
plt.show()

Определите изменение гидрофобной

In [9]:
with open('sas_dna_hydrophob') as f:
    w = [float(x) for x in f.readline().split()]
    forces = [[float(x) for x in line.split()] for line in f]
steps = range(2000)
plt.scatter(steps,forces)
plt.show()

и гидрофильной поверхности в ходе конформационного перехода.

In [10]:
with open('sas_dna_hydrophyl') as f:
    w = [float(x) for x in f.readline().split()]
    forces = [[float(x) for x in line.split()] for line in f]
steps = range(2000)
plt.scatter(steps,forces)
plt.show()

Поверхность, доступная растворителю (со временем):

гидрофобной стало больше,

гидрофильной осталось столько же.


Водородные связи:

In [17]:
with open('hbond_dna') as f:
    w = [float(x) for x in f.readline().split()]
    forces = [[float(x) for x in line.split()] for line in f]
steps = range(2000)
plt.plot(steps,forces)
plt.show()

Водородных связей стало меньше. С этим может быть связан конформационный переход.