• A
  • A
  • A
  • АБВ
  • АБВ
  • АБВ
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта

Amber

👉Вернуться к списку инструкций

amber_soft_img
Amber - это набор программ для биомолекулярного моделирования. Он был создан в конце 1970-х годов и поддерживается активным сообществом разработчиков. Термин "Amber" относится к двум вещам. Во-первых, это набор молекулярно-механических силовых полей для моделирования биомолекул; эти силовые поля находятся в открытом доступе и используются в различных программах моделирования. Во-вторых, это пакет программ молекулярного моделирования, который включает исходный код и демонстрации.
Официальный сайт: https://ambermd.org/

Доступные версии на суперкомпьютере НИУ ВШЭ

module load Amber/v22    # Amber 22 + AmberTools 23

Тестовые исходные данные расположены на суперкомпьютере в каталоге /opt/software/amber/v22

Также установлен пакет AmberTools23

Пользователи: Международная лаборатория суперкомпьютерного атомистического моделирования и многомасштабного анализа, любые подразделения НИУ ВШЭ.

Общая информация

amber_flow

Рисунок 1: cхема взаимодействия компонентов в AMBER

Пакет состоит из множества компонентов, включая набор AmberTools. Общая схема их взаимодействия приведена на рисунке 1.
Компоненты для подготовки данных:
LEaP - это основная программа для создания новой системы в Amber или для модификации существующих систем. Она доступна в виде программы командной строки tleap или графического интерфейса xleap. Она сочетает в себе функциональность prep, link, edit и parm из гораздо более ранних версий Amber.
pdb4amber обычно помогает подготовить файлы формата pdb, поступающие из других мест (например, с сайта rcsb.org), чтобы они были совместимы с LEaP.
prepareforleap - это не программа, а действие внутри программыecpptraj, которое также помогает сделать файлы форматаpdb совместимыми с LEaP. Она особенно полезна при работе с углеводами.
parmed предоставляет простой способ извлечения информации о параметрах, определенных в файле топологии параметров. Он также может быть использован для проверки достоверности файла топологии параметров для сложных систем (см. команду checkValidity), а также для внесения простых изменений в этот файл.
antechamber - это основная программа для разработки силовых полей для малых неорганических молекул (например, лекарств, модифицированных аминокислот) с использованием версии общего силового поля Амбера (GAFF). Они могут быть использованы непосредственно в LEaP или служить отправной точкой для дальнейшей разработки параметров.
MCPB.py предоставляет средства для построения, прототипирования и проверки ММ-моделей металлопротеинов и металлоорганических соединений. Он использует модель "связь плюс электростатика" для расширения существующих парных аддитивных силовых полей. Это новая реализация MCPB на Python, с более эффективным рабочим процессом и многими процессами моделирования из предыдущих версий, включёнными автоматически.
IPMach.py предоставляет инструмент для облегчения параметризации моделей без связей (12-6 LJ-модель и 12-6-4 LJ-модель) для ионов.
mdgx позволяет генерировать параметры поля силы связи для любой молекулы путем подгонки к квантовым данным.
packmol-memgen обеспечивает простой способ создания мембранных систем с белками или без них, ориентируя входные белки с помощью Memembed и используя Packmol в качестве механизма упаковки. Он может работать со сложными липидными смесями, а также с многослойными системами. Выходные данные совместимы с Amber через charmm- lipid2amber.py.

Компоненты моделирования:
sander (частьAmberTools) - это базовый минимизатор энергии и программа молекулярной динамики. Эта программа релаксирует структуру, итеративно перемещая атомы вниз по градиенту энергии, пока не будет получен достаточно низкий средний градиент. Часть молекулярной динамики генерирует конфигурации системы путем интегрирования ньютоновских уравнений движения. Молекулярная динамика охватывает больше конфигурационного пространства, чем минимизация, и позволяет структуре преодолевать небольшие барьеры потенциальной энергии. Конфигурации могут быть сохранены через регулярные интервалы во время моделирования для последующего анализа, а также могут быть выполнены базовые расчеты свободной энергии с использованием термодинамического интегрирования. Более сложный конформационный поиск и моделирование MD-исследований также могут быть выполнены с помощью модуля sander. Он позволяет добавлять различные ограничения к базовому силовому полю и был разработан специально для расчетов, связанных с уточнением структуры методом ЯМР, рентгенографии или крио-ЭМ.
pmemd (partofAmber) - это версия сандера, оптимизированная для быстрого и параллельного масштабирования;
pmemd.cuda работает на графических процессорах. Название расшифровывается как "Particle Mesh Ewald Molecular Dynamics", но теперь этот код может выполнять и обобщенное борновское моделирование. Входные и выходные данные имеют лишь некоторые изменения по сравнению с sander.
gem.pmemd (частьAmberTools)- это вариант программыpmemd (только для CPU), предназначенный для расчетов с использованием "продвинутых" силовых полей, таких как AMOEBA и GEM.

