Молекулярная динамика биологических молекул в 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 тут.