Task8a

Version 7 (Andrey Golovin, 10.10.2022 15:08)

1 1 Andrey Golovin
h2.  Практическое занятие по молекулярной динамике. 
2 1 Andrey Golovin
3 1 Andrey Golovin
4 1 Andrey Golovin
Цель данного занятия ознакомится с возможностями моделирования молекулярной динамики. 
5 1 Andrey Golovin
6 1 Andrey Golovin
В этом занятии мы будем рользоваться пакетом молекулярной динамики "Gromacs":http://www.gromacs.org. Это программное обеспечение распостраняется под лицензией GPL, т.е. пользователь может скачать исходный код и свободен его изменять по своему усмотрению.
7 1 Andrey Golovin
8 1 Andrey Golovin
----
9 1 Andrey Golovin
10 1 Andrey Golovin
h3. Общие положения
11 1 Andrey Golovin
12 1 Andrey Golovin
13 1 Andrey Golovin
14 1 Andrey Golovin
15 1 Andrey Golovin
16 4 Andrey Golovin
17 1 Andrey Golovin
Установите gromacs
18 1 Andrey Golovin
<pre>
19 1 Andrey Golovin
sudo apt install gromacs 
20 1 Andrey Golovin
</pre>
21 4 Andrey Golovin
22 6 Andrey Golovin
Установите singularity
23 7 Andrey Golovin
<pre>
24 6 Andrey Golovin
25 6 Andrey Golovin
echo "deb http://neurodebian.ovgu.de/debian/ focal main contrib non-free" >> /etc/apt/sources.list 
26 6 Andrey Golovin
sudo apt-key adv --recv-keys --keyserver hkp://pgp.mit.edu:80 0xA5D32F012649A5A9
27 6 Andrey Golovin
sudo apt-get update
28 6 Andrey Golovin
sudo apt-get install singularity-container
29 6 Andrey Golovin
30 7 Andrey Golovin
</pre>
31 4 Andrey Golovin
32 4 Andrey Golovin
Скопируем образ с Gromacs для Singularity и сделаем alias на запуск:
33 4 Andrey Golovin
<pre>
34 4 Andrey Golovin
scp 10.23.68.42:/tmp/gmx2022-gpu.sif /tmp/
35 4 Andrey Golovin
36 5 Andrey Golovin
alias gmx='singularity shell -B $(pwd) --nv /tmp/gmx2022-gpu.sif gmx'
37 4 Andrey Golovin
</pre>
38 4 Andrey Golovin
39 4 Andrey Golovin
При работе в новом терминале alias надо будет перезадать
40 1 Andrey Golovin
41 1 Andrey Golovin
42 1 Andrey Golovin
43 1 Andrey Golovin
*Типы файлов:*
44 1 Andrey Golovin
45 1 Andrey Golovin
   * gro - файл с координатами системы.
46 1 Andrey Golovin
47 1 Andrey Golovin
   * top - файл с описанием ковалентных  и нековалентных взаимодействий в молекулах.
48 1 Andrey Golovin
49 1 Andrey Golovin
   * mdp - файл с описанием параметров для работы молеклярно-механического движка.
50 1 Andrey Golovin
51 1 Andrey Golovin
   * tpr - файл для молеклярно-механического движка по сути есть объединение gro, top и mdp.
52 1 Andrey Golovin
53 1 Andrey Golovin
   * trr, xtc - файл с координатами после рассчёта.
54 1 Andrey Golovin
55 1 Andrey Golovin
----
56 1 Andrey Golovin
57 1 Andrey Golovin
*Основные программы из пакета, которые будут использованны на занятии:*
58 1 Andrey Golovin
59 1 Andrey Golovin
Программы запускаются в командной строке Linux, флаги запуска программ начинаются с -, например -f.
60 1 Andrey Golovin
Как правило после флага следует либо имя файла либо значение параметра. Смотрите примеры ниже.
61 1 Andrey Golovin
62 1 Andrey Golovin
   * editconf - манипуляция форматом координат и самими координатами. Пример:
63 1 Andrey Golovin
<pre>
64 1 Andrey Golovin
editconf -f my.gro -o my.pdb
65 1 Andrey Golovin
</pre>
66 1 Andrey Golovin
   * solvate - наполнение ячейки растворителем.Пример:
67 1 Andrey Golovin
<pre>
68 1 Andrey Golovin
solvate -cp my.gro -cs mysolvent.gro -p my.top -o my_solvated.gro
69 1 Andrey Golovin
</pre>
70 1 Andrey Golovin
   * genion - утилита для замены n молекул растворителя на ионы.
71 1 Andrey Golovin
<pre>
72 1 Andrey Golovin
genion -s my.tpr -np 10 -p my.top -o my_ions.gro 
73 1 Andrey Golovin
-np это добавить 10 положительно заряженых ионов
74 1 Andrey Golovin
или прочитайте про флажки -conc -neutral
75 1 Andrey Golovin
</pre>
76 1 Andrey Golovin
   * grompp - объединение и проверка gro, top и mdp в tpr.
77 1 Andrey Golovin
<pre>
78 1 Andrey Golovin
grompp -f my.mdp -c my.gro -p my.top
79 1 Andrey Golovin
</pre>
80 1 Andrey Golovin
   * mdrun - молеклярно-механический движок. На входе принимает tpr файл.
