AutoDock-Vina 分子对接完整实战指南:从 PDB 文件到第一个对接结果,5 个关键问题一次讲透
AutoDock-Vina 分子对接完整实战指南从 PDB 文件到第一个对接结果5 个关键问题一次讲透【免费下载链接】AutoDock-VinaAutoDock Vina项目地址: https://gitcode.com/gh_mirrors/au/AutoDock-Vina如果你手头有一份蛋白质结构文件想看看某个小分子能不能结合上去、结合得有多牢那么 AutoDock-Vina 分子对接就是你需要的工具。这是一款免费开源、跨平台Linux、macOS、WSL的分子对接引擎它能把受体-配体怎么结合、结合能是多少这件事从实验室里漫长的晶体学实验压缩成一条命令行。本文不打算堆概念而是带着你解决一个真实任务——把抗癌药伊马替尼Imatinib对接到 c-Abl 激酶结构域上——沿途把安装配置、对接盒子设置、结合能解读这些新手最容易卡壳的地方一次讲透。一个真实的起点导师丢给你两个文件想象这样一个场景课题组刚拿到 c-Abl 激酶的蛋白结构导师说把这个药对上去看看打分。你面前摆着两个文件——1iep_receptorH.pdb加了氢的蛋白和1iep_ligand.sdf配体小分子。接下来该敲什么命令先别急着搜教程把下面几件事想明白你会发现对接远没有传说中那么玄。项目自带的example/basic_docking/目录里就有完整的数据与答案你可以边看边跟着做每跑一步都有对照结果。先搞懂四个词对接就不再神秘很多人被分子对接劝退其实是死在名词上。用大白话拆开看其实就四件事受体Receptor通常是蛋白质是房子。对接前要给房子做好预处理——补氢、去水、去掉不必要的配体和离子。配体Ligand小分子候选药物是访客。它需要一个靠谱的三维结构最好从 SDF 格式出发而不是 PDB——PDB 缺少键连接信息Vina 会看不懂分子长什么样。对接盒子Docking Box相当于给访客划定的活动范围。你告诉 Vina只在活性口袋这片区域找它就不必在全屋乱转。盒子中心坐标和长宽高直接决定搜索空间也决定结果质量。结合能Binding EnergyVina 给每个构象打的亲和力分单位是 kcal/mol。负值越大绝对值越大说明抱得越紧、结合越稳定。还有一个隐藏主角叫PDBQT 格式它比普通 PDB 多了原子类型和部分电荷信息是 Vina 对接计算真正认得的通行证。整篇文章的核心工作其实就是把 PDB/SDF 转成 PDBQT再让 Vina 在盒子里算。为什么偏偏是 AutoDock-Vina同样做对接市面上工具不少但 AutoDock-Vina 几乎是新手上路最顺的一条不用先算图谱用 Vina 力场对接时亲和图谱由程序内部自动计算省掉了 AutoDock4 那套先跑 autogrid4 的流程快比传统 AutoDock4 快一到两个数量级虚拟筛选时优势尤其明显免费开源学术和商业用途都不收钱代码在仓库里社区活跃遇到问题总能找到人讨论功能覆盖全柔性对接、水合对接、大环化合物、多配体、Python 绑定从入门到科研都有对应的路径。如果你的项目要复现研究记得引用 AutoDock 套件的原始论文详见官方文档docs/source/docking_basic.rst中的引用说明。开工前的工具箱三种安装方式按你的习惯选在真正跑对接之前先把环境搭好。值得注意的一点Vina 的 Python 绑定和可执行文件是两套独立的安装流程装了 Python 包不等于有了vina命令行反之亦然。按你的使用习惯选一种方式一预编译可执行文件最省事。下载对应操作系统的发布版本解压即可使用适合只打算命令行操作的新手无需任何编译配置。方式二pip 安装 Python 绑定。在 Linux 或 macOS 上一行命令搞定适合想把对接集成进自动化脚本的用户pip install -U numpy vina方式三Conda 环境推荐科研用户。用 Conda 创建独立环境避免不同项目间的依赖冲突conda create -n vina python3 conda activate vina conda config --env --add channels conda-forge conda install -c conda-forge numpy swig boost-cpp libboost pip install vina另外配体和受体的预处理依赖 Meeko 工具包mk_prepare_receptor.py、mk_prepare_ligand.py都来自它记得一并装好具体说明见官方文档docs/source/docking_requirements.rst。想从源码编译的大神可以git clone https://gitcode.com/gh_mirrors/au/AutoDock-Vina自行构建但普通用户完全没必要走这条路。实战把伊马替尼对进 c-Abl五步跑通下面就是全篇最核心的部分。跟着敲每一步都有明确产出。第一步处理受体生成 PDBQT 与盒子文件对 1iep 这个案例一条命令同时完成三件事——生成受体 PDBQT、生成盒子参数 TXT、生成可可视化的盒子 PDBmk_prepare_receptor.py -i 1iep_receptorH.pdb -o 1iep_receptor -p -v \ --box_size 20 20 20 --box_center 15.190 53.903 16.917拆开看-i指定输入-o指定输出文件名的前缀-p要求输出受体 PDBQT-v配合--box_size和--box_center生成盒子文件。那个 TXT 文件稍后可以直接当对接配置文件用PDB 文件则可以拖进 PyMOL 里看盒子盖得准不准。如果你用的是实验结构--delete_residues选项可以方便地剔除水、配体、辅因子等无关成分。第二步处理配体坚持用 SDF 起步小分子用mk_prepare_ligand.py转换命令很短mk_prepare_ligand.py -i 1iep_ligand.sdf -o 1iep_ligand.pdbqt这里有一个反复被强调的坑千万别拿 PDB 格式的小分子文件直接转换它没有键连接信息转换出来的结构常常是错的。另外请务必检查配体的质子化状态——成功与否有时就悬在一个氢原子上。如果起始结构缺氢可以用 molscrub 的scrub.py做质子化甚至直接从 SMILES 生成三维构象并枚举互变异构体。第三步把取景框对准活性口袋盒子中心定在 15.190、53.903、16.917边长 20 Å。配置文件1iep_receptor.box.txt内容如下center_x 15.190 center_y 53.903 center_z 16.917 size_x 20.0 size_y 20.0 size_z 20.0盒子不用贪大——太大搜索效率低太小又可能把真实结合位点排除在外。让盒子完整罩住活性位点就是 AutoDock-Vina 对接盒子设置的基本原则。第四步按下运行键两条力场路线任选现在你可以选 Vina 力场或 AutoDock4 力场二者的核心区别是Vina 力场免图谱AutoDock4 力场要先跑 autogrid4 生成亲和图谱。Vina 力场直接指定受体、配体和配置文件vina --receptor 1iep_receptor.pdbqt --ligand 1iep_ligand.pdbqt \ --config 1iep_receptor.box.txt --exhaustiveness32 --out 1iep_ligand_vina_out.pdbqtAutoDock4 力场先由 GPF 文件生成图谱再对接autogrid4 -p 1iep_receptor.gpf -l 1iep_receptor.glg vina --ligand 1iep_ligand.pdbqt --maps 1iep_receptor --scoring ad4 \ --exhaustiveness 32 --out 1iep_ligand_ad4_out.pdbqt注意--exhaustiveness这个参数它控制对接投入的计算量默认是 8。伊马替尼这个体系比较难缠默认值下 Vina 偶尔会找不到正确构象把值提到 32 能显著提高稳定性。此外想用 Vinardo 力场的话加上--scoring vinardo即可。运行结束后Vina 会在终端打印出打分表格并把所有构象写进输出的 PDBQT 文件。第五步导出 SDF交给可视化工具PDBQT 适合机器读但放到 PyMOL、Chimera 里做分子绘图最好还是转成 SDF——它能保证键级和形式电荷的正确性mk_export.py 1iep_ligand_vina_out.pdbqt -s 1iep_ligand_vina_out.sdf到这里你的第一个 AutoDock-Vina 分子对接实验就跑完了产出物和example/basic_docking/solution/里的文件一一对应。结果怎么读别只盯着一个数字终端输出的mode | affinity | dist from best mode表格是你要解读的核心。以 Vina 力场为例1iep 这个体系跑出来的第一行大约是mode | affinity | dist from best mode 1 -13.23 0 0affinity结合能。这个体系用 Vina 力场预期最佳约-13 kcal/mol用 AutoDock4 力场则约-14 kcal/mol。要注意两个力场的分数不能直接互相比较报道分数时务必标明用的哪个力场。rmsd l.b. / rmsd u.b.衡量各构象与最优构象的几何差异。如果默认 exhaustiveness 下出现多个头尾翻转的构象且分数更差多半是搜索不充分把参数调高重跑即可。结合能在 -6 到 -12 kcal/mol 区间通常视为有意义的结合但打分只是参考最终要以实验数据验证为准。可视化这一步也别忘了把对接得到的 SDF 与1iep_receptor.box.pdb一起载入检查配体是否真的落在活性位点、氢键与疏水接触是否合理。进阶基础对接不够用时Vina 还有这些牌当你想处理更复杂的真实场景项目已经备好了全套示例每个示例都带data/输入和solution/答案方便你对照学习柔性对接让受体侧链动起来模拟诱导契合效应见example/flexible_docking/水合对接把结合位点的水分子纳入计算见example/hydrated_docking/大环化合物处理环状分子的特殊构象采样见example/docking_with_macrocycles/多配体对接一次对接多个配体见example/mulitple_ligands_docking/Python 批量对接用 Python 绑定把整个流程脚本化跑虚拟筛选时能省下大量人力。example/python_scripting/里就有一个可运行的入门脚本核心思路如下import vina v vina.Vina(sf_namevina) v.set_receptor(1iep_receptor.pdbqt) v.set_ligand_from_file(1iep_ligand.pdbqt) v.compute_vina_maps(center[15.190, 53.903, 16.917], box_size[20, 20, 20]) v.dock(exhaustiveness32, n_poses20) v.write_poses(output.pdbqt, n_poses20)除此之外项目还内置了锌金属蛋白对接docking_with_zinc_metalloproteins等特殊场景几乎覆盖了科研中常见的主流玩法。卡壳了这些地方藏着答案没有人能一次记住所有参数。遇到问题优先翻这几个地方官方教程docs/source/下按主题组织docking_basic.rst基础对接、docking_python.rstPython 用法、docking_flexible.rst、docking_hydrated.rst、faq.rst常见问题等一个萝卜一个坑示例目录example/下每个子目录都有data/和solution/输入输出一一对应是最直观的参考答案参数求助任何mk_prepare_*.py脚本都可以加--help查看可用选项。最后把第一个对接跑通你就拿到了钥匙回到开头的场景——那个对着两个文件发愣的新人现在应该已经有底气了装好环境、转换格式、定好盒子、按下运行键、读懂打分表一条龙走完你和分子对接之间的那层窗户纸就捅破了。分子对接是一门靠实践积累的手艺从最简单的刚性受体对接开始再逐步挑战柔性、水合、大环这些高级玩法每多跑一个体系你对构象打分盒子的理解都会更深一层。现在就动手吧把仓库克隆下来git clone https://gitcode.com/gh_mirrors/au/AutoDock-Vina从example/basic_docking/开始你的第一个实验。等你的终端里出现第一张 mode 打分表你会发现下一个待发现的分子也许就在你敲下的下一条命令里。【免费下载链接】AutoDock-VinaAutoDock Vina项目地址: https://gitcode.com/gh_mirrors/au/AutoDock-Vina创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

最新新闻

日新闻

周新闻

月新闻