Task8

Version 7 (Andrey Golovin, 23.11.2018 17:06)

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
"Подсказки":http://kodomo.fbb.msu.ru/FBB/year_08/term3/unix.html по использованию оболочки bash в Linux.
13 1 Andrey Golovin
14 1 Andrey Golovin
15 1 Andrey Golovin
Для активации ядра надо сделать простые манипуляции в терминале:
16 1 Andrey Golovin
<pre>
17 1 Andrey Golovin
export PATH=${PATH}:/home/shad/miniconda2/bin
18 1 Andrey Golovin
python -m ipykernel install --user --name hse --display-name hse-py27
19 1 Andrey Golovin
</pre>
20 1 Andrey Golovin
21 1 Andrey Golovin
*Типы файлов:*
22 1 Andrey Golovin
23 1 Andrey Golovin
   * gro - файл с координатами системы.
24 1 Andrey Golovin
25 1 Andrey Golovin
   * top - файл с описанием ковалентных  и нековалентных взаимодействий в молекулах.
26 1 Andrey Golovin
27 1 Andrey Golovin
   * mdp - файл с описанием параметров для работы молеклярно-механического движка.
28 1 Andrey Golovin
29 1 Andrey Golovin
   * tpr - файл для молеклярно-механического движка по сути есть объединение gro, top и mdp.
30 1 Andrey Golovin
31 1 Andrey Golovin
   * trr, xtc - файл с координатами после рассчёта.
32 1 Andrey Golovin
33 1 Andrey Golovin
----
34 1 Andrey Golovin
35 1 Andrey Golovin
*Основные программы из пакета, которые будут использованны на занятии:*
36 1 Andrey Golovin
37 1 Andrey Golovin
Программы запускаются в командной строке Linux, флаги запуска программ начинаются с -, например -f.
38 1 Andrey Golovin
Как правило после флага следует либо имя файла либо значение параметра. Смотрите примеры ниже.
39 1 Andrey Golovin
40 1 Andrey Golovin
   * editconf - манипуляция форматом координат и самими координатами. Пример:
41 1 Andrey Golovin
<pre>
42 1 Andrey Golovin
editconf -f my.gro -o my.pdb
43 1 Andrey Golovin
</pre>
44 2 Andrey Golovin
   * solvate - наполнение ячейки растворителем.Пример:
45 1 Andrey Golovin
<pre>
46 2 Andrey Golovin
solvate -cp my.gro -cs mysolvent.gro -p my.top -o my_solvated.gro
47 1 Andrey Golovin
</pre>
48 1 Andrey Golovin
   * genion - утилита для замены n молекул растворителя на ионы.
49 1 Andrey Golovin
<pre>
50 1 Andrey Golovin
genion -s my.tpr -np 10 -p my.top -o my_ions.gro 
51 1 Andrey Golovin
-np это добавить 10 положительно заряженых ионов
52 2 Andrey Golovin
или прочитайте про флажки -conc -neutral
53 1 Andrey Golovin
</pre>
54 1 Andrey Golovin
   * grompp - объединение и проверка gro, top и mdp в tpr.
55 1 Andrey Golovin
<pre>
56 1 Andrey Golovin
grompp -f my.mdp -c my.gro -p my.top
57 1 Andrey Golovin
</pre>
58 1 Andrey Golovin
   * mdrun - молеклярно-механический движок. На входе принимает tpr файл.
