本文档记录了从原始 .mol2 文件出发,通过密度泛函理论 (DFT) 计算并生成用于 PyMOL 绘图的 ESP Cube 文件的完整步骤。
1. 分子预处理
为了保证量子化学计算的准确性,必须确保分子的原子价态和氢原子完整。
- 工具: Open Babel
- 操作: 将
.mol2转换为.xyz格式,并根据需要补全氢原子(补氢对 ESP 计算至关重要)。 -
命令:
# 补氢并转换为 xyz obabel input.mol2 -h -oxyz -O molecule.xyz
2. ORCA 计算配置
使用 ORCA 6.1.1 运行单点能计算,并保存电子密度信息以备后处理。
-
输入文件 (
molecule.inp) 核心部分:
! B3LYP def2-SVP TightSCF KeepDens PAL8 * xyz 0 1 [原子坐标] *-
KeepDens: 关键参数,告诉 ORCA 保留电子密度文件(.scfp),否则后处理无法生成 ESP。 -
PAL8: 使用 8 核并行。在集群 SLURM 环境下,建议配合--ntasks-per-node=8使用。
-
3. 生成 Cube 文件 (后处理)
ORCA 6.1.1 使用 orca_plot 交互工具从计算结果 (.gbw) 中提取 ESP。
- 工具:
orca_plot -
交互序列 (可通过重定向执行):
- 输入
1(选择绘图类型) - 输入
43(选择 Electrostatic Potential) - 输入
4(设置网格间距/分辨率,建议输入100 100 100) - 输入
11(执行生成任务) - 输入
12(退出)
- 输入
-
产物:
-
molecule.eldens.cube: 电子密度文件(定义分子形状)。 -
molecule.vpot.cube(或重命名为_ESP.cube): 静电势数值文件。
-
4. PyMOL 可视化命令
在 PyMOL 中将 ESP 数值映射到分子表面。
# 1. 载入所有文件
load molecule.mol2, mol
load molecule.eldens.cube, den
load molecule_ESP.cube, esp
# 2. 生成基于电子密度的分子表面 (等值面取 0.002 a.u.)
isosurface surf, den, 0.002
# 3. 创建颜色映射渐变 (单位为原子单位 a.u.)
# [-0.1, 0, 0.1] 对应红-白-蓝映射
# 负电位 (红色) = 富电子区; 正电位 (蓝色) = 欠电子区
ramp_new ramp_esp, esp, [-0.1, 0, 0.1], [red, white, blue]
# 4. 将颜色映射到表面
set surface_color, ramp_esp, surf
# 5. 美化调整
set surface_quality, 1
set transparency, 0.2, surf # 可选:设置表面半透明以观察内部原子
rebuild
注意事项
- 单位: ORCA 输出的 ESP 单位为 a.u. (1 a.u. ≈ 27.21 V)。PyMOL 中的刻度应根据分子极性适当调整(常用范围 $\pm 0.05$ 到 $\pm 0.2$)。
- 文件保持: 确保
.gbw和.scfp文件在同一目录下,orca_plot才能正常运行。 - 并行槽位: 在使用 MPI 并行时,确保 SLURM 分配的
ntasks与 ORCAPALn关键字一致。
Top comments (0)