AutoDock使用

更新时间:2023-07-05 09:58:34 阅读: 评论:0

转帖】AutoDock古玩核桃使用札记(1)分子对接
相关搜索: AutoDock, 分子, 札记, 转帖
AutoDock使用札记(1)分子对接fwangj 发表于: 2007-12-14 11:19 来源: 化学吧 - 化学论坛 - 学术论坛
网址:chem8/viewthread-11383.html
从最初学习AutoDock到现在已经有4年的时间。据报道,AutoDock是引用最多的分子对接软件,今年又有了最新的版本。使用多了,就想总结一下。用了一周的时间,终于总结完了。觉得和朋友分享一下就更好了。不完善之处还希望大家能给出意见!
AutoDock2.0以前使用的是模拟退 火算法(Simulated Annealing Algorithm),在其后的版本中改为了拉马克遗传算法(Lamarckian Genetic Algorithm,LGA)AutodockDock一样,都是基于格点(grid)的计算,首先用围绕受体活性位点的氨基酸残基形成box,然后用不同类型的原子作为探针(probe)进行扫描,计算格点能量,然后对配体在box范围内进行构象搜索(conformational arch),最后根据配体的不同构象(conformation),方向(orientation)和位置(position)进行评分(scoring),排序(ranking)。
AutoDock虽然提供了诸如ADT(AutoDock Tools)BDT的图形界面工具,但是我们仍然认为其是一个字符界面运行的分子对接软。由于运算速度不快,所以在字符界面下对于运算的管理更为方便,可以将长时间的运算放在后台运行。对于输入文件的准备问题,Autodock有其自带的一些程序,比如addsol等,同时ADT(AutoDock Tools)也提供了一些python脚本(路径:MGLTools/MGLToolsPckgs/AutoDockTools/Utilities24),可以代替这些程序来进行输入文件的处理。

本手册按照以下顺序编写:

        Autodock分子对接流程
        AutoDock结果分析
        AutoDock用于虚拟筛选
        AutoDock Tools简介
限于篇幅,本贴先介绍分子对接及结果分析,虚拟筛选等另外开贴介绍。

※※※※※※ 手册以外的话 ※※※※※※
1autodock只能对单分子文件对接(一个文件只含有一个分子),不能对多分子文件筛选,所以,对于含有多个分子的文件(比如multi_mol2以及sdf),需要将之分解为多个单分子文件。有以下方法实现:

i)使用babel
        $babel -imol2 specs_l2 -l2 -split
        将生成l2 ...

ii)使用splitmolDOCK软件包中程序,只能对mol2pdb文件进行分解):
        $mkdir specs_p0.0
        $cd specs_p0.0
        $splitmol -mol2 ../specs_l2
        将生成split00001,split00002,...

2、利用上面命令分解得到的单分子文件,外面的名称和分子内部的名称不符,可以通过编写教本批量重命名:
适用于ZINC数据库中的mol2数据集:
        for i in split*
        do
                mv $i $(grep ZINC $i).mol2       
        done
提取包含ZINC所在行的字段,在ZINC数据库中,恰巧为分子的名称。最后,全部命名为ZINC××××××.mol2

3AutoDock官方发布版本不能用于并行运算(有的课题组开发了并行版本,但并未发布)。为了提高效率,可以将几十万个分子文件分为几百个部分,每个1000个分子。
specs数据库的20万个分子文件按照1000个分子为一组(每组为一个目录),分为20个目录
        $mkdir specs_0.0_01
        $mv l2 ../specs_0.0_01 利用通配符将前999个分子转移入新文件夹,实现分装目的。
        $ls ../specs_0.0_01 | wc [-w] 查看文件个数

4、在AutoDock输入文件的准备中,使用了很多外部程序,比如Sybyl(Tripos Ltd.)。小分子三维结构数据库都有在线免费的。如果想要构建自己的化合物库,可以用ChemDraw(商业)或ISIS/Draw(免费)画好后,存为二维格式(推荐用mol格式),然后用Corina等软件转化成三维结构。

