ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

AutoDock Vina分子对接教程:零基础完成第一次对接的6个关键步骤

AutoDock Vina分子对接教程:零基础完成第一次对接的6个关键步骤 AutoDock Vina分子对接教程零基础完成第一次对接的6个关键步骤【免费下载链接】AutoDock-VinaAutoDock Vina项目地址: https://gitcode.com/gh_mirrors/au/AutoDock-Vina深夜的实验室一位刚接触计算化学的研究生盯着屏幕上的两个三维结构发呆左边是刚解析出的靶点蛋白右边是药化同事递过来的候选分子。他隐约知道两者可能结合却说不清结合的强度、方式和稳定程度。这正是分子对接要解决的问题——而AutoDock Vina 分子对接工具就是目前最流行、最快的开源解决方案之一。本文是一份零基础也能跟着做完的 AutoDock Vina 教程不需要任何计算背景只要会敲命令就能在半小时内跑通第一次完整对接。第一次接到对接任务先搞懂这件事在做什么如果把结合过程比作钥匙配锁那么受体Receptor就是锁——通常是一个蛋白质等着小分子来开配体Ligand就是钥匙——通常是一个候选药物分子。分子对接做的事就是模拟这把钥匙在锁孔附近的所有可能姿态然后用打分函数给每种姿态评分找出结合最稳定、能量最低的那一个。AutoDock Vina 的过人之处在于三点快基于简单的打分函数和梯度优化搜索速度远超传统方法大规模虚拟筛选也扛得住省心参数极少一条命令就能完成对接不需要手动调一堆经验参数开源免费Apache 2.0 协议学术和商业用途都友好社区资料丰富。下图是 AutoDock Vina 官方给出的完整对接工作流程从分子结构预处理、输入准备到最终对接计算全程链条清晰本文接下来的所有步骤都对应这张图。AutoDock Vina 分子对接的完整工作流程预处理 → 输入准备PDBQT 与盒子→ 对接计算 → 结果导出对接流程中其实只牵涉两件事把原料整理成软件认识的格式以及告诉软件去哪里搜索。搞懂了这两件事后面所有命令都顺理成章。认清三种文件格式别让原料卡住第一步新手 90% 的报错都出在文件格式上。对接前后你会反复见到三种格式格式是什么用在哪个环节PDB蛋白质等大分子的三维结构文件来自实验数据库受体原始原料SDF小分子结构文件带键连接信息适合配体配体原始原料PDBQTAutoDock 系列专用格式含坐标、原子类型、部分电荷、可旋转键信息对接计算的唯一输入格式可以这样记忆PDB 和 SDF 是通用简历而PDBQT 是专门给对接软件看的职位申请表——它明确写清了每个原子是哪种类型、带多少电荷、哪些键可以旋转软件拿到就能直接计算。⚠️最容易踩的坑千万别用 PDB 格式直接准备配体。PDB 不包含键连接信息软件无法判断分子拓扑结果往往出错。配体请一律从 SDF 格式出发。另一个高频坑是氢原子缺失——对接成败有时就差一个氢受体必须先加氢、做质子化处理。安装环境三条路选一条新手走最短的那条AutoDock Vina 提供三种安装方式难度递增按需选择路线一Python 绑定最推荐新手。一条命令装完还能顺手用后面的 Python 批量对接pip install -U numpy vina同时建议安装配套的分子准备工具Meeko负责把 PDB/SDF 转成 PDBQT和Molscrub负责给分子加氢pip install -U meeko molscrub路线二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路线三预编译可执行文件只想用命令行工具。直接下载对应系统的vina和vina_split可执行文件解压即用无需任何依赖。装完后务必验证环境是否正常vina --help python -c from vina import Vina; print(vina python OK)看到版本信息和OK输出说明环境就绪可以进入实战了。详细的安装说明可查阅项目文档docs/source/installation.rst。准备受体与配体让双方用同一种语言出场下面用项目自带的经典案例完整走一遍流程抗癌药伊马替尼Imatinib对接 c-Abl 激酶结构域PDB 编号 1iep。所有输入文件都在example/basic_docking/data/目录下输出样例在example/basic_docking/solution/里方便对照验证。第一步准备受体。原始受体文件1iep_receptorH.pdb已包含氢原子。用 Meeko 的命令行脚本生成 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这条命令做了什么-i指定输入-o指定输出文件前缀-p生成受体 PDBQT-v配合盒子参数生成两个文件1iep_receptor.box.txt对接配置下一节会用和1iep_receptor.box.pdb用 PyMOL 等软件可视化盒子位置。如果后续想用 AutoDock4 力场只需追加一个-g参数就会额外生成 AutoGrid 的 GPF 参数文件。第二步准备配体。同样用 Meeko 转换mk_prepare_ligand.py -i 1iep_ligand.sdf -o 1iep_ligand.pdbqt如果配体原始结构没有氢原子先用 Molscrub 加氢scrub.py 1iep_ligand.sdf -o 1iep_ligandH.sdf mk_prepare_ligand.py -i 1iep_ligandH.sdf -o 1iep_ligand.pdbqt为什么一定要检查质子化状态氢原子的有无直接决定氢键能否形成而氢键是打分函数里权重最高的相互作用之一。一个氢的差别可能让结合能从优秀变成平庸。这两步做完你会得到1iep_receptor.pdbqt和1iep_ligand.pdbqt它们就是对接计算的主角。设置对接盒子给搜索画一个精准的范围对接不是把配体扔进整个蛋白质里漫无目的地找——那既慢又容易找到一堆无意义姿态。你需要指定一个搜索区域docking box告诉 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.0center_*是盒子中心坐标单位 Åsize_*是盒子边长。坐标通常来自实验数据或文献也可以在 PyMOL 里直接量取活性位点中心。如果你手上没有现成的盒子文件手写一个同样格式的 TXT 即可Vina 完全认这个格式。关于盒子设置的经验法则盒子刚好罩住活性位点最理想20 Å 左右边长是常见起点盒子过大时适当提高搜索强度下一节的exhaustiveness来补偿用1iep_receptor.box.pdb在可视化软件里检查盒子是否真的覆盖了目标残基。运行对接读懂输出表才算真正完成万事俱备运行第一条对接命令。Vina 力场会自动在内部计算亲和力网格无需额外准备最省事vina --receptor 1iep_receptor.pdbqt --ligand 1iep_ligand.pdbqt \ --config 1iep_receptor.box.txt --exhaustiveness32 --out 1iep_ligand_vina_out.pdbqt如果你更倾向 AutoDock4 力场经典、有大量历史数据可比对则需要先预计算亲和力图谱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示例中提高到 32 能让结果更稳定可复现。它大致可以理解为派多少批搜索粒子同时探索值越大搜索越充分、耗时越久。对正式研究32 是一个稳妥的起点。运行结束后终端会输出一张结果表它值得花 30 秒看懂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.41mode构象编号按分数从优到劣排序affinity结合能最重要的指标单位 kcal/mol负值越大结合越强。这个案例中 Vina 力场预期最佳约 -13 kcal/molAutoDock4 力场约 -14 kcal/molrmsd l.b. / u.b.各构象与最优构象的结构差异RMSD越小说明越接近最优解。⚠️注意Vina 与 AutoDock4 两种力场的分数不能互相比较它们是两套独立的评分体系。最后把结果转成 SDF 格式方便在 PyMOL、Chimera 等软件里做可视化分析Meeko 会把键序和形式电荷一并写好比 OpenBabel 的猜键序可靠得多mk_export.py 1iep_ligand_vina_out.pdbqt -s 1iep_ligand_vina_out.sdf到这里你已经完成了人生第一次完整的 AutoDock Vina 分子对接结合能落在 -10 到 -13 kcal/mol 区间且最优构象与晶体结构接近就说明流程跑通了。进阶玩法从单个分子走向批量筛选跑通基础对接后你会发现 AutoDock Vina 的能力远不止于此。项目仓库中example/目录下有多套现成案例对应不同进阶场景场景对应示例目录解决什么问题柔性对接example/flexible_docking/允许受体侧链柔性移动模拟诱导契合水合对接example/hydrated_docking/显式考虑水分子对结合的桥接作用大环对接example/docking_with_macrocycles/处理环状分子的特殊构象空间多配体对接example/mulitple_ligands_docking/一次对接多个配体服务片段药物设计金属蛋白对接example/docking_with_zinc_metalloproteins/处理含锌等金属离子的活性位点而当你需要批量处理成百上千个分子即虚拟筛选时Python 绑定就是利器。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() # 给当前姿态打分 print(Score: %.3f (kcal/mol) % energy[0]) v.dock(exhaustiveness32, n_poses20) # 执行对接保留20个构象 v.write_poses(1iep_ligand_vina_out.pdbqt, n_poses5, overwriteTrue)跑一下试试python first_example.py同样的接口可以套进循环里把一组配体逐个喂进去输出结果存到表格里排序——一个最简版的虚拟筛选管线就成型了。完整 API 说明见项目文档docs/source/docking_python.rst更细致的参数解释在docs/source/faq.rst。把第一次对接跑完然后呢还记得开头那位对着结构发呆的研究生吗现在他已经能独立回答那个问题了配体怎么结合、结合有多强、哪些残基参与了相互作用——这些都是 AutoDock Vina 给出的答案而他付出的只是几行命令的时间。你现在和他一样具备了完整跑通分子对接的能力。接下来建议这样做对照练一遍把example/basic_docking/完整跑通用solution/目录下的结果验证自己的输出换个体系试试从example/的其他场景挑一个感受不同对接模式的区别深入学习文档docs/source/下的教程docking_basic.rst、docking_flexible.rst、docking_hydrated.rst写得非常细致是进阶的免费教材把 Python 绑定用起来试着写一个循环一次筛选十个候选分子。想要获取全部示例和源码直接克隆项目仓库即可git clone https://gitcode.com/gh_mirrors/au/AutoDock-Vina分子对接是一门越用越熟的手艺。第一次跑通、第一次读懂输出表、第一次批量筛选每一次突破都会让下一个实验更顺畅。现在就打开终端让 AutoDock Vina 帮你算出第一个结合能吧。【免费下载链接】AutoDock-VinaAutoDock Vina项目地址: https://gitcode.com/gh_mirrors/au/AutoDock-Vina创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表