|
|
本帖最后由 Huschein 于 2026-1-7 10:23 编辑
MAPLE: 机器学习力场计算化学平台
机器学习力场(MLFF)已经热门好几年了,大家也逐渐看到了它的优势:快速、高效,能够适应不同的体系。虽然目前它仍受限于训练集数据,但随着 Open Molecules 2025 数据库的发布,MLFF 正在朝着更加工业化的方向迈进——从以前的特定体系、有机小分子,扩展到如今的激发态、化学反应、金属有机体系,MLFF 正日趋成熟。我认为这种发展和二十年前力场拟合的历程有相似之处:它虽然不是全知全能的,但已经可以胜任大部分任务了。
然而,目前存在一个问题:现有平台如 ASE、MLatom 等并非专门为 MLFF 设计,而一些商业化平台(如 Rowan)却不开源。这在很大程度上限制了 MLFF 的进一步应用。同时,大部分平台的设计者满足于编写接口调用外部程序(如 Gaussian/ORCA),这种做法省事且无需额外验证,但 MLFF 的 GPU 推理、并行计算、自动微分等特性,是这些平台在设计之初就没有考虑在内的。
因此,MAPLE 设计的初衷就是:尽可能减少对第三方库/软件的依赖,原生手动实现所有方法,并针对不同的 MLFF 做针对性优化。在共享算法层面,MAPLE 将 MLFF 与并行算法(B-LBFGS)、自动微分(Modified Dimer)深度融合,进一步释放 MLFF 的潜力。同时,MLFF 兼顾了性能与精度,使得很多常规 MM 或 QM 难以实现的任务成为可能。例如,MAPLE 提供了近 100 种平衡态显式溶剂模型,使得化学反应计算可以直接采用显式溶剂建模,避免传统 QM 中隐式溶剂模型不准确的问题;配合限制性优化和构象搜索功能,溶剂中化学反应的计算将更加贴近真实世界。
MAPLE 目前发布了第一个版本。第一阶段的目标是实现 Gaussian/ORCA(G/O)中的大部分功能,并针对 MLFF 进行算法优化。但 MAPLE 存在的意义并非再造一个 Gaussian 或 ORCA——只有先实现基础功能,更多进阶功能才能得以构建。值得一提的是,MAPLE 采用了与 Gaussian/ORCA 相似的输入格式和输出风格,使得大多数 G/O 用户可以几乎零成本地学习和使用 MAPLE;这样设计的另一个目的是兼容更多现有的后处理分析平台。此外,MAPLE 也正在构建一套官方工具包 MAPLEtoolkits,以便快速进行后处理分析,为大家提供便利。我们还与深圳湾实验室Zhang Jun老师课题组合作,成功将 MAPLE 接入了 Qbics-MolStar 平台,用户可以直接在该平台使用 MAPLE 的结构优化和过渡态搜索功能。
MAPLE 提供的功能和 TODO list 远不止于此,难以一一介绍,但我们希望大家可以在实际任务中试一试 MAPLE。例如,在高通量结构预优化场景下,MAPLE 可以直接对一个文件夹中的所有分子批量执行优化;又如大分子优化,在我们的测试中,最大体系接近 10000 个原子,可以在一天内完成 超过 200 个 iteration 的NEB(12 个 image) 计算。
MAPLE 不会止步于一篇文章、一个体系的测试——我们的目标是将 MAPLE 打造为下一代 MLFF 计算化学平台。
MAPLE文章: https://chemrxiv.org/engage/chem ... 9bbafb3b11118e9807e
MAPLE仓库: https://github.com/ClickFF/MAPLE
MAPLE文档(尚未完成): https://maple-org.netlify.app/
Qbics-MolStar: https://molstar.szbl.ac.cn/viewer/
MAPLE交流企鹅群:757103155
快速上手指南
更多使用细节请等待我们的文档完善,或者可以参考 /example 目录下的测试案例。
安装步骤:
环境要求:
Python ≥ 3.9 强烈建议配备 CUDA 兼容的 GPU(生产环境几乎必需)
git clone https://github.com/ClickFF/MAPLE.git
cd MAPLE
pip install -e .
# 安装核心依赖
conda install -c conda-forge numpy ase
# 安装 PyTorch(根据你的 CUDA 版本选择)
# CUDA 11.8:
pip install torch --index-url https://download.pytorch.org/whl/cu118
# 仅 CPU:
pip install torch --index-url https://download.pytorch.org/whl/cpu
# 安装机器学习力场支持
pip install fairchem-core # 支持 UMA模型
输入文件编写
MAPLE 采用类似 Gaussian/ORCA 的输入格式,学习成本极低。输入文件(`.inp`)的基本结构如下:
```
#model=ANI-1xnr
#opt
#device=gpu0
C 0.000 0.000 0.000
H 1.089 0.000 0.000
H -0.363 1.028 0.000
H -0.363 -0.514 0.890
H -0.363 -0.514 -0.890
关键字说明:
#model=:指定 MLFF 模型(如 ANI-1xnr、AIMNet2 等)
#opt:执行几何优化;#ts(method=neb):过渡态搜索
#device=:指定计算设备(gpu0、cpu 等)
坐标部分:XYZ 坐标(与 Gaussian 格式一致)
运行 MAPLE
bash# 基本运行
maple input.inp
# 指定输出文件
maple input.inp output.out
就是这么简单!
|
评分 Rate
-
查看全部评分 View all ratings
|