5AutoDock可能会发生堆栈溢出的情况,错误提示为Segment Fault”,可以在系统的配置文件(通常为/etc/bashrc)中添加如下行:
        unlimit stacksize
       

--------------------------------------
※※※※※※ Autodock分子对接流程 ※※※※※※

1、受体文件准备:
Atudock运算的受体加极性氢(polar hydrogens, esntial_only hydrogens),Kollman United点电荷。首先把PDB蛋白文件中除蛋白以外的所有物质全部删除(可以在Sybyl中操作),保存未macro.pdb。加氢加电荷通过自由软件pmol2q可以实现:
        $pmol2q macro.l2       
选择加氢,加电荷,pmol2q可以输出mol2pdbq以及pdbqs文件。


Autodock3中,受体的格式为pdbqs,可以通过如下方法准备:
i)通过AutoDock软件包中程序:
        SGI Irix下运行:
        %l2 > macro.pdbq
        %addsol macro.pdbq macro.pqdbs

以上两个命令可以通过一个命令实现:
        %l2

        Linux下运行:
        $l2 > macro.pdbq
        $addsol macro.pdbq macro.pqdbs
       
ii)通过ADTpython脚本:
        $pythonsh $adtpy/prepare_receptor.py -l2 [-o macro.pdbqs] -C
        注:
               -C:保留原有电荷
              
Autodock4中,受体的格式为pdbqt,与PDB格式类似,包含点电荷 ('Q')AutoDock4原子类型('T')。可以通过如下方法准备:
        $pythonsh $adtpy/prepare_receptor4.py -l2 [-o macro.pdbqs] -C
        注:        
                也可以由python脚本中的pdbqs_to_pdbqt.py来将autodock3pdbqs文件转化。
 青菜的英语              -o:不加则自动生成文件名相对应的pdbqt文件。
               -C:保留原有电荷,否则添加Gaster电荷

2、配体文件准备:
Autodock3中,配体的格式为pdbq,可以通过如下方法准备:
i)通过AutoDock软件包中程序:
        %l2

ii)通过ADTpython脚本:
        $pythonsh $adtpy/prepare_ligand.py -l2 [-o lig.pdbq] -C
        注:
               -C:保留原有电荷
               -o:不加则自动生成文件名相对应的pdbq文件。
              
Autodock4中,配体的格式为pdbqt.可以通过如下方法准备:
        $pythonsh $adtpy/prepare_ligand4.py -l2 [-o lig.pdbqt] -C
        注:
               也可以由python脚本中的pdbq_to_pdbqt.py来将autodock3gpf文件转化:
                $pythonsh pdbq_to_pdbqt -s lig [-o lig.pdbqt]
       
       
3、准备GPF(grid parameter file)文件:
Autodock3
i)通过AutoDock软件包中程序:
兄弟的英语        $mkgpf4 lig.pdbq macro.pdbqs
        注:
               程序包中有mkgpf3,不过mkgpf4是其修正后的版本,建议使用mkgpf4,这个与autodock4没有关系。
        
ii)通过ADTpython脚本:
        $pythonsh $adtpy/prepare_gpf.py -r macro.pdbqs -l lig.pdbq
       
Autodock4(只能通过ADTpython脚本)
 机动车仪表盘       $pythonsh $adtpy/prepare_gpf4.py -r macro.pdbqt -l lig.pdbqt [-p gridcenter='x y z'] [-o lig.macro.gpf]
        注:也可以由python脚本中的gpf3_to_gpf4.py来将autodock3gpf文件转化。
               -o:输出文件名
               -p gridcenter='x y z' 注意用单引号
              
       
