分子对接技术是基于受体和配体结合能量最小化的方式,对接常分为柔性对接和刚性对接,柔性对接里面还存在半柔性对接,通常半柔性对接默认配体小分子为柔性,而受体蛋白大分子为刚性。这里我们展示了半柔性对接的过程。
一、受体蛋白pdb文件下载处理
可在蛋白质数据库下载 https://www.rcsb.org/
二、配体下载或者绘制
通常我们可以通过pdb数据库下载配体分子或者使用小分子数据库,这里推荐chemoffice软件,里面有chemdraw模块和chem3D,而且通过chemdraw制作的二维图,在chem3D中打开保存后即含有三维坐标的配体文件,非常适合配体小分子的准备,如下图分别是chemdraw和chem3D做的N-乙酰D胞壁酸-L丙氨酸的结构图。
三、使用autodock工具进行分子对接前文件处理
-
点击Ligand>Input>Open...,,将配体分子加载到坐标窗口。软件会提示结构中的非极性氢原子、芳香碳原子个数、可旋转键等信息,点击确定即可。再点击Ligand>Input>Choose...,选择配体作为AutoDock4对接的配体分子。
-
点击Ligand>Output>Save as PDBQT...,保存成为.pdbqt文件,该文件中包含了配体结构中的原子信息和可旋转键的信息等。
-
点击Grid>Macromolecule>Open...打开受体大分子文件。在左侧Dashboard窗口的选择方框中把受体蛋白勾选上,此时蛋白会变黄,即选中状态;点击Edit>Hydrogens>Add,ADT会为蛋白质加氢(由于解析技术的原因,氨基酸的氢原子在晶体结构中是不存在的,因此需要手动加氢原子)。如果第一步预处理的时候已经用其他软件加过H了,这里就不需要了。
-
点击Grid>Macromolecule>Choose...,选择受体大分子作为AutoDock4对接的受体分子,软件提示结构中包含的非键原子、电荷等信息,点击确定,软件会自动弹出保存对话框,将受体保存成.pdbqt文件。
-
点击Grid>Set Map Types>Choose Ligand...,选择配体小分子。
-
选择Grid>Grid Box...设置对接的盒子大小、坐标、格点数、格点距离,这一步需要自己根据不同的结构来进行具体确认。一般来说最简单的方法是:
-
1)查阅文献、晶体结构数据库,寻找配体可能的结合位点附近的重要氨基酸残基。
-
2)用记事本打开受体.pdb文件,查看对应氨基酸残基中的任意原子(一般是CA原子)的坐标。
-
3)在对接的Center Grid Box中输入对应的坐标。
-
对接的中心坐标并不一定非常准确,只要对接的盒子包含了配体可能结合的最大区域即可。
-
点击File>Close saving current保存盒子信息,选择Grid>Output>Save GPF...,保存为protein_ligand.gpf文件。
-
点击Docking>Macromolecule>Set Rigid Filename...,选择受体大分子.pdbqt文件,将受体蛋白质设置为刚性。
-
同样的方法Docking>Ligand>Choose...,选择配体,设置初始位置等信息,点击Accept。
-
选择Docking>Output>Lamarckian GA(4.2)...,选择拉马克遗传算法作为对接算法,保存成为protein_ligand.dpf文件。dpf文件中包含了分子对接的参数,默认对接的构象数为10个,可以手动修改对接的构象数目(倒数第二行的ga_run 10修改为自己想要的数值)。
-
以上是准备工作。接下来就可以运行Autogrid和AutoDock程序进行对接了。首先确认Autodock的两个核心程序(autogrid4,autodock4)所在路径已经添加到$PATH中
13. 打开命令行,cd到工作目录,运行如下命令进行对接:
autogrid4 -p protein_ligand.gpf
autodock4 -p protein_ligand.dpf
注意:autogrid4和autodock4以及两个pdbqt文件必须在同一个工作目下,且终端的工作路径必须在这个路径下
14.以上就是半柔性对接的全过程。对接的结果文件保存在protein_ligand.dlg文件中,可以使用ADT或PyMOL的AutoDock Vina插件进行查看。配体受体复合物可通过在线网站进行可视化分析:https://plip-tool.biotec.tu-dresden.de/plip-web/plip/index。
四、报错解决
1.运行autodock4 -p ***.dpf时出现如下报错
autodock4: creating docking log file plyg.dlg
autodock4: I'm sorry; I can't find or open "N_acetylmuramoyl_L_alanine.pdbqt#"
autodock4: FATAL ERROR: autodock4: I'm sorry; I can't find or open "N_acetylmuramoyl_L_alanine.pdbqt#"
解决方案:
以文本格式打开***.dpf文件,如果观察到move ***.pdbqt# small molecule,修改为move ***.pdbqt # small molecule,就是在#前加了三个空格,通过对比你可以发现所有命令#前都有空格,如果没有空格,代码会将#也视为文件名一部分。
2.柔性对接产生受体柔性pdbqt文件时如下报错
Traceback (most recent call last):
File "D:\MGLTools1.5.7\lib\site-packages\ViewerFramework\VF.py", line 941, in tryto
result = command( *args, **kw )
File "D:\MGLTools1.5.7\lib\site-packages\AutoDockTools\autoflexCommands.py", line 2460, in doit
self.writeResidue(item, outfileptr)
File "D:\MGLTools1.5.7\lib\site-packages\AutoDockTools\autoflexCommands.py", line 2645, in writeResidue
self.process(at, at2, outfileptr)
File "D:\MGLTools1.5.7\lib\site-packages\AutoDockTools\autoflexCommands.py", line 2659, in process
self.process(fromAtom, nextAtom, outfileptr)
File "D:\MGLTools1.5.7\lib\site-packages\AutoDockTools\autoflexCommands.py", line 2654, in process
queue = self.writeBreadthFirst(outfileptr, fromAtom, nextAtom)
File "D:\MGLTools1.5.7\lib\site-packages\AutoDockTools\autoflexCommands.py", line 2757, in writeBreadthFirst
newQ = self.writeLevel(at2, outfptr)
File "D:\MGLTools1.5.7\lib\site-packages\AutoDockTools\autoflexCommands.py", line 2679, in writeLevel
if b.activeTors:
AttributeError: Bond instance has no attribute 'activeTors'
解决方案:
给金属离子添加手动添加正确的电荷,或者不选择含有金属配基的氨基酸