PyMOL 绘制小分子的静电势 (ESP)

发布: (2025年12月20日 GMT+8 06:33)
3 min read
原文: Dev.to

Source: Dev.to

工具与前处理

  • Open Babel
    将原始 .mol2 文件转换为 .xyz 并补全氢原子(氢原子对 ESP 计算至关重要)。
# 补氢并转换为 xyz
obabel input.mol2 -h -oxyz -O molecule.xyz

确保分子在转换后保持正确的原子价态和完整的氢原子。

ORCA 计算

使用 ORCA 6.1.1 进行单点能计算,并保存电子密度信息以供后处理。

输入文件 (molecule.inp)

! B3LYP def2-SVP TightSCF KeepDens PAL8
* xyz 0 1
[原子坐标]
*
  • KeepDens:保留电子密度文件(.scfp),后续生成 ESP 必须使用。
  • PAL8:使用 8 核并行。若在 SLURM 集群上运行,建议配合 --ntasks-per-node=8

使用 orca_plot 提取 ESP

orca_plot 是 ORCA 附带的交互式工具,可从计算结果 (.gbw) 中提取 ESP。

交互序列(可通过重定向执行)

步骤输入说明
11选择绘图类型
243选择 Electrostatic Potential
34设置网格间距/分辨率(建议 100 100 100
411执行生成任务
512退出

执行后会得到:

  • molecule.eldens.cube – 电子密度文件(定义分子形状)。
  • molecule.vpot.cube(或重命名为 *_ESP.cube)– 静电势数值文件。

注意:确保 .gbw.scfp 与生成的 .cube 文件位于同一目录,否则 orca_plot 无法正常工作。

在 PyMOL 中绘制 ESP

加载文件

load molecule.mol2, mol
load molecule.eldens.cube, den
load molecule_ESP.cube, esp

生成基于电子密度的分子表面

# 等值面取 0.002 a.u.
isosurface surf, den, 0.002

创建颜色映射渐变

# [-0.1, 0, 0.1] 对应 红‑白‑蓝
ramp_new ramp_esp, esp, [-0.1, 0, 0.1], [red, white, blue]
  • 负电位(红色) → 富电子区
  • 正电位(蓝色) → 欠电子区

将颜色映射到表面

set surface_color, ramp_esp, surf

美化调整(可选)

set surface_quality, 1
set transparency, 0.2, surf   # 半透明以观察内部原子
rebuild

单位:ORCA 输出的 ESP 单位为原子单位 (a.u.),1 a.u. ≈ 27.21 V。
在 PyMOL 中的颜色刻度可根据分子极性适当调整,常用范围为 ±0.05 ~ ±0.2 a.u.

其他提示

  • 文件保持.gbw.scfp 必须与生成的 .cube 文件在同一目录。
  • 并行槽位:使用 MPI 并行时,确保 SLURM 分配的 ntasks 与 ORCA PALn 参数一致。
Back to Blog

相关文章

阅读更多 »

仓库利用的权威指南

引言 仓库本质上只是一个 3‑D 盒子。利用率只是衡量你实际使用了该盒子多少的指标。虽然物流 c...