当前位置: 首页 > news >正文

AutoDock Vina 新手上手指南:6 个关卡跑通你的第一次分子对接

AutoDock Vina 新手上手指南:6 个关卡跑通你的第一次分子对接

【免费下载链接】AutoDock-VinaAutoDock Vina项目地址: https://gitcode.com/gh_mirrors/au/AutoDock-Vina

你听说过 AutoDock Vina 吗?它是目前全球使用最广、速度最快的开源分子对接引擎之一。简单说,它能预测一个小分子药物(配体)会怎样"钻进"蛋白质(受体)的口袋里并稳定地待住——这正是药物发现中最关键的一步。这篇文章不打算给你一本冷冰冰的操作手册,而是把它设计成一条闯关路线:6 个关卡 + 1 个隐藏副本 + 1 个补给站,每关都有看得见的成果。跟着走完,你就拥有了一份属于自己的、真实可复现的分子对接实验记录。

先给你一张"全程地图",让你心里有数——分子对接从分子结构到最终结果,大致要走完下面三个环节:

为什么人人都想跑一次分子对接?

把药物找出来这件事,可以理解成一场"找钥匙开锁"的游戏:蛋白质是锁,小分子是钥匙。一把钥匙能不能插进锁孔、插得够不够紧,决定了它有没有成为候选药物的潜力。但蛋白质和药物分子都有几十到上千个原子,理论上的"插法"数以百万计,挨个试根本不现实。

AutoDock Vina 的价值就在于:它用一套精心设计的打分函数(scoring function)快速评估"这把钥匙配这把锁大概有多合适",再用梯度优化算法在海量可能性中快速搜索。同样的任务,它比上一代 AutoDock 4 可以快上最多两个数量级,而且是 Apache 2.0 协议的开源软件,随便用、随便改。先记住它的几个核心卖点:

核心优势具体说明
⚡ 极速搜索相比 AutoDock 4 最高可提速约 100 倍
🆓 完全开源Apache 2.0 许可,商用学习皆可
🔬 多打分函数内置 vina / vinardo / ad4 三种选择
🧬 特种分子支持大环分子、水合对接、多配体同时对接
🐍 Python 绑定支持 Python 3,可编程批量筛选

光看介绍没感觉,我们直接开局。

关卡一:先认识三个"主角"——受体、配体与 PDBQT

动手之前,有三个词你必须先混个脸熟,否则后面每一步都会卡壳。

  • 受体(Receptor):通常是蛋白质,也就是那把"锁"。文件里记录的是它的三维原子坐标,常见后缀是.pdb
  • 配体(Ligand):小分子化合物,也就是那把"钥匙",常见后缀是.sdf.mol2
  • PDBQT 格式:AutoDock 家族统一的"通行证"格式。它比普通 PDB 多记录了每个原子的部分电荷(partial charge)和原子类型,以及分子的可旋转键信息。对接前,受体和配体都必须先转换成 PDBQT,这是所有 AutoDock 系软件的地基。

转换工作一般交给一个叫Meeko的 Python 包来完成。它的命令行脚本mk_prepare_ligand.pymk_prepare_receptor.py会帮你处理质子化、加电荷、标定可旋转键这些繁琐但决定成败的细节。

记住一个忠告:配体文件尽量不要用 PDB 格式,因为它不包含化学键的连接信息;也不要用二维平面结构直接去对接。多一个氢、少一个氢,都可能直接改变对接结果。

这一关的成果:你能说出"PDBQT 是干什么的、谁来生成它"。

关卡二:5 分钟搭好对接工作台

好消息是,Vina 的"工作台"只需要两条命令就能搭好。推荐在 conda 或 venv 虚拟环境里安装,避免污染系统 Python:

pip install -U numpy scipy rdkit vina meeko gemmi prody

这条命令同时装了三类东西:vina(Vina 的 Python 绑定)、meeko(配体受体预处理工具)、rdkit/numpy(分子与数值计算底层)。装完可以用这个命令确认工具是否就位:

mk_prepare_ligand.py --help

如果你想直接拿到 Vina 的可执行文件vina(而不是只在 Python 里调用它),有两个途径:

  1. 下载预编译版本:从官方 release 页面按系统与架构(macOS / Linux / Windows)下载对应二进制文件,解压后即可运行。
  2. 从源码编译(只建议想折腾或需要魔改的用户):
git clone https://gitcode.com/gh_mirrors/au/AutoDock-Vina cd AutoDock-Vina/build/linux/release make

编译前记得装好 C++ 编译器和 Boost 库(macOS 用brew install boost swig,Ubuntu/Debian 用apt install libboost-all-dev swig)。普通用户直接走路径 1 就好,源码方式在官方文档里也明确标注了"not meant to be done by regular users"。

这一关的成果:终端里能敲出vina --help或顺利导入from vina import Vina

关卡三:动手跑通第一个对接示例

光说不练假把式。项目仓库里已经给你准备了一套完整的基础对接案例(真实分子是抗癌药伊马替尼 imatinib 与 c-Abl 激酶,正是电影《我不是药神》里那个"格列卫"的靶点)。先把示例数据复制出来:

cp -r example/basic_docking/data/ .

第一步:准备受体文件

mk_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指定输入受体,-p表示要生成受体 PDBQT,-v表示同时输出对接盒子(box)的尺寸文件。后面那两对参数是对接盒子的中心和边长——相当于你在告诉 Vina:"别满世界乱找,就在这个 20×20×20 Å 的立方体里搜。" 它对应蛋白质的活性口袋位置,单位是埃(Å)。

第二步:准备配体文件

mk_prepare_ligand.py -i 1iep_ligand.sdf -o 1iep_ligand.pdbqt

第三步:写下你的"点菜清单"——配置文件

Vina 的配置文件和餐厅点菜清单一个原理:把要传的参数都写进一个文件,运行时代理(命令行)就清爽很多。新建一个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

第四步:启动对接!

vina --receptor 1iep_receptor.pdbqt --ligand 1iep_ligand.pdbqt \ --config 1iep_receptor.box.txt \ --exhaustiveness 32 --out 1iep_ligand_vina_out.pdbqt

--exhaustiveness是"努力程度"参数,默认 8;这个案例里官方建议调到 32 以获得更稳定的结果。--out指定结果输出文件。

几秒钟到几十秒后,终端会打印出进度条和一张结果表,结果文件1iep_ligand_vina_out.pdbqt里保存了所有找到的结合构象。🎉 恭喜你,第一次分子对接已经跑通了!

这一关的成果:一个真实系统的对接结果文件。

关卡四:这一关看结果——affinity、RMSD 与 mode 表

跑通不难,看懂才算入门。Vina 输出的核心是下面这样一张表:

mode | affinity | dist from best mode | (kcal/mol) | rmsd l.b.| rmsd u.b. -----+------------+----------+---------- 1 -13.23 0 0 2 -11.29 0.9857 1.681 3 -11.28 3.044 12.41

逐列解释:

  • mode:结合模式编号,从好到差排列。
  • affinity(结合亲和力):预测的结合自由能,单位 kcal/mol。负值表示能结合,越负表示结合越强。这个案例中 vina 打分函数下最优解大约在 -13 kcal/mol 附近。
  • rmsd l.b. / rmsd u.b.:各模式相对最优模式的原子位置差异(RMSD,均方根偏差),用来衡量"这两种摆法差别有多大"。0 表示和最优模式完全一致。

需要提醒你:vina 和 ad4 两套打分函数算出的能量不能互相比较,它们是两种不同的"尺子"。

拿到 PDBQT 结果后,如果要在 PyMOL、ChimeraX 里可视化,或者转给其他软件分析,建议用 Meeko 转成 SDF 格式——因为 PDBQT 不记录化学键级,而 Meeko 能从文件头部的 SMILES 信息重建正确的键连关系:

mk_export.py 1iep_ligand_vina_out.pdbqt -s 1iep_ligand_vina_out.sdf

这一关的成果:能独立解读一张 mode 表,并说出"分数越负越好"。

关卡五:为什么我的结果和别人不一样?

你可能很快会撞上一个困惑:同样一条命令,多跑几次,结果却有细微差别;或者和教程里的截图对不上。别慌,这不是你装错了——Vina 的搜索算法是随机性的

它的原理可以理解为:每次对接由若干次"独立探索"组成,每次从随机初始构象出发,经过随机扰动 + 局部优化的迭代,最后把各次探索中有希望的结果合并、聚类、排序。每次探索的起点不同,结果自然有波动。

