Nano

Version 18 (Andrey Golovin, 26.03.2016 13:45)

1 1 Andrey Golovin
h1. Практические занятия для курсов по Моделированию нано- и биоструктур
2 1 Andrey Golovin
3 1 Andrey Golovin
4 1 Andrey Golovin
h3. Упоров И.В., Головин А.В.
5 1 Andrey Golovin
6 1 Andrey Golovin
h2.  Презентации к лекциям
7 1 Andrey Golovin
8 14 Andrey Golovin
   * Лекция attachment:l6.pdf
9 1 Andrey Golovin
10 1 Andrey Golovin
h2.  Практическое занятие по молекулярной динамике в курсе моделирования нано- и биоструктур 
11 1 Andrey Golovin
12 1 Andrey Golovin
13 1 Andrey Golovin
Цель данного занятия ознакомится с возможностями моделирования молекулярной динамики. 
14 1 Andrey Golovin
15 2 Andrey Golovin
В этом занятии мы будем рользоваться пакетом молекулярной динамики "Gromacs":http://www.gromacs.org. Это программное обеспечение распостраняется под лицензией GPL, т.е. пользователь может скачать исходный код и свободен его изменять по своему усмотрению.
16 1 Andrey Golovin
17 1 Andrey Golovin
----
18 1 Andrey Golovin
19 1 Andrey Golovin
h3. Общие положения
20 1 Andrey Golovin
21 9 Arthur Zalevsky
"Подсказки":http://kodomo.fbb.msu.ru/FBB/year_08/term3/unix.html по использованию оболочки bash в Linux.
22 1 Andrey Golovin
23 8 Arthur Zalevsky
> Вы будете работать на машине с адресом vsb.fbb.msu.ru порт 22025. Копирование файлов делать с помощью WinSCP.
24 1 Andrey Golovin
25 1 Andrey Golovin
*Типы файлов:*
26 1 Andrey Golovin
27 1 Andrey Golovin
   * gro - файл с координатами системы.
28 1 Andrey Golovin
29 1 Andrey Golovin
   * top - файл с описанием ковалентных  и нековалентных взаимодействий в молекулах.
30 1 Andrey Golovin
31 1 Andrey Golovin
   * mdp - файл с описанием параметров для работы молеклярно-механического движка.
32 1 Andrey Golovin
33 1 Andrey Golovin
   * tpr - файл для молеклярно-механического движка по сути есть объединение gro, top и mdp.
34 1 Andrey Golovin
35 1 Andrey Golovin
   * trr, xtc - файл с координатами после рассчёта.
36 1 Andrey Golovin
37 1 Andrey Golovin
----
38 1 Andrey Golovin
39 1 Andrey Golovin
*Основные программы из пакета, которые будут использованны на занятии:*
40 1 Andrey Golovin
41 1 Andrey Golovin
Программы запускаются в командной строке Linux, флаги запуска программ начинаются с -, например -f.
42 1 Andrey Golovin
Как правило после флага следует либо имя файла либо значение параметра. Смотрите примеры ниже.
43 1 Andrey Golovin
44 1 Andrey Golovin
   * editconf - манипуляция форматом координат и самими координатами. Пример:
45 1 Andrey Golovin
<pre>
46 1 Andrey Golovin
editconf -f my.gro -o my.pdb
47 1 Andrey Golovin
</pre>
48 1 Andrey Golovin
   * genbox - наполнение ячейки растворителем.Пример:
49 1 Andrey Golovin
<pre>
50 1 Andrey Golovin
genbox -cp my.gro -cs mysolvent.gro -p my.top -o my_solvated.gro
51 1 Andrey Golovin
</pre>
52 1 Andrey Golovin
   * genion - утилита для замены n молекул растворителя на ионы.
53 1 Andrey Golovin
<pre>
54 1 Andrey Golovin
genion -s my.tpr -np 10 -p my.top -o my_ions.gro 
55 1 Andrey Golovin
-np это добавить 10 положительно заряженых ионов
56 1 Andrey Golovin
</pre>
57 1 Andrey Golovin
   * grompp - объединение и проверка gro, top и mdp в tpr.
58 1 Andrey Golovin
<pre>
59 1 Andrey Golovin
grompp -f my.mdp -c my.gro -p my.top
60 1 Andrey Golovin
</pre>
61 1 Andrey Golovin
   * mdrun - молеклярно-механический движок. На входе принимает tpr файл.