注:
        1、准备gpf文件时,最好通过ADT图形界面进行,这是因为:
               igpf文件中活性位点(center grid)默认根据配体位置定义(auto什么时候放暑假),需要修改为晶体结构中配体的具体坐标值;当然,在命令行中使用-p gridcenter='x y z'参数也可以定义。
               ii)盒子(box)大小在图形界面中可以很方便的调整。
               iii)在虚拟筛选中需要添加更多的院子类型,在图形界面中操作非常方便,可以通过Grid”菜单中的Directly Set”来输入需要的原子类型。
        2、配体的原子类型说明:
               AD3AD4的原子类型写法差异很大,而且,在gpf文件中,表达格式差异也很大。在AD4中,各种原子类型写在一行中,每种类型以空格间隔,但是在 AD3中,须对每种原子类型的具体参数(作用半径)进行定义,比较繁琐。下面是两种版本中原子类型的写法:
-----------------------
AD3:
        C carbon (aliphatic)
        A carbon (aromatic)
        N nitrogen
        O oxygen
        P phosphorus
        S sulphur
        H hydrogen         
        f iron
        F fluorine
        c chlorine 单反相机排名
        b bromine
        I iodine
-----------------------
AD4(共22种,下表中有7中重复,在autodocksuite-4.0.0/src/autodock-4.0.0/AD4_parameters.dat文件)
        H    Non H-bonding Hydrogen
        HD*  Donor 1 H-bond Hydrogen
        HS   Donor S Spherical Hydrogen
        C*   Non H-bonding Aliphatic Carbon
        A*   Non H-bonding Aromatic Carbon
        N*   Non H-bonding Nitrogen
        NA*  Acceptor 1 H-bond Nitrogen
        NS   Acceptor S Spherical Nitrogen
        OA*  Acceptor 2 H-bonds Oxygen
        OS   Acceptor S Spherical Oxygen
        F    Non H-bonding Fluorine
        Mg   Non H-bonding Magnesium
        MG   Non H-bonding Magnesium
        P    Non H-bonding Phosphorus
        SA*  Acceptor 2 H-bonds Sulphur
        S    Non H-bonding Sulphur
        Cl   Non H-bonding Chlorine
        CL   Non H-bonding Chlorine
        Ca   Non H-bonding Calcium
        CA   Non H-bonding Calcium
        Mn   Non H-bonding Mangane
        MN   Non H-bonding Mangane
        Fe   Non H-bonding Iron
        FE   Non H-bonding Iron
        Zn   Non H-bonding Zinc
        ZN   Non H-bonding Zinc
        Br   Non H-bonding Bromine
        BR   Non H-bonding Bromine
        I    Non H-bonding Iodine
-----------------------
注:
        *默认在gpf中存在的原子类型
        
$bable -l2 -obox box
0.375

       
4、准备DPF(docking parameter file)文件:
Autodock3
i)通过AutoDock软件包中程序:
        $mkdpf3 lig.pdbq macro.pdbqs
       
ii)通过ADTpython脚本:
        $pythonsh $adtpy/prepare_dpf.py -r macro.pdbqs -l lig.pdbq
       
Autodock4(只能通过ADTpython脚本)
        $pythonsh $adtpy/prepare_dpf4.py -r macro.pdbqs -l lig.pdbqt -p ga_num_evals=25000000 -p ga_run=100 -p ga_pop_size=300
        注:
               也可以由阿迪达斯图标python脚本中的dpf3_to_dpf4.py来将autodock3gpf文件转化。
               -p parameter=value:输入参数值
注:
        此处生成的dpf需要编辑其中的参数,对遗传算法的精度进行设置。dpf文件中参数设置:
        其中,"ga_num_evals""ga_num_evaluations"用于限定程序收敛条件,决定运算费时长短。
        'ga_' 起始行参数:genetic algorithm
        'sw_' 起始行参数:Solis and Wets local arch method
        ga_num_evals=25000000        Torsions<10,设定为2.5e5 2.5e7Torsions>10,设定为2.5e7(默认2.5e6)
        ga_run=100        最好在50以上(默认10
        ga_pop_size=300(默认150

        
5、通过AutoGrid计算格点能量:
        $autogrid3/4 -p macro.gpf -l macro.glg
注:        
        AutoGrid默认计算8种原子类型,可以通过修改源代码,使其计算更多院子类型的格点能量。


6、通过AutoDock进行分子对接:
        $autodock3/4 -p lig.macro.gpf -l lig.macro.glg
注:
        AutoGrid一样,AutoDock默认计算8种原子类型,可以通过修改源代码,使其计算更多院子类型的格点能量。

        
7、提取结果:
i)通过AutoDock软件包中程序:
        $get-docked lig.macro.dlg
注:
        生成lig.macro.dlg.pdb文件
        
ii)通过ADTpython脚本:
        pythonsh $adtpy/summarize_results.py
        pythonsh $adtpy/summarize_results4.py
       
       
