Эта статья познакомит вас с библиотекой молекулярного моделирования MindSpore нового поколения SPONGE.

Нейронные сети

​[Рекомендуемая тема в этом выпуске] Обязательная к прочтению практика IoT: эксперты HUAWEI CLOUD подробно объяснят принципы разработки и внедрения модулей LiteOS.

一文带你认识MindSpore新一代分子模拟库SPONGE

Аннотация: Основываясь на характеристиках автоматического параллелизма MindSpore и слияния графовых вычислений, SPONGE может эффективно завершить традиционный процесс молекулярного моделирования.Используя характеристики автоматической дифференциации MindSpore, методы искусственного интеллекта, такие как нейронные сети, можно комбинировать с традиционными молекулярными симуляциями. .

Эта статья опубликована в сообществе HUAWEI CLOUD.«Библиотека молекулярного моделирования MindSpore следующего поколения: ГУБКА», оригинальный автор: Ю Фан, специалист по алгоритмам MindSpore

Библиотека молекулярного моделирования нового поколения MindSpore: SPONGE,Разработанный совместно Пекинским университетом и Шэньчжэньской лабораторией залива, исследовательской группой Гао Ициня и командой Huawei MindSpore, он обладает характеристиками высокой производительности и модульности.Полностью собственная библиотека программного обеспечения для молекулярного моделирования. Основываясь на характеристиках автоматического параллелизма MindSpore и слияния графовых вычислений, SPONGE может эффективно завершить традиционный процесс молекулярного моделирования.Используя характеристики автоматической дифференциации MindSpore, методы искусственного интеллекта, такие как нейронные сети, можно комбинировать с традиционным молекулярным моделированием.

Введение

Молекулярное моделирование относится к использованию компьютера для моделирования молекулярной структуры и поведения с помощью молекулярных моделей на атомном уровне, а затем для моделирования различных физических и химических свойств молекулярных систем. Он строит набор моделей и алгоритмов на основе экспериментов и основных принципов для расчета разумных молекулярных структур и молекулярного поведения. В последние годы технология молекулярного моделирования быстро развивалась и нашла широкое применение во многих дисциплинах. В области дизайна лекарств его можно использовать для изучения механизма действия вирусов и лекарств, в области биологических наук — для характеристики иерархической структуры и свойств белков, в области материаловедения, его можно использовать для изучения структуры и механических свойств, оптимизации дизайна материалов и т. д., в области химии его можно использовать для изучения поверхностного катализа и механизма, в области нефтехимической промышленности его можно использовать для структурных характеристики, дизайн синтеза, адсорбция и диффузия молекулярно-ситовых катализаторов, а также могут конструировать и характеризовать полимерные цепи и структуру кристаллических или аморфных объемных полимеров, прогнозы включают важные свойства, такие как поведение при смешивании, механические свойства, диффузия и когезия.

Из-за пространственных и временных ограничений моделирования применение традиционного программного обеспечения для моделирования молекулярной динамики сильно ограничено.Исследователям необходимо постоянно разрабатывать новые силовые поля, методы выборки и комбинировать новые технологии (такие как алгоритмы ИИ) для расширения моделирования молекулярной динамики. место действия. Таким образом, SPONGE возникла с полностью независимыми правами на интеллектуальную собственность. ГУБКА использоватьмодульныйКонструктивные особенности , помогают ученым эффективно и удобно создавать соответствующие вычислительные модули, необходимые для моделирования молекулярной динамики. В то же время, SPONGE также имеетЭффективность. Кроме того, SPONGE естественным образом поддерживает интеграцию с алгоритмами искусственного интеллекта.естественное слияние, и может использовать высокопроизводительные вычислительные функции самого фреймворка MindSpore.