62 1 Andrey Golovin
<pre>
63 1 Andrey Golovin
mdrun -deffnm my.tpr 
64 1 Andrey Golovin
здесь параметр -deffnm означает, что выходные файлы будут называться как и входной файл, только с другими расщирениями
65 1 Andrey Golovin
</pre>
66 1 Andrey Golovin
67 1 Andrey Golovin
h3. Настройка соединения с суперкомпьютером Chebyshev 
68 1 Andrey Golovin
69 3 Andrey Golovin
Доступ к суперкомпьютеру возможен только по ssh ключам. 
70 3 Andrey Golovin
71 1 Andrey Golovin
Проверьте соединение:
72 1 Andrey Golovin
<pre>
73 1 Andrey Golovin
ssh skif
74 1 Andrey Golovin
</pre>
75 1 Andrey Golovin
76 1 Andrey Golovin
h3. Объекты для практикума 
77 1 Andrey Golovin
78 16 Andrey Golovin
На этом занятии Вам предлагается 4 различных систем для моделирования. Перейдите по ссылке для подробных инструкций по выполнению каждого задания.
79 1 Andrey Golovin
80 4 Andrey Golovin
   * "Моделирование самосборки липидного бислоя из случайной стартовой конформации.":https://kodomo.fbb.msu.ru/wiki/Main/Modelling/BioNanoPrac/SelfAss
81 1 Andrey Golovin
82 4 Andrey Golovin
   * "Моделирование поведения ДНК в формамиде.":https://kodomo.fbb.msu.ru/wiki/Main/Modelling/BioNanoPrac/DnaMelt
83 1 Andrey Golovin
84 4 Andrey Golovin
   * "Моделирование перехода А-формы ДНК в В-форму в воде.":https://kodomo.fbb.msu.ru/wiki/Main/Modelling/BioNanoPrac/DnaA2b
85 1 Andrey Golovin
86 4 Andrey Golovin
   * "Моделирование поведения короткого пептида в формамиде.":https://kodomo.fbb.msu.ru/wiki/Main/Modelling/BioNanoPrac/PepMelt
87 1 Andrey Golovin
88 1 Andrey Golovin
h3. Анализ результатов
89 7 Andrey Golovin
 
90 1 Andrey Golovin
Пакет программ Gromacs предоставляет "много":http://www.gromacs.org/Documentation/Gromacs_Utilities инструментов для анализа траекторий и свойств динамики. Суть любого анализа сводится к пониманию специфики динамики конкретной системы. 
91 1 Andrey Golovin
92 1 Andrey Golovin
Результаты анализа выдаваемые GROMACS имеют расширение xvg ( программа GRACE), но формат самих файлов текстовой, так что построение графиков можно делать в excel. 
93 1 Andrey Golovin
94 1 Andrey Golovin
Предлагаю называть результаты анализа согласно общему шаблону: 
95 1 Andrey Golovin
   * Tool_system_param, где 
96 1 Andrey Golovin
      * Tool- это название программы которой проводили анализ
97 1 Andrey Golovin
      * sytem- это либо b (бислой) либо dna (ДНК).
98 1 Andrey Golovin
      * param- это некое дполнительное описание.
99 1 Andrey Golovin
100 1 Andrey Golovin
   * Пример :  g_rmsd_dna_1
101 1 Andrey Golovin
102 1 Andrey Golovin
Внимание ! Опции программы анализа вы можете узнать, набрав: имя_программы –h
103 1 Andrey Golovin
104 1 Andrey Golovin
Связи с тем, мы работаем с разными системами, то для каждой системы предлагается свой подход к анализу:
105 1 Andrey Golovin
106 1 Andrey Golovin
   * [[BilAnalysiss|Анализ результатов моделирование самосборки липидного бислоя ]]
107 1 Andrey Golovin
   * [[A2bAnalysis|Анализ результатов моделирование перехода А-формы ДНК в В-форму в воде]]
108 1 Andrey Golovin
   * [[DnaMelAnalysis|Анализ результатов плавления ДНК в формамиде ]]
109 1 Andrey Golovin
   * [[PepMelAnalysis|Анализ результатов плавления пептида в формамиде ]]
