win10中使用AutoDock Vina进行批量对接的批处理程序

软件安装,配体和受体的处理及结果分析等请参看分子对接的系列教程(点我看分子对接教程

本文只涉及批量处理代码。相关视频已上传B站(点我看视频,最近不太顺,不要嫌弃我语气就好)

应广大同道需求,多受体对多配体的批处理教程也让我搞出来了(点我看多对多

如小分子配体较多,可使用OpenBable进行批量转换,且支持多种格式(点我看教程)。

新建一个文件夹

把转换为pdbqt格式的所有受体和配体都放到这个文件夹内。
安装后的vina.exe、vina_split.exe和vina_license.rtf也放进同一个文件夹中。

新建第一个txt文本

将此文本命名为conf.txt,其他任何名字均可。

填入对接相关信息。主要是对接口袋的参数。笔者使用的是pymol中一个较get-box的插件得到的对接口袋参数。如下所示

receptor = 5vbl_b.pdbqt

center_x= 187.9
center_y= -10.8
center_z= 61.7
 
size_x = 24.4
size_y = 23.6 
size_z = 37.3

num_modes = 9

新建第二个txt文本

打开他,复制以下代码

@echo
for %%f in (Conformer3D_*.pdbqt) do (
	echo Processing ligand %%f
	if not exist "%%~nf" mkdir "%%~nf"
	vina --config conf.txt --ligand %%f --out "%%~nf"/out.pdbqt --log "%%~nf"/log.txt)
exit

其中Conformer3D_*.pdbqt是因为我的小分子文件是从PubChem上下载的。他们的开头都是Conform3D_。如配体无通用的开头,可以直接用*.pdbqt

如第一个txt文件使用了其他的名字。本段代码中的conf.txt也要随之改变。

保存后关闭这个文件。

将此文件的后缀名由.txt改为.bat

双击运行即可开始进行批量对接。

且会生成一个个以配体名字为名称的文件夹。里面包含了对接的两个结果log.txtout.pdbqt

查看结果

由于结果文件log.txt分散在各个文件夹内,一个个看比较麻烦,我们同样可以使用批处理生成一个可以查看所有结果的文件。

在同一个文件夹中新建一个txt文件,将以下代码复制进去。

echo final result > final.txt
for %%f in (Conformer3D_*.pdbqt) do (
	echo -------------------------------reading ligand %%~nf-------------------------------------- >> final.txt
	for /f "skip=22 delims=" %%i in (%%~nf/log.txt) do (
		echo %%i	 >> final.txt		
))
start notepad final.txt
exit

保存关闭后,同样的将该文件的后缀名由.txt改为.bat

双击运行后即可生成一个名为final.txt的文件。并自动打开以供查看。

结果如图所示
在这里插入图片描述

本人非程序员出身。只是把自己一些操作经验分享给大家,希望能给大家提供一些帮助。

文章中难免存在一些纰漏,希望大家海涵,有什么问题可以一起在留言区交流。

猜你喜欢

转载自blog.csdn.net/weixin_55842556/article/details/120966485