计算化学公社

 找回密码 Forget password
 注册 Register
Views: 2570|回复 Reply: 50
打印 Print 上一主题 Last thread 下一主题 Next thread

[其它程序] MAPLE: 机器学习力场计算化学平台

[复制链接 Copy URL]

217

帖子

4

威望

1536

eV
积分
1833

Level 5 (御坂)

跳转到指定楼层 Go to specific reply
楼主
本帖最后由 Huschein 于 2026-2-8 03:10 编辑

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

就是这么简单!

------------------------------------------
2026 Feb Update https://github.com/ClickFF/MAPLE/releases/tag/v.0.1.1

评分 Rate

参与人数
Participants 8
eV +37 收起 理由
Reason
lnf + 5
AxiEJohn + 5 好物!
ljc050512 + 5 谢谢
Hurono + 2
chenjinfeng850 + 5 GJ!
mt13 + 5 好物!
student0618 + 5 好物!
devilove + 5 好物!

查看全部评分 View all ratings

90

帖子

0

威望

2030

eV
积分
2120

Level 5 (御坂)

51#
发表于 Post on 2026-2-11 10:01:34 | 只看该作者 Only view this author
Huschein 发表于 2026-2-11 02:25
1. 这些溶剂都是MD预平衡好的 MAPLE直接调用建模
2. 肯定不可以对比 除非用一些特殊的model 他们在训练 ...

明白了,谢谢您,的确是门道很深呀。

217

帖子

4

威望

1536

eV
积分
1833

Level 5 (御坂)

50#
 楼主 Author| 发表于 Post on 2026-2-11 02:25:30 | 只看该作者 Only view this author
yxdd98 发表于 2026-2-10 17:50
的确如您说得那样,设置隐式溶剂模型甚至导致原来能收敛的体系不收敛了。我有点好奇的点是:
1、根据原 ...

1. 这些溶剂都是MD预平衡好的 MAPLE直接调用建模
2. 肯定不可以对比 除非用一些特殊的model 他们在训练的时候就包含了溶剂 例如AIMNet2-qr 隐士溶剂有必要但不是我们说了算的 到底用什么模型比较好 是在model框架内嵌入 还是改动数据集 还是说结合经典的PB GB好 现在都没有定论 而且就算我实现了GB 你要知道对于不同的力场和方法 GB的参数是不同的 没有人为这些model专门参数化过GB 而且现在model基本上三个月一迭代 文章还没出来model就已经淘汰了 这些现实问题不是我们可以解决的 所以也只能凑合着用

90

帖子

0

威望

2030

eV
积分
2120

Level 5 (御坂)

49#
发表于 Post on 2026-2-10 17:50:11 | 只看该作者 Only view this author
Huschein 发表于 2026-2-10 01:56
https://www.maplechem.org/ 这是教程官网 但是最近又是春节 人力有限 我们还没有把所有东西都更新上来
...

的确如您说得那样,设置隐式溶剂模型甚至导致原来能收敛的体系不收敛了。我有点好奇的点是:
1、根据原文,MAPLE的显式溶剂模型是先用经典动力学得到溶剂盒子,然后MAPLE再调用这些盒子进行填充吗?
2、如果MAPLE不用显式溶剂也不用隐式溶剂的话,还能保证和Gaussian等使用隐式溶剂的势能面进行对比吗,感觉从产生初猜、和使用隐式溶剂模型的DFT结果对比的角度,隐式溶剂模型好像还是有必要的。

90

帖子

0

威望

2030

eV
积分
2120

Level 5 (御坂)

48#
发表于 Post on 2026-2-10 17:37:36 | 只看该作者 Only view this author
AxiEJohn 发表于 2026-2-10 15:12
您好,可以如下操作:
将MAPLE-v.0.1.1\maple\function\calculator%uma\下的代码_uma_calculator.py第50 ...

谢谢您,已经成功运行。

90

帖子

0

威望

2030

eV
积分
2120

Level 5 (御坂)

47#
发表于 Post on 2026-2-10 17:37:10 | 只看该作者 Only view this author

感谢您,希望MAPLE平台建设得更好。

70

帖子

0

威望

1020

eV
积分
1090

Level 4 (黑子)

46#
发表于 Post on 2026-2-10 15:12:10 | 只看该作者 Only view this author
本帖最后由 AxiEJohn 于 2026-2-10 15:24 编辑
yxdd98 发表于 2026-2-9 12:55
1、您好,我想使用uma模型,运行后会提示ImportError: fairchem-core is not installed. Please install it ...

您好,可以如下操作:
将MAPLE-v.0.1.1\maple\function\calculator\uma\下的代码_uma_calculator.py第50行的
  1.         predictor = pretrained_mlip.get_predict_unit(
  2.             model,
  3.             inference_settings="default",
  4.             overrides=overrides,
  5.             device=device,
  6.         )
复制代码

替换为
  1.         from fairchem.core.units.mlip_unit import load_predict_unit
  2.         predictor = load_predict_unit(
  3.             "/home/axie/uma-s-1p1.pt",
  4.             inference_settings="default",
  5.             overrides=overrides,
  6.             device=device,
  7.         )
复制代码

即可(当然具体路径得修改)。

评分 Rate

参与人数
Participants 1
eV +5 收起 理由
Reason
ljc050512 + 5 正解

查看全部评分 View all ratings