110 1 Andrey Golovin
111 15 Andrey Golovin
Для копирования результатов надо использовать scp на shadbox в своей директории:
112 15 Andrey Golovin
113 15 Andrey Golovin
<pre>
114 15 Andrey Golovin
scp skif:mfk/chem/Ivanov/*pdb .
115 15 Andrey Golovin
</pre>
116 15 Andrey Golovin
Вместо pdb можно написать xvg для копирования результатов анализа
117 15 Andrey Golovin
118 1 Andrey Golovin
Любой анализ начинают с визуального анализа движений молекул.
119 17 Andrey Golovin
120 17 Andrey Golovin
121 17 Andrey Golovin
Зависимости можно построить в Excel. 
122 17 Andrey Golovin
Вам предлагается сделать это в gnuplot или используйте matplotlib в IPython Notebook.
123 17 Andrey Golovin
124 17 Andrey Golovin
Для matplotlib:
125 17 Andrey Golovin
<pre>
126 17 Andrey Golovin
%matplotlib inline
127 17 Andrey Golovin
import numpy as np
128 17 Andrey Golovin
import matplotlib.pyplot as plt
129 17 Andrey Golovin
from scipy import optimize
130 17 Andrey Golovin
</pre>
131 17 Andrey Golovin
<pre>
132 17 Andrey Golovin
a = np.loadtxt("bond")
133 17 Andrey Golovin
x_o=a[:,0]
134 17 Andrey Golovin
y_o=a[:,1]
135 17 Andrey Golovin
print "initial data:", y_o
136 17 Andrey Golovin
#function is  f(x)=k(b-x)^2 + a
137 17 Andrey Golovin
fitfunc = lambda p, x: p[0]*pow(p[1]-x,2) + p[2] # Target function
138 17 Andrey Golovin
errfunc = lambda p, x, y: fitfunc(p, x) - y # Error function
139 17 Andrey Golovin
140 17 Andrey Golovin
p0 = [1,1, -79] # Initial guess for the parameters
141 17 Andrey Golovin
p1, success = optimize.leastsq(errfunc, p0[:], args=(x_o, y_o))
142 17 Andrey Golovin
print "Optimized params:", p1
143 17 Andrey Golovin
144 17 Andrey Golovin
#Plot it
145 17 Andrey Golovin
plt.plot(x_o, y_o, "ro", x_o,fitfunc(p1,x_o),"r-",c='blue',alpha=0.5)
146 17 Andrey Golovin
plt.xlim(1.3,1.8)
147 17 Andrey Golovin
plt.show()
148 17 Andrey Golovin
</pre>
149 17 Andrey Golovin
150 17 Andrey Golovin
Для Gnuplot:
151 17 Andrey Golovin
152 17 Andrey Golovin
Запустите Xming->XLaunch. Выберите тип расположения окон, удобно использовать Multiple windows. Next. Выберите Start Program. Run Remote-> Putty. Дальше всё как обычно: kodomo, username. <<BR>>
153 17 Andrey Golovin
Перейдите в рабочую директорию. Запустите Gnuplot: 
154 17 Andrey Golovin
<pre>
155 17 Andrey Golovin
gnuplot
156 17 Andrey Golovin
</pre>
157 18 Andrey Golovin
введите команду для игнорирования ненужных  строк  
158 18 Andrey Golovin
<pre>
159 18 Andrey Golovin
set datafile commentschars "#@&"
160 18 Andrey Golovin
</pre>
161 17 Andrey Golovin
Постройте зависимость энергии от длины связи, просто введите : plot "bond"
162 17 Andrey Golovin
У вас должен появиться график с точками похожими на параболу. Теперь нам надо найти коэффициенты в функции f(x)=a+k(x-b)^2 которые бы позволили наиболее близко описать наблюдаемую зависимость. Для этого воспользуемся возможностями Gnuplot. Сначала зададим функцию в развернутом виде, в строке gnuplot введём:
163 17 Andrey Golovin
<pre> f(x)=a + k*x*x - 2*k*x*b + k*b*b </pre>
164 17 Andrey Golovin
И зададим стартовые значения коэффициентов:
165 17 Andrey Golovin
<pre>
166 17 Andrey Golovin
a=-80
167 17 Andrey Golovin
k=1
168 17 Andrey Golovin
b=1.5
169 17 Andrey Golovin
</pre>
170 17 Andrey Golovin
Проведём подгонку коэффициентов под имеющиеся точки в файле bond:
171 17 Andrey Golovin
<pre> fit f(x) "bond" via a,k,b </pre>
172 17 Andrey Golovin
Сохраните значения коэффициентов. Постройте графики функции и значений энергии из GAMESS.
173 17 Andrey Golovin
<pre>
174 17 Andrey Golovin
plot "bond", f(x)
175 17 Andrey Golovin
</pre>