John_Looking 发表于 2013-12-24 12:00:12

autodock虚拟筛选的简单脚本(二)

对于Autodock进行虚拟筛选,根据我个人的理解。就是Autodock进行流程式的运行。Autodock对接主要包括几个步骤:
(一) 进行受体准备。主要市蛋白质受体的加极性氢,电荷,保存为pdbqt。对于虚拟筛选,其受体的文件都是一样的,所以就不用在脚本里面加准备受体这一步了。
(二) 进行配体准备。主要是进行支持格式的小分子文件的准备,包括mol2、pdb等,如果没有的话,可以用babel进行转换或者sybyl,当然,不能是分子库,必须市一个一个的小分子文件。完成的话,主要调用的是prepare_ligand4.py这个ADT的脚本,1.5.6的什么样子,我不太清楚了,我这个是1.5.4的,但是 都是一样的。
(三) 进行格子文件的准备,就是各种map文件的生成,ADT提供的py脚本,没有输入中心位置和大小的项目,所以要用到模板gpf文件,就是按照单个分子的AD对接生成的gpf就行了(我的那个市1.gpf)。
(四) autogrid4的运行,这个就不用说了,很正常的指令输入。
(五) dpf文件的准备,一样的,按照脚本的输入指令就行了,需要什么,就添加什么。
(六) autodock的运行,也是很正常的指令。不说啦,不明白的,运行一下autodock4就知道了
(七) 因为上面的文件会生成很多map文件,所以剩下的指令就是删除哪些文件就可以了。

对于结果分析啊,我现在手上也没有脚本,但是我只到vina有个py脚本是ranking的,所以,我有空了,再看看,给大家写出来啊。

这个就是一个简单的sh脚本,他的工作流程就是A to B to C to D to E ... ...等等,一个结束了,才进行下一相。因为vina有个qsub的脚本,其基本原理就是,按照对接的流程,先生成相应的单个脚本,把一个个脚本都提交到集群。但是,集群运行是有个数限制的,所以,也不是太好。不知道有没有大牛,重新写一个mpi的脚本,去计算啊!先写到这儿吧,望大家指正。

eming 发表于 2013-12-25 08:44:08

本帖最后由 eming 于 2013-12-26 20:52 编辑

(1). 受体和配体的准备确实最好使用$ADT_SCRIPTS/prepare_receptor4.py / $ADT_SCRIPTS/prepare_ligand4.py。 当然,babel也是可以处理的,例如,处理受体
babel -i<format> input.<format> -opdbqt out.<format> -xr
处理配体
babel -i<format>input.<format> -opdbqt out.<format>
(2). 同上
(3). 严格来说,最好是判断当前ligand的原子类型,来保留应该有的map,生成新的原子类型的map,以节约因计算map而消耗的那点时间。或者是,一次生成所有原子类型的map。
    $ADT_SCRIPTS的脚本是提供中心及大小的选项的:
$ADT_SCRIPTS/prepare_gpf4.py -l ${ligand}.pdbqt -r receptor.pdbqt-p gridcenter="0,0,0" -p npts="60,60,60" -p ligand_types="${ligand_atom_type}" -o ${ligand}.gpf
其中${ligand_atom_type}可以很简单定义:
grep "^ATOM" avpi.pdbqt | cut -c78-79 | sort | uniq
(4). 已经补充过了,最好这时候也节省计算资源,不必计算的原子类型,就不要重复计算了
(5). 同样dpf的配置,一样不需要模版,可以一点点输入参数定义得到。就算是模版,建议用cat/EOF 等写进bash脚本里,便于循环,便于写进如同${ligand}一样的变量。我这里还是推荐使用粒子群算法(PSO)来加速收敛。这个在autodock4里是移植了的。
(6). 这个确实没有啥好说的
(7). map 还是尽量重复使用啊

结果分析就看怎么分析了,因为$ADT_SCRIPTS/提供了很多,rank啊,cluster啊,处理后直接extract你要的信息即可。
对于vina的使用,我建议使用加强版的,smina
同时我个人认为大家可以尝试一下那个新的对接软件rDock。
对于并行版本的autodock4,楼主应该尝试一下。我自己没有测试过速度。
http://www.jcheminf.com/content/3/1/12
http://scripts.iucr.org/cgi-bin/paper?S0021889807011053





页: [1]
查看完整版本: autodock虚拟筛选的简单脚本(二)