摘要:本文演示了如何用Pymol与Openbabel从蛋白复合物结构出发准备AutoDock Vina计算所需的蛋白结构文件、配体文件、对接参数文件,并进行VINA分子对接计算。本文获得的这些文件,可进一步用于Cloudam VirtualFlow的高通量虚拟使用。

前言

抗白血病药物格列卫是ABL激酶抑制剂,1IEP晶体结构为格列卫(STI, GLEEVEC)与ABL激酶的复合物结构。在本练习中,演示了用Pymol从1IEP复合物结构出发准备起始的受体结构文件,并用在云E算力平台上预装的OpenBabel与分子对接软件AutoDock VINA完成:1)蛋白结构准备;2)配体结构准备;3)分子对接参数设置;4)分子对接;5)结果文件的格式转化;6)可视化分析。本文准备的文件可进一步用于Virtualflow进行高通量虚拟筛选。

本教程的目的

本教程的主要目的是初步了解:

  1. 如何用PYMOL准备蛋白结构
  2. 如何用OpenBabel转化PDB格式为PDBQT
  3. 如何准备Vina的对接参数文件
  4. 如何提交一个简答的VINA对接计算

用到的软件

  1. PYMOL
  2. 用于蛋白的准备,需要预先安装于本地机器上。

    Pymol的获取:https://github.com/schrodinger/pymol-open-source

  3. OpenBabel
  4. 用于格式转化,源代码与使用手册:http://openbabel.org

    OpenBabel已经预装于Cloudam云E算力平台,用module命令加载:

    1
    2
    3
    
    module add Anaconda3/2020.02
    source activate
    conda activate rdkit
  5. Vina家族软件
  6. 分子对接计算引擎VINA已经预装于Cloudam云E算力平台的virtualflow,可以复制到本地使用:

    1
    2
    
    export VFVS_ROOT=/public/software/.local/easybuild/software/virtualflow
    cp -r  $VFVS_ROOT/vfvs/tools .

    更简单的办法是通过PATH直接使用:

    1
    2
    
    export VFVS_ROOT=/public/software/.local/easybuild/software/virtualflow
    export PATH=$VFVS_ROOT/vfvs/tools/bin:$PATH

    Vina家族对接软件可执行文件都在VFTools/bin目录里。更多的AutoDock软件包介绍见:https://ccsb.scripps.edu/autodock以及Stefano等人[1]的使用教程。

本教程需要了解的预备技能

  • 对Linux的shell命令有初步了解
  • 对分子可视化软件Pymol有初步了解

操作步骤

Cloudam教程 | AutoDock Vina分子对接软件的使用-墨灵格的博客

Figure 1. 用Pymol与OpenBabel进行结构准备的操作流程

1. 下载蛋白

在Pymol命令行键入:

1
fetch 1iep

2. 将蛋白A链单独保存

由于1IEP有两个链,我们仅需要其中一个(Chain A),在Pymol命令行键入:

1
create 1iepA, Chain A

3. 删除一个对象

为了操作简单,删除掉一个对象:

1
delete 1iep

4. 删除水分子

1
remove resn HOH

5. 加极性氢

1
h_add elem O or elem N

6. 将复合物的配体复制为一份单独的对象

1
create ligand,RESN STI

7. 将复合物的蛋白复制为一份单独的对象

1
create protein, 1iepA and not RESN STI

8. 保存蛋白为本地PDB文件

1
save d:/work/docking/protein.pdb protein

9. 保存配体为本地PDB文件

1
save d:/work/docking/ligand.pdb ligand

10.将配体(STI)周围4.2A残基定义为结合位点并创建对象

1
create pocket, (byres (RESN STI round 4.2))

该操作的目的是可以对结合位点进行更好的渲染,不是必须的。

11. 将受体蛋白PDB格式转为PDBQT格式

本步骤将将第8步保存的受体文件protein.pdb转为PDBQT文件,用于后续分子对接计算用。

1
obabel -ipdb protein.pdb -opdbqt -xr -O protein.pdbqt

12. 将配体分子格式转化为PDBQT格式

以ZINC下载的mol2文件为例(在实际研究中,可能是其它软件比如chem3d保存的一个sdf或mol2文件),用openbabel转为配体用的PDBQT文件,用于后续分子对接计算用。

1
obabel -imol2 ZINC000019632618.mol2 –opdbqt -O ZINC000019632618.pdbqt
Cloudam教程 | AutoDock Vina分子对接软件的使用-墨灵格的博客

Figure 2. 对接参数文件的准备

接下来开始准备vina的对接参数文件。

13. 通过共晶配体定义结合位点的中心

在第10步,我们将共晶配体提取出来,并保存为PDB格式。可以利用该配体来定义结合位点的中心坐标:

1
obabel –ipdb ligand.pdb –obox

其中输出如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
HEADER    CORNERS OF BOX
REMARK    CENTER (X Y Z)          15.190     53.903     16.917
REMARK    DIMENSIONS (X Y Z)      10.664     18.739     15.526
ATOM      1  DUA BOX     1       9.858  44.533   9.154
ATOM      2  DUA BOX     1      20.522  44.533   9.154
ATOM      3  DUA BOX     1      20.522  44.533  24.680
ATOM      4  DUA BOX     1       9.858  44.533  24.680
ATOM      5  DUA BOX     1       9.858  63.272   9.154
ATOM      6  DUA BOX     1      20.522  63.272   9.154
ATOM      7  DUA BOX     1      20.522  63.272  24.680
ATOM      8  DUA BOX     1       9.858  63.272  24.680
CONECT    1    2    4    5
CONECT    2    1    3    6
CONECT    3    2    4    7
CONECT    4    1    3    8
CONECT    5    1    6    8
CONECT    6    2    5    7
CONECT    7    3    6    8
CONECT    8    4    5    7

我们关注第2行,给出了配体的质心,我们利用该质心用于定义Vina的x,y,z中心坐标。

14. Vina的参数文件

Vina计算所需的参数可以通过键入vina命令来获得。参数可以从命令行输入,也可以从参数文件读入。假设我们的参数文件为config.txt,部分参数设置如下:

1
2
3
4
5
6
7
8
9
receptor = protein.pdbqt   #第11步准备的蛋白文件
center_x = 15.190          #第13步获得
center_y = 53.903          #第13步获得
center_z = 16.917          #第13步获得
size_x = 30.0
size_y = 30.0
size_z = 30.0
exhaustiveness = 8
cpu = 1

第7行exhaustiveness的值越大,AutoDock Vina搜索的越充分,计算所需的时间与之成线性增加;如果第8行不指定CPU的数量,则使用全部的cpu核心进行计算,所用CPU数越多,完成计算所需的挂钟时间越短。

15. 用VINA进行分子对接

现在我们用vina将第12步准备的配体对接到蛋白结合位点里,用纯命令行方式输入参数:

1
2
3
4
5
6
7
8
9
10
11
12
vina --receptor protein.pdbqt \
         --ligand ZINC000019632618.pdbqt \
         --center_x 15.1 \
         --center_y 53.9 \
         --center_z 16.9 \
         --size_x 30 \
         --size_y 30 \
         --size_z 30 \
         --out vina.pdbqt \
         --log vina.log \
         --exhaustiveness 20 \
         --num_modes 20

如果使用第14步准备好的参数文件,则命令可得到简化:

1
2
3
4
vina --config config.txt \
     --ligand ZINC000019632618.pdbqt \
     --out vina.pdbqt \
     --log vina.log

其中--out为输出文件(pose预测结果);其中--log为日志文件。预测的pose可以直接重命名为pdb格式,用视图软件分析,比如pymol或Flare Viewer。其中Flare Viewer比起Pymol更加简单易用。

Figure 3. Flare分析STI与BCR-ABL的相互作用

避免误解的说明

本文采用PyMol进行初始的蛋白结构准备,仅是出于完成AutoDock Vina计算任务最基本的要求,并没有全面考虑蛋白结构准备的各个方面,比如:原子或残基缺失的修复、质子化状态与互变异构体的处理、侧链构象的选择、水分子的保留与否、金属离子的处理等等。正式的研究中应该充分考虑这些问题。PyMol并非蛋白结构准备的必须,也并非优选工具。有很多优秀的软件可以更可靠的进行结构准备。

OpenBabel用于将蛋白的PDB格式文件与配体的mol2格式文件转化为PDBQT格式文件非常方便,但是官方标配是AutoDockTools。并不了解OpenBabel与AutoDockTools两者之间的差异。读者需自行了解,但是OpenBabel无疑是非常方便的。

接下来可以做什么

  • Virutalflow进行超高通量虚拟筛选
  • 以预测的pose为起点用FEP计结合亲和力
  • 以预测的pose为起点进一步用分子动力学模拟考察结合的稳定性
  • 以预测的pose为起点用基于结构的方法生成药效团模型

文献

  • Forli, S.; Huey, R.; Pique, M. E.; Sanner, M. F.; Goodsell, D. S.; Olson, A. J. Computational Protein–Ligand Docking and Virtual Drug Screening with the AutoDock Suite. Nat. Protoc. 2016, 11 (5), 905–919. https://doi.org/10.1038/nprot.2016.051.