81 1 Andrey Golovin
<pre>
82 1 Andrey Golovin
mdrun -deffnm my.tpr 
83 1 Andrey Golovin
здесь параметр -deffnm означает, что выходные файлы будут называться как и входной файл, только с другими расщирениями
84 1 Andrey Golovin
</pre>
85 1 Andrey Golovin
86 1 Andrey Golovin
87 1 Andrey Golovin
88 1 Andrey Golovin
89 1 Andrey Golovin
h3. Объекты для практикума 
90 1 Andrey Golovin
91 1 Andrey Golovin
На этом занятии Вам предлагается 4 различные систем для моделирования. Перейдите по ссылке для подробных инструкций по выполнению каждого задания.
92 1 Andrey Golovin
93 1 Andrey Golovin
> Внимание выполнить надо только одно задание на Ваш выбор 
94 1 Andrey Golovin
> Пример запуска Gromacs в Google Colab https://colab.research.google.com/drive/1hb7pt6SCQQCceOR4rIfLny2lGoIJx4s1#scrollTo=rDSEu85QW2xr
95 1 Andrey Golovin
96 1 Andrey Golovin
97 2 Andrey Golovin
https://drive.google.com/file/d/1Ng00D1LCrBWmD9hANyFRB8eOpVE9i-5l/view?usp=sharing
98 1 Andrey Golovin
99 2 Andrey Golovin
   * "Моделирование самосборки липидного бислоя из случайной стартовой конформации."
100 2 Andrey Golovin
   * "Моделирование поведения ДНК в формамиде."
101 2 Andrey Golovin
   * "Моделирование перехода А-формы ДНК в В-форму в воде."
102 2 Andrey Golovin
   * "Моделирование поведения короткого пептида в формамиде."
103 1 Andrey Golovin
104 3 Andrey Golovin
Файлы: https://drive.google.com/drive/folders/1zgZVOjPJbiDOCSghMlpPvK3vp1-h_8FK?usp=sharing
105 1 Andrey Golovin
106 1 Andrey Golovin
107 1 Andrey Golovin
108 1 Andrey Golovin
h3. Анализ результатов
109 1 Andrey Golovin
 
110 1 Andrey Golovin
Пакет программ Gromacs предоставляет "много":http://www.gromacs.org/Documentation/Gromacs_Utilities инструментов для анализа траекторий и свойств динамики. Суть любого анализа сводится к пониманию специфики динамики конкретной системы. 
111 1 Andrey Golovin
112 1 Andrey Golovin
Результаты анализа выдаваемые GROMACS имеют расширение xvg ( программа GRACE), но формат самих файлов текстовой, так что построение графиков можно делать в excel. 
113 1 Andrey Golovin
114 1 Andrey Golovin
Предлагаю называть результаты анализа согласно общему шаблону: 
115 1 Andrey Golovin
   * Tool_system_param, где 
116 1 Andrey Golovin
      * Tool- это название программы которой проводили анализ
117 1 Andrey Golovin
      * sytem- это либо b (бислой) либо dna (ДНК).
118 1 Andrey Golovin
      * param- это некое дполнительное описание.
119 1 Andrey Golovin
120 1 Andrey Golovin
   * Пример :  rmsd_dna_1
121 1 Andrey Golovin
122 1 Andrey Golovin
Внимание ! Опции программы анализа вы можете узнать, набрав: имя_программы –h
123 1 Andrey Golovin
124 1 Andrey Golovin
Связи с тем, мы работаем с разными системами, то для каждой системы предлагается свой подход к анализу:
125 1 Andrey Golovin
126 1 Andrey Golovin
   * [[BilAnalysiss|Анализ результатов моделирование самосборки липидного бислоя ]]
127 1 Andrey Golovin
   * [[A2bAnalysis|Анализ результатов моделирование перехода А-формы ДНК в В-форму в воде]]
128 1 Andrey Golovin
   * [[DnaMelAnalysis|Анализ результатов плавления ДНК в формамиде ]]
129 1 Andrey Golovin
   * [[PepMelAnalysis|Анализ результатов плавления пептида в формамиде ]]
130 1 Andrey Golovin
131 1 Andrey Golovin
132 1 Andrey Golovin
Любой анализ начинают с визуального анализа движений молекул.
133 1 Andrey Golovin
134 1 Andrey Golovin
h3.  Пдсказака про Nglview и файлы Gromacs
135 1 Andrey Golovin
136 1 Andrey Golovin
Сначала импорт модулей
137 1 Andrey Golovin
<pre><code class="python">
138 1 Andrey Golovin
import nglview
139 1 Andrey Golovin
import mdtraj
140 1 Andrey Golovin
</code></pre>
141 1 Andrey Golovin
142 1 Andrey Golovin
Создадим объект для траектории
143 1 Andrey Golovin
<pre><code class="python">
144 1 Andrey Golovin
md =  mdtraj.load('b_pr.xtc', top='b_s.pdb')
145 1 Andrey Golovin
</code></pre>
146 1 Andrey Golovin
147 1 Andrey Golovin
Создадим объект nglview
148 1 Andrey Golovin
<pre><code class="python">
149 1 Andrey Golovin
n = nglview.show_mdtraj(md) 
150 1 Andrey Golovin
n.clear_representations()
151 1 Andrey Golovin
n.add_representation(repr_type='licorice') 
152 1 Andrey Golovin
</code></pre>
153 1 Andrey Golovin
И посмотрим анимацию
154 1 Andrey Golovin
<pre>
155 1 Andrey Golovin
n
156 1 Andrey Golovin
</pre>