蛋白对接_使用autodock执行小分子和蛋白质的共价对接
作者:石诚
来源:大科研小分享(Ai_Fen_Xiang2020)
本篇推文的参考来源:跟着我左手右
(视频链接:https://www.bilibili.com/video/BV1D7411A7tj)
可能感兴趣的
免费软件autodockvina虚拟筛选全过程—以新冠病毒为例
使用激酶抑制剂评估9个对接程序的性能
MOE的基本使用(1)—小分子与蛋白质的对接
碎碎念
本推文借鉴了我的一个小老弟:他上传至B站的视频(视频链接见文章开头)而创作而成。鉴于autodock长时间未有更新,笔者采用了特殊对接体系进行操作,但目前仍面临一些问题.下面会对相关情况作出说明:本文操作难度较大,请大家做好心理准备.
软件的安装过程
涉及使用的软 件包 autodock
分子可视化的工具中提到的相关内容(其中MOE被采用作为该功能的核心工具)
相关软 件包安装步骤
1. Anaconda 安装:https://www.anaconda.com/distribution/
软件的 安装 过程
涉及 使用 的 软件 包 autodock
分子 可视化 工具 中 提到 的 相关 内容 (其 中 MOE 被采 用作 该功 能 的 核心 工具 )
相关 软件 包 安装 步骤
1. Anaconda 安装 :https://www.anaconda.com/distribution/

获取Windows平台上的Python 3.7版本软件包。在安装过程中,请指定安装目录,并勾选Anaconda预设的环境变量配置选项(虽然我不太记得具体设置是什么英文表述了),然后持续点击下一步。接着,请安装OpenBabel(一种用于转换为Autodock特定文件格式的工具)以及NumPy(用于矩阵变换的功能模块)。通过Windows平台的开始菜单导航至命令提示符窗口。

请创建一个Python 2.7的虚拟环境以运行Autodock软件。考虑到Autodock依赖于Python 2.7,在使用Anaconda时可能会导致错误(建议使用Python 3.x)。

输入conda activate autodock 进入虚拟环境,然后安装openbabel

输入conda install numpy(注意这里跟上一步的命令不一样) 安装numpy。 结构准备 这里我对小老弟的视频做一个补充 蛋白质结构的获取(http://www.rcsb.org/) 本文使用的蛋白质(PDB:3upo):结核分枝杆菌青霉素结合蛋白A的结构:青霉素G酰基-酶复合物 打开SE,按住shift选择多余的链+鼠标右键+delete(删除多余的链,不知道如何打开SE的可参见我往期内容,其实这里可以不需要删除,删除只是方便展示)

这里给大家展示一下共价键

可以看到小分子已经与SER222形成了共价键。

file > save
only select
随后我们将小分子与蛋白质分离后进行共价连接。然后选择所需的小分子单击【file > save

接通之前我们已经观察到所储存的小分子中存在一个关键结构:其中,在接通之前我们已经观察到所储存的小分子中存在一个关键结构:其中,在接通之前我们已经观察到所储存的小分子中的C(=O)键与SER上的氧原子及碳原子相连接的情况。因此,在接通之前我们需要对这一特定区域进行处理:即在此处添加两个额外原子基团(此处用**表示),其目的是为了引导autodock程序在配位过程中通过此键将小分子与SER结构正确结合。

打开之前保存的小分子文件:ligand.pdb,在建模器界面中执行以下操作:首先选择化学基团中的C=O;接着执行将碳氧双键还原的操作;最后分别点击所选氢原子、碳原子和氧原子

修正电荷,然后保存成 MOL2 格式,后面质子化不需要

观看我的小老弟制作的视频体验更加出色。(建议先查看该视频以了解更多信息:B站链接)将处理完成后的ligand.mol2和receptor.pdb文件放置至工作目录。确保工作目录内包含与Autodock共价对接相关的所有必要的文件。请注意,原来的链接已失效,请您通过以下永久链接获取该资源:百度网盘链接

启动Anaconda终端界面,并进入预先设置好的虚拟环境(参考步骤)。随后切换至工作目录(其中标记的区域对应使用该路径下的Python文件),为了避免混淆,在此将脚本文件与PDB文件放置在同一目录下。这导致程序运行时出现错误信息,请大家参考下面提供的解决方案。

然后输出了ligcovalent.pdb文件。我们打开看一下

后面的部分对接过程省略了。与前一步骤一致。(建议根据具体情况作出相应调整)从生成dpf指令开始, 直到生成dpf后, 接着完成两个操作: 将move 'empty'的操作中的单引号去除(即改为move empty); 将unbound_model变为unbound_energy, 并设置为0.0值。(可以使用写字板打开或者文本编辑器如notepad, (这里还是推荐使用专门的编辑器))

注意!在对接完成,生成dlg文件后,打开dlg文件,将下表中的字符改为0.00

python C:\Users\Administrator\Desktop\autodock_work\prepareCovalent.py --ligand ligand.mol2 --ligindices 4,3 --ligsmart "C-C-S-C" --receptor 3c9w_protein.pdb --residue A:CYS164 --outputfile ligcovalent.pdb #"C-C-S-C"和A:CYS164需要根据结合类型和残基位置自行更改,下同F:\MGLTools-1.5.6\pythonw F:\MGLTools-1.5.6\Lib\site-packages\AutoDockTools\Utilities24\prepare_receptor4.py -r 3c9w_protein.pdb -A hydrogens #蛋白质需去除配体和水,且不能提前进行结构优化,质子化等,这些操作需在autodock上进行。结果生成3c9w_protein.pdbqtF:\MGLTools-1.5.6\pythonw F:\MGLTools-1.5.6\Lib\site-packages\AutoDockTools\Utilities24\prepare_receptor4.py -r ligcovalent.pdb #结果生成ligcovalent.pdb,此步骤后需查看ligcovalent.pdb文件是否有断裂,有则重新对ligand.mol2进行加2个原子和质子化F:\MGLTools-1.5.6\pythonw F:\MGLTools-1.5.6\Lib\site-packages\AutoDockTools\Utilities24\prepare_flexreceptor4.py -r 3c9w_protein.pdbqt -s 3c9w_protein:A:CYS164 #此步骤生成"3c9w_protein_rigid.pdbqt" 和 "3c9w_protein_flex.pdbqt"F:\MGLTools-1.5.6\pythonw F:\MGLTools-1.5.6\Lib\site-packages\AutoDockTools\Utilities24\prepare_flexreceptor4.py -r ligcovalent.pdbqt -s ligcovalent:A:CYS164 #此步骤生成"ligcovalent_rigid.pdbqt" 和 "ligcovalent_flex.pdbqt"F:\MGLTools-1.5.6\pythonw F:\MGLTools-1.5.6\Lib\site-packages\AutoDockTools\Utilities24\prepare_gpf4.py -r 3c9w_protein_rigid.pdbqt -x ligcovalent_flex.pdbqt -l ligcovalent_flex.pdbqt -y -I 20 -o 3c9w_priotein.gpf #此步骤生成gpf文件F:\MGLTools-1.5.6\pythonw F:\MGLTools-1.5.6\Lib\site-packages\AutoDockTools\Utilities24\prepare_dpf4.py -r 3c9w_protein_rigid.pdbqt -x ligcovalent_flex.pdbqt -l ligcovalent_flex.pdbqt -o ligcovalent_3c9w_protein.dpf -p move='empty' #此步骤生成dpf文件;须将dpf文件里面的'empty'改为empty,将unbound_model bound改为unbound_energy 0.0autogrid4 -p 3c9w_priotein.gpf -l 3c9w_priotein.glg #此步骤生成glg文件autodock4 -p ligcovalent_3c9w_protein.dpf -l ligcovalent_3c9w_protein.dlg #此步骤生成dlg文件,dlg文件中的-1.#J全部替换为0.00
这个教程存在的问题 因为笔者对接时采用的是特殊的体系结构, 所以在使用过程中仍发现了几个值得注意的问题: 首先, autodock系统似乎无法正确识别某些特定原子的SMART编码格式, 比如Se等元素; 其次, 对于较小分子或者较简单的化合物来说, autodock系统有一定的处理能力限制. 当分子量或者较小时分子长度超过设定范围时, 系统会在比对过程中报错; 再者, 由于autodock系统已经很久没有进行过更新优化, 笔者查看了其中用于共价对接的脚本代码. 发现该脚本在实现部分功能时仍然存在不少缺陷, 比如在处理dlg文件时可能出现乱码等问题. 因此有条件的同学最好选择能够持续更新维护的软件工具来进行相关工作
如果我的内容对你有帮助欢迎关注转发