Компоненты анализа:
mdout_analyzer.py - это простой в исполнении Python-скрипт, который предоставит краткое описание информации, содержащейся ввыходных файлах sander или pmemd.
cpptraj - основная утилита анализа траекторий (написана на C++) для выполнения суперпозиций, извлечения координат, расчета значений связей/углов/диагоналей, колебаний атомных позиций, корреляционных функций, анализа водородных связей и т. д.
pytraj - это Python-обертка для cpptraj. Она привносит дополнительную гибкость в анализ данных, сочетаясь с богатыми экосистемами Python (такими как numpy, scipy и ipython-notebook).
pbsa - это программа для анализа энергетики биомолекул, опосредованной растворителем. Вариант pbsa.cuda работает на графических процессорах. С ее помощью можно проводить как электростатические, так и неэлектростатические континуальные сольватационные расчеты с входными файлами координат из симуляторов молекулярной динамики и других источников (в формате pqr). Он также поддерживает визуализацию электростатических потенциалов, обусловленных растворителем, в различных программах визуализации.
MMPBSA.py - это скрипт на языке апитон, который автоматизирует энергетический анализ снимков из молекулярно-динамического моделирования с использованием идей, полученных из континуальных моделей растворителя. (Существует также более старый perl-скрипт mm_pbsa.pl, обладающий аналогичной функциональностью).
FEW (Free energy workflow) - автоматизирует расчеты свободной энергии связывания белка с лигандом, используя расчеты TI, MM/PBSA-типа или LIE.

* подробная информация по пакету: https://ambermd.org/doc12/Amber22.pdf

Выполнение расчетов на суперкомпьютере

Для выполнения расчёта на суперкомпьютере необходимо подготовить скрипт-файл для очереди задач с запросом требуемых ресурсов (см. инструкцию по запуску задач на суперкомпьютере).

Пример запуска на GPU (рекомендуется)

Amber прекрасно работает с GPU, в том числе с Nvidia A100. Результаты тестов.

В качестве примера, выполним моделирование молекулярной динамики (МД) с помощью pmemd. Для проведения моделирования будет использована белковая система, подготовленная по примеру из документации: Tutorial 1.4: Building Protein Systems in Explicit Solvent.
Обратите внимание, что в данном примере не рассматривается минимизация, нагрев или уравновешивание.

Расчет будет выполнен с использованием pmemd.cuda, обладающим следующими основными параметры:

-O перезаписать имеющиеся выходные файлы

-i входной файл MD

-p файл топологии

-c файл начальных координат

-ref опорные координаты (как правило, используются те же, что и стартовые координаты)

-o выходной файл

-r файл перезапуска (последний набор координат xyz из симуляции)

-x файл с траекторией

-inf файл для сохранения информации о процессе расчета (шаги, время и тд). Если явно не указать файл в -inf, информация о ходе расчета будет выводиться в файл mdinfo в директории запуска.

Для старта расчета необходимо 3 файла:
1) файл топологии, созданный программой LEaP (RAMP1.prmtop)
2) файл координат эквилибрированной системы (RAMP1_equil.rst7)
3) основной входной файл md (md.in)
Перечисленные файлы примера размещены тут: /opt/software/amber/v22/examples/tutorial_1.4

Для постановки задачи в очередь сформируепм sbatch-скрипт amber.sbatch

#!/bin/bash
#SBATCH --job-name=amber            # Название задачи
#SBATCH --time=01:00:00             # Максимальное время выполнения
#SBATCH --error=amber-%j.err # Файл для вывода ошибок
#SBATCH --output=amber-%j.log # Файл для вывода результатов
#SBATCH --constraint="[type_e|type_a|type_c|type_b]" # типы узлов в порядке предпочтения
#SBATCH --nodes 1 # Число используемых узлов
#SBATCH --ntasks 1                  # Количество MPI процессов = ядер CPU
#SBATCH --gpus 1                   # Число используемых GPU
#SBATCH --mail-user=ваша_почта      # Укажите ваш email для отправки уведомлений
#SBATCH --mail-type=END,FAIL        # События, требующие уведомления

module load Amber/v22          # Загрузка модуля Amber

# Для удобства создадим переменную с путем до файлов примера
export EDIR=/opt/software/amber/v22/examples/tutorial_1.4

# Команда запуска
pmemd.cuda -O -i $EDIR/md.in -p $EDIR/RAMP1.prmtop -c $EDIR/RAMP1_equil.rst7 -ref $EDIR/RAMP1_equil.rst7 \
-o RAMP1_md.mdout -r RAMP1_md.rst7 -x RAMP1_md.nc

# Рекомендуемые пропорции ресурсов: 1 GPU, 1 ядро CPU, 1 вычислительный узел.
# Предпочтительные типы узлов: E, A, B, C.

Для постановки задачи в очередь необходимо выполнить команду sbatch amber.sbatch

Посмотреть состояние своих задач можно с помощью команды mj.
Результат выполнения скрипта будет сохранён в файл abmer-00000.log (где 00000 - номер задачи в очереди)Сообщения, выводимые в процессе работы Abinit, будут записаны в файл abmer-00000.err (где 00000 - номер задачи в очереди).


 

Нашли опечатку?
Выделите её, нажмите Ctrl+Enter и отправьте нам уведомление. Спасибо за участие!
Сервис предназначен только для отправки сообщений об орфографических и пунктуационных ошибках.