Nano
Version 17 (Andrey Golovin, 26.03.2016 12:54)
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 | 17 | Andrey Golovin | Постройте зависимость энергии от длины связи, просто введите : plot "bond" |
158 | 17 | Andrey Golovin | У вас должен появиться график с точками похожими на параболу. Теперь нам надо найти коэффициенты в функции f(x)=a+k(x-b)^2 которые бы позволили наиболее близко описать наблюдаемую зависимость. Для этого воспользуемся возможностями Gnuplot. Сначала зададим функцию в развернутом виде, в строке gnuplot введём: |
159 | 17 | Andrey Golovin | <pre> f(x)=a + k*x*x - 2*k*x*b + k*b*b </pre> |
160 | 17 | Andrey Golovin | И зададим стартовые значения коэффициентов: |
161 | 17 | Andrey Golovin | <pre> |
162 | 17 | Andrey Golovin | a=-80 |
163 | 17 | Andrey Golovin | k=1 |
164 | 17 | Andrey Golovin | b=1.5 |
165 | 17 | Andrey Golovin | </pre> |
166 | 17 | Andrey Golovin | Проведём подгонку коэффициентов под имеющиеся точки в файле bond: |
167 | 17 | Andrey Golovin | <pre> fit f(x) "bond" via a,k,b </pre> |
168 | 17 | Andrey Golovin | Сохраните значения коэффициентов. Постройте графики функции и значений энергии из GAMESS. |
169 | 17 | Andrey Golovin | <pre> |
170 | 17 | Andrey Golovin | plot "bond", f(x) |
171 | 17 | Andrey Golovin | </pre> |