Nano
Version 16 (Andrey Golovin, 20.03.2015 21:25) → Version 17/18 (Andrey Golovin, 26.03.2016 12:54)
h1. Практические занятия для курсов по Моделированию нано- и биоструктур
h3. Упоров И.В., Головин А.В.
h2. Презентации к лекциям
* Лекция attachment:l6.pdf
h2. Практическое занятие по молекулярной динамике в курсе моделирования нано- и биоструктур
Цель данного занятия ознакомится с возможностями моделирования молекулярной динамики.
В этом занятии мы будем рользоваться пакетом молекулярной динамики "Gromacs":http://www.gromacs.org. Это программное обеспечение распостраняется под лицензией GPL, т.е. пользователь может скачать исходный код и свободен его изменять по своему усмотрению.
----
h3. Общие положения
"Подсказки":http://kodomo.fbb.msu.ru/FBB/year_08/term3/unix.html по использованию оболочки bash в Linux.
> Вы будете работать на машине с адресом vsb.fbb.msu.ru порт 22025. Копирование файлов делать с помощью WinSCP.
*Типы файлов:*
* gro - файл с координатами системы.
* top - файл с описанием ковалентных и нековалентных взаимодействий в молекулах.
* mdp - файл с описанием параметров для работы молеклярно-механического движка.
* tpr - файл для молеклярно-механического движка по сути есть объединение gro, top и mdp.
* trr, xtc - файл с координатами после рассчёта.
----
*Основные программы из пакета, которые будут использованны на занятии:*
Программы запускаются в командной строке Linux, флаги запуска программ начинаются с -, например -f.
Как правило после флага следует либо имя файла либо значение параметра. Смотрите примеры ниже.
* editconf - манипуляция форматом координат и самими координатами. Пример:
<pre>
editconf -f my.gro -o my.pdb
</pre>
* genbox - наполнение ячейки растворителем.Пример:
<pre>
genbox -cp my.gro -cs mysolvent.gro -p my.top -o my_solvated.gro
</pre>
* genion - утилита для замены n молекул растворителя на ионы.
<pre>
genion -s my.tpr -np 10 -p my.top -o my_ions.gro
-np это добавить 10 положительно заряженых ионов
</pre>
* grompp - объединение и проверка gro, top и mdp в tpr.
<pre>
grompp -f my.mdp -c my.gro -p my.top
</pre>
* mdrun - молеклярно-механический движок. На входе принимает tpr файл.
<pre>
mdrun -deffnm my.tpr
здесь параметр -deffnm означает, что выходные файлы будут называться как и входной файл, только с другими расщирениями
</pre>
h3. Настройка соединения с суперкомпьютером Chebyshev
Доступ к суперкомпьютеру возможен только по ssh ключам.
Проверьте соединение:
<pre>
ssh skif
</pre>
h3. Объекты для практикума
На этом занятии Вам предлагается 4 различных систем для моделирования. Перейдите по ссылке для подробных инструкций по выполнению каждого задания.
* "Моделирование самосборки липидного бислоя из случайной стартовой конформации.":https://kodomo.fbb.msu.ru/wiki/Main/Modelling/BioNanoPrac/SelfAss
* "Моделирование поведения ДНК в формамиде.":https://kodomo.fbb.msu.ru/wiki/Main/Modelling/BioNanoPrac/DnaMelt
* "Моделирование перехода А-формы ДНК в В-форму в воде.":https://kodomo.fbb.msu.ru/wiki/Main/Modelling/BioNanoPrac/DnaA2b
* "Моделирование поведения короткого пептида в формамиде.":https://kodomo.fbb.msu.ru/wiki/Main/Modelling/BioNanoPrac/PepMelt
h3. Анализ результатов
Пакет программ Gromacs предоставляет "много":http://www.gromacs.org/Documentation/Gromacs_Utilities инструментов для анализа траекторий и свойств динамики. Суть любого анализа сводится к пониманию специфики динамики конкретной системы.
Результаты анализа выдаваемые GROMACS имеют расширение xvg ( программа GRACE), но формат самих файлов текстовой, так что построение графиков можно делать в excel.
Предлагаю называть результаты анализа согласно общему шаблону:
* Tool_system_param, где
* Tool- это название программы которой проводили анализ
* sytem- это либо b (бислой) либо dna (ДНК).
* param- это некое дполнительное описание.
* Пример : g_rmsd_dna_1
Внимание ! Опции программы анализа вы можете узнать, набрав: имя_программы –h
Связи с тем, мы работаем с разными системами, то для каждой системы предлагается свой подход к анализу:
* [[BilAnalysiss|Анализ результатов моделирование самосборки липидного бислоя ]]
* [[A2bAnalysis|Анализ результатов моделирование перехода А-формы ДНК в В-форму в воде]]
* [[DnaMelAnalysis|Анализ результатов плавления ДНК в формамиде ]]
* [[PepMelAnalysis|Анализ результатов плавления пептида в формамиде ]]
Для копирования результатов надо использовать scp на shadbox в своей директории:
<pre>
scp skif:mfk/chem/Ivanov/*pdb .
</pre>
Вместо pdb можно написать xvg для копирования результатов анализа
Любой анализ начинают с визуального анализа движений молекул.
Зависимости можно построить в Excel.
Вам предлагается сделать это в gnuplot или используйте matplotlib в IPython Notebook.
Для matplotlib:
<pre>
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
from scipy import optimize
</pre>
<pre>
a = np.loadtxt("bond")
x_o=a[:,0]
y_o=a[:,1]
print "initial data:", y_o
#function is f(x)=k(b-x)^2 + a
fitfunc = lambda p, x: p[0]*pow(p[1]-x,2) + p[2] # Target function
errfunc = lambda p, x, y: fitfunc(p, x) - y # Error function
p0 = [1,1, -79] # Initial guess for the parameters
p1, success = optimize.leastsq(errfunc, p0[:], args=(x_o, y_o))
print "Optimized params:", p1
#Plot it
plt.plot(x_o, y_o, "ro", x_o,fitfunc(p1,x_o),"r-",c='blue',alpha=0.5)
plt.xlim(1.3,1.8)
plt.show()
</pre>
Для Gnuplot:
Запустите Xming->XLaunch. Выберите тип расположения окон, удобно использовать Multiple windows. Next. Выберите Start Program. Run Remote-> Putty. Дальше всё как обычно: kodomo, username. <<BR>>
Перейдите в рабочую директорию. Запустите Gnuplot:
<pre>
gnuplot
</pre>
Постройте зависимость энергии от длины связи, просто введите : plot "bond"
У вас должен появиться график с точками похожими на параболу. Теперь нам надо найти коэффициенты в функции f(x)=a+k(x-b)^2 которые бы позволили наиболее близко описать наблюдаемую зависимость. Для этого воспользуемся возможностями Gnuplot. Сначала зададим функцию в развернутом виде, в строке gnuplot введём:
<pre> f(x)=a + k*x*x - 2*k*x*b + k*b*b </pre>
И зададим стартовые значения коэффициентов:
<pre>
a=-80
k=1
b=1.5
</pre>
Проведём подгонку коэффициентов под имеющиеся точки в файле bond:
<pre> fit f(x) "bond" via a,k,b </pre>
Сохраните значения коэффициентов. Постройте графики функции и значений энергии из GAMESS.
<pre>
plot "bond", f(x)
</pre>
h3. Упоров И.В., Головин А.В.
h2. Презентации к лекциям
* Лекция attachment:l6.pdf
h2. Практическое занятие по молекулярной динамике в курсе моделирования нано- и биоструктур
Цель данного занятия ознакомится с возможностями моделирования молекулярной динамики.
В этом занятии мы будем рользоваться пакетом молекулярной динамики "Gromacs":http://www.gromacs.org. Это программное обеспечение распостраняется под лицензией GPL, т.е. пользователь может скачать исходный код и свободен его изменять по своему усмотрению.
----
h3. Общие положения
"Подсказки":http://kodomo.fbb.msu.ru/FBB/year_08/term3/unix.html по использованию оболочки bash в Linux.
> Вы будете работать на машине с адресом vsb.fbb.msu.ru порт 22025. Копирование файлов делать с помощью WinSCP.
*Типы файлов:*
* gro - файл с координатами системы.
* top - файл с описанием ковалентных и нековалентных взаимодействий в молекулах.
* mdp - файл с описанием параметров для работы молеклярно-механического движка.
* tpr - файл для молеклярно-механического движка по сути есть объединение gro, top и mdp.
* trr, xtc - файл с координатами после рассчёта.
----
*Основные программы из пакета, которые будут использованны на занятии:*
Программы запускаются в командной строке Linux, флаги запуска программ начинаются с -, например -f.
Как правило после флага следует либо имя файла либо значение параметра. Смотрите примеры ниже.
* editconf - манипуляция форматом координат и самими координатами. Пример:
<pre>
editconf -f my.gro -o my.pdb
</pre>
* genbox - наполнение ячейки растворителем.Пример:
<pre>
genbox -cp my.gro -cs mysolvent.gro -p my.top -o my_solvated.gro
</pre>
* genion - утилита для замены n молекул растворителя на ионы.
<pre>
genion -s my.tpr -np 10 -p my.top -o my_ions.gro
-np это добавить 10 положительно заряженых ионов
</pre>
* grompp - объединение и проверка gro, top и mdp в tpr.
<pre>
grompp -f my.mdp -c my.gro -p my.top
</pre>
* mdrun - молеклярно-механический движок. На входе принимает tpr файл.
<pre>
mdrun -deffnm my.tpr
здесь параметр -deffnm означает, что выходные файлы будут называться как и входной файл, только с другими расщирениями
</pre>
h3. Настройка соединения с суперкомпьютером Chebyshev
Доступ к суперкомпьютеру возможен только по ssh ключам.
Проверьте соединение:
<pre>
ssh skif
</pre>
h3. Объекты для практикума
На этом занятии Вам предлагается 4 различных систем для моделирования. Перейдите по ссылке для подробных инструкций по выполнению каждого задания.
* "Моделирование самосборки липидного бислоя из случайной стартовой конформации.":https://kodomo.fbb.msu.ru/wiki/Main/Modelling/BioNanoPrac/SelfAss
* "Моделирование поведения ДНК в формамиде.":https://kodomo.fbb.msu.ru/wiki/Main/Modelling/BioNanoPrac/DnaMelt
* "Моделирование перехода А-формы ДНК в В-форму в воде.":https://kodomo.fbb.msu.ru/wiki/Main/Modelling/BioNanoPrac/DnaA2b
* "Моделирование поведения короткого пептида в формамиде.":https://kodomo.fbb.msu.ru/wiki/Main/Modelling/BioNanoPrac/PepMelt
h3. Анализ результатов
Пакет программ Gromacs предоставляет "много":http://www.gromacs.org/Documentation/Gromacs_Utilities инструментов для анализа траекторий и свойств динамики. Суть любого анализа сводится к пониманию специфики динамики конкретной системы.
Результаты анализа выдаваемые GROMACS имеют расширение xvg ( программа GRACE), но формат самих файлов текстовой, так что построение графиков можно делать в excel.
Предлагаю называть результаты анализа согласно общему шаблону:
* Tool_system_param, где
* Tool- это название программы которой проводили анализ
* sytem- это либо b (бислой) либо dna (ДНК).
* param- это некое дполнительное описание.
* Пример : g_rmsd_dna_1
Внимание ! Опции программы анализа вы можете узнать, набрав: имя_программы –h
Связи с тем, мы работаем с разными системами, то для каждой системы предлагается свой подход к анализу:
* [[BilAnalysiss|Анализ результатов моделирование самосборки липидного бислоя ]]
* [[A2bAnalysis|Анализ результатов моделирование перехода А-формы ДНК в В-форму в воде]]
* [[DnaMelAnalysis|Анализ результатов плавления ДНК в формамиде ]]
* [[PepMelAnalysis|Анализ результатов плавления пептида в формамиде ]]
Для копирования результатов надо использовать scp на shadbox в своей директории:
<pre>
scp skif:mfk/chem/Ivanov/*pdb .
</pre>
Вместо pdb можно написать xvg для копирования результатов анализа
Любой анализ начинают с визуального анализа движений молекул.
Зависимости можно построить в Excel.
Вам предлагается сделать это в gnuplot или используйте matplotlib в IPython Notebook.
Для matplotlib:
<pre>
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
from scipy import optimize
</pre>
<pre>
a = np.loadtxt("bond")
x_o=a[:,0]
y_o=a[:,1]
print "initial data:", y_o
#function is f(x)=k(b-x)^2 + a
fitfunc = lambda p, x: p[0]*pow(p[1]-x,2) + p[2] # Target function
errfunc = lambda p, x, y: fitfunc(p, x) - y # Error function
p0 = [1,1, -79] # Initial guess for the parameters
p1, success = optimize.leastsq(errfunc, p0[:], args=(x_o, y_o))
print "Optimized params:", p1
#Plot it
plt.plot(x_o, y_o, "ro", x_o,fitfunc(p1,x_o),"r-",c='blue',alpha=0.5)
plt.xlim(1.3,1.8)
plt.show()
</pre>
Для Gnuplot:
Запустите Xming->XLaunch. Выберите тип расположения окон, удобно использовать Multiple windows. Next. Выберите Start Program. Run Remote-> Putty. Дальше всё как обычно: kodomo, username. <<BR>>
Перейдите в рабочую директорию. Запустите Gnuplot:
<pre>
gnuplot
</pre>
Постройте зависимость энергии от длины связи, просто введите : plot "bond"
У вас должен появиться график с точками похожими на параболу. Теперь нам надо найти коэффициенты в функции f(x)=a+k(x-b)^2 которые бы позволили наиболее близко описать наблюдаемую зависимость. Для этого воспользуемся возможностями Gnuplot. Сначала зададим функцию в развернутом виде, в строке gnuplot введём:
<pre> f(x)=a + k*x*x - 2*k*x*b + k*b*b </pre>
И зададим стартовые значения коэффициентов:
<pre>
a=-80
k=1
b=1.5
</pre>
Проведём подгонку коэффициентов под имеющиеся точки в файле bond:
<pre> fit f(x) "bond" via a,k,b </pre>
Сохраните значения коэффициентов. Постройте графики функции и значений энергии из GAMESS.
<pre>
plot "bond", f(x)
</pre>