尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

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

一次跑通 AutoDock-Vina 分子对接:新手最想知道的6个问题一次讲透

一次跑通 AutoDock-Vina 分子对接:新手最想知道的6个问题一次讲透 一次跑通 AutoDock-Vina 分子对接新手最想知道的6个问题一次讲透【免费下载链接】AutoDock-VinaAutoDock Vina项目地址: https://gitcode.com/gh_mirrors/au/AutoDock-Vina如果你刚接触药物设计或计算化学大概率听过分子对接这个词但又不敢碰——因为网上的教程要么默认你已经懂分子结构要么让你对着命令行发怵。这篇教程要解决的就是这个问题我用 AutoDock-Vina 这个免费开源的分子对接工具带你从零跑通一个真实的药物对接案例全程只需要复制命令、回车、看懂结果大约 30 分钟就能完成。读完你会收获三样东西一个能用、能复现的完整对接流程一份照着抄就不会错的命令清单以及一套看懂对接结果、判断靠不靠谱的判断力。我们使用的案例是抗癌药伊马替尼Imatinib与 c-Abl 激酶的对接这也是官方文档的经典入门系统相关资料都放在项目的example/basic_docking/目录里方便你边看边对照。第1关分子对接到底在做什么为什么我要用 AutoDock-Vina用一个比喻理解对接把蛋白质想象成一把锁药物小分子就是钥匙。药物要起效钥匙得能插进锁孔、还得转得动。分子对接干的事就是让计算机把钥匙在锁孔附近翻来覆去地试平移、旋转、扭转化学键每试一个姿势就算一次合不合适最后把最合适的姿势和对应的结合强度告诉你。这里的结合强度通常以结合能表示单位是 kcal/mol。数字越负表示结合越牢固就像钥匙和锁咬合得越紧。为什么选 AutoDock-Vina 而不是别的你可能听说过 AutoDock4、GOLD、Glide 这些名字。选 AutoDock-Vina 的理由很实在快官方称比传统 AutoDock4 快上百倍普通笔记本几分钟内就能跑完一次对接简单输入文件就两个受体、配体参数极少命令行几乎开箱即用免费开源学术和商业用途都允许不用求人发 license功能全柔性对接、水合对接、大环化合物、多配体同时对接都支持官方文档有完整教程Vina 的完整工作流程可以用下面这张官方图概括先准备受体和配体结构再用 Meeko 工具生成 PDBQT 输入文件最后交给 Vina 计算并导出结果。先记住图里三个关键词预处理 → PDBQT 输入 → 对接计算。整篇文章就是顺着这条线走的。第2关装环境要装几个软件一个 conda 命令全部搞定先讲清楚你需要什么很多新手卡在安装是因为不知道其实要装两个东西对接引擎 Vina 本体以及负责翻译结构的辅助工具 Meeko生成 PDBQT 文件用。两者缺一不可但都不难装。推荐用 conda 而不是裸 pipVina 依赖 Boost 等底层库conda 能帮你把依赖冲突一次性解决这对 Windows 用户尤其重要。3分钟完成环境配置打开终端Windows 用户用 WSL依次执行# 创建一个名为 vina 的独立环境避免污染系统 Python conda create -n vina python3 conda activate vina # 添加 conda-forge 软件源并安装 Vina 及配套工具 conda config --env --add channels conda-forge conda install -c conda-forge numpy scipy rdkit vina meeko gemmi autogrid如果想用 Python 脚本批量对接后面第5关会讲再补一句pip install prody安装完成后在终端里输入vina --version能看到版本号就说明核心引擎装好了再输入mk_prepare_ligand.py --help能弹出帮助信息说明 Meeko 也到位了。避坑清单90% 的新手问题出在这现象原因解决办法vina: command not found没激活 conda 环境先执行conda activate vina再运行mk_prepare_ligand.py找不到只装了 vina 没装 meeko补装pip install meeko装包报错、依赖冲突装在了 base 环境删掉重来用conda create -n vina新建干净环境Windows 下vina无法执行官方二进制不支持原生 Windows安装 WSL在 WSL 里执行本文所有命令第3关两个输入文件怎么准备从 PDB 到 PDBQT 只需两条命令这是整条流程里最容易出错、也最影响结果的一步。好消息是示例数据就在项目里你只需要学会执行命令 看懂输出不用自己从零准备结构。为什么要做预处理你可以把分子对接想象成快递发货结构文件就是包裹但包裹要先贴好标签原子类型、称好重部分电荷、填好地址键连接信息快递公司才愿意收。PDBQT 就是 AutoDock-Vina 认的标准快递单。原始 PDB 文件缺键连接信息SDF 文件缺对接用的原子类型所以必须转换。第一步准备受体约1分钟进入示例目录用 Meeko 把受体 PDB 文件转换成 PDBQT# 进入基础对接示例的数据目录 cd example/basic_docking/data # 生成受体 PDBQT 文件同时生成对接盒子信息文件 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这条命令一次性帮你生成三样东西受体 PDBQT 文件对接用、盒子 TXT 文件对接参数用、盒子 PDB 文件可视化用。参数说明默认值→推荐值→原因参数本例取值说明--box_size20 20 20搜索盒子的边长单位是埃Å不是格点数这是老手都常犯的错误--box_center15.190 53.903 16.917活性位点的中心坐标通常取已知配体或共结晶位点的几何中心第二步准备配体约30秒# 用 SDF 格式的配体文件生成 PDBQT mk_prepare_ligand.py -i 1iep_ligand.sdf -o 1iep_ligand.pdbqt⚠️两个必须知道的提醒不要用 PDB 格式做配体。PDB 文件不记录键连接信息转换出来的结构可能是散架的。SDF 才是正确选择。务必检查质子化状态。对接成败有时候就差一个氢原子。如果配体原始结构缺氢可以用scrub.pymolscrub 工具补氢并生成三维构象。第4关怎么跑第一次对接一条命令看出力场差异现在到了最激动人心的部分。AutoDock-Vina 支持两套力场理解它们的区别你就超过了半数新手。力场是什么为什么要知道力场就是计算结合能时用的公式和参数表。Vina 内置两套Vina 力场默认开箱即用不需要预计算亲和力图谱程序内部自动算。适合快速上手和日常对接。AutoDock4 力场--scoring ad4精度取向但必须先用 autogrid4 预计算亲和力图谱。 记住一句话Vina 力场省事AD4 力场费事。新手建议先跑 Vina 力场。方案AVina 力场推荐新手先创建盒子配置文件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 力场进行分子对接exhaustiveness 设为 32 提高搜索质量 vina --receptor 1iep_receptor.pdbqt --ligand 1iep_ligand.pdbqt \ --config 1iep_receptor.box.txt \ --exhaustiveness32 --out 1iep_ligand_vina_out.pdbqtexhaustiveness参数默认值→推荐值→原因默认值是8意味着做 8 次独立随机搜索设为32能显著提高找到正确构象的概率代价是运行时间约增加 4 倍。对于伊马替尼这种比较有挑战性的体系官方文档明确建议开到 32。先跑通流程用 8正式做实验用 32。方案BAutoDock4 力场进阶选做如果你想要 AD4 精度需要先用 autogrid4 生成图谱# 生成 GPF 网格参数文件在受体准备命令后追加 -g 即可 mk_prepare_receptor.py -i 1iep_receptorH.pdb -o 1iep_receptor -p -v -g \ --box_size 20 20 20 --box_center 15.190 53.903 16.917 # 用 AutoGrid4 预计算亲和力图谱 autogrid4 -p 1iep_receptor.gpf -l 1iep_receptor.glg # 使用 AutoDock4 力场进行分子对接 vina --ligand 1iep_ligand.pdbqt --maps 1iep_receptor --scoring ad4 \ --exhaustiveness 32 --out 1iep_ligand_ad4_out.pdbqt跑完你会发现目录里多出一批.map、.maps.fld文件那就是 AutoGrid4 算出来的亲和力图谱。第5关跑完的结果怎么读这 3 个数会看了就入门了终端输出就是你的成绩单对接完成后终端会打印一张表格这是你读懂结果的第一现场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 列Vina 给你排了序的候选构象mode 1 是它认为最好的。affinity 列结合能。本例 Vina 力场最优约为-13 kcal/molAutoDock4 力场约为-14 kcal/mol。作为参考一般 -6 到 -12 kcal/mol 就属于值得关注的结合强度。rmsd 列每个构象和最优构象的差异程度。RMSD 越小说明构象越相似。⚠️重要警告Vina 力场和 AutoDock4 力场的能量分数不能直接互相比较就好比摄氏度不能和华氏度直接对比。论文里引用分数时务必注明用的是哪套力场。导出成 SDF 便于后续分析PDBQT 文件里的键连接信息不完整可视化软件PyMOL、Chimera读起来会别扭。用 Meeko 转成 SDF 就能保留正确的键级和电荷# 把对接结果从 PDBQT 转换为 SDF 格式方便可视化分析 mk_export.py 1iep_ligand_vina_out.pdbqt -s 1iep_ligand_vina_out.sdf结果不对怎么办先对照这份自查表现象可能原因解决办法结合能明显低于预期如 -20配体或受体质子化错误检查输入结构重跑预处理只出一个构象且能量很差exhaustiveness 太低升到 32或多次运行取最好结果两次运行结果不同算法是随机的这是正常现象想复现就固定随机种子警告 search space 27000 ų你把格点数当成了埃检查盒子尺寸单位是否为 Å对接位点明显不对盒子中心没对准活性位点用共结晶配体位置重新定box_center第6关进阶时间——用 Python 让对接自动化如果你觉得每次敲命令行太繁琐或者想批量对接几十个配体做虚拟筛选AutoDock-Vina 提供了 Python 绑定可以在脚本里完成打分 → 优化 → 对接 → 输出的全流程。项目自带的example/python_scripting/first_example.py就是最好的入门范本# 导入 vina 库 from vina import Vina # 创建 Vina 对象指定使用 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() print(Score before minimization: %.3f (kcal/mol) % energy[0]) energy_minimized v.optimize() print(Score after minimization : %.3f (kcal/mol) % energy_minimized[0]) v.write_pose(1iep_ligand_minimized.pdbqt, overwriteTrue) # 正式对接搜索更充分保留 20 个候选构象 v.dock(exhaustiveness32, n_poses20) v.write_poses(1iep_ligand_vina_out.pdbqt, n_poses5, overwriteTrue)运行也很简单# 进入 python 脚本示例目录并执行 cd example/python_scripting python first_example.py这段脚本值得你反复咀嚼score()是只打分不搜索适合快速评估optimize()是做局部最小化适合消除位阻冲突dock()才是完整对接。想切换力场把Vina(sf_namevina)改成ad4或vinardo即可。下一步往哪走三条升级路线跑通案例只是开始AutoDock-Vina 的能力远不止刚性受体对接。官方文档在docs/source/目录下提供了完整的进阶教程按需取用想做真实的药物筛选阅读docs/source/docking_in_batch.rst学习批量对接与虚拟筛选想处理柔性侧链阅读docs/source/docking_flexible.rst让关键残基参与移动想考虑水分子影响阅读docs/source/docking_hydrated.rst这是提高精度的重要技巧想对接环状大分子阅读docs/source/docking_macrocycle.rstVina 支持大环柔性想深入了解每个参数docs/source/faq.rst里的 FAQ 是官方多年踩坑经验的浓缩项目自带的example/目录还有柔性对接、水合对接、锌金属蛋白、多配体对接等完整案例每个都配有输入数据和参考答案完全可以照着练。写在最后你离第一个对接结果只差一次回车还记得开头那把锁和钥匙的比喻吗现在你已经知道钥匙要转成 PDBQT 格式锁孔要用盒子框住咬合强度用结合能衡量——这三件事你都亲手做过了。分子对接的入门门槛其实比想象中低得多。最后送你四条成功关键要素也是这篇教程反复强调的重点结构准备决定上限受体要补氢、配体要用 SDF 并检查质子化这一步偷懒后面全是白做盒子别贪大盒子越大搜索越难刚好罩住活性位点就够了exhaustiveness 别省正式实验用 32遇到难体系就再加运行时间换的是结果的可靠性结果要交叉验证计算分数只是参考务必和实验数据、晶体结构相互印证现在就去跑通你的第一个 AutoDock-Vina 分子对接实验吧——下载项目、激活环境、复制命令、回车30 分钟后你就能拿到一份属于自己的对接结果了【免费下载链接】AutoDock-VinaAutoDock Vina项目地址: https://gitcode.com/gh_mirrors/au/AutoDock-Vina创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表