改正错误有两个途径,一是别人发现,听取别人的批评;二是自我发现,进行自我批评。

115

帖子

0

威望

1050

eV
积分
1165

Level 4 (黑子)

45#
发表于 Post on 2026-2-10 11:20:59 | 只看该作者 Only view this author
Huschein 发表于 2026-2-10 00:56
这部分衔接可能没有做好 我再去改一次bug 如果你想这么做的话 直接cineb之后把ci结构拿出来单独做prfo是 ...

好的,谢谢老师

217

帖子

4

威望

1536

eV
积分
1833

Level 5 (御坂)

44#
 楼主 Author| 发表于 Post on 2026-2-10 11:19:00 | 只看该作者 Only view this author
yxdd98 发表于 2026-2-10 01:35
感谢您的回复,还想请教下MAPLE有关于各项命令的help文档嘛,虽然我基于example能运行一些计算,但比如我 ...

可以参考最新的MAPLE网站 https://www.maplechem.org/index.html

217

帖子

4

威望

1536

eV
积分
1833

Level 5 (御坂)

43#
 楼主 Author| 发表于 Post on 2026-2-10 01:56:42 | 只看该作者 Only view this author
yxdd98 发表于 2026-2-10 01:35
感谢您的回复,还想请教下MAPLE有关于各项命令的help文档嘛,虽然我基于example能运行一些计算,但比如我 ...

https://www.maplechem.org/ 这是教程官网 但是最近又是春节 人力有限 我们还没有把所有东西都更新上来
目前你可以根据example里面的设置来暂时试用一下 我们预计三月份结束前能把全部的网页做好

隐式溶剂我不建议用 这些不是对model专门参数化的 其次我的GB实现也很潦草 但是MAPLE支持了显式溶剂建模 你可以尝试一下这个模块

90

帖子

0

威望

2030

eV
积分
2120

Level 5 (御坂)

42#
发表于 Post on 2026-2-10 01:35:27 | 只看该作者 Only view this author
Huschein 发表于 2026-2-10 00:55
1. 感谢提供解决方案
2. 好的 我来配一下3.12环境 然后修改一下指南
3. uma是不可以的 目前uma用的是fa ...

感谢您的回复,还想请教下MAPLE有关于各项命令的help文档嘛,虽然我基于example能运行一些计算,但比如我想设置其他溶剂甚至是混合溶剂(隐式或者显式),就不太清楚目前MAPLE支持哪些了(虽然之前在其他帖子您提到应该是支持了挺多溶剂的)

217

帖子

4

威望

1536

eV
积分
1833

Level 5 (御坂)

41#
 楼主 Author| 发表于 Post on 2026-2-10 00:56:45 | 只看该作者 Only view this author
ljc050512 发表于 2026-2-9 07:48
老师,MAPLE给出的例子中的neb里面的inp1输出文件的结构是在CINEB refinement,给出INFORMATION ABOUT SADD ...

这部分衔接可能没有做好 我再去改一次bug 如果你想这么做的话 直接cineb之后把ci结构拿出来单独做prfo是一样的效果

217

帖子

4

威望

1536

eV
积分
1833

Level 5 (御坂)

40#
 楼主 Author| 发表于 Post on 2026-2-10 00:55:27 | 只看该作者 Only view this author
yxdd98 发表于 2026-2-9 12:55
1、您好,我想使用uma模型,运行后会提示ImportError: fairchem-core is not installed. Please install it ...

1. 感谢提供解决方案
2. 好的 我来配一下3.12环境 然后修改一下指南
3. uma是不可以的 目前uma用的是fairchem的calculator 所以就回带有检测功能 最好的办法就是自己写一个calculator 但是fairchem的写的太深了 所以我没有专门再写一个

90

帖子

0

威望

2030

eV
积分
2120

Level 5 (御坂)

39#
发表于 Post on 2026-2-9 12:55:54 | 只看该作者 Only view this author
本帖最后由 yxdd98 于 2026-2-9 23:00 编辑

1、您好,我想使用uma模型,运行后会提示ImportError: fairchem-core is not installed. Please install it first. 但我其实已经通过pip安装了fairchem-core,pip list里也有,因此想问下可能的原因与解决办法。
【已解决】是缺少pkg_resources模块,通过以下命令解决python -m pip install --force-reinstall "setuptools==80.9.0"

2、汇报一个小问题,我用的是python3.12,运行ts/prfo下的文件会报错No module named 'lib2to3',发现是3.12版本已经移除该模块,重装为3.11解决,因此安装指南里>=3.9的说法可能有点小问题。

3、还想问一下,如果我手里已经有了uma的pt文件,是也放到model文件夹下就可以了吗?我试了一下,发现还是会向网站请求uma使用许可,然后就任务失败。


115

帖子

0

威望

1050

eV
积分
1165

Level 4 (黑子)

38#
发表于 Post on 2026-2-9 07:48:11 | 只看该作者 Only view this author
老师,MAPLE给出的例子中的neb里面的inp1输出文件的结构是在CINEB refinement,给出INFORMATION ABOUT SADDLE POINT之后,并没有结束。而是还进行了“Transition State Search (TS) with RS-PRFO”的过程。

inp1-官方.out

13.55 KB, 下载次数 Times of downloads: 1

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2026-3-11 02:12 , Processed in 0.203646 second(s), 25 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list