« Previous - Version 6/10 (diff) - Next » - Current version
Andrey Golovin, 10.10.2022 15:08


Практическое занятие по молекулярной динамике.

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

В этом занятии мы будем рользоваться пакетом молекулярной динамики Gromacs. Это программное обеспечение распостраняется под лицензией GPL, т.е. пользователь может скачать исходный код и свободен его изменять по своему усмотрению.


Общие положения

Установите gromacs

sudo apt install gromacs 

Установите singularity
echo "deb http://neurodebian.ovgu.de/debian/ focal main contrib non-free" >> /etc/apt/sources.list sudo apt-key adv --recv-keys --keyserver hkp://pgp.mit.edu:80 0xA5D32F012649A5A9 sudo apt-get update sudo apt-get install singularity-container

Скопируем образ с Gromacs для Singularity и сделаем alias на запуск:

scp 10.23.68.42:/tmp/gmx2022-gpu.sif /tmp/

alias gmx='singularity shell -B $(pwd) --nv /tmp/gmx2022-gpu.sif gmx'

При работе в новом терминале alias надо будет перезадать

Типы файлов:

  • gro - файл с координатами системы.
  • top - файл с описанием ковалентных и нековалентных взаимодействий в молекулах.
  • mdp - файл с описанием параметров для работы молеклярно-механического движка.
  • tpr - файл для молеклярно-механического движка по сути есть объединение gro, top и mdp.
  • trr, xtc - файл с координатами после рассчёта.


Основные программы из пакета, которые будут использованны на занятии:

Программы запускаются в командной строке Linux, флаги запуска программ начинаются с -, например -f.
Как правило после флага следует либо имя файла либо значение параметра. Смотрите примеры ниже.

  • editconf - манипуляция форматом координат и самими координатами. Пример:
    editconf -f my.gro -o my.pdb
    
  • solvate - наполнение ячейки растворителем.Пример:
    solvate -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 положительно заряженых ионов
    или прочитайте про флажки -conc -neutral
    
  • grompp - объединение и проверка gro, top и mdp в tpr.
    grompp -f my.mdp -c my.gro -p my.top
    
  • mdrun - молеклярно-механический движок. На входе принимает tpr файл.
    mdrun -deffnm my.tpr 
    здесь параметр -deffnm означает, что выходные файлы будут называться как и входной файл, только с другими расщирениями
    

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

На этом занятии Вам предлагается 4 различные систем для моделирования. Перейдите по ссылке для подробных инструкций по выполнению каждого задания.

Внимание выполнить надо только одно задание на Ваш выбор
Пример запуска Gromacs в Google Colab https://colab.research.google.com/drive/1hb7pt6SCQQCceOR4rIfLny2lGoIJx4s1#scrollTo=rDSEu85QW2xr

https://drive.google.com/file/d/1Ng00D1LCrBWmD9hANyFRB8eOpVE9i-5l/view?usp=sharing

  • "Моделирование самосборки липидного бислоя из случайной стартовой конформации."
  • "Моделирование поведения ДНК в формамиде."
  • "Моделирование перехода А-формы ДНК в В-форму в воде."
  • "Моделирование поведения короткого пептида в формамиде."

Файлы: https://drive.google.com/drive/folders/1zgZVOjPJbiDOCSghMlpPvK3vp1-h_8FK?usp=sharing

Анализ результатов

Пакет программ Gromacs предоставляет много инструментов для анализа траекторий и свойств динамики. Суть любого анализа сводится к пониманию специфики динамики конкретной системы.

Результаты анализа выдаваемые GROMACS имеют расширение xvg ( программа GRACE), но формат самих файлов текстовой, так что построение графиков можно делать в excel.

Предлагаю называть результаты анализа согласно общему шаблону: * Tool_system_param, где * Tool- это название программы которой проводили анализ * sytem- это либо b (бислой) либо dna (ДНК). * param- это некое дполнительное описание.

  • Пример : rmsd_dna_1

Внимание ! Опции программы анализа вы можете узнать, набрав: имя_программы –h

Связи с тем, мы работаем с разными системами, то для каждой системы предлагается свой подход к анализу:

Любой анализ начинают с визуального анализа движений молекул.

Пдсказака про Nglview и файлы Gromacs

Сначала импорт модулей

1import nglview
2import mdtraj

Создадим объект для траектории

1md =  mdtraj.load('b_pr.xtc', top='b_s.pdb')

Создадим объект nglview

1n = nglview.show_mdtraj(md) 
2n.clear_representations()
3n.add_representation(repr_type='licorice') 

И посмотрим анимацию
n