--------------------------------------
※※※※※※ AutoDock结果分析 ※※※※※※
AutoDock产生的构象和评分值(单位kcal/molAD4提供了RMSD值)保存为PDB格式,这种格式没有mol2格式操作方便。

1、编写脚本提取运算结果的评分值并对评分值进行排序

adscore3(适用于AutoDock3):提取PDB文件中的评分值并对评分值进行排序(需要用get-docked命令生成pdb文件)
>>>>#egrep 'Run|Final Docked Energy' *.pdb >> p
#perl -pi -e 's/\nUSER    Final/    Final/;' p
#d "s/USER    //g" p | sort -r +p > adscore.log
vi -p << EOF
        :%s/USER    //g
        :%s/\nFinal/         Final/g
        :%s/\[=(1)+(2)\]//g
        :wq
EOF
sort -r +p* > adscore3.log
rm -f *.tmp*
cat adscore3.log
>>>>#
-------------------------------------------------
adgrep4(适用于AutoDock4):提取DLG文件中的评分值
>>>>##!/bin/bash
egrep 'DOCKED: USER    Run|Cluster Rank|RMSD from reference structure|USER    Estimated' *.dlg
>>>>#
-------------------------------------------------
adcluster4(适用于AutoDock4):提取DLG文件中的Cluster Rank部分
>>>>##!/bin/bash
egrep 'Cluster Rank' -A5 -B2 *.dlg > p
d "s/\[=(1)+(2)+(3)-(4)\]//g" p > adcluster4.log
cat adcluster4.log
>>>>#
-------------------------------------------------
adscore4(适用于AutoDock4):提取DLG文件中的能量值和Ki值并根据能量值进行排序
>>>>##!/bin/bash
egrep  'USER    Run|USER    Estimated' *.pdb > p1
egrep '.dpf' -p1 > p2
d "s/USER    //g" p2 | egrep 'USER' -v > p3
vi -p3 << EOF
        :%s/\nEstimated Free Energy of Binding/,   Estimated Free Energy of Binding/g
        :%s/  \[=(1)+(2)+(3)-(4)\]\nEstimated Inhibition Constant,/,   /g
        :%s/\[Temperature = 298.15 K\]//g
        :wq
EOF
sort -r +p3 >  adscore4.log
rm -f *tmp*
cat adscore4.log
>>>>#
-------------------------------------------------
2、用于分析AutoDock运算结果中受体-配体相互作用的 图形化软件中,理论上最好用的应该是ADT(我没有用过,在Linux下非常慢,可能是由于从工作站上调用,显示延迟的缘故,而在Windows机器上总 是无故退出)。我用过的最好用的是VidaOpeneye Ltd.),以前提供2个月的试用版,我还申请过1年的学术用户版,但一年后Licen过期,就没的用了。当然,把系统时间调整回到Licen 远程桌面怎么设置效期内,还是可以使用(Openeye公司的软件都是精品呵)。Vida可以同时读入受体、参考分子(这里是晶体结构中的配体)和对接得到的构象,显示非 常好看的ribbon形态和氢键,作图效果一流,不过操作起来不是很人性化。
AutoDock的手册示例中使用Sybyl软件对结果进行分析,不过Sybyl每次只能从PDB文件中读入1个分子,还是不很方便。
没有尝试UCSF chimera是不是可以,不过,看其对DOCK处理的得心应手,应该差不多。



我觉得写得很不错,就转过来了,呵呵

本文发布于:2023-07-05 09:58:34,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1079640.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:文件   分子   类型   进行   运算
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图