那么怎么让结果更稳定、更可信?三招:

  1. 加大--exhaustiveness:它控制的正是"独立探索的次数"。8 是省电模式,32 是认真模式,结果更稳定,代价是更久的运行时间。
  2. 控制搜索空间:盒子越大,搜索难度越高。官方建议尽量不要超过 30×30×30 Å(体积超过 27000 ų 会收到警告)。记住:Vina 的盒子单位是 Å,不是 AutoDock 4 里的"格点数"——这是从 AD4 转过来的人最常踩的坑。
  3. 固定随机种子--seed参数可以指定随机种子,两次用同一个种子,输入不变时结果完全一致。想要"可复现"的实验记录,这一招很关键。

另外,输出构象里氢原子的位置是"随意"的:Vina 用的是联合原子打分,只考虑重原子。但输入文件里的氢仍然重要,因为它决定哪些原子是氢键供体/受体——所以正确质子化永远是第一优先级

这一关的成果:你会调参数,也理解了结果的随机性从何而来。

关卡六:从单个分子到批量虚拟筛选

单个分子对接只是热身,现实中更常见的是一次筛几百上千个化合物。Vina 支持两种批量玩法:

玩法 A:命令行 + 循环脚本。把多个配体各自准备成 PDBQT,写个小循环逐个对接:

for ligand in ligs/*.pdbqt; do vina --receptor receptor.pdbqt --ligand "$ligand" \ --config box.txt --out out/$(basename "$ligand") done

玩法 B:Python 绑定,把整个流程编程化。项目自带的示例脚本 example/python_scripting/first_example.py 展示了标准用法:

from vina import Vina v = Vina(sf_name='vina') 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]) energy = v.score() # 先给当前构象打分 energy_minimized = v.optimize() # 再做个局部能量最小化 v.write_pose('1iep_ligand_minimized.pdbqt', overwrite=True) v.dock(exhaustiveness=32, n_poses=20) # 正式对接 v.write_poses('1iep_ligand_vina_out.pdbqt', n_poses=5, overwrite=True)

切换到ad4vinardo打分函数,只需把sf_name='vina'改掉。跑法也很简单:

cd example/python_scripting python first_example.py

这一关的成果:你拥有了"批量筛 + 编程控"的组合拳。

隐藏副本:四个值得玩味的进阶玩法

打通主线后,仓库的example/目录还藏着几套"隐藏关卡",每个都对应一个真实科研场景:

玩法场景示例目录
柔性对接蛋白质结合时会变形,允许指定残基侧链运动example/flexible_docking/
水合对接显式考虑水分子对结合的影响example/hydrated_docking/
大环分子对接处理环状大分子(如 BACE-1 抑制剂)example/docking_with_macrocycles/
锌金属蛋白针对含金属离子的靶点,配合 AD4Zn 参数example/docking_with_zinc_metalloproteins/

每个目录下都有data/(输入)和solution/(参考答案),你可以先猜结果再对照,非常适合自学。想用 AutoDock4 力场的话,加上--scoring ad4并传入预先算好的亲和图(需要autogrid4配合 GPF 文件)即可。

途中补给站:新手高频翻车现场与避坑手册

  • "can not open conf.txt" 但文件明明存在?多半是系统隐藏了扩展名,你建的文件其实叫conf.txt.txt。在终端用ls确认一下真实文件名。
  • 怎么验证装好了?运行vina --help看有没有正常输出,或python -c "from vina import Vina"检查 Python 绑定。
  • --out是什么?它取代了老教程里的--all,旧教程的命令照抄会报 usage error。
  • 为什么--num_modes 20只输出了 9 个模式?它只是输出数量的上限,实际输出还受内部搜索和--energy_range限制。
  • 改了电荷怎么结果没变化?正常,Vina 有自己处理静电的方式,忽略用户提供的部分电荷。
  • 结果解不开就反复跑?先检查:盒子单位是不是写错了、分子有没有正确质子化、搜索空间是不是太大。搞不清就按官方 FAQ 的思路逐条排查。

更多问题与解答集中在官方文档 docs/source/faq.rst,建议通读一遍,能帮你省下大量踩坑时间。

通关之后:给你的学习路径与下一步建议

如果你一路闯到这里,恭喜,你已经完成了从"听说过分子对接"到"能独立完成并解读一次对接实验"的跨越。接下来可以这样规划:

  1. 第一周 · 打牢基本功:把基础对接、结果解读、参数调优各练三遍,直到不看文档也能默写出整条命令。
  2. 第二周 · 处理真实数据:去 PDB 数据库下载一个感兴趣的蛋白,自己从"去水、加氢、定盒子"开始走完整流程。
  3. 第三周 · 玩转批量:用 Python 绑定写一个自己的小脚本,对一组配体做虚拟筛选,并对结果排序。
  4. 第四周 · 挑战进阶玩法:挑一个隐藏副本(推荐从水合对接入手),体会"考虑越多,模型越接近真实"的乐趣。

更深度的材料都在项目里:基础教程见 docs/source/docking_basic.rst,Python 编程见 docs/source/docking_python.rst,完整文档目录在 docs/source/,所有示例在 example/。每次实验记得记录参数、保存日志、统一命名——好习惯会随着你的实验越做越复杂而越来越值钱。

分子对接不是一门"看书就能会"的技术,它是练出来的手感。从最简单的钥匙锁孔开始,一次一次地试,你的判断力会肉眼可见地增长。钥匙与锁的故事每天都在真实的药物研发里上演,而你,已经拿到了入场券。

🚀 现在,去跑通属于你的第一个分子对接实验吧!

【免费下载链接】AutoDock-VinaAutoDock Vina项目地址: https://gitcode.com/gh_mirrors/au/AutoDock-Vina

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.jsqmd.com/news/1400671/

相关文章:

  • 办理涉外公证书可以在线办理吗?涉外办证答疑 - luffy+2
  • 2026年广东通信工程监理资质甲级代办公司选择指南:专业实力与高效服务之选 - 卓企推荐
  • 企业私有AI技能管理中心:标准化、容器化与高效复用实践
  • 2026甄选:公路工程监理资质甲级代办服务公司实力解析 - 卓企推荐
  • 初创公司乱账堆积别不当回事,不止是罚款,这些影响更长远 - 二格
  • 从AI技能堆砌到上下文工程:构建精准高效的大模型应用范式
  • 2026年8月优质的镀锌角钢企业推荐,钢板/不锈钢管/耐磨钢板/镀锌钢管/铝板/工字钢,镀锌角钢实力厂家哪里有卖 - 企业权威推荐大使
  • HLK 测试部署流程指南
  • 2026年8月正规的非标工治具厂商推荐,非标工治具/洁净车间不锈钢操作台/精密钣金加工非标,非标工治具源头厂家哪个好 - 企业权威推荐大使
  • File System Access API 实战:让网页真正读写本地文件
  • 58-杨逢昌|6S 责任区划分体系化研究:四大原则与看板管理落地方法
  • 2026年8月北京股东资格确认纠纷律所实测:5家处理隐名股东与出资证明的律所盘点 - 品牌深度评测
  • DICOM医学影像查看:MicroDicom Viewer核心功能与实战应用指南
  • AUTOSAR CanNm网络管理深度剖析|全域协同唤醒休眠与PN局部网络精准控耗、助力新能源整车低功耗量产、解决驻车亏电误唤醒难题、搭载全量状态机工程代码
  • Neal:连接Claude与Codex,实现AI编程从规划到生成的完整工作流
  • 2026年8月北京恋爱关系确认之诉律所参考清单:5家处理身份关系争议的律所解析 - 品牌深度评测
  • HRM系统GEO优化公司哪家好?2026年人力资源软件行业AI搜索优化服务商选型指南 - 科技前沿信息
  • 提示词优化实战:从基础概念到工程化工具构建
  • 基于Kimi与OpenClaw的飞书AI助手:本地部署与智能工作流实战
  • SSH主机密钥验证失败:原理、排查与ssh-keygen实战指南
  • Meta Muse Glimmer权重模型实战:从环境搭建到推理部署完整指南
  • 2026 液氩储罐保冷板材行业测评|合规材料筛选与深冷工况适配全指南 - 广华节能科技有限公司
  • 浏览器自动化实战:利用Playwright实现Cookie跨浏览器登录迁移
  • System V共享内存与环形队列:构建高性能进程间通信(IPC)方案
  • 2026深圳港航监理资质代办机构实力优选:专业高效,合规护航,全程无忧办理服务 - 卓企推荐
  • 关于字符串【力扣344.反转字符串的思考】
  • 一条 Markdown 渲染管线的全部细节:Worker、源行标注与按需加载
  • 2026年前端技术选型:Vue与React的长期价值与团队适配分析
  • 2026年08月成都工程纠纷律师**:按工程款追讨与造价争议筛选5位 - 城刊速递
  • Java实现Excel转PDF高保真转换:Aspose.Cells深度实践与调优