简化对接程序和共识方法使用的平台包

dockbox的Python项目详细描述


文档框

dockbox是一个python包装库,旨在方便使用标准对接 单独或组合的程序。此外,dockbox可以重新存储 使用不同流行的评分算法生成对接姿势并进行分析 使用不同的共识对接/评分策略得出的结果。

dockbox支持的程序列表

  • 对接
    • AutoDock 4(http://autodock.scripps.edu" rel="nofollow">http://autodock.scripps.edu)
    • AutoDock VINA( http://vina.scripps.edu/index.html
    • dock 6(http://dock.compbio.ucsf.edu/dock_6/index.htm" rel="nofollow">http://dock.compbio.ucsf.edu/dock_6/index.htm)
    • glide(https://www.schrodinger.com/glide" rel="nofollow">https://www.schrodinger.com/glide)
    • 黄金(https://www.ccdc.cam.ac.uk/solutions/csd-discovery/components/gold/" rel="nofollow">https://www.ccdc.cam.ac.uk/solutions/csd discovery/components/gold/)
    • 教育部(https://www.chemcomp.com/moe-molecular_operating_environment.htm" rel="nofollow">https://www.chemcomp.com/moe-molecular_operating_environment.htm)
  • 重新排序
    • AutoDock 4(http://autodock.scripps.edu" rel="nofollow">http://autodock.scripps.edu)
    • AutoDock VINA( http://vina.scripps.edu/index.html
    • dock 6(http://dock.compbio.ucsf.edu/dock_6/index.htm" rel="nofollow">http://dock.compbio.ucsf.edu/dock_6/index.htm)
    • DSX(http://pc1664.pharmazie.uni-marburg.de/drugscore/" rel="nofollow">http://pc1664.pharmazie.uni-marburg.de/drugscore/)
    • glide(https://www.schrodinger.com/glide" rel="nofollow">https://www.schrodinger.com/glide)
    • 教育部(https://www.chemcomp.com/moe-molecular_operating_environment.htm" rel="nofollow">https://www.chemcomp.com/moe-molecular_operating_environment.htm)

以上停靠或评分程序均不包含在当前存储库中。 因此,渴望使用dockbox测试对接/评分程序的用户应该首先 将程序单独安装在已安装的同一系统dockbox上。

要使dockbox可以使用停靠或记分程序,请确保所有可执行文件 所需的每个程序都可以直接在命令行上从任何位置运行, 即,位于您的路径中(请参见每个程序所需的可执行文件部分)。 找出运行每个停靠/评分程序所需的可执行文件)。对于MOE和 glide,必须分别设置附加环境变量,即moe和schrodinger。

目录

先决条件

以下是安装dockbox模块的最低要求

  • python 2.6或2.7版
  • Virtualenv 1.11版或更高版本
  • PIP版本1.5或更高版本

安装

安装dockbox最简单的方法是创建一个虚拟环境。这样,dockbox 它的依赖项可以很容易地安装在用户空间中,而不会与潜在的 系统范围内的软件包不兼容。

正确安装Virtualenv后,只需键入(并按回车键)

virtualenv env

在命令行中,后跟

source env/bin/activate

激活虚拟环境(不要忘记在每次登录到新的shell环境时激活您的环境)。

最后,可以使用pip通过键入

pip install dockbox

安装完成!

每个程序所需的可执行文件

任何打算与dockbox一起使用的软件都应该单独安装,并且应该作为独立程序工作。此外,请确保以下可执行文件位于您的路径中,具体取决于应使用的对接/评分软件:

ln -s dsx_linux_64.lnx dsx

命令

dockbox包包含两个主要例程: rundbx 提取最佳姿势。前者仅用于对接和重测,后者则用于分析结果并从分数组合或不同的共识对接方案中选择最佳姿势。

运行dbx

rundbx用于将配体与蛋白质结构对接,并可能最小化和重新调整输出姿势。在命令行上键入"rundbx-h"时,将弹出以下帮助消息:

usage: rundbx [-h] -l INPUT_FILE_L -r INPUT_FILE_R -f CONFIG_FILE
              [-prepare_only] [-rescore_only]

rundbx : dock and rescore with multiple programs -------- Requires one file
for the ligand (1 struct.) and one file for the receptor (1 struct.)

optional arguments:
  -h, --help       show this help message and exit
  -l INPUT_FILE_L  Ligand coordinate file(s): .mol2
  -r INPUT_FILE_R  Receptor coordinate file(s): .pdb
  -f CONFIG_FILE   config file containing docking parameters
  -prepare_only    Only prepare scripts for docking (does not run docking)
  -rescore_only    Run rescoring only
  • 输入
    • -l输入包含配体坐标的文件(只允许一个结构)
    • -r input_file_r: .pdb 包含接收器坐标的文件(只允许一个结构)
    • -f配置文件: .ini 包含停靠参数的配置文件(请参阅准备rundbx配置文件一节)
  • 选项
    • -仅准备:生成单独运行每个停靠程序所需的所有停靠文件夹和脚本。实际上不运行停靠。
    • -rescore_only:仅用于执行重新排序步骤的选项。使用此选项意味着您已经在当前目录中运行了rundbx并生成了一个 poses 文件夹。如果重新排序文件夹已经作为以前运行的rundbx的输出存在,则以前使用与当前评分函数相同的重新排序生成的所有数据都将被覆盖,而使用与当前评分函数不同的评分函数生成的数据将被覆盖。保存。

提取最佳姿势

extract_dbx_best_poses 是用于分析结果并从 rundbx 命令的输出中选择最佳停靠姿势的例程。在命令行上键入"extract_dbx_best_poses-h"时,将弹出以下帮助消息:

usage: extract_dbx_best_poses [-h] [-all-targets] [-all-isomers] [-csv FILE]
                            [-cutoff RMSD_VALUE] [-d PRGM1 [PRGM2 ...]]
                            [-dirs DIR1 [DIR2 ...]] [-r DIRECTORY NAME]
                            [-s FUNC [FUNC ...] | -cd PRGM [PRGM ...] |
                            -sbcd FUNC [FUNC ...]]

Extract best docking poses after rundbx finished.

optional arguments:
-h, --help            show this help message and exit
-all-targets          Select best poses over all the targets. If not
                      specified, extract best pose separately for each
                      target. A "lig/target/isomer" architecture of the
                      folders is assumed
-all-isomers          Select best poses over all the isomers. If not
                      specified, extract best pose separately for every
                      isomer. A "lig/target/isomer" architecture of the
                      folders is assumed
-csv FILE             .csv filename with compounds. Used to add names of
                      compounds. Default: none
-cutoff RMSD_VALUE    RMSD cutoff used for consensus docking or score-based
                      consensus docking. Default: 2.0 A
-d PRGM1 [PRGM2 ...]  Docking programs (instances) to be considered when
                      extracting best poses
-dirs DIR1 [DIR2 ...]
                      Directories considered for analysis. Should contain a
                      folder called "poses". Default: curr. dir
-r DIRECTORY NAME     Name of results directory. Default: results
-s FUNC [FUNC ...]    Scoring functions used to extract the best pose
                      (combination of scores)
-cd PRGM [PRGM ...]   Docking programs used for standard consensus docking
-sbcd FUNC [FUNC ...]
                      Scoring functions used for score-based consensus
                      docking

使用rundbx进行停靠和重新排序

rundbx例程允许用户使用多重对接将配体对接并重新定位到蛋白质目标 以及评分功能。运行rundbx非常简单,因为它只需要三个输入文件,即一个pdb文件 包括要停靠的蛋白质结构(-r flag),一个tripos mol2格式的文件,包含 配体(每个文件一个结构,-l标志)和包含所有选项的ini配置文件(-f标志) 与停靠和/或重新排序相关(请参见准备INI配置文件一节)。

正确完成后,一个 rundbx 作业应该创建一个名为 poses 的文件夹,其中包含所有姿势 由INI配置文件中指定的不同停靠程序生成。提供每个姿势 在名为 lig-<;index>;.mol2 的.mol2格式的文件中,<;index>;是姿势的索引。在 姿势中 文件夹,也可以找到名为info.dat的文件。该文件包含与每个停靠程序/站点相关的信息 在ini文件中指定的组合,包括生成的姿势数和第一个姿势的索引 为该组合生成的姿势。

下面是在同一绑定站点上使用AutoDock、AutoDock VINA和Dock 6进行对接时获得的 info.dat 文件的示例:

#1,28
program,nposes,firstidx,site
autodock,10,1,
vina,10,11,
dock,7,21,

显示总共产生了27个姿势(28减1)。使用autodock生成10个姿势,即从索引1到10的姿势,使用autodock vina生成10个姿势,即从索引11到20的姿势,使用dock 6生成7个姿势,从索引21到27的姿势。未指定绑定站点的标签,因为在同一站点上进行了对接。

rundbx命令的其他输出是为ini文件中指定的每个停靠程序/站点组合创建的文件夹,其中包含停靠姿势、停靠分数(通过停靠获得)和停靠软件生成的中间文件。例如,如果使用AutoDock和AutoDock VINA停靠在名为site1、site2和site3的三个不同绑定站点(请参阅准备INI配置文件部分),则总共有六个名为autoDock.site1、autoDock.site2和stron的文件夹g>应该已经创建了autodock.site3、vina.site1、vina.site2和vina.site3。

最后,如果在ini文件中启用了重新排序选项,则还应该创建一个名为"重新排序"的文件夹,其中包含名为<;program>;的文件。score,其中<;program>;是用于重新排序的每个程序的名称。

准备ini配置文件

除了一个包含配体结构的MOL2文件(-L标志)和一个包含受体结构的PDB文件(-R标志),运行 rundbx 还需要一个配置文件(-F标志)来指定对接过程所需的所有参数。

rundbx配置文件应该是一个in i文件(https://en.wikipedia.org/wiki/ini_file" rel="nofollow">https://en.wikipedia.org/wiki/ini_file),也就是说,该文件应该分成几个部分,每个部分的名称单独出现在一行的方括号中("["和""。每个节都包含一定数量的键,这些键引用使用的特定选项;节声明之后的所有键都与该节关联。最后,每个键都应该有一个名称(选项名称)和一个值(选项值),由等号(=)分隔。

下面是用于停靠在两个绑定站点上并使用DrugScorex(DSX)、AutoDock和AutoDock VINA重新存储的配置文件示例。

[DOCKING]
site = site1, site2
program = autodock, vina, dock, glide
rescoring = yes
minimize = yes
cleanup = yes

[RESCORING]
program = dsx, autodock, vina

[DSX]
pot_dir = /pmshare/jordane/CSD_potentials/DSX_CSD_Potentials_v0511/csd_pot_0511/
other_flags = -T0 1.0 -T1 1.0 -T3 1.0 -j

[AUTODOCK]
ga_run = 20
spacing = 0.4

[VINA]
num_modes = 20

[DOCK]
nposes = 20

[GLIDE]
poses_per_lig = 20

[SITE1]
center = 75.5, 80.0, 31.0
boxsize = 40.0, 40.0, 40.0

[SITE2]
center = 75.5, 40.0, 50.0
boxsize = 40.0, 40.0, 40.0

配置文件的一般部分
  • 停靠 部分包括应用于停靠的软件,如果最小化,则应执行重新排序和/或清理。对接软件应通过键 程序指定Coma分离。与"停靠"部分相关的键为:
    • 程序 :指定用于对接的软件(autodock、dock6、glide、gold、moe和/或vina)。与每个程序(或实例)相关的选项在相同名称的部分中指定。例如,如果autodock在程序列表中,则应在 autodock 部分中指定与autodock相关的选项。如果同一个软件需要多次使用,可以在程序名称后附加编号(例如,在下面的第一个示例中,使用不同的评分方法执行多次MOE运行:MOE、MOE1、MOE2)。
    • 最小化 :对生成的姿势执行最小化(是或否)。
    • 重排序 :对生成的姿势执行重排序(是或否)。我强烈建议在重新排序完成时启用最小化。这将避免很多冲突,特别是当用于重新排序的软件与用于停靠的软件不同时。如果启用了重新排序选项,则应创建一个节重新排序,其中包含与该步骤相关的所有选项(请参见下文)。
    • 清除 :指定是否应删除大型中间文件(是或否)。
    • 站点 :指定在考虑多个绑定站点(站点1、站点2,…)时绑定站点的标签。请参阅示例配置以停靠在多个绑定站点,使用多个软件最小化和重新排序姿势。

与每个程序相关的停靠和重新排序选项在"与每个软件相关的停靠/评分选项"一节中有详细说明

  • 站点 部分包含有关定位绑定站点的框的信息。按键如下:
    • 中心 :绑定框中心的x、y、z坐标(in_)。
    • 盒子大小 :盒子沿每个尺寸X、Y、Z的大小。盒子的尺寸应不超过50.0、50.0、50.0(in_)。
  • 重新排序部分只有一个键指定用于重新排序的程序:
    • 程序 :指定用于对接的软件(autodock、dock6、glide、gold、moe和/或vina)。与每个程序(或实例)相关的选项在相同名称的部分中指定。例如,如果autodock在程序列表中,则应在 autodock 部分中指定与autodock相关的选项。如果同一个软件需要多次使用,可以在程序名称后面附加编号(例如,在下面的示例中,使用不同的评分方法执行多次MOE运行:MOE、MOE1、MOE2)。

与每个软件相关的对接/评分选项

与停靠/评分程序相关的每个部分都应按其通过 停靠和/或 重新排序部分的键 程序 显示的方式命名。下面是配置文件中可以指定的每个软件的所有选项列表。

自动停靠

  • gau run(默认值:100):autodock runs的数量=最终姿势的目标数量
  • 间距(默认值:0.3):网格间距

注1 :配体的部分电荷从使用autodocktools命令的gasteiger方法

注2 :根据配体结构中扭转角度的数量,通过以下公式自动计算能量释放量

ga_num_evals = min(25000000, 987500 * n_torsion_angles + 125000)

注3 :与通常的autodock情况一样,配体结构中的非极性氢在对接前被移除,以便正确使用autodock力场。对接完成后,非极性氢以与输入结构一致的方式重新分配。除非配置文件中的 最小化 选项设置为 ,否则不会对这些氢进行最小化。

注意4 使用open babel通过以下命令从.dlg文件中提取最终姿势:

virtualenv env
0

自动停靠VINA

  • CPU(默认值:1)
  • 能量范围(默认值:3)
  • 数值模式(默认值:9):最终姿势的目标数量

注1 :使用autodocktools命令从gasteiger方法获得配体的部分电荷 准备配体4.py

注2 :与autodock-vina的通常情况一样,配体结构中的非极性氢在对接前被移除,以便正确使用autodock力场。对接完成后,非极性氢以与输入结构一致的方式重新分配。除非配置文件中的 最小化 选项设置为 ,否则不会对这些氢进行最小化。

停靠6

  • 吸引指数(默认值:6)
  • 额外保证金(默认值:2.0)
  • 网格间距(默认值:0.3)
  • 最大球面半径(默认值:4.0)
  • 最大方向(默认值:10000)
  • 最小球面半径(默认值:1.4)
  • nposes(默认值:20):最终姿势的目标数目
  • num_scored_conformers(默认值5000)
  • 探头半径(默认值:1.4)
  • 排斥指数(默认值:12)

DSX

滑动

  • 姿势RMSD(默认值:0.5):
  • poses_per_lig(默认值:10):最终姿势的目标数量
  • 精度(默认:sp):
  • 使用预向导(默认值:true):

黄金

  • nposes(默认值:20)

教育部 (评分)

  • gtest(默认值:0.01)
  • 最大姿势(默认值:5)
  • 放置(默认:三角形匹配器)
  • 放置最大姿势(默认值:250)
  • 放置示例(默认值:10)
  • 重新展开(默认值:1)
  • 重新排序(默认值:gbvi/wsa dg)
  • 评分(默认:伦敦DG)

示例

在一个绑定站点上与多个软件对接,并最小化姿势

下面是一个配置文件的示例,它可以用作 rundbx 的输入。对接程序在指定为盒子的单个绑定站点上执行,盒子的尺寸为30.0 x 30.0 x 30.0,以位置(x,y,z)=8.446、25.365、4.394为中心。

virtualenv env
1

停靠在多个绑定位置,使用多个软件最小化并重新调整姿势

下面是 rundbx 的另一个配置文件示例,用于停靠在两个绑定站点上,并使用DrugScorex(DSX)、AutoDock和AutoDock VINA重新存储。

[DOCKING]
site = site1, site2
program = autodock, vina, dock, glide
rescoring = yes
minimize = yes
cleanup = yes

[RESCORING]
program = dsx, autodock, vina

[DSX]
pot_dir = /pmshare/jordane/CSD_potentials/DSX_CSD_Potentials_v0511/csd_pot_0511/
other_flags = -T0 1.0 -T1 1.0 -T3 1.0 -j

[AUTODOCK]
ga_run = 20
spacing = 0.4

[VINA]
num_modes = 20

[DOCK]
nposes = 20

[GLIDE]
poses_per_lig = 20

[SITE1]
center = 75.5, 80.0, 31.0
boxsize = 40.0, 40.0, 40.0

[SITE2]
center = 75.5, 40.0, 50.0
boxsize = 40.0, 40.0, 40.0

请注意,停靠部分通过关键字site、此处、site1和site2包含绑定站点的标签。每个标签分别引用同一名称site1和site2的部分。

使用 提取最佳姿势的顶部姿势提取

即将推出。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
有没有一种方法可以将不同的java web应用程序组合到一个web应用程序(war)中而不相互影响?   java一次屏蔽两位   java如何在多个类上初始化元素?   java在后台服务中处理通知或使用GCM(或其他推送通知服务)   java从const方法调用JNI函数   javascript如何使用函数/方法返回?   Java优化:声明类变量与使用临时变量   java字符算术基数8 vs基数10   Java流收集要存储的对象列表   swing我正在用Java中的keyListener制作一个精灵移动器   在Gradle构建脚本中使用Scala(或java)方法   java Android Mediaplayer下一步按钮不起作用   Java Sound API在播放音频文件后将其锁定   java将变量从外部类传递到内部类的最佳方法   使用play framework的博客web应用程序出现java逻辑错误   java我们可以在Spring批处理中处理大型zip文件吗?   java如何检查JTable的选定行的特定列中的值是否已经在JList中?