2.8. AutoDock Suite#

AutoDock Suite 是一套免费的开源对接软件,主要用于小分子配体与生物大分子受体的计算对接和虚拟筛选。是美国计算结构生物学中心(CCSB)的docking项目的产物,隶属斯克里普斯研究所(The Scripps Research Institute, TSRI), 由Olson实验室开发与维护。

官网:DOCKING – Center for Computational Structural Biology, 下述软件资源均可在官网免费下载。

该套件包括:

  • 计算对接软件

    • AutoDock4: 是一款基于经验自由能力场和快速拉马克遗传算法搜索方法的计算对接程序。它适用于配体与生物分子靶点的通用对接以及虚拟筛选,并且具备专门功能,可用于预测共价配体复合物、含柔性环的配体、显式水合作用以及金属蛋白靶点。

    • AutoDock Vina: 是一款即开即用的计算对接程序,它基于简单的评分函数和快速的梯度优化构象搜索技术。该程序速度快,在类药物配体与蛋白质靶点的对接方面效果显著。

    • AutoDockFR: 是一个具有灵活蛋白质靶点的计算对接程序,包括侧链运动和诱导拟合。

    • AutoDockCrankPep: 用于肽与蛋白质靶点的计算对接的程序

  • 交互式图形用户界面

    • AutoDockTools: 用于 AutoDock 套件的坐标准备、对接和分析。是 MGLTools 的一部分

    • Raccoon2: 用于虚拟筛选和分析的交互式图形工具

  • 结合位点预测软件

    • AutoSite: 用于预测配体与受体结合的最佳位点的程序

    • AutoLigand: 用于预测配体结合受体的最佳位点的程序

2.8.1. Getting Started#

新手入门主要学习 AutoDock 的三个核心功能程序:

  • AutoDockTools:图形用户界面,用于准备配体和蛋白质的坐标文件,以及分析结果;

  • AutoDock Vina:简单的一步式对接程序,对大多数配体 - 蛋白质系统均有效;

  • AutoDock(需配合 AutoGrid 使用):分两步进行对接,为存在特殊情况的系统提供更多可调节的选项。

当你对分子对接更加熟悉,并遇到需要特殊处理的系统时,还有几个专用对接程序可供使用,包括:

  • AutoDockFR:针对柔性蛋白质靶点的计算对接程序,支持侧链运动和诱导契合;

  • AutoDockCrankPep:用于肽与蛋白质靶点的计算对接程序。

官方提供的教程发布在:

2.8.1.1. AutoDockTools#

AutoDockTools 是 MGLTools (Molecular Graphics Laboratory) 的一部分, 用于分子结构的可视化和分析, 基于 Python 和 C++ 开发。包括:

  • the Python Molecular Viewer (PMV), 一个通用的分子查看器

  • AutoDockTools (ADT), 一组专门为支持 AutoDock 用户而开发的 PMV 命令

  • Vision, 一个可视化的编程环境。

https://2301032.xyz/autodock-mgltools-1.png

图. 2.8.1 MGLTools软件界面(同时也是对接时操作界面)#

https://2301032.xyz/autodock-mgltools-2.png

图. 2.8.2 使用MGLTools可视化分子#

无论是使用AutoDock还是AutoDock Vina, 首先都需要下载AutoDockTools: Downloads – mgltools

2.8.1.2. AutoDock#

注意事项:

  • 使用 .pdbqt 文件:在pdb文件的基础上加了电荷(Q)和原子类型(T)

  • 加氢:在选择一个分子作为配体或受体之前,必须把所有的氢都加到这个分子上,这样才能计算原子电荷。什么时候加全氢、什么时候加极性氢:官方的手册里必须加全氢,实际上vina是先加氢,最后处理的时候,自动算成极化氢。计算原子电荷使用的是极性氢。

  • 电荷:autodocktools(ADT)会检查分子是否带有电荷。如果没有,它会给每个原子加上Gasteiger电荷,如果分子已经带电荷,ADT会问你是否想保留输入电荷而不是增加Gasteiger电荷。ADT会合并非极性氢,如果你不需要,需要手动设置。极性氢是与氧和氮等电负性原子键合的氢。非极性氢是与碳原子键合的氢。所以,不需要手动点 “edit->charges->compute Gasteiger”.

  • grid box spacing,网格点间距, 典型的网格点间距从0.2Å到1.0Å不等,默认值是0.375Å(大约是碳碳单键长度的四分之一)。即 spacing = 0.375

  • number of point:网格数目,网格数目乘以网格点间距即为盒子大小

  • 设置对接的盒子大小、坐标、格点数、格点距离,这一步需要自己根据不同的结构来进行具体确认。一般来说最简单的方法是:查阅文献、晶体结构数据库,寻找配体可能的结合位点附近的重要氨基酸残基。对接的中心坐标并不一定非常准确,只要对接的盒子包含了配体可能结合的最大区域即可。

  • 一般建议对接次数,number of GA runs : 50

  • 亲和力能量、电荷能量。

    • 亲和力能量:分子间的非共价相互作用力,包括范德华力和氢键等。通常是负数,代表分子间引力的大小。

    • 电荷能量:分子间的静电相互作用力,包括静电相互作用和极化能等。通常是负数,代表分子间的排斥力大小。

  • 预测的结合亲和力以 kcal/mol 为单位,如果结合能小于-1.2kcal/mol或者小于-5kj/mol,那么我们认为对接结果是可行的

https://2301032.xyz/autodock-1.png

图. 2.8.3 对接结合能的单位#

2.8.1.3. AutoDock Vina#

注意事项:

  • AutoDock Vina 是新一代的分子对接工具,可以看做AutoDock升级版

  • 不需要计算网格图和分配原子电荷

  • 不需要 AutoDock 和 AutoGrid 参数文件(GPF、DPF)和网格映射文件

  • AutoDock Vina进行分子对接步骤详细解析

2.8.1.4. 如何选择AutoDock和Vina#

新手一般对接选用 Vina 即可, 速度快, 操作简单.

  • 一般都是一次性对接一个大分子蛋白和一个配体小化合物,如需一次性一个蛋白对接多个配体,例如100个配体,那么推荐使用Vina批量对接。

https://2301032.xyz/autodock-vina.png

图. 2.8.4 AutoDock与Vina之间的区别#

config.txt文件参数:

  • 推荐 exhaustiveness = 10

  • 应该避免大于 30 x 30 x 30 埃的搜索空间

  • num_modes = 20 结果中生成的最大结合数,即多少个结果,输出最好的20个结果

  • cpu = 10 运算核数

  • energy_range = 4 最佳结合模式和最差结合模式之间的最大能量差(千卡/摩尔)

2.8.2. 操作步骤#

  1. 下载软件AutoDockTools和AutoDock

  2. 获取蛋白质受体的结构文件(.pdb)

  3. 获取小分子配体结构文件并转换为pdb格式

  4. 预处理蛋白质受体

    1. 打开 AutoDockTools (ADT) 并导入受体 PDB 文件

    2. 加氢与电荷计算

    3. 保存为 PDBQT 格式

  5. 预处理小分子配体

    1. 打开 ADT 导入配体 PDB 文件

    2. 添加氢原子, 计算电荷

    3. 小分子的柔性处理(定义可旋转键)

  6. 定义对接区域(Grid box): 生成receptor.gpf(网格参数文件)

  7. 生成网格文件(AutoGird): 在 ADT 中选择 Grid → Run → AutoGrid

  8. 设置对接参数(Docking Parameters): 生成 docking.dpf

  9. 执行对接(AutoDock): 在 ADT 中选择 Docking → Run → AutoDock, 运行后生成ligand.dlg(对接结果文件)

  10. 分析结果: 在 ADT 中选择 Docking → Analyze → Open Docking Results,导入ligand.dlg, 可以获取 Cluster RMSD(评估构象相似性), Binding Energy

  11. 导出最优构象并可视化

使用 Vina 时的步骤与上述类似, 在处理好蛋白质和小分子后:

  1. 设置对接盒子: 在 ADT 中,Grid → Grid Box 调整盒子参数, 保存为config.txt

  2. 设置对接参数: config.txt为参数文件

  3. 执行对接: 选择 Run → AutoDock Vina,

  4. docking.log中可以看到的亲合能 Affinity (kcal/mol)

  5. 相互作用分析: 在ADT中导入受体和对接结果,Analyze → Show Interactions查看氢键、π-π 堆积等

参考教程: