部分电荷(Partial Charge)完全指南:方法横评与 Windows/Ubuntu 实战脚本

本文收录于专栏 分子模拟基础 ------ 专栏系统覆盖分子模拟的力场、电荷、能量与建模基础,点击订阅可跟踪后续更新。

【摘要】

你给配体建 MD(分子动力学)体系时,十有八九卡在电荷这步:Mulliken、RESP、AM1-BCC 一堆名字不知道选哪个,Windows 上连 antechamber 都装不上,教程还各说各话。这篇先把部分电荷的原理和划分派、拟合派、半经验三大族讲透,再给 4 套可整段复制的实战脚本------RDKit 秒级算 Gasteiger、Open Babel 一行命令、AmberTools 跑 AM1-BCC(含 Windows 走 WSL 的完整安装链)、RESP 精确拟合路线,每套都标注支持系统、分系统给安装与运行代码,全部在 Windows 11 与 Ubuntu 24.04 实测通过。文中另附 7 个实测踩坑------包括 PDB CONECT 把双键登记两遍导致 tleap 崩溃的完整复现与 SDF 修复。读完你能按体系选对电荷方法,当场跑通自己的第一条链。

关键字: 部分电荷、RESP、AM1-BCC、Gasteiger、Mulliken、Hirshfeld、GAFF、分子动力学

目录

  • [§0. 相关教程与核心文献](#§0. 相关教程与核心文献)
  • [§1. 场景痛点:电荷这一步为什么卡人](#§1. 场景痛点:电荷这一步为什么卡人)
  • [§2. 部分电荷是什么](#§2. 部分电荷是什么)
  • [§3. 计算方法:三大族全景](#§3. 计算方法:三大族全景)
  • [§4. 区别与选型:一张表定方法](#§4. 区别与选型:一张表定方法)
  • [§5. 实战一:RDKit 算 Gasteiger 电荷(三系统通用)](#§5. 实战一:RDKit 算 Gasteiger 电荷(三系统通用))
  • [§6. 实战二:Open Babel 一行命令算电荷(三系统)](#§6. 实战二:Open Babel 一行命令算电荷(三系统))
  • [§7. 实战三:AmberTools 跑 AM1-BCC(Linux 原生 / Windows 走 WSL)](#§7. 实战三:AmberTools 跑 AM1-BCC(Linux 原生 / Windows 走 WSL))
  • [§8. 实战四:RESP 精确拟合(Gaussian / Multiwfn 免费路线)](#§8. 实战四:RESP 精确拟合(Gaussian / Multiwfn 免费路线))
  • [§9. 踩坑清单:7 个真卡过人的坑](#§9. 踩坑清单:7 个真卡过人的坑)
  • [§10. 选型速查与结语](#§10. 选型速查与结语)

§0. 相关教程与核心文献

资源 链接 与本文关系
RDKit 官方文档 --- §5 脚本按其 API 编写并实测
Open Babel 官方文档 --- §6 命令与电荷模型参数出处
AmberTools 官网 --- §7 工具链与获取方式
Multiwfn 主页 --- §8 免费 RESP 拟合工具
Cornell WD et al. JACS 117: 5179, 1995. 10.1021/ja00124a002 --- RESP 电荷与 ff 系列力场的出处
Jakalian A et al. J. Comput. Chem. 21: 132, 2000. 10.1002/(sici)1096-987x(20000130)21:2<132::aid-jcc5>3.0.co;2-p --- AM1-BCC 方法定义
Breneman CM & Wiberg KB. J. Comput. Chem. 11: 361, 1990. 10.1002/jcc.540110311 --- CHELPG 静电势拟合法出处
Marenich AV et al. J. Chem. Theory Comput. 2012. 10.1021/ct200866d --- CM5 电荷模型出处
Gasteiger J & Marsili M. Tetrahedron 36: 3219, 1980. 10.1016/0040-4020(80)80168-2 --- Gasteiger(PEOE)电荷出处

原文链接与 DOI 均经访问核验(2026-11)。


§1. 场景痛点:电荷这一步为什么卡人

不管你做蛋白-配体 MD、对接库准备还是 MMGBSA 结合能计算,只要体系里有小分子,就绕不开给配体"上电荷"。这一步的麻烦有三层:

  1. 方法名太多:教程 A 用 AM1-BCC,教程 B 用 RESP,软件 C 默认给 Gasteiger------同一个羰基氧能差出 0.2 e,不知道该信谁。
  2. 工具链在 Windows 上断了:AmberTools 没有 win-64 原生包,QM(量子化学)软件 Gaussian/ORCA 的安装门槛也不低,Windows 用户往往连第一步都迈不出去。
  3. 错了不报错:净电荷没对上质子化态、Gasteiger 用进生产 MD、AMBER 电荷配了别家力场的 LJ(Lennard-Jones)参数------这些错误不会立刻崩,而是在能量、结合能排序里悄悄给你偏差。

这篇按"原理 → 方法横评 → 分系统实战脚本 → 踩坑"走完,实战部分每套都标注操作系统并给出对应代码。

§2. 部分电荷是什么

分子里的电子云是连续分布 的,并不会整齐地"全归某个原子"。但力场、对接打分、QSAR(定量构效关系)都要求每个原子带一个点电荷 q_i,用库仑公式算静电相互作用:

E e l e c = ∑ i < j q i q j 4 π ε 0 ε r r i j E_{elec} = \sum_{i<j} \frac{q_i q_j}{4\pi\varepsilon_0 \varepsilon_r r_{ij}} Eelec=i<j∑4πε0εrrijqiqj

把连续电子密度"记账"压到原子中心的分数电荷,就是部分电荷(partial charge,也叫原子电荷)。类比:电子云像一团连续的水汽,部分电荷就是给每个原子"记账分摊"的水量------分账规则不同(§3 的三大族),每个原子记到的数就不同。

三条关键认知:

  1. 部分电荷不是可观测量------物理上不存在"某原子的电荷"这种实验测定值,它是模型定义。不同方法差 0.3 e 是常态,没有"哪个是真的",只有"哪个更复现你关心的性质"。
  2. Σq_i = 分子净电荷------由质子化态决定。羧酸去质子是 −1,组氨酸质子化是 +1,电荷算错净电荷,后面全错。
  3. 静电项是极性体系能量的最大头------氢键、盐桥、π-阳离子相互作用全由它驱动,电荷质量直接决定 MD 和结合能计算的可信度。

§3. 计算方法:三大族全景

所有方法按"电子怎么分账"分三大族:划分派回答"电子实际在哪",拟合派回答"静电场长什么样",半经验派回答"怎么快算一个够用的"。

族 A:划分派(布居分析)------从 QM 波函数/电子密度把电子划分给原子。

方法 原理 特点
Mulliken 基函数电子对半分给所属原子 最老最便宜;强基组依赖,极性原子(N/O)系统性失真
Löwdin 基函数正交化后再分账 比 Mulliken 略稳,本质没变
NPA/NBO 按自然原子轨道划分 化学直觉好,用于键级/杂化分析,力场不直接用
Hirshfeld 按自由原子密度占比加权分账 与基组无关;但系统性低估极性(电荷偏小)
CM5 Hirshfeld + 键增量校正 DFT 电荷的推荐方案,精度接近 ESP 拟合
Bader (AIM) 按电子密度零流面拓扑划分 定义最物理;值偏大,适合反应性/固体分析,不进力场
DDEC6 密度重分配迭代拟合 可移植性好,材料(MOF/电池)常用

族 B:拟合派(ESP 拟合)------在分子表面网格点拟合 q_i,使点电荷复现 QM 算出的 ESP(分子静电势)。

方法 布点方式 特点
CHELPG 立方均匀网格 经典;无约束,端基(甲基、卤素)易过拟合出荒谬值
Merz-Kollman (MK) 逐层同心球 同上;Gaussian 的 pop=MK
RESP MK 布点 + 谐波约束 约束压制过拟合,跨构象稳定;AMBER 标准电荷,标准级别 HF/6-31G*
REPEAT 周期体系布点 晶体/表面/框架材料用

RESP 的约束是灵魂:无约束的裸 ESP 拟合对构象敏感、分子内部原子数值乱漂,加上"重原子 ~0.5、氢电荷依附重原子"的谐波约束后才有跨构象稳定性。

族 C:半经验派(免全 QM)------秒级到分钟级,面向高通量。

方法 原理 速度
Gasteiger (PEOE) 迭代 σ 电负性均衡,电荷沿键递归分配 秒级,RDKit 内置
QEq / EEM 电负性均衡方程 秒-分钟
MMFF94 MMFF 力场自带键增量参数 秒级
AM1-BCC AM1 半经验 QM 电荷 + 键校正(BCC) 分钟级,精度≈RESP,GAFF 力场默认
机器学习电荷 神经网络从 3D 构象预测 RESP 级电荷(如 ESP-DNN) 秒级

特例:力场固化电荷。 TIP3P 水的 q_O=−0.834、ff14SB 蛋白电荷、CGenFF 键增量------这些不是每次算出来的,是当年拟合好写死在参数文件里的。换力场必须连电荷一起换。

§4. 区别与选型:一张表定方法

维度 划分派(Mulliken/Hirshfeld/Bader) 拟合派(RESP/CHELPG/MK) 半经验(AM1-BCC/Gasteiger)
回答的问题 电子在哪 静电场长什么样 快速近似
需要 QM 要 要(QM 算 ESP) 不用或半经验
构象稳定性 差-中 RESP 好 / 裸拟合差 中
力场适用性 一般不用 主流(AMBER) 主流(GAFF 默认 BCC)
典型失真 Mulliken 极性原子过正;Hirshfeld 偏小 端基过拟合(无约束时) 含氮体系偶有电荷麻烦

实测一个直观例子(本文 §5/§7 同一个阿司匹林分子,同一个羰基碳原子):

电荷模型 羰基 C 羰基 O
Gasteiger(RDKit) +0.31 −0.25
AM1-BCC(antechamber) +0.55 −0.47

AM1-BCC 的极化明显更强------这正是"Gasteiger 便宜但低估极性、AM1-BCC 复现 RESP 级极化"的直观体现。两个模型的净电荷都严格等于 0(+0.0000),但原子间分布差一截。

三个易混点:

  1. 偶极矩相似 ≠ 电荷相似:两组差很多的电荷可以给出同样的总偶极;但放进蛋白环境后高阶矩差异就暴露了。
  2. 埋藏原子问题:分子内部原子对表面静电势贡献小,裸拟合矩阵近奇异,数值乱------RESP 用约束解决,DDEC 用密度信息解决。
  3. 不可跨力场混用:AMBER 电荷配 OPLS 的 LJ 参数 = 系统性错误,换力场换全套。

选型树:

你的体系 推荐方法 理由
配体进 AMBER/GAFF 常规 MD、MMGBSA AM1-BCC 力场默认,精度/速度平衡
FEP/TI 自由能、静电敏感体系 RESP(HF/6-31G*) 电荷质量直接决定 dV/dλ 平滑度
蛋白、核酸 力场内置电荷 ff14SB/ff19SB 早已拟合好
百万级虚拟筛选库 Gasteiger / CM5 不可能跑 QM
反应位点/亲电亲核分析 Hirshfeld / Bader 关心电子分布本身
材料(MOF/周期体系) DDEC6 / REPEAT 周期体系专用

§5. 实战一:RDKit 算 Gasteiger 电荷(三系统通用)

支持系统:Windows / Ubuntu(Linux) / macOS------pip 原生安装,无需编译,三系统命令完全一致。

安装 (三系统同一命令;conda 环境里用 conda install -c conda-forge rdkit 亦可):

bash 复制代码
pip install rdkit

脚本 (保存为 gasteiger_charges.py,含大分子净电荷漂移修正------Gasteiger 累加电荷在几十个原子以上会漂移,必须均摊回零,见 §9 坑 3):

python 复制代码
# gasteiger_charges.py --- RDKit 计算 Gasteiger 电荷(含净电荷漂移修正)
# 用法: python gasteiger_charges.py "CC(=O)Oc1ccccc1C(=O)O"
import csv
import sys

from rdkit import Chem
from rdkit.Chem import AllChem

smiles = sys.argv[1]
mol = Chem.MolFromSmiles(smiles)
if mol is None:
    sys.exit("SMILES 解析失败")
mol = Chem.AddHs(mol)                      # 显式氢,电荷逐原子输出

# 净电荷由质子化态决定------算电荷前先确认
net = Chem.GetFormalCharge(mol)

AllChem.ComputeGasteigerCharges(mol)       # Gasteiger-Marsili (PEOE) 迭代

rows = [(a.GetIdx(), a.GetSymbol(), float(a.GetProp("_GasteigerCharge")))
        for a in mol.GetAtoms()]

# 大分子上 Gasteiger 累加电荷会漂移:把总偏差均摊回每个原子
drift = net - sum(q for _, _, q in rows)
rows = [(i, s, q + drift / len(rows)) for i, s, q in rows]

with open("gasteiger_charges.csv", "w", newline="") as f:
    w = csv.writer(f)
    w.writerow(["atom_idx", "element", "charge"])
    w.writerows(rows)

print(f"net charge: {net:+d}   drift corrected: {drift:+.4f} e")
print(f"written gasteiger_charges.csv ({len(rows)} atoms)")
print("idx  el  charge")
for i, s, q in rows[:8]:
    print(f"{i:3d}  {s:<2s} {q:+.4f}")

运行与实测输出(Windows 11,Python 3.14,RDKit 2026.09.1):

text 复制代码
$ python gasteiger_charges.py "CC(=O)Oc1ccccc1C(=O)O"
net charge: +0   drift corrected: +0.0000 e
written gasteiger_charges.csv (21 atoms)
idx  el  charge
  0  C  +0.0344
  1  C  +0.3075
  2  O  -0.2522
  3  O  -0.4258
  4  C  +0.1449
  5  C  -0.0183
  6  C  -0.0585
  7  C  -0.0611

阿司匹林 21 个原子(含氢),净电荷严格为 0;羰基碳 +0.31、羰基氧 −0.25~−0.43,数量级化学上合理。Ubuntu/macOS 输出一致(同一 Python 包)。适用 :库预处理、快速近似、描述符计算;不适用:生产 MD 与结合能计算(极化不足,见 §4 实测对比)。

§6. 实战二:Open Babel 一行命令算电荷(三系统)

支持系统:Windows(conda)/ Ubuntu(apt 或 conda)/ macOS(conda)------无编译。

安装(分系统):

bash 复制代码
# Ubuntu(apt,发行版仓库自带)
sudo apt install openbabel

# Ubuntu/macOS(conda,版本更新)
conda install -c conda-forge openbabel

# Windows(conda;conda-forge 提供 win-64 包)
conda install -c conda-forge openbabel

三行命令三个用法 (--partialcharge 换模型即可:gasteiger / mmff94 / qeq 等):

bash 复制代码
# 用法 1:SMILES 直接生成 3D 结构 + Gasteiger 电荷,存 mol2
obabel -:"CC(=O)Oc1ccccc1C(=O)O" -O aspirin_ob.mol2 --gen3d --partialcharge gasteiger

# 用法 2:已有文件重算电荷(sdf 进 sdf 出)
obabel -isdf aspirin.sdf -osdf -O aspirin_q.sdf --partialcharge mmff94

# 用法 3:格式转换 + 电荷一步做(sdf 转 mol2 供 tleap 使用)
obabel -isdf aspirin.sdf -omol2 -O aspirin.mol2 --partialcharge gasteiger

实测(Ubuntu 24.04,Open Babel 3.2.1,用法 1):

text 复制代码
$ obabel -:"CC(=O)Oc1ccccc1C(=O)O" -O aspirin_ob.mol2 --gen3d --partialcharge gasteiger
1 molecule converted
# mol2 求和验证:21 atoms, net charge = +0.0001

净电荷 +0.0001(浮点尾差,正常)。注意大小写陷阱 :-O(大写)是输出文件名,-o(小写)是格式选项------写反会报 cannot write output format!。适用:批量格式转换顺便给电荷、给对接工具准备输入;精度档位同 §5 的 Gasteiger/mmff94。

§7. 实战三:AmberTools 跑 AM1-BCC(Linux 原生 / Windows 走 WSL)

支持系统 :Ubuntu/Linux 原生(conda-forge)、macOS(conda-forge);Windows 无 win-64 原生包,走 WSL2(Windows Subsystem for Linux)。

系统 安装路线
Ubuntu / 其他 Linux conda 直装(下方第 2 步起)
macOS conda 直装,命令同 Linux
Windows 10/11 先装 WSL2 + Ubuntu,再走同一套 conda 命令

Windows 走 WSL 的完整安装链:

powershell 复制代码
# 第 1 步:Windows PowerShell(管理员)------装 WSL2 + Ubuntu 24.04,装完重启一次
wsl --install -d Ubuntu-24.04
bash 复制代码
# 第 2 步:进入 WSL(开始菜单打开 Ubuntu-24.04),装 miniforge(国内走清华 TUNA 镜像,直连快)
wget "https://mirrors.tuna.tsinghua.edu.cn/github-release/conda-forge/miniforge/LatestRelease/Miniforge3-Linux-x86_64.sh"
bash Miniforge3-Linux-x86_64.sh -b -p ~/miniforge3
source ~/miniforge3/bin/activate

# 第 3 步:装 AmberTools(Ubuntu/macOS 原生用户从这里开始即可)
conda create -y -n ambertools -c conda-forge ambertools
conda activate ambertools

# 国内网络直连 conda-forge 慢/失败时,用 TUNA 镜像源替代
# conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge

输入文件准备 ------用 RDKit 生成加氢 3D 构象的 SDF(注意走 SDF 不走 PDB,PDB 的 CONECT 记录会把双键登记两遍,tleap 直接崩,见 §9 坑 1;RDKit 安装见 §5):

python 复制代码
# make_aspirin.py --- RDKit 生成加氢 3D 构象(SDF + PDB 双输出,antechamber 用 SDF)
from rdkit import Chem
from rdkit.Chem import AllChem

mol = Chem.AddHs(Chem.MolFromSmiles("CC(=O)Oc1ccccc1C(=O)O"))
AllChem.EmbedMolecule(mol, randomSeed=42)
AllChem.MMFFOptimizeMolecule(mol)
w = Chem.SDWriter("aspirin.sdf")          # SDF 带键级列,antechamber 推荐
w.write(mol)
w.close()
print(f"net charge {Chem.GetFormalCharge(mol):+d}")   # 先确认净电荷

电荷 + 原子类型 + 拓扑三连(Ubuntu 24.04 / WSL2,conda-forge AmberTools 实测):

bash 复制代码
# AM1-BCC 电荷 + GAFF2 原子类型;-nc 是净电荷(先跑上面脚本确认,阿司匹林为 0)
antechamber -i aspirin.sdf -fi sdf -o aspirin.mol2 -fo mol2 -c bcc -at gaff2 -nc 0 -s 2

# 检查/补全缺失的键角扭转参数
parmchk2 -i aspirin.mol2 -f mol2 -o aspirin.frcmod
tcl 复制代码
# tleap.in --- 生成 AMBER 拓扑与坐标文件
source leaprc.gaff2
MOL = loadmol2 aspirin.mol2
loadamberparams aspirin.frcmod
check MOL
saveamberparm MOL aspirin.prmtop aspirin.inpcrd
quit
bash 复制代码
tleap -f tleap.in

实测输出(21 原子小分子,AM1-BCC 全程含 sqm 半经验 QM 单点):

text 复制代码
$ time antechamber -i aspirin.sdf -fi sdf -o aspirin.mol2 -fo mol2 -c bcc -at gaff2 -nc 0 -s 2
real    0m7.759s        # ~8 秒,sqm AM1 单点是主要耗时

# mol2 电荷求和验证:21 atoms, net charge = +0.0000
$ tleap -f tleap.in
Checking 'MOL'.... Unit is OK.
# 产物:aspirin.prmtop(17.9 KB)+ aspirin.inpcrd(778 B)

净电荷严格 +0.0000,Unit is OK 表示参数齐全,prmtop/inpcrd 可直接进 sander/pmemd 跑 MD。参数化大分子(>100 重原子)时 sqm 会明显变慢甚至卡住,处置见 §9 坑 7。

§8. 实战四:RESP 精确拟合(Gaussian / Multiwfn 免费路线)

支持系统 :Gaussian------Linux 集群常见、Windows 有 Gaussian 16W 商业版;Multiwfn------Windows/Linux 官方免费版都可直接下载运行;ORCA(Windows/Linux 免费)、psi4(Linux/macOS,Windows 走 WSL)可作免费 ESP 来源。没有 Gaussian 也能走通:免费 QM 出波函数文件 + Multiwfn 拟合。

路线 A:Gaussian + antechamber(AMBER 生态标准链,Linux/WSL 运行 antechamber)

RESP 的标准理论级别是 HF/6-31G* 单点(构象用你已有的实验/对接构象,route 里不写 opt,见 §9 坑 2):

text 复制代码
--Link1--
%chk=aspirin.chk
# HF/6-31G* pop=MK iop(6/33=2) iop(6/42=6)

aspirin RESP ESP 单点

0 1
(此处放分子的三维坐标)

pop=MK 在输出里打印静电势点,两个 iop 控制 ESP 打印精度。跑完把 gout 交给 antechamber:

bash 复制代码
antechamber -i aspirin.gout -fi gout -o aspirin_resp.mol2 -fo mol2 -c resp -nc 0 -at gaff2

路线 B:免费工具链(ORCA/psi4 出波函数 + Multiwfn 拟合)

  1. 用 ORCA 或 psi4 对同一构象做 HF/6-31G* 单点,导出 .molden 文件(Gaussian 用户可直接 formchk 出 .fchk);
  2. Multiwfn 读入波函数文件,菜单 7(布居分析)→ 18(RESP 拟合),按提示选 ESP 点生成方式,确认后写出 RESP.chg(原子 x y z charge 四列);
  3. 把 RESP.chg 的电荷列替换进 mol2(§7 流程里的 aspirin.mol2),后续 parmchk2/tleap 不变。

Linux 下批量跑 Multiwfn 是交互式终端程序,管道喂菜单序号会崩,用 script -q -c 伪终端包装;Windows 直接双击/命令行交互输入即可。

什么时候值得上 RESP:FEP/TI 自由能计算(电荷变化边对静电精度敏感)、发表级别的结合能计算、多构象平均电荷(同一分子多个构象各拟合一次再平均,跨构象更稳)。常规 MD/MMGBSA 用 AM1-BCC 足够。

§9. 踩坑清单:7 个真卡过人的坑

# 症状 根因 修复
1 tleap 报 FATAL: 1-4: cannot add bond 2 3 ... duplicate bond PDB 的 CONECT 记录用重复原子序号表示双键,antechamber 逐条登记,mol2 里每个双键出现两遍(本文实测阿司匹林中了 5 处:酯 C=O + 苯环 4 条双键) 输入改用 SDF(-fi sdf,MDL 键块自带键级列);或喂 PDB 前删掉 CONECT 行
2 RESP 电荷对应的构象和晶体/对接姿态对不上 antechamber 生成的 g16 route 默认带 opt,几何被重新优化还悄悄旋转坐标 route 里删掉 opt 只做单点,拟合后核对输入输出坐标一致
3 大分子 Gasteiger 电荷加起来不是整数净电荷 PEOE 迭代在几十个原子以上累加漂移(实测 108 重原子漂 −7.5 e) 把总偏差均摊回每个原子(§5 脚本已内置该步)
4 tleap 中和离子加了一大堆、双电层扭曲 净电荷没对上质子化态(HIS 单双质子化、羧酸根、季铵) 算电荷前用 Chem.GetFormalCharge() 确认净电荷,antechamber -nc 传对值
5 季铵 N+ 体系 antechamber -c bcc 报 sqm 不收敛 AM1 对某些带电/开壳层电子组态不收敛 兜底换 -c gas(Gasteiger),或中性 SMILES 拟合后 tleap 里补形式电荷
6 换了力场后能量/结合能明显异常 电荷与 LJ 参数跨力场混用(如 AMBER 电荷 + OPLS LJ) 电荷、 LJ、组合规则整套一起换,不做混搭
7 大配体(>100 重原子)sqm 跑几十分钟无输出 antechamber 默认 xmin 迭代到大循环上限才退出 等 1 小时仍无进展:改用手写 sqm 输入跑 AM1 Mulliken 电荷(maxcyc=0),或降级 Gasteiger(配 §9 坑 3 修正)

§10. 选型速查与结语

场景 方法 工具链 系统
秒级库扫描 Gasteiger RDKit / Open Babel 三系统原生
格式转换顺便给电荷 gasteiger/mmff94 Open Babel 三系统
GAFF 力场生产 MD AM1-BCC AmberTools(antechamber) Linux/macOS conda;Windows WSL
FEP/TI、高精度静电 RESP (HF/6-31G*) Gaussian/免费 QM + antechamber/Multiwfn Gaussian:Linux/Win16W;Multiwfn:三系统
反应性分析 Hirshfeld/Bader Multiwfn/ORCA 三系统

部分电荷是模型定义而非实验量,方法没有绝对对错,只有"配得上你的用途":筛选用 Gasteiger、生产 MD 用 AM1-BCC、自由能用 RESP,并且永远先确认净电荷、永远整套用力场参数。下一步:拿你自己的配体把 §5→§7 这条链跑通,10 分钟内就能拿到带 GAFF2 参数的 prmtop;需要更高静电精度时再回到 §8 换 RESP。


参考来源

  1. RDKit 官方文档
  2. Open Babel 官方文档
  3. AmberTools 官网
  4. Multiwfn 主页(免费波函数分析程序)
  5. Cornell WD, Cieplak P, Bayly CI, et al. A Second Generation Force Field for the Simulation of Proteins, Nucleic Acids, and Organic Molecules. JACS 117: 5179, 1995. DOI
  6. Jakalian A, Bush BL, Jack DB, Bayly CI. Fast, efficient generation of high-quality atomic charges. AM1-BCC model. J. Comput. Chem. 21: 132, 2000. DOI
  7. Breneman CM, Wiberg KB. Determining atom-centered monopoles from molecular electrostatic potentials. J. Comput. Chem. 11: 361, 1990. DOI
  8. Marenich AV, Jerome SV, Cramer CJ, Truhlar DG. Charge Model 5. J. Chem. Theory Comput. 2012. DOI
  9. Gasteiger J, Marsili M. Iterative partial equalization of orbital electronegativity. Tetrahedron 36: 3219, 1980. DOI

系列导航 :专栏全集 分子模拟基础


我的专栏

蛋白 / 抗体 / 多肽 / 核酸 分子模拟 / 动力学 / 对接 药物 / 设计 / 案例 AI / Agent / 大模型
开源蛋白结构预测 分子模拟基础 小分子药物设计案例 AI Agent系列
开源蛋白生成方法实践 分子动力学模拟-Amber 蛋白药物设计案例 化学大模型
开源多肽设计模型 分子动力学模拟-Gromacs 多肽药物设计案例 《AI Agent原理与实战》
开源多肽性质预测 分子动力学模拟-OpenMM 开源小分子生成设计 CADD中的机器学习模型
DNA/RNA药物设计 結合自由能 高效计算配置 《MCP 入门实战》
siRNA药物设计模型 UCSF DOCK系列 我胡师兄说药 《AI入门实战2026》
ASO药物设计模型 rDock系列 LeDock系列 gnina系列 《经典机器学习实战》
相关推荐
Blockbuater_drug2 个月前
一键RESP电荷计算: gaussian 16 + AmberTools
resp·partial charge·ambertools·am1-bcc
羑悻的小杀马特1 年前
Stream消息队列+地理空间计算+HyperLogLog去重,SCAN安全遍历+RESP协议全解析,一文把它啃透!
数据库·redis·安全·缓存·空间计算·resp