目录

  • 案例学习 - penicillin G 与 3upo 共价docking
    • 目标
    • 配置要求
    • 尝试
      • 找脚本
      • 脚本文件比较
      • 分子文件
      • 试运行脚本
    • 操作
      • 1. 打开cmd
      • 2. 生成ligcovalent.pdb文件
      • 3. 生成PDBQT文件
      • 4. 生成 flexible 和 rigid PDBQT 文件
      • 5. 生成 GPF 和 DPF 文件
      • 6. 进行grid and dock
      • 7. 查看结果
      • 8. 分析
  • 命令
  • 文件路径

案例学习 - penicillin G 与 3upo 共价docking

参考资料:AutoDock Covalent docking

目标

  1. 命令行操作进行docking
  2. 共价docking结构准备
  3. 柔性docking流程

配置要求

Python >= 2.6
OpenBabel Python bindings

尝试

找脚本

  1. 首先在虚拟机上安装AutoDock
    在官网下载安装包,下载 3-Linux:Inter (64-bit)
uname -r

3.10.0-1127.el7.x86_64

tar -xf autodocksuite-4.2.6-x86_64Linux3.tar

解压之后直接就是了,也不用安装。。。。。。

  1. 配置python环境用于脚本运行
    (这时发现跟虚拟机关系也不大…) 【废废】

D:\Program Files (x86)\MGLTools-1.5.7

该文件夹中有许多看上去有用的东西,包括 python, OpenBabel-2.3.2 等等。

参考本问题:Where can I find the Python scripts for preparing and analysing AutoDock dockings?
在Windows下:

\MGLToolsPckgs\AutoDockTools\Utilities24

通过搜索找到了Utilities24文件夹的位置:

"D:\Program Files (x86)\MGLTools-1.5.7\Lib\site-packages\AutoDockTools\Utilities24"

参考问题:Setting up AutoDockTools utility scripts

If you installed MGLTools using one of our latest standalone installers, then you are all set.

D:\Program Files (x86)\MGLTools-1.5.7>python.exe

Python 2.7.11 (v2.7.11:6d1b6a68f775, Dec 5 2015, 20:32:19) [MSC v.1500 32 bit (Intel)] on win32
Type “help”, “copyright”, “credits” or “license” for more information.

python.exe "D:\Program Files (x86)\MGLTools-1.5.7\Lib\site-packages\AutoDockTools\Utilities24\prepare_ligand4.py"

prepare_ligand4: ligand filename must be specified.
Usage: prepare_ligand4.py -l filename
(more)

有一个 prepare_covalent_flexres.py 的脚本。

D:\Program Files (x86)\MGLTools-1.5.7>python.exe "D:\Program Files (x86)\MGLTools-1.5.7\Lib\site-packages\AutoDockTools\Utilities24\prepare_covalent_flexres.py"
prepare_covalent_flexres: receptor filename must be specified!Usage: prepare_covalent_flexres.py -r receptor_filename -l ligand_to_superimpose_filename -b atom1_atom2_atom3 -R residue_nameDescription of command...-r   receptor_filename-l   ligand_filename-b   ligand atom1_atom2_atom3 to superimpose (eg SD_CG_CB)-R   name of receptor residue onto which the bond atomsin the ligand will be superimposedOptional parameters:[-B]  alternate atom1_atom2_atom3 in receptor residue to superimpose(default uses atom1_atom2_atom3 names specified with -b flag)[-v]  verbose output[-g pdbqt_filename] (rigid output filename)[-x pdbqt_filename] (flexible output filename)[-n pdbqt_filename] (flexible output filename)NOTE the order of the atoms specified for the bond is crucial:'-b atom1_atom2_atom3'specifies this superposition:LIGAND-atom1-atom2-atom3atom1-atom2-atom3-RECEPTORProcess removes atom1-atom2-atom3-RECEPTOR bond and adds bond LIGAND-atom1-atom2-atom3-RECEPTOR^                                                    ^
# To execute this command type:
# prepare_covalent_flexres.py -l filename -r receptor_filename -l ligand_to_superimpose_filename -b atom1_atom2 -R residue
#specific example:
#python -i prepare_covalent_flexres.py -r 1pwc-protein.pdbqt -l 1pwc-ligand.pdbqt -b OG_CB -R SER62  -g 1pwc_rigid.pdbqt -x 1pwc_flex.pdbqt

下午的任务:

  1. 比较两个文件是否相同? 看起来有一定的差异?接口上?文件风格上?
  2. 用prepare_covalent_flexres.py 完成案例的docking.

脚本文件比较


"D:\Program Files (x86)\MGLTools-1.5.7/python.exe"

分子文件

先看一下手上有的几个pdb文件:
3upo_protein.pdb 是一个二聚体;与B:SER222进行Docking。
ligand.mol2 是一个小分子,带有H原子,Docking的是一个羧基的C-O(2)-C(1)。

试运行脚本

运行脚本 prepareCovalent.py 时会报错。
报错:

swig_import_helper _mod = imp.load_module(’_openbabel’, fp, pathname, description) ImportError: DLL load failed: 找不到指定的模块

imp 模块为用于实现该import语句的机制提供了一个接口。 imp
参考:
[Open Babel] problems with python libraries
解决:
将OpenBabel-2.3.2的文件夹加入PATH中…

D:\Program Files (x86)\MGLTools-1.5.7\OpenBabel-2.3.2

操作

1. 打开cmd

2. 生成ligcovalent.pdb文件

生成ligcovalent.pdb文件和residues.log文件。

疯狂地输出之后:

==============================
*** Open Babel Warning in OpenBabel::MOL2Format::ReadMolecule
This Mol2 file is non-standard. Problem with molecule: Penicillin Cannot interpret atom types correctly, instead attempting to interpret atom type: H as elements instead.
==============================
*** Open Babel Warning in OpenBabel::OBTypeTable::Translate
Cannot perform atom type translation: table cannot find requested types.
Processing residue B:SER222
[start] output filename is: ligcovalent.pdb
./adcovalent/prepareCovalent.py:76: FutureWarning: comparison to None will result in an elementwise object comparison in the future.
if not p2 == None:
==============================
*** Open Babel Warning in OpenBabel::OBGlobalDataBase::Init
Cannot open phmodel.txt defaulting to compiled data.
CHAIN B
Writing output filename: ligcovalent.pdb

生成的ligcovalent.pdb是一个小分子文件,包含了与之共价连接的B:SER222,位置匹配到了B:SER222的位置。

但是原子类型都是XX:

HETATM 1 XX SER B 222 16.639 -66.404 9.375 1.00 0.00 Xx
HETATM 2 XX SER B 222 16.593 -65.987 8.225 1.00 0.00 Xx
HETATM 3 XX SER B 222 16.170 -65.510 10.505 1.00 0.00 Xx
HETATM 4 XX SER B 222 16.380 -66.153 11.914 1.00 0.00 Xx
HETATM 5 XX SER B 222 15.781 -65.371 13.011 1.00 0.00 Xx
HETATM 6 XX SER B 222 16.692 -64.263 13.298 1.00 0.00 Xx
HETATM 7 XX SER B 222 18.107 -64.880 13.455 1.00 0.00 Xx
HETATM 8 XX SER B 222 18.183 -66.251 12.242 1.00 0.00 Xx
HETATM 9 XX SER B 222 18.350 -65.486 14.853 1.00 0.00 Xx
HETATM 10 XX SER B 222 19.192 -63.837 13.139 1.00 0.00 Xx
HETATM 11 XX SER B 222 16.227 -63.426 14.474 1.00 0.00 Xx
HETATM 12 XX SER B 222 16.846 -62.425 14.797 1.00 0.00 Xx
HETATM 13 XX SER B 222 15.120 -63.769 15.162 1.00 0.00 Xx
HETATM 14 XX SER B 222 14.786 -65.113 10.278 1.00 0.00 Xx
HETATM 15 XX SER B 222 13.741 -65.985 10.209 1.00 0.00 Xx
HETATM 16 XX SER B 222 13.921 -67.187 10.343 1.00 0.00 Xx
HETATM 17 XX SER B 222 12.357 -65.438 9.939 1.00 0.00 Xx
HETATM 18 XX SER B 222 11.278 -66.492 9.870 1.00 0.00 Xx
HETATM 19 XX SER B 222 10.966 -67.265 11.001 1.00 0.00 Xx
HETATM 20 XX SER B 222 9.954 -68.228 10.936 1.00 0.00 Xx
HETATM 21 XX SER B 222 9.249 -68.426 9.745 1.00 0.00 Xx
HETATM 22 XX SER B 222 9.554 -67.660 8.616 1.00 0.00 Xx
HETATM 23 XX SER B 222 10.563 -66.694 8.677 1.00 0.00 Xx
HETATM 24 N SER B 222 19.175 -69.711 10.030 1.00 0.00 N1+
HETATM 25 CA SER B 222 17.945 -69.880 9.243 1.00 0.00 C
HETATM 26 C SER B 222 17.931 -70.976 8.176 1.00 0.00 C
HETATM 27 O SER B 222 16.841 -71.389 7.759 1.00 0.00 O
HETATM 28 CB SER B 222 17.496 -68.565 8.618 1.00 0.00 C
HETATM 29 OG SER B 222 17.087 -67.662 9.631 1.00 0.00 O
HETATM 30 H SER B 222 19.447 -70.608 10.433 1.00 0.00 H
HETATM 31 H SER B 222 19.010 -69.038 10.778 1.00 0.00 H
HETATM 32 H SER B 222 19.922 -69.370 9.425 1.00 0.00 H
HETATM 33 H SER B 222 17.254 -70.219 9.986 1.00 0.00 H
HETATM 34 H SER B 222 18.468 -70.599 7.331 1.00 0.00 H
HETATM 35 H SER B 222 18.357 -71.824 8.671 1.00 0.00 H
HETATM 36 H SER B 222 16.382 -70.674 7.291 1.00 0.00 H
HETATM 37 H SER B 222 16.676 -68.749 7.955 1.00 0.00 H
HETATM 38 H SER B 222 18.313 -68.137 8.075 1.00 0.00 H
HETATM 39 H SER B 222 16.347 -68.046 10.126 1.00 0.00 H

与output文件夹里对比发现确实不对…
原文件中有不标准的原子类型名,因此经过GaussView将其转化。
将 ligand.mol2 文件载入GaussView中又保存得到ligand_v.mol2文件,进行尝试,也是在疯狂地跳atom type error,但是得到的文件是正确的。

3. 生成PDBQT文件

生成 protein.pdbqt 文件和 ligcovalent.pdbqt文件。
会报错:

swig/python detected a memory leak of type ‘BHtree *’, no destructor found.

但是对结果似乎没有影响。

4. 生成 flexible 和 rigid PDBQT 文件

理论上应该生成 3upo_protein_rigid.pdbqt 和 3upo_protein_flex.pdbqt

"D:\Program Files (x86)\MGLTools-1.5.7\python.exe" "D:\Program Files (x86)\MGLTools-1.5.7\Lib\site-packages\AutoDockTools\Utilities24\prepare_flexreceptor4.py" -r 3upo_protein.pdbqt -s B:SER222

指定一个错误的-s 可以生成文件,但是没有内容。 【先跳过这一步】

生成了 “ligcovalent_rigid.pdbqt” and “ligcovalent_flex.pdbqt”

5. 生成 GPF 和 DPF 文件

生成了 3upo_protein.gpf
输出命令:

!unable to use ligand.TORSDOF! torsdof always set to ligand.ndihe= 9
swig/python detected a memory leak of type ‘BHtree *’, no destructor found.

生成了 ligcovalent_3upo_protein.dpf,该文件为文本文件,可以修改。

copy nul empty # 生成 empty 空文件

6. 进行grid and dock

grid 生成 1mol 文件。

D:\Desktop\adt\autodock4.exe: I’m sorry; I can’t find or open “‘empty’”

windows 创建、生成0字节空文件

copy nul empty # 生成 empty 空文件

dock生成 ligcovalent_3upo_protein.dlg 文件。

7. 查看结果

载入 3upo_protien.pdbqt
载入ligcovalent.pdbqt 【不必要】
Analyze -> Dockings -> Open .dlg 文件
报错:

ERROR *********************************************
Traceback (most recent call last):File "D:\Program Files (x86)\MGLTools-1.5.7\lib\site-packages\ViewerFramework\VF.py", line 941, in trytoresult = command( *args, **kw )File "D:\Program Files (x86)\MGLTools-1.5.7\lib\site-packages\AutoDockTools\autoanalyzeCommands.py", line 3860, in doitd.readDlg(dlgFile)File "D:\Program Files (x86)\MGLTools-1.5.7\lib\site-packages\AutoDockTools\Docking.py", line 96, in readDlgdlo = DockingLogObject(self, dlgFile)File "D:\Program Files (x86)\MGLTools-1.5.7\lib\site-packages\AutoDockTools\Docking.py", line 728, in __init__parser.parse(filename)File "D:\Program Files (x86)\MGLTools-1.5.7\lib\site-packages\AutoDockTools\DlgParser.py", line 121, in parseself.match(allLines)File "D:\Program Files (x86)\MGLTools-1.5.7\lib\site-packages\AutoDockTools\DlgParser.py", line 236, in matchapply(d['func'], (lines,), {})File "D:\Program Files (x86)\MGLTools-1.5.7\lib\site-packages\AutoDockTools\DlgParser.py", line 468, in getClusterInfoself.getClusterRecord(cl)File "D:\Program Files (x86)\MGLTools-1.5.7\lib\site-packages\AutoDockTools\DlgParser.py", line 490, in getClusterRecordnewList2 = map(lambda x:float(x),ll[3:-1])File "D:\Program Files (x86)\MGLTools-1.5.7\lib\site-packages\AutoDockTools\DlgParser.py", line 490, in <lambda>newList2 = map(lambda x:float(x),ll[3:-1])
ValueError: invalid literal for float(): -1.#J

在文件中搜索 “-1.#J” 在计算RMSD的时候出现了这个,全部替换成 “-nan”.

成功读入了结构。
将所有的conformation Build All.
将前三个结构保存为PDB文件,载入VMD中进行查看。
将蛋白的结构保存为pdb文件:protein.pdb,相比3upo_protein.pdb,该结构在于其带有极性氢。便于我们分析氢键的形成。

8. 分析

载入文件:

dir *.pdb # 查看后缀为.pdb的文件

2015/09/10 07:47 523,584 3upo_protein.pdb
2021/05/12 15:59 261,872 complex.pdb
2021/05/12 15:24 2,423 empty_conf_0.pdb
2021/05/12 15:25 2,423 empty_conf_1.pdb
2021/05/12 15:25 2,423 empty_conf_2.pdb
2021/05/11 15:24 9,795 ligcovalent.pdb
2021/05/12 16:10 650,609 protein.pdb

其中,complex.pdb 是由 protein.pdb 的chain B 和empty_conf_0.pdb结构组合而成的。将小分子配体加在后面。
修改原子序数和resid?
(似乎怎么修改都不太行,因为原子位置有冲突,导致 New Cartoon 识别不正确。) >> 只能开一个protein.pdb提供New Cartoon的显示。
将residue name (resname)修改为 LIG.


原结构中有一个SER222上的氢原子,应该直接删去。

ligcovalent.pdb的结构与3upo_protein.pdb的结构有collapse。(ligcovalent.pdb中带有非极性氢)

排名靠前的几个conformation具有相似性:

分析conformation = 0 的结构的氢键。
载入complex.pdb.
氢键显示出来了:

其设置为:(参考:VMD tutorial)

显示lig附近的氢键:



得到6个氢键,做 label。

噻唑烷(Thiazolidine | C3H7NS )

THR427:HN LIG222:OX
SER222:HN LIG222:OX
与噻唑烷末端的羧基形成氢键的:
SER281:HG LIG222:OX
THR425:HG – LIG222:OX
与苯环前的酰胺形成氢键的
THR427:OG LIG222:H
ASN283:1HD LIG222:OX

3UPO
Structure of penicillin-binding protein A from M. tuberculosis: penicillin G acyl-enzyme complex
对接的结果与实测的Complex结构基本一致。


令人注意的是羧基左上侧的水分子。

参考文献:https://doi.org/10.1016/j.jmb.2012.02.021

Fig6.(B) Docking结果与之基本吻合:与苯基前的酰胺形成氢键的残基:N283;与噻唑烷末端羧基形成氢键:K424/T425/通过水分子介导的G472。

THR427:HN LIG222:OX ----- T427
SER222:HN LIG222:OX -----
SER281:HG LIG222:OX -----
THR427:OG LIG222:H -----
ASN283:1HD LIG222:OX -----
THR425:HG – LIG222:OX -----

再补几个截图:
GLY427的视角:



命令

命令行操作如下:

D:
cd D:\Desktop\adt\adCovalentDockResidue
# 利用Gauss重新生成一下 ligand.mol2,生成ligcovalent.pdb
"D:\Program Files (x86)\MGLTools-1.5.7\python.exe" ./adcovalent/prepareCovalent.py --ligand ./3upo_test/ligand.mol2 --ligindices 1,2 --receptor ./3upo_test/3upo_protein.pdb --residue B:SER222 --outputfile ligcovalent.pdb# 生成 PDBQT 文件
"D:\Program Files (x86)\MGLTools-1.5.7\python.exe" "D:\Program Files (x86)\MGLTools-1.5.7\Lib\site-packages\AutoDockTools\Utilities24\prepare_receptor4.py" -r ./3upo_test/3upo_protein.pdb -A hydrogens
"D:\Program Files (x86)\MGLTools-1.5.7\python.exe" "D:\Program Files (x86)\MGLTools-1.5.7\Lib\site-packages\AutoDockTools\Utilities24\prepare_receptor4.py" -r ligcovalent.pdb# 生成 flexible/rigid PDBQT 文件
"D:\Program Files (x86)\MGLTools-1.5.7\python.exe" "D:\Program Files (x86)\MGLTools-1.5.7\Lib\site-packages\AutoDockTools\Utilities24\prepare_flexreceptor4.py" -r 3upo_protein.pdbqt -s 3upo_protein:B:SER222
"D:\Program Files (x86)\MGLTools-1.5.7\python.exe" "D:\Program Files (x86)\MGLTools-1.5.7\Lib\site-packages\AutoDockTools\Utilities24\prepare_flexreceptor4.py" -r ligcovalent.pdbqt -s ligcovalent:B:SER222# 生成 gpf 和 dpf 文件
"D:\Program Files (x86)\MGLTools-1.5.7\python.exe" "D:\Program Files (x86)\MGLTools-1.5.7\Lib\site-packages\AutoDockTools\Utilities24\prepare_gpf4.py" -r 3upo_protein_rigid.pdbqt -x ligcovalent_flex.pdbqt -l ligcovalent_flex.pdbqt -y -I 20 -o 3upo_protein.gpf
"D:\Program Files (x86)\MGLTools-1.5.7\python.exe" "D:\Program Files (x86)\MGLTools-1.5.7\Lib\site-packages\AutoDockTools\Utilities24\prepare_dpf4.py" -r 3upo_protein_rigid.pdbqt -x ligcovalent_flex.pdbqt -l ligcovalent_flex.pdbqt -o ligcovalent_3upo_protein.dpf -p move=empty
# 编辑 ligcovalent_3upo_protein.dpf
# unbound_energy 0.0 # 修改原参数
copy nul empty # 生成 empty 空文件# 运行 AutoGrid and AutoDock
D:\Desktop\adt\autogrid4.exe -p 3upo_protein.gpf -l 3upo_protein.glg
D:\Desktop\adt\autodock4.exe -p ligcovalent_3upo_protein.dpf -l ligcovalent_3upo_protein.dlg# 打开 AutoDockTools 查看结果

文件路径

将几个脚本的路径粘贴在下面:

D:\Desktop\adt\adCovalentDockResidue\adcovalent
D:\Desktop\adt\adCovalentDockResidue\3upo_test
“D:\Program Files (x86)\MGLTools-1.5.7\Lib\site-packages\AutoDockTools\Utilities24”
“D:\Program Files (x86)\MGLTools-1.5.7\python.exe”
D:\Desktop\adt

绿原酸酯与CALB Docking(2) - Covalent Docking(3upo案例)相关推荐

  1. 绿原酸酯与CALB Docking(3) - Covalent Docking

    目录 绿原酸酯 与 calb 共价docking 目标 1. 结构准备 2. 结构预处理 3. Generate the alignment for ligand 4. 生成 PDBQT 文件 5. ...

  2. 分子共价对接(Covalent Docking)

    共价对接(Covalent Docking) 随着人们对共价抑制剂的发现越来越重视,越来越多的软件开始支持共价抑制的虚拟筛选. 常用的共价对接软件有CovDock,AutoDock4,FITTED,G ...

  3. SAP小技巧 DOCKING容器解决分辨率问题

    一 前言 通过SAP ENJOY演示中心可以学习SAP常用容器的用法(TCODE: DWDM ) 其中有5个DEMO程序介绍不同的容器 自定义容器 固定容器(DOCKING容器) 拆分器容器 easy ...

  4. Chapter13 : Ultrahigh Throughput Protein-Ligand Docking with Deep Learning

    reading notes of<Artificial Intelligence in Drug Design> 文章目录 1.Introduction 2.Materials 2.1.C ...

  5. 入门|一文读懂区块链“谷歌引擎”Covalent API, 无需编程实现跨链技术只需一秒

    区块链技术是可以颠覆世界的.然而,尽管区块链上数字资产出现大幅增长,但是访问详细的历史区块链数据仍是非常困难的.这番操作及其耗时且计算量大.如果主流客户对区块链产品产生兴趣,那么构建者就应该具备分析区 ...

  6. 【DevOps】灰度发布与蓝绿部署:生产环境中推出新版本的部署策略

    灰度发布和蓝绿部署是两种常见的部署策略,用于在生产环境中推出新版本,减少影响和风险.今天呢,田辛老师将详细介绍灰度发布和蓝绿部署的原理.优缺点以及举例说明实际操作的步骤. 1 灰度发布 1.1 原理 ...

  7. Maestro 薛定谔软件简单分子对接案例

    ##参考: Maestro 薛定谔软件使用: https://www.bilibili.com/video/BV1RN411X7Te https://www.youtube.com/watch?v=N ...

  8. 薛定谔 | 共价对接

    薛定谔的共价对接前面的准备部分和常规对接相似,不同点在于共价对接不需要生成配体分子格点文件,做完前面两步(对蛋白.配体预处理)之后就可以进入对接页面了: 1. prepare protein模块对蛋白 ...

  9. linux集群上的SCHRODINGER 分子对接工作流程

    文章目录 前言 一.总体工作流简介 二.ligprep参数介绍 三.grid_gen_from_pv.py 参数介绍 四.GVSrun参数介绍 五.相关文件 六.时间预估 六. 特别感谢 前言 gli ...

最新文章

  1. 验证输入的是否数字的几种方法
  2. 基于HT for Web的3D拓扑树的实现
  3. SpringBoot 自带工具类~FileCopyUtils
  4. 信息学奥赛一本通 1023:Hello,World!的大小 | OpenJudge NOI 1.2 10
  5. linux中pss用法,[Linux] Memory: VSS/RSS/PSS/USS
  6. VUE 项目如何快速优化?| 原力计划
  7. ide进行php编程快捷键,PHP IDE phpstorm 快捷键
  8. 获取音频频响和失真_专业音响设备_音频功放失真的四大要点及改善方法
  9. Adobe Premiere(pr)2021 安装教程【64位】
  10. jsp案例分析(二)-聊天室-2-逆向建模
  11. ultravnc 设置代理_紫竹桥代理记账哪家好详情
  12. 在Word文档里如何快速返回目录页-Office学习
  13. Python - names模块解析(海量英文名)
  14. 淘宝滞销宝贝怎么处理?面对滞销宝贝怎么正确处理?
  15. Oracle Sqlplus命令登录的几种方式
  16. matlab怎么输入列表,在MATLAB中具有灵活的有序/无序和标记/未标记输入列表的函数...
  17. AndroidStudio实现用户登录注册界面代码(一)
  18. 网站推广最实用不过的七种方法
  19. JRUY-G3交流三相电压继电器
  20. [深入理解Android卷二 全文-第八章]深入理解ContentService和AccountManagerService

热门文章

  1. 【openstack】Designate组件,入门级安装(快速)
  2. 线性代数学习笔记——第七十六讲——矩阵的合同
  3. 外汇天眼:多位支持加息放缓!美元走弱黄金上涨
  4. 基于arduino的蓝牙小车 超声波测距 OLED 屏幕显示数据 超声波避障 蓝牙控制 pwm调速
  5. Oracle通过sql语句过滤ASCII控制字符
  6. overleaf里出现红色log的原因
  7. LTH7R锂电池充电管理IC技术分享
  8. Halcon学习(1)初识Halcon HDevelop
  9. 5000字深度丨阿里巴巴用AI破局孕妇糖尿病
  10. python27.dll是系统自带的吗_Windows 10自带6款超强工具!好用又免费!