Version 1/4 - Next » - Current version
Andrey Golovin, 29.11.2023 15:57


Практическое занятие по расчёту свободной энергии

Цель данного занятия ознакомится с возможностями пертубации свободной энрегии.

В этом занятии мы будем пользоваться пакетом молекулярной динамики [Gromacs](http://www.gromacs.org). Это программное обеспечение распостраняется под лицензией GPL, т.е. пользователь может скачать исходный код и свободен его изменять по своему усмотрению.


Объект для практикума

На этом занятии Вам предлагается оценить разницу в энергии сольватации между этанолом и этантиолом.

Пример запуска Gromacs в [Google Colab](https://colab.research.google.com/drive/1hb7pt6SCQQCceOR4rIfLny2lGoIJx4s1#scrollTo=rDSEu85QW2xr)

  • Скачайте файлы в рабочую директорию c помощью wget

https://gitlab.sirius-web.org/courses/molecular-simulation/-/raw/master/pracs/p7/awh.mdp
https://gitlab.sirius-web.org/courses/molecular-simulation/-/raw/master/pracs/p7/em.mdp
https://gitlab.sirius-web.org/courses/molecular-simulation/-/raw/master/pracs/p7/eq.mdp
https://gitlab.sirius-web.org/courses/molecular-simulation/-/raw/master/pracs/p7/ethanol.gro
https://gitlab.sirius-web.org/courses/molecular-simulation/-/raw/master/pracs/p7/topol.gro

  • Создадим ячейку с этанолом
    1  
    2gmx editconf -f ethanol.gro -o box.gro -bt dodecahedron -d 1.2
    
  • Добавим воду
    1gmx solvate -cp box.gro -cs -o solvated.gro -p topol.top
    
  • Проведем оптимизацию системы
    1gmx grompp -f em -c solvated -p  -o em -maxwarn 1
    2gmx mdrun -deffnm em -v -nt 1
    
  • Проведём "утряску воды":
    1gmx grompp -f equil.mdp -c em.gro -o equil.tpr
    2gmx mdrun -deffnm equil -v -nt 1
    
  • Основной запуск
    1gmx grompp -f fep_awh.mdp -c equil.gro -o fep_awh.tpr
    2gmx mdrun -deffnm fep_awh -v 
    
  • Анализ
    1mkdir -p awh-data
    2gmx awh -quiet -s fep_awh.tpr -more -f fep_awh.edr -o awh-data/awh.xvg
    
  • Постройте изменение свободной энергии в точке 800 ps, это файл awh-data/awh_t1000.xvg
1import matplotlib.pyplot as plt
2import numpy as np
3
4np.loadtxt(file, comments=['#', ..... 
  • Постройте сходимость энергии во времени