По сравнению с традиционным программным обеспечением для молекулярного моделирования в сочетании с методом SITS для расширенного отбора проб биомолекул, SPONGE изначально поддерживает SITS и оптимизирует процесс расчета, чтобы сделать использование метода SITS более эффективным для моделирования биологических систем. Для поляризованных систем традиционное молекулярное моделирование использует такие методы, как количественные расчеты, для решения таких проблем, как плавающий заряд. Даже использование машинного обучения для уменьшения объема вычислений приведет к потере большого количества времени на проблему передачи данных программы. А SPONGE может поддерживать прямую связь с программами машинного обучения в памяти, используя характеристики модульности, что значительно сокращает общее время вычислений.

一文带你认识MindSpore新一代分子模拟库SPONGE

Рисунок 1: Расширенный отбор проб дипептидов аланина в доминирующих растворителях в сочетании с такими методами, как SITS.

SPONGE, открытый исходный код MindSpore 1.2, имеет следующие преимущества:

1. Полностью модульное молекулярное моделирование. Модульная конструкция алгоритмов молекулярного моделирования позволяет исследователям в этой области быстро реализовывать теории и алгоритмы и обеспечивает дружественную среду сообщества с открытым исходным кодом для внешних разработчиков, которые могут вносить подмодули.

2. Весь процесс алгоритма искусственного интеллекта, сочетающего традиционное молекулярное моделирование и MindSpore. В MindSpore разработчики могут легко применять методы искусственного интеллекта к молекулярному моделированию. Полнофункциональная SPONGE будет дополнительно объединена с MindSpore, чтобы стать новым поколением комплексного программного обеспечения для дифференцируемого молекулярного моделирования, реализующего естественную интеграцию искусственного интеллекта и молекулярного моделирования.

Введение в дело

Ниже приведено краткое введение в простой пример SPONGE на MindSpore, в котором SPONGE используется для имитации системы водного раствора трипептида аланина.

Перед практикой убедитесь, что MindSpore установлен правильно. Если нет, вы можете установить MindSpore через страницу установки MindSpore (официальный сайт MindSpore).

1. Подготовка исходного файла

В систему моделирования этого руководства необходимо загрузить три входных файла, а именно:

  • Файл свойств (файл с суффиксом **.in**) объявляет основные условия моделирования и управляет параметрами всего процесса моделирования.

  • Файл топологии (файл с суффиксом **.param7**), файл топологии описывает топологические отношения и различные параметры молекул в системе.

  • Файл координат (файл с суффиксом **.rst7**), файл координат описывает координаты начального момента каждого атома в системе.

Файлы топологии и файлы координат могут использоваться AmberTools в процессе моделирования.tleapМоделирование инструмента завершено, ссылка для скачивания (Скачать Amber MD).

После построения требуемого файла топологии и файла координат через tleap необходимо объявить основные условия моделирования через файл свойств и контролировать параметры всего процесса моделирования. Взяв в качестве примера файл свойств в этом руководстве, содержимое файла выглядит следующим образом:

NVT 290k
 mode = 1, # 分子动力学(MD)模式,1 表示模拟采用 NVT 系综
 dt= 0.001, # 模拟步长
 step_limit = 1, # 模拟总步数
 thermostat=1, # 控温方法,1 表示采用的是 Liujian-Langevin 方法
 langevin_gamma=1.0, # 控温器中的 Gamma_ln 参数
 target_temperature=290, # 目标温度
 write_information_interval=1000, # 输出频率
 amber_irest=0, # 输入方式,0 表示读入amber格式的输入坐标文件,其中不包含速度
 cut=10.0,  # 非键相互作用的距离

После того, как входные файлы для случая завершены, они именуются какhttp://NVT\_290\_10ns.in, WATER_ALA.parm7 и WATER_ALA_350_cool_290.rst7 эти три файла можно сохранить по пользовательскому пути локальной рабочей области.

2. Загрузите данные

Из трех входных файлов считайте параметры, необходимые системе моделирования для расчета окончательной системы.Код загрузки выглядит следующим образом:

import argparse
from mindspore import context
 
