pymatgen专题

pymatgen:分子碎片与开环模型

实际切断六种分子的成键图,比较唯一碎片、环键和UFF开环初始模型。

更新于 2026-11-12约 3 分钟阅读按任务与环境选择适用配置
阅读本篇目录

想为断键、反应或碎片能量计算准备候选,可以先切分分子的成键图,再为需要的碎片指定电荷、自旋和量化计算。本篇演示的是这一步的几何与拓扑准备。

下载六种实际分子几何、全部参考碎片、开环模型和脚本。

unzip pymatgen-molecule-tools-wave712-*.zip
cd pymatgen-molecule-tools
bash prepare.sh
bash run.sh
bash plot.sh

使用pymatgen2026.9.24、Python3.11和个人目录OpenBabel3.1.0。六种分子的输入来自实际GFN2优化,准备方法见成键图与官能团。

实际单键切分的唯一碎片数与苯开环模型

1. 从乙醇开始#

bash python.sh - <<'PY'
from pymatgen.core import Molecule
from pymatgen.analysis.fragmenter import Fragmenter
m = Molecule.from_file('inputs/ethanol.xyz')
fragments = Fragmenter(m, depth=1, open_rings=False)
print('唯一碎片数:', fragments.total_unique_fragments)
for label, group in fragments.unique_frag_dict.items():
    print(label, len(group))
PY

depth=1演示一次断键层级;open_rings=False先不打开环。程序通过图同构合并相同连接的碎片,所以唯一碎片数不等于键数,也不等于把每次切分的两半直接累加。

2. 实际得到多少碎片#

母分子 单次断键、不开环的唯一碎片数
乙醇 8
水 2
二甲醚 4
苯 2
乙腈 6
甲酸 7
cat reference-data/Molecule-single-cut-fragments.csv
ls reference-structures/*fragment*.json

JSON保留MoleculeGraph及坐标。标签如C2 H5 O1 E7包含元素计数和边数,同一标签下还可能有不同连接的图;不能只按这个短标签去重或判断化学相同。

3. 苯为什么不开环时只有两个碎片#

切断苯的一条环内C–C连接后,其他路径仍把整个图连在一起,不会分成两个独立连通分量。切C–H则可得到C₆H₅与H,等价位置通过图去重后只留下两类碎片。

需要开环初始模型时,显式运行:

bash python.sh - <<'PY'
from pymatgen.core import Molecule
from pymatgen.analysis.fragmenter import Fragmenter
m = Molecule.from_file('inputs/benzene.xyz')
fragments = Fragmenter(m, depth=1, open_rings=True, opt_steps=100)
print(fragments.total_unique_fragments)
PY

本例得到3个唯一图,比不开环多一个C₆H₆开环图。其原子数和组成保持,连接由12条变为11条,配套程序保存了实际UFF处理后的模型。

cat reference-structures/benzene-open-ring-UFF.xyz

opt_steps=100是这里辅助UFF几何处理的步数。开环模型没有经过DFT优化,不代表过渡态、反应路径或势垒;这些问题需要另外采用适合的方法。

4. 把碎片变成能量计算输入#

先选择要研究的反应通道,再明确每个碎片的组成、电荷、自旋多重度和结构优化条件。图切分没有自动给出这些状态的正确量化能量。

同一母分子可以有中性均裂或带电异裂通道,不能把不同通道的能量混在一起。本例保存的拓扑候选主要用于文件准备和筛选;真正计算断键能可接着看实际水分子断键能。

5. 换自己的分子#

先检查建图是否合理,再选择深度与是否开环。深度增加会迅速增加候选和去重工作量,优先从小深度和明确的键开始。离子、金属配位和特殊键型还需要适用的建图策略。

参考结果在reference-data和reference-structures,自己运行的输出在analysis和results;重画图片用bash plot.sh。接口见pymatgen Fragmenter。

需要根据你的体系选择资源?联系讨论计算需求。实际可用软件与权限,以当前账户和运行环境为准。

查看配图

放大后可滚动查看细节,按 Esc 关闭。

100%查看原图 ↗