59 1 Andrey Golovin
<pre>
60 1 Andrey Golovin
mdrun -deffnm my.tpr 
61 1 Andrey Golovin
здесь параметр -deffnm означает, что выходные файлы будут называться как и входной файл, только с другими расщирениями
62 1 Andrey Golovin
</pre>
63 1 Andrey Golovin
64 2 Andrey Golovin
h3. Настройка соединения с суперкомпьютером Lomonosov 
65 1 Andrey Golovin
66 1 Andrey Golovin
Доступ к суперкомпьютеру возможен только по ssh ключам. 
67 1 Andrey Golovin
68 7 Andrey Golovin
Скопируем настройки ssh:
69 7 Andrey Golovin
<pre>
70 7 Andrey Golovin
mkdir ~/.ssh
71 7 Andrey Golovin
cp /tmp/.lom/* ~/.ssh
72 7 Andrey Golovin
73 7 Andrey Golovin
</pre>
74 7 Andrey Golovin
75 1 Andrey Golovin
Проверьте соединение:
76 1 Andrey Golovin
<pre>
77 2 Andrey Golovin
ssh lom
78 1 Andrey Golovin
</pre>
79 1 Andrey Golovin
80 1 Andrey Golovin
81 1 Andrey Golovin
h3. Объекты для практикума 
82 1 Andrey Golovin
83 3 Andrey Golovin
На этом занятии Вам предлагается 4 различные систем для моделирования. Перейдите по ссылке для подробных инструкций по выполнению каждого задания.
84 3 Andrey Golovin
85 3 Andrey Golovin
> Внимание выполнить надо только одно задание на Ваш выбор 
86 1 Andrey Golovin
87 1 Andrey Golovin
   * "Моделирование самосборки липидного бислоя из случайной стартовой конформации.":https://kodomo.fbb.msu.ru/wiki/Main/Modelling/BioNanoPrac/SelfAss
88 1 Andrey Golovin
89 1 Andrey Golovin
   * "Моделирование поведения ДНК в формамиде.":https://kodomo.fbb.msu.ru/wiki/Main/Modelling/BioNanoPrac/DnaMelt
90 1 Andrey Golovin
91 1 Andrey Golovin
   * "Моделирование перехода А-формы ДНК в В-форму в воде.":https://kodomo.fbb.msu.ru/wiki/Main/Modelling/BioNanoPrac/DnaA2b
92 1 Andrey Golovin
93 1 Andrey Golovin
   * "Моделирование поведения короткого пептида в формамиде.":https://kodomo.fbb.msu.ru/wiki/Main/Modelling/BioNanoPrac/PepMelt
94 1 Andrey Golovin
95 4 Andrey Golovin
h3. Особенности запуска на "Ломоносов"
96 4 Andrey Golovin
97 4 Andrey Golovin
Весьма вероятно, что система не позволит поставить в очередь много заданий одновременно. Есть два решения:
98 4 Andrey Golovin
* подождать пока кто-то досчитается 
99 4 Andrey Golovin
* Добавить в файл @~/_scratch/hse/hse.job@ информацию о Вашей задаче (это заготовка!):
100 4 Andrey Golovin
<pre>
101 4 Andrey Golovin
   {
102 4 Andrey Golovin
        'name': 'Ivanov/my_task_name_change_it',
103 4 Andrey Golovin
        'nodes': 1,
104 4 Andrey Golovin
        'options': '--ntasks-per-node=2',
105 4 Andrey Golovin
        'path': '/mnt/data/users/dm4/vol12/fbbstudent/_scratch/hse/Ivanov',
106 4 Andrey Golovin
        'command': '/opt/ccoe/gromacs-5.0.4/build/bin/gmx_mpi mdrun -testverlet -deffnm  b_md -v',
107 4 Andrey Golovin
    },  
108 4 Andrey Golovin
</pre>
109 4 Andrey Golovin
110 1 Andrey Golovin
h3. Анализ результатов
111 1 Andrey Golovin
 
112 1 Andrey Golovin
Пакет программ Gromacs предоставляет "много":http://www.gromacs.org/Documentation/Gromacs_Utilities инструментов для анализа траекторий и свойств динамики. Суть любого анализа сводится к пониманию специфики динамики конкретной системы. 
113 1 Andrey Golovin
114 1 Andrey Golovin
Результаты анализа выдаваемые GROMACS имеют расширение xvg ( программа GRACE), но формат самих файлов текстовой, так что построение графиков можно делать в excel. 
115 1 Andrey Golovin
116 1 Andrey Golovin
Предлагаю называть результаты анализа согласно общему шаблону: 
117 1 Andrey Golovin
   * Tool_system_param, где 
118 1 Andrey Golovin
      * Tool- это название программы которой проводили анализ
119 1 Andrey Golovin
      * sytem- это либо b (бислой) либо dna (ДНК).
120 1 Andrey Golovin
      * param- это некое дполнительное описание.
121 1 Andrey Golovin
122 2 Andrey Golovin
   * Пример :  rmsd_dna_1
123 1 Andrey Golovin
124 1 Andrey Golovin
Внимание ! Опции программы анализа вы можете узнать, набрав: имя_программы –h
125 1 Andrey Golovin
126 1 Andrey Golovin
Связи с тем, мы работаем с разными системами, то для каждой системы предлагается свой подход к анализу:
127 1 Andrey Golovin
128 1 Andrey Golovin
   * [[BilAnalysiss|Анализ результатов моделирование самосборки липидного бислоя ]]
129 1 Andrey Golovin
   * [[A2bAnalysis|Анализ результатов моделирование перехода А-формы ДНК в В-форму в воде]]
130 1 Andrey Golovin
   * [[DnaMelAnalysis|Анализ результатов плавления ДНК в формамиде ]]
131 1 Andrey Golovin
   * [[PepMelAnalysis|Анализ результатов плавления пептида в формамиде ]]
132 1 Andrey Golovin
133 5 Andrey Golovin
134 1 Andrey Golovin
Любой анализ начинают с визуального анализа движений молекул.
135 5 Andrey Golovin
136 5 Andrey Golovin
h3.  Пдсказака про Nglview и файлы Gromacs
137 5 Andrey Golovin
138 5 Andrey Golovin
Сначала импорт модулей
139 5 Andrey Golovin
<pre><code class="python">
140 5 Andrey Golovin
import nglview
141 5 Andrey Golovin
import mdtraj
142 6 Andrey Golovin
</code></pre>
143 6 Andrey Golovin
144 5 Andrey Golovin
Создадим объект для траектории
145 1 Andrey Golovin
<pre><code class="python">
146 1 Andrey Golovin
md =  mdtraj.load('b_pr.xtc', top='b_s.pdb')
147 6 Andrey Golovin
</code></pre>
148 6 Andrey Golovin
149 5 Andrey Golovin
Создадим объект nglview
150 5 Andrey Golovin
<pre><code class="python">
151 1 Andrey Golovin
n = nglview.show_mdtraj(md) 
152 5 Andrey Golovin
n.clear_representations()
153 5 Andrey Golovin
n.add_representation(repr_type='licorice') 
154 6 Andrey Golovin
</code></pre>
155 5 Andrey Golovin
И посмотрим анимацию
156 5 Andrey Golovin
<pre>
157 5 Andrey Golovin
n
158 5 Andrey Golovin
</pre>