parser = argparse.ArgumentParser(description='Sponge Controller')
parser.add_argument('--i', type=str, default=None, help='input file')
parser.add_argument('--amber_parm', type=str, default=None, help='paramter file in AMBER type')
parser.add_argument('--c', type=str, default=None, help='initial coordinates file')
parser.add_argument('--r', type=str, default="restrt", help='')
parser.add_argument('--x', type=str, default="mdcrd", help='')
parser.add_argument('--o', type=str, default="mdout", help="")
parser.add_argument('--box', type=str, default="mdbox", help='')
parser.add_argument('--device_id', type=int, default=0, help='')
args_opt = parser.parse_args()
 
context.set_context(mode=context.GRAPH_MODE, device_target="GPU", device_id=args_opt.device_id, save_graphs=False)

3. Постройте процесс моделирования

С помощью модуля вычислительной силы и модуля вычислительной энергии, определенных в SPONGE, эволюция процесса молекулярной динамики осуществляется посредством множества итераций, благодаря чему система достигает нужного нам равновесного состояния, а энергия и другие данные, полученные на каждом шаге моделирования, фиксируются. Код построения процесса моделирования выглядит следующим образом:

from src.simulation_initial import Simulation
from mindspore import Tensor
 
if __name__ == "__main__":
 simulation = Simulation(args_opt)
 save_path = args_opt.o
 for steps in range(simulation.md_info.step_limit):
 print_step = steps % simulation.ntwx
 if steps == simulation.md_info.step_limit - 1:
 print_step = 0
 temperature, total_potential_energy, sigma_of_bond_ene, sigma_of_angle_ene, sigma_of_dihedral_ene, \
 nb14_lj_energy_sum, nb14_cf_energy_sum, LJ_energy_sum, ee_ene, _ = simulation(Tensor(steps), Tensor(print_step))
 # compute energy and temperature

4. Запустите скрипт

python main.py --i /path/NVT_290_10ns.in \
 --amber_parm /path/WATER_ALA.parm7 \
 --c /path/WATER_ALA_350_cool_290.rst7 \
 --o /path/ala_NVT_290_10ns.out

в,--iФайл свойств для моделирования МД, управляющий процессом моделирования,--amber_parmфайл топологии системы моделирования МД,--cисходный файл координат для нашего ввода,--oФайл записи для нашего вывода моделирования, который записывает энергию и другую информацию о каждом шаге вывода,--pathэто путь, по которому находится входной файл, в этом руководстве этоsponge_inпапка.

Используя входной файл, выполняется эволюция процесса молекулярной динамики путем запуска моделирования при заданной температуре, расчета сил и энергий.

5. Запуск результатов

Результат бега есть.outВ этом файле записываются изменения энергии системы, и можно просмотреть термодинамическую информацию моделируемой системы. существует.outВ файл записывается следующая информация о системе:

_steps_ _TEMP_ _TOT_POT_ENE_ _BOND_ENE_ _ANGLE_ENE_ _DIHEDRAL_ENE_ _14LJ_ENE_ _14CF_ENE_ _LJ_ENE_ _CF_PME_ENE_

Он записывает различные типы выходной энергии в процессе моделирования, а именно количество итераций (_steps_), температуру (_TEMP_), общую энергию (_TOT_POT_E_), длину связи (_BOND_ENE_), угол связи (_ANGLE_ENE_), взаимодействие двугранного угла (_DIHEDRAL_ENE_) , несвязывающие взаимодействия, которые включают электростатические силы и взаимодействия Леонарда-Джонса.

Учебная документация:git ee.com/minds-pore/…

Перспектива

В будущих версиях будут добавлены более практичные модули моделирования молекулярной динамики для поддержки большего количества приложений. После этого каждый модуль SPONGE будет постепенно поддерживать автоматическую дифференциацию и автоматический параллелизм, обеспечивая более удобную поддержку для подключения решений машинного обучения.Приглашаем энтузиастов и исследователей молекулярной динамики присоединиться к нам для совместной разработки и поддержки SPONGE..

Нажмите «Подписаться», чтобы впервые узнать о новых технологиях HUAWEI CLOUD~