ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

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

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.py和mk_prepare_receptor.py会帮你处理质子化、加电荷、标定可旋转键这些繁琐但决定成败的细节。记住一个忠告配体文件尽量不要用 PDB 格式因为它不包含化学键的连接信息也不要用二维平面结构直接去对接。多一个氢、少一个氢都可能直接改变对接结果。这一关的成果你能说出PDBQT 是干什么的、谁来生成它。关卡二5 分钟搭好对接工作台好消息是Vina 的工作台只需要两条命令就能搭好。推荐在 conda 或 venv 虚拟环境里安装避免污染系统 Pythonpip install -U numpy scipy rdkit vina meeko gemmi prody这条命令同时装了三类东西vinaVina 的 Python 绑定、meeko配体受体预处理工具、rdkit/numpy分子与数值计算底层。装完可以用这个命令确认工具是否就位mk_prepare_ligand.py --help如果你想直接拿到 Vina 的可执行文件vina而不是只在 Python 里调用它有两个途径下载预编译版本从官方 release 页面按系统与架构macOS / Linux / Windows下载对应二进制文件解压后即可运行。从源码编译只建议想折腾或需要魔改的用户git clone https://gitcode.com/gh_mirrors/au/AutoDock-Vina cd AutoDock-Vina/build/linux/release make编译前记得装好 C 编译器和 Boost 库macOS 用brew install boost swigUbuntu/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 的搜索算法是随机性的。它的原理可以理解为每次对接由若干次独立探索组成每次从随机初始构象出发经过随机扰动 局部优化的迭代最后把各次探索中有希望的结果合并、聚类、排序。每次探索的起点不同结果自然有波动。那么怎么让结果更稳定、更可信三招加大--exhaustiveness它控制的正是独立探索的次数。8 是省电模式32 是认真模式结果更稳定代价是更久的运行时间。控制搜索空间盒子越大搜索难度越高。官方建议尽量不要超过 30×30×30 Å体积超过 27000 ų 会收到警告。记住Vina 的盒子单位是 Å不是 AutoDock 4 里的格点数——这是从 AD4 转过来的人最常踩的坑。固定随机种子--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玩法 BPython 绑定把整个流程编程化。项目自带的示例脚本 example/python_scripting/first_example.py 展示了标准用法from vina import Vina v 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]) energy v.score() # 先给当前构象打分 energy_minimized v.optimize() # 再做个局部能量最小化 v.write_pose(1iep_ligand_minimized.pdbqt, overwriteTrue) v.dock(exhaustiveness32, n_poses20) # 正式对接 v.write_poses(1iep_ligand_vina_out.pdbqt, n_poses5, overwriteTrue)切换到ad4或vinardo打分函数只需把sf_namevina改掉。跑法也很简单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建议通读一遍能帮你省下大量踩坑时间。通关之后给你的学习路径与下一步建议如果你一路闯到这里恭喜你已经完成了从听说过分子对接到能独立完成并解读一次对接实验的跨越。接下来可以这样规划第一周 · 打牢基本功把基础对接、结果解读、参数调优各练三遍直到不看文档也能默写出整条命令。第二周 · 处理真实数据去 PDB 数据库下载一个感兴趣的蛋白自己从去水、加氢、定盒子开始走完整流程。第三周 · 玩转批量用 Python 绑定写一个自己的小脚本对一组配体做虚拟筛选并对结果排序。第四周 · 挑战进阶玩法挑一个隐藏副本推荐从水合对接入手体会考虑越多模型越接近真实的乐趣。更深度的材料都在项目里基础教程见 docs/source/docking_basic.rstPython 编程见 docs/source/docking_python.rst完整文档目录在 docs/source/所有示例在 example/。每次实验记得记录参数、保存日志、统一命名——好习惯会随着你的实验越做越复杂而越来越值钱。分子对接不是一门看书就能会的技术它是练出来的手感。从最简单的钥匙锁孔开始一次一次地试你的判断力会肉眼可见地增长。钥匙与锁的故事每天都在真实的药物研发里上演而你已经拿到了入场券。 现在去跑通属于你的第一个分子对接实验吧【免费下载链接】AutoDock-VinaAutoDock Vina项目地址: https://gitcode.com/gh_mirrors/au/AutoDock-Vina创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表