Open Forem

Jian Wang
Jian Wang

Posted on

PyMOL 画小分子的静电势 (ESP)

本文档记录了从原始 .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. 输入 1 (选择绘图类型)
    2. 输入 43 (选择 Electrostatic Potential)
    3. 输入 4 (设置网格间距/分辨率,建议输入 100 100 100)
    4. 输入 11 (执行生成任务)
    5. 输入 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
Enter fullscreen mode Exit fullscreen mode

注意事项

  1. 单位: ORCA 输出的 ESP 单位为 a.u. (1 a.u. ≈ 27.21 V)。PyMOL 中的刻度应根据分子极性适当调整(常用范围 $\pm 0.05$ 到 $\pm 0.2$)。
  2. 文件保持: 确保 .gbw.scfp 文件在同一目录下,orca_plot 才能正常运行。
  3. 并行槽位: 在使用 MPI 并行时,确保 SLURM 分配的 ntasks 与 ORCA PALn 关键字一致。

Top comments (0)