欢迎光临散文网 会员登陆 & 注册

【解放双手】Glide批量分子对接自动化脚本,助你快速完成蛋白配体分子对接!

2023-04-08 12:16 作者:张自信的小号  | 我要投稿

文件名称:Glide1Dragon.sh

应用场景:

当有多个的蛋白结构文件,需要和多个配体进行批量交叉对接时,如果用Maestro的UI界面进行对接时,每次只能实现一个蛋白和多个配体的对接,对接速度很慢,而且工作量大,这时用脚本实现批量分子对接就能极大地减少工作量、提高效率!

以下提供了我在师兄给的脚本上进一步完善得到的bash脚本,主要用于使用SCHRODINGER软件进行结构预处理和分子对接建模。具体流程如下:

  1. 遍历所有的文件夹(00001~00093),其中的00001~00093为需要进行批量对接的pdb文件,可以根据需要更改文件名,每个文件之间用空格分隔。

  2. 对每个文件夹中的蛋白质进行预处理,如修复氢键、添加二硫键、填充侧链和回路等。预处理后的蛋白质以maegz格式进行保存。

  3. 将预处理后的蛋白质与其相应的配体分离,分别保存为两个maegz格式的文件。

  4. 对预处理后的蛋白质创建一个对接盒子/格点文件(gridbox),用于对接时限定搜索空间。

  5. 创建对接参数文件,包括力场类型、网格文件、配体文件、输出路径等信息。

  6. 使用Glide进行对接,得到多种可能的配体-蛋白质结合构象,并且保存为maegz格式,进而可以通过Maestro可视化界面查看GlideScore等对接结果。

需要注意的是,在使用该脚本之前,需要先安装SCHRODINGER软件,并将可执行文件路径加入系统环境变量中。另外,该脚本中的配体文件路径和输出路径可能需要根据实际情况进行修改。

脚本内容如下所示。

#!/bin/bash for folder in 00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 00013 00014 00015 00016 00017 00018 00019 00020 00021 00022 00023 00024 00025 00026 00027 00028 00029 00030 00031 00032 00033 00034 00035 00036 00037 00038 00039 00040 00041 00042 00043 00044 00045 00046 00047 00048 00049 00050 00051 00052 00053 00054 00055 00056 00057 00058 00059 00060 00061 00062 00063 00064 00065 00066 00067 00068 00069 00070 00071 00072 00073 00074 00075 00076 00077 00078 00079 00080 00081 00082 00083 00084 00085 00086 00087 00088 00089 00090 00091 00092 00093; do echo "prepare protein" ${SCHRODINGER}/utilities/prepwizard -rehtreat -disulfides -fillsidechains -fillloops ${folder}.pdb ${folder}_protein_0.maegz echo "split complex" $SCHRODINGER/run split_structure.py ${folder}_protein_0.maegz ${folder}_protein.maegz echo "create gridbox" cat>${folder}.in<<EOF FORCEFIELD OPLS_2005 GRID_CENTER 36.56,33.18,1.9 INNERBOX 15, 15, 15 OUTERBOX 30, 30, 30 RECEP_FILE ${folder}_protein.maegz GRIDFILE ${folder}.zip EOF echo "create docking parameter" cat>glide_docking.in<<EOF FORCEFIELD OPLS_2005 GRIDFILE ${folder}.zip LIGANDFILE ../molecule_input/Structures_1.sdf OUTPUTDIR ../${folder}/maegz POSE_OUTTYPE ligandlib POSES_PER_LIG 20 PRECISION SP EOF echo "run docking"    "${SCHRODINGER}/glide" ${folder}.in  -OVERWRITE -adjust -HOST localhost:12 -TMPLAUNCHDIR -WAIT    "${SCHRODINGER}/glide" glide_docking.in  -OVERWRITE -adjust -HOST localhost:12 -TMPLAUNCHDIR -WAIT done

关于以上脚本的参数的具体解释:

  • $SCHRODINGER:指向 Schrodinger 软件的根目录,用于寻找相关的二进制文件和 Python 脚本。

  • ${folder}:用于循环遍历指定的文件夹列表,每次循环时包含当前处理的文件夹名称。

  • 00001~00093:需要处理的文件夹列表,文件夹名字包含了蛋白质结构数据的信息。

  • -rehtreat:在准备蛋白质结构之前,重建氢键和氢键网络。

  • -disulfides:在准备蛋白质结构之前,修复二硫键。

  • -fillsidechains:在准备蛋白质结构之前,填充蛋白质侧链。

  • -fillloops:在准备蛋白质结构之前,填充蛋白质环。

  • ${folder}.pdb:待处理的蛋白质结构文件。

  • ${folder}_protein_0.maegz:经过预处理后的蛋白质结构文件,用于后续的分子对接计算。

  • ${folder}_protein.maegz:经过预处理后的蛋白质结构文件,用于后续的分子对接计算。

  • GRID_CENTER:指定对接盒子/格点文件的中心坐标。

  • INNERBOX:指定内部盒子的尺寸。

  • OUTERBOX:指定外部盒子的尺寸。

  • RECEP_FILE:指定蛋白质结构文件名。

  • GRIDFILE:指定对接盒子/格点文件文件名。

脚本的具体使用:

(1)准备工作

对接前提条件:在Linux环境下运行脚本,本机已安装Maestro软件包,并且具有Glide的licence。

文件夹中有两个子文件夹,分别是molecule_input和parameters。

molecule_input文件夹顾名思义就是放入对接所用的小分子配体文件,这些小分子配体可以经过Maestro中的Ligprep等方法进行配体准备之后输出为sdf等格式。此处准备好的10个配体分子放入了Structures_1.sdf文件中。

parameters文件夹中则放入要批量处理的蛋白质的pdb文件,并将要运行的Glide1Dragon.sh脚本与要处理的蛋白质的pdb文件放在同一路径下。

之后在Linux服务器下输入以下命令进行运行。

XXXX代表路径存储Glide1Dragon.sh脚本的文件路径。注意Glide1Dragon.sh脚本需要在到达其路径之下才能运行。

cd XXXX sh Glide1Dragon.sh

(2)第1次运行脚本(批量蛋白准备、批量拆分蛋白-配体复合物)

第一次运行该脚本时会报错(如下图所示),提示没有找到对应的文件,其实就是还没有能够完成蛋白的准备。

编辑切换为居中

但其实在第一次脚本运行过程中其实已经进行了蛋白的准备和拆分,并将结果存储于文件如00001_protein_0.maegz中了。

(3)第2次运行脚本(批量生成对接盒子、批量对接)

在第2次以同样命令sh Try10.sh运行脚本时,会在第1次运行脚本准备了蛋白和拆分的基础上进行生成对接盒子并且进行对接。

运行完成后,得到了突变体打分的文件夹,但值得注意的是,可能会有文件夹的缺失情况(比如这轮运行中00012和00060缺失,因此重新用以上脚本对突变体00012和00060进行进一步地对接),要进行适当地检查。

(4)结果分析

文件运行之后会在molecule_input和Parameters同层级下输出结果文件夹,其中含有对接结果的maegz文件。

可以用Maestro打开maegz文件进一步查看对接打分等指标并对对接结果进行分析。

注:

  • 以上脚本可以在理解的基础上进行删减或扩展部分功能,比如去除蛋白-配体拆分、生成对接盒子等;

  • 使用时需要具体体系选择对接盒子的中心坐标、对接盒子的尺寸等参数,以得到更好的对接结果。

运行Glide的命令行,请参见官网介绍:https://www.schrodinger.com/sites/default/files/s3/release/current/Documentation/html/glide/glide_command_reference/glide_command_glide.htm?tocpath=Small%20Molecule%20Drug%20Discovery%7CProduct%20Documentation%7CGlide%7CCommand%20Reference%7C_____3


【解放双手】Glide批量分子对接自动化脚本,助你快速完成蛋白配体分子对接!的评论 (共 条)

分享到微博请遵守国家法律