AutoDock分子对接入门(1)
蛋白分子对接对于解析蛋白质-底物的作用机理必不可少,今天看了一天的AutoDock文档大概弄清楚怎么个使用流程了,现在记录一下。(后边不定期更新)
1、什么是AutoDock
先贴一段官网的描述:
AutoDock is a suite of automated docking tools. It is designed to predict how small molecules, such as substrates or drug candidates, bind to a receptor of known 3D structure. Over the years, it has been modified and improved to add new functionalities, and multiple engines have been developed.
Current distributions of AutoDock consist of two generations of software: AutoDock 4 and AutoDock Vina. More recently, we developed AutoDock-GPU, an accelerated version of AutoDock4 that is hundreds of times faster than the original single-CPU docking code.
AutoDock 4 actually consists of two main programs: autodock performs the docking of the ligand to a set of grids describing the target protein; autogrid pre-calculates these grids.
In addition to using them for docking, the atomic affinity grids can be visualised. This can help, for example, to guide organic synthetic chemists design better binders.
AutoDock Vina does not require choosing atom types and pre-calculating grid maps for them. Instead, it calculates the grids internally, for the atom types that are needed, and it does this virtually instantly.
We have also developed a graphical user interface called AutoDockTools, or ADT for short, which amongst other things helps to set up which bonds will treated as rotatable in the ligand and to analyze dockings.
大致意思就是现在的AutoDock有AutoDock4和AutoDock Vina两个版本,还有一个GPU版本据说可以加快计算速度上百倍(我没试过就不说了)。然后有一个软件叫做AutoDock Tools(ADT),简而言之就是可以帮助我们生成AutoDock4和AutoDock Vina程序的输入文件并帮助我们分析对接结果的一个软件。
2、AutoDock Vina
考虑到后边可能会大批量的做分子对接,所以我选择使用Vina,因为它和python绑定,可以和容易的使用python编程操控分子对接(另外据说速度会比AD4快一百倍,但是我没测试过)。
2.1 准备工作
首先我们需要安装两个软件套装ADFR和Meeko,目的是对输入文件进行处理
完成安装后不要忘记将可执行文件夹的路径加入到Path中!
Meeko是一个python包,所以直接pip
安装就行
$ pip install meeko |
然后安装Vina,直接pip
安装
$ pip install vina |
2.2 receptor预处理
文档上叫receptor,我的理解就是对接的两个物体中较大的一个,直接就理解为蛋白质就好了。
首先我们需要蛋白质的结构文件,一般来说是PDB(可能其他格式的结构文件也行,但是我没试过),然后我们需要把PDB文件处理成Vina能够处理的文件类型,这时候就需要用到prepare_receptor
这个命令将PDB文件转换成PDBQT格式的文件,要注意的是,PDB文件里边应该包含所有的氢原子,有很多软件都可以完成这个我就不说了,当然你也可以在命令中添加-A "hydrogens"
添加氢原子。还有一个值得注意的就是PDB文件里应该只包含蛋白质的信息,如果有配体、辅因子、离子之类的是不行的,所以要在PDB文件中删除(直接用记事本打开删了就完了)
$ prepare_receptor -r example_receptorH.pdb -o example_receptor.pdbqt |
其他可选参数可以输入prepare_receptor -h
查看
2.3 ligand预处理
也是一样,都要求加氢原子,不同的是我们使用mk_prepare_ligand.py
命令,然后小分子的格式可以有很多种包括MOL/MOL2/SDF。然后最好不要使用PDB格式的文件,因为它不包含键连接的信息。
$ mk_prepare_ligand.py -i example_ligand.sdf -o example_ligand.pdbqt |
3、对接
接下来就是激动人性的对接了,首先选择力场,一般来说有两种:AutoDock4 forcefield和Vina forcefield。所以就分别讲一讲。
3.1 AutoDock 4力场
要使用AD4力场的化我们还得先生成affinity maps,执行以下命令:
$ pythonsh prepare_gpf.py -l example_ligand.pdbqt -r example_receptor.pdbqt -y |
然后你就会得到下面这些文件:
example_receptor.maps.fld # grid data file |
然后执行对接:
$ vina --ligand example_ligand.pdbqt --maps example_receptor --scoring ad4 \ |
完成后程序将写入一个名为example_ligand_ad4_out的PDBQT文件。PDBQT包含在分子对接过程中发现的所有姿态。
3.2 Vina 力场
与AutoDock4相反,在使用Vina力场时,不需要使用autogrid4预先计算affinity maps。AutoDock Vina在对接之前会在内部计算这些数据。但是仍然需要指定网格空间的中心和尺寸(以埃为单位),以及受体。不使用参数——center_x,——center_y,——center_z和——size_x,——size_y,——size_z来指定网格框的每个参数,而是将所有这些信息存储在一个文本文件example_receitor_vina_box.txt中。如下:
center_x = 15.190 |
然后运行命令:
$ vina --receptor example_receptor.pdbqt --ligand example_ligand.pdbqt \ |
大功告成!!