Молекулярная динамика биологических молекул в GROMACS
Вводная часть (коротко о важном)
Типы файлов
- gro - файл с координатами системы.
- top - файл с описанием ковалентных и нековалентных взаимодействий в молекулах.
- mdp - файл с описанием параметров для работы молеклярно-механического движка.
- tpr - файл для молеклярно-механического движка по сути есть объединение gro, top и mdp.
- trr, xtc - файл с координатами после рассчёта.
Основные программы из пакета, которые будут использованны на занятии
Программы запускаются в консоли, флаги запуска программ начинаются с -. Как правило после флага следует либо имя файла либо значение параметра.
- editconf - манипуляция форматом координат и
самими координатами
editconf -f my.gro -o my.pdb
- genbox - наполнение ячейки растворителем
genbox -cp my.gro -cs mysolvent.gro -p my.top -o my_solvated.gro
- genion - утилита для замены n молекул растворителя на ионы
genion -s my.tpr -np 10 -p my.top -o my_ions.gro -np это добавить 10 положительно заряженых ионов
- grompp - объединение и проверка gro, top и mdp в tpr
grompp -f my.mdp -c my.gro -p my.top
- mdrun - молеклярно-механический движок. На входе принимает tpr файл.
mdrun -deffnm my здесь параметр -deffnm означает, что выходные файлы будут называться как и входной файл, только с другими расщирениями
Настройка соединения с суперкомпьютером Chebyshev
Доступ только по ssh ключам:
rm ~/.ssh mkdir ~/.ssh cp /home/preps/golovin/skif/* ~/.ssh cat /home/preps/golovin/skif/config >> ~/.ssh/config chmod 600 ~/.ssh/chemprac ssh skif
Моделирование самосборки липидного бислоя
Даны файлы:
- дополнительной топологии для липида DPPC, dppc.itp
- параметры для липидов lipid.itp
- координаты одного липида dppc.gro
- Файл-заготовка тополгии системы b.top
- файл праметров для минимизации энергии em.mdp
- файл праметров для "утряски" воды pr.mdp pr.mdp
- файл праметров для молекулярной динамики md.mdp
for i in $(echo dppc.itp lipid.itp dppc.gro b.top em.mdp pr.mdp md.mdp); do wget http://kodomo.cmm.msu.ru/~golovin/bilayer/$i -O $i done
На основе одного липида созадим ячейку с 64 липидами:
genconf -f dppc.gro -o b_64.gro -nbox 4 4 4 editconf -f dppc.gro -o dppc.pdb editconf -f b_64.gro -o b_64.pdb
![]() |
![]() |
Рис.1. Молекула липида. | Рис.2. Ячейка с 64 липидами. |
В текстовом редакторе в файле b.top установиv правильное количество липидов в системе.
[ molecules ] ; name number DPPC 64
Сделаем небольшой отступ в ячейке от липидов, что бы добавить примерно 2500 молекул воды:
editconf -f b_64.gro -o b_ec -d 0.5
Проведём оптимизацию геометрии системы, что бы удалить "плохие" контакты молекул:
grompp -f em -c b_ec -p b -o b_em -maxwarn 2 mdrun -deffnm b_em -v
Вот что сказал mdrun:
Potential Energy = 3.2059077e+03 Maximum force = 6.1937860e+02 on atom 915 Norm of force = 1.7839124e+02
Добавим в ячейку молекулы воды типа spc и произведем ее "утряску":
genbox -cp b_em -p b -cs spc216 -o b_s grompp -f pr -c b_s -p b -o b_pr -maxwarn 1 mdrun -deffnm b_pr -v
На взрыв системы mdrun, вроде не пожаловался, но если пересчитать оптимизацию с -maxwarn 1:
Potential Energy = -5.2667258e+04 Maximum force = 4.1569731e+03 on atom 2934 Norm of force = 2.4540063e+02
Переформатируем b_pr.gro и b_s.gro в .pdb:
editconf -f b_pr.gro -o b_pr.pdb editconf -f b_s.gro -o b_s.pdb
Скопируем файлы и запускаем тестовое моделирование на суперкомпьютере Чебышев:
cd ../../ scp -r ./Term8/Pr6 skif:_scratch/fbb/Moiseeva ssh skif cd _scratch/fbb/Moiseeva cp /home/users/golovin/progs/share/gromacs/top/residuetypes.dat . grompp -f md -c b_pr -p b -o b_md -maxwarn 1 sbatch -n 4 -e error.log -o output.log -t 5 -p test impi /mnt/msu/users/fbbstudent/gmx-4.6.7-intel-impi-mkl-single/bin/mdrun_mpi -deffnm b_md -v less mdrun_mpi.out-1043942 - не работает!
Запускаем основное моделирование на суперкомпьтере:
sbatch -n 16 -e error.log -o output.log -t 500 -p regular4 impi /mnt/msu/users/fbbstudent/gmx-4.6.7-intel-impi-mkl-single/bin/mdrun_mpi -deffnm b_md -v ##job № 1043944
Все команды работа в PyMol тут.