182

AutoDock Vina:开源对接工具部署指南

AutoDock Vina 是最常用的免费对接引擎:部署轻、易脚本化、社区成熟。这篇给出从受体准备到批量筛选的完整命令、盒子设置的具体做法,以及为什么必须先做重对接验证。

AutoDock Vina 是 Scripps 研究所开发的免费开源对接程序,2010 年首发、2021 年发布 1.2 版。它是虚拟筛选事实上的入门标配:单个分子对接通常几秒到几十秒,评分函数简单稳健,脚本化容易,几乎所有对接教程都从它开始。

安装

# 方式一:Python 接口(推荐,便于批量脚本化)
pip install vina meeko

# 方式二:预编译二进制
# 从 GitHub ccsb-scripps/AutoDock-Vina releases 下载对应平台的包
vina --version

Vina 1.2 起原生支持多种打分函数(--scoring vina|vinardo|ad4)和 Python API。若只做批量命令行筛选,二进制版更省事;要嵌进 Python 流程,用 pip 版的 vina.Vina 类。

受体与配体准备

# 受体:补残基/去水,再转 PDBQT
python -m openmm.app  # 或用 PDBFixer 补缺失原子
mk_prepare_receptor.py -i receptor.pdb -o receptor -p   # Meeko ≥0.5

# 配体:从 SMILES 生成 3D 并转 PDBQT
mk_prepare_ligand.py -i ligand.sdf -o ligand.pdbqt

准备阶段是绝大多数错误的来源,顺序是:删水与无关杂原子 → 保留必要辅因子/金属 → 补缺失重原子(PDBFixer)→ 按目标 pH 加氢定质子化态 → 转 PDBQT。组氨酸质子化态和催化位点的水分子是否保留,往往直接改变结果。

定义盒子并对接

vina --receptor receptor.pdbqt --ligand ligand.pdbqt \
     --center_x 11.2 --center_y 23.4 --center_z -5.7 \
     --size_x 22 --size_y 22 --size_z 22 \
     --exhaustiveness 32 --num_modes 9 --seed 42 \
     --out out.pdbqt --log out.log
参数 建议值 说明
盒子中心 共晶配体质心 有共晶结构时最可靠;否则用 fpocket 等口袋检测结果
盒子尺寸 配体最长径 + 8~10 Å,常见 20~25 Å 过小切掉正确姿势,过大稀释搜索、增噪
exhaustiveness 初筛 8,精化 32~64 越大越稳但越慢,近似线性
seed 显式固定 不固定则结果不可复现

先做重对接验证,再信任任何新结果

把共晶结构里的原配体取出、重新对接回去,看能否复现晶体姿势。判据是重原子 RMSD ≤ 2.0 Å;做不到就说明准备或盒子有问题,此时对新分子的结果毫无意义。这一步只花几分钟,却能挡掉大部分「跑完了但全是错的」情况。

批量筛选的脚本骨架

from vina import Vina

v = Vina(sf_name="vina", seed=42)
v.set_receptor("receptor.pdbqt")
v.compute_vina_maps(center=[11.2, 23.4, -5.7], box_size=[22, 22, 22])

for name, pdbqt in ligands:                 # 预先批量生成好的 PDBQT
    v.set_ligand_from_file(pdbqt)
    v.dock(exhaustiveness=8, n_poses=5)
    print(name, round(v.energies()[0][0], 2))   # kcal/mol,越负越好

十万级以上的库建议先用配体高效性、性质规则和指纹相似性做预过滤,再对接;对接本身可用 GNU parallel 或作业调度器横向铺开,每个进程绑一个核。

怎么读 Vina 的分数

  • 输出单位是 kcal/mol 的估算结合自由能,越负越好;常见活性分子落在 −7 到 −11 之间,但绝对值不可当亲和力用
  • 评分函数天然偏好大分子和高疏水性分子。比较不同大小的分子时,看每重原子的分数(配体高效性)比看原始分数公平。
  • Vina 分数与实测 IC50 的相关性通常很弱(不少体系里 Pearson r 只有 0.3~0.5)。它的正确用法是粗筛排序 + 姿势假设生成,而不是排名预测。
  • 想提升排序质量,用 Vinardo 打分、GNINA 的 CNN 重打分,或对 top 分子上 MM/GBSA、FEP 逐级精化。

上手提示

  • 顺序永远是:准备结构 → 重对接验证(RMSD ≤ 2 Å)→ 才做新分子;
  • 盒子中心与尺寸、质子化态是最高频的错误来源,比选打分函数重要得多;
  • 固定 seedexhaustiveness 才能复现,报告结果时把这两个参数一起写上;
  • 把 Vina 当筛子而不是尺子:它擅长把十万缩到几百,不擅长告诉你哪个更强。

延伸资源