摘要:本文描述了如何用Pymol的CGO绘制球与箭头来表示配体-受体相互作用特征。

一. 问题描述

如何用不同颜色的球、箭头来展示配体-受体相互作用特征:正电中心、负电中心、疏水、氢键相互作用(并用箭头表示氢键方向)、以及蛋白原子的排斥体积?

教程 | 如何用Pymol展示配体-受体相互作用-墨灵格的博客

图1. 配体-受体相互作用

分析图1可以发现,相互作用特征用不同颜色的球与箭头表示,那么问题的关键是:如何绘制表示相互作用特征的球与箭头呢?如图2所示。

教程 | 如何用Pymol展示配体-受体相互作用-墨灵格的博客

图2. 配体-相互作用特征的绘制

二. 解决方案

1. 用CGO定义球

1
2
3
4
5
6
7
8
9
10
11
12
13
14
from pymol.cgo import *
from pymol import cmd
 
#Hydrophobic, Golden                               #注释行,说明这个金黄色的球代表疏水相互作用
spherelist = [                                     
 
COLOR, 1.0,    0.5,    0.0,                        #用RGB格式设置球的颜色
SPHERE, 9.148816,  27.9758, 67.40325, 0.5,         #设置球的位置(x,y,z)与半径,这个球作为球心使用
ALPHA,0.7,                                         #设置球的透明度
COLOR, 1.0,    0.5,    0.0,                        #用RGB格式设置球的颜色
SPHERE, 9.148816,  27.9758, 67.40325, 1.5,         #设置球的位置(x,y,z)与半径
]
 
cmd.load_cgo(spherelist, 'Hydro')                  #这个球是个pymol的对象,起个名字角Hydro

将上述代码保存为hydro.py,让pymol去运行即可:

1
run hydro.py

同样的道理,你可以给自己设计排斥球,比如用灰色的球表示受体所在位置,并命名为Ex:

1
2
3
4
5
6
7
8
9
10
11
#exclusion, Gray
spherelist = [
 
COLOR, 1.00,    1.000,    1.000,
SPHERE, 12.564666, 24.091694, 66.811165, 0.3,
ALPHA,0.6,   
COLOR, 1,1,1,
SPHERE, 12.564666, 24.091694, 66.811165, 1.0,
]
 
cmd.load_cgo(spherelist, 'Ex')

依此类推,用球来表示氢键受体、供体,正电中心,负电中心等。其中的氢键受体与供体因为有方向性,我们需要进一步用箭头表示方向,见下一节箭头的表示。

2. CGO对箭头的表示

Pymol的CGO支持在两个原子间绘制箭头:从一个原子指向另一个原子,并可以定义箭头的大小,与长度等。语法如下:

1
cgo_arrow [ atom1 [, atom2 [, radius [, gap [, hlength [, hradius [, color [, name ]]]]]]]]

其中atom 1与atom 2除了可以用pymol的原子表达式外,还可以用x,y,z坐标来表示;此外还可设置箭簇与箭杆的半径与长度、颜色等。具体用方法如下:

  1. 下载cgo_arrow.py,并运行该脚本
  2. cgo_arrow.py下载:https://github.com/Pymol-Scripts/Pymol-script-repo/raw/master/cgo_arrow.py

  3. 按箭头语法键入命令
  4. 应用实例:

    1
    2
    3
    4
    5
    6
    
       run cgo_arrow.py
     
       fetch 1rx1, async=0
       preset.pretty("*")
     
       cgo_arrow [34.9, 68.4, 19.1], A/164/O3X, gap=1.0

    结果如图3所示:

    教程 | 如何用Pymol展示配体-受体相互作用-墨灵格的博客

    图3. 箭头的使用

图4是一个绘制的相互作用练习,包含了:氢键受体、箭头、正电中心、负电中心、疏水中心等相互作用。

教程 | 如何用Pymol展示配体-受体相互作用-墨灵格的博客

图4. 一个包含多种相互作用的练习

三. 参考资料

  1. Pymol Wiki
  2. https://pymolwiki.org

  3. CGO_ARROW的下载与使用
  4. https://pymolwiki.org/index.php/Cgo_arrow

  5. PYMOL的下载与安装
  6. 源代码需编译:https://sourceforge.net/projects/pymol

四. 相关教程

  1. Ligandscout教程 | 2D图展示配体-受体相互作用
  2. http://blog.molcalx.com.cn/2017/09/28/ligandscout-2d-interaction.html

  3. 推荐微信公众号“沥雨亭”GZT的文章