可能是全网最好的pymol教程

在阅读文献时,大家经常会看到各种蛋白质结构图,或者自己研究时也需要画图。今天,计算化学和分子生物信息学实验室的主页君就简单地介绍下Pymol以及其基础的用法这篇pymol使教程,可能是全网最好最容易上手的了。

基本知识介绍

1

什么是pymol:

PyMOL软件以Py+MOL命名:“Py”表示它是由一种计算机语言Python所衍生出来的,“MOL”表示它是用于显示分子(英文为molecule)结构的软件。为什么选择Pymol,因为它是强大的分子可视化软件,具有诸多优点:

高质量科学论文发表图形

动画制作

文档文件和会话文件并存

鼠标操作与命令行操作

免费的开放源码

PyMOL适用于创作高品质的小分子或是生物大分子(特别是蛋白质)的三维结构图像。软件的作者宣称,在所有正式发表的科学文献中的蛋白质结构图像中,有四分之一是使用PyMOL来制作。

Pymol既可以用鼠标操作,也可以用命令行操作

基础鼠标操作

任意旋转图像:对准图像的任意处点住鼠标左键然后移动鼠标。

放大/缩小图像:对准图像的任意处点住鼠标右键然后移动鼠标:向上是缩小,向下则是放大。

移动图像:对准图像的任意处按住鼠标中键或者滚轮,然后移动鼠标。

设定图像旋转中心:Ctrl+Shift+鼠标中键或滚轮。

移动剪切平面:Shift+鼠标右键。鼠标上下移动:调整前剪切平面(离你近的);鼠标左右移动:调整后剪切平面(离你远的)。

总结起来,基本操作如同下图所示:

命令行操作

Pymol是区分大小写的,不过目前为止Pymol还是只用小写。

Pymol的命令都是由关键词(keyword)加上一些变量(argument)组成,格式如下:

Pymol> keyword argument

其中关键词(keyword) 如load、 zoom、 color、 set等等, 是必须的, ;

而变量则不是必须的,比如退出命令quit就不需要附加变量:

Pymol> quit

通常情况下需要加变量,当不加任何变量时, Pymol会默认一个变量all。

在Internal GUI中,我们经常要用鼠标对界面中的结构进行操作,所以我们一定要熟悉,All指所有的对象,(sele)是选择的对象按钮

A:代表对这个对象的各种action,

S:显示这个对象的某种样式,

H:隐藏某种样式,

L:显示某种label,

C:显示的颜色

具体的节面如下所示:

文档文件的保存

Pymol> log_open script-file-name .pml #记录一个文本文档, 该文件的后缀名应为.pml

Pymol> log_close # 终止记录

Pymol> @script-file-name # 调用该文档

会话文件的保存

外部GUI窗口里面的File - Save Session,创建一个会话文件(.pse),下次打开Pymol时直接回到当前所在的状态。

两者区别: 文档文件可以编辑,但会话文件不可以;记录文档文件前必须先运行log_open命令,而会话文件可以随时创建;最后文档文件以文档形式运@,而打开会话文件必须选择外部GUI窗口中的File-Open。

图片的保存

Pymol> png file-name # 图片被保存在PyMOL安装默认的文件夹中

对于整个窗口,底部窗口“PyMOL Viewer”包含“内部GUI”,它由窗口右侧显示的控件和信息组成。内部GUI包含所有对象和选择的名称列表可以切换命名实体的显示,以及通过“弹出”菜单更改它们的单独表示方式。

PyMOL对于载入的PDB,有丰富的结构展示,总有一款你想要。

总有一款你想要

下面我们就以1T46.pdb进行PDB结构的展示,下图是2004年发表的一篇文章,从现在的角度看,虽然当时可视化软件不成熟,但基本的结构都已经展示出来了,那就让我们开始吧:

一般可以选择pretty,然后对于不同的区域进行着色,如下图:

对于文章中的氨基酸残基,可以选择C,即color,把总体展示成灰色,然后在序列中,选择文章中提到的氨基酸,进行突出展示,做完后如下图

接下来就是细节的展示了,如下图:

后期的美化之后的内容中会提到,下面介绍下Pymol的一些重要功能及其说明:

测量

二级结构归属

PyMOL具有快速合理的二级结构归属算法,即“dss”,但由于二级结构归属的主观因素, dss的结果可能会不同于PDB文件中DSSP程序的结果

探测静电力学

PyMOL能够利用泊松波尔兹曼方程计算水溶液状态下的静电力学,效果图如下:

下面主页君就介绍一些pymol应用的实例,同学们若是对一些命令和操作不懂的话,可以去pymolwiki中查找,https://pymolwiki.org/index.php/Main_Page

PyMOL命令行应用实例1:Cartoon及表面显示

Load the PDB file

• pymol> fetch 1w2i

Hide everything and then show protein cartoon

• PyMOL> hide everything, all

• PyMOL> show cartoon, all

Color the helix, sheet, and loop

• PyMOL> color purple, ss h

• PyMOL> color yellow, ss s

• PyMOL> color green, ss ""

Color chain A and B

• PyMOL> color red, chain A

• PyMOL> color blue, chain B

Create a surface display for chain A

PyMOL> create obj_a, chain A

PyMOL> show surface, obj_a

Color the active site residue

PyMOL> select active, (resi 14-20,38 and chain A)

PyMOL> color yellow, active

PyMOL> turn y, -60; turn x, -20

PyMOL> zoom active

Locate and display the bound formate ion in the active site.

PyMOL> select ligand, active around 3.5 and resn FMT

PyMOL> show sticks, ligand

PyMOL> show spheres, ligand

PyMOL> alter ligand, vdw=0.5

PyMOL> rebuild

PyMOL> set transparency=0.25

8Rendering and output

• PyMOL> bg_color white

• PyMOL> ray

• File -> Save Image

一顺溜做下来,你就可以得到如下的图片

太漂亮了

PyMOL命令行应用实例2:

活性位点侧链显示及距离的测量

我们继续根据1w2ipdb 进行操作,就从例子1所展示的结构继续下去:

Display the side-chain of active site residues on top of the cartoon representation

• PyMOL> hide surface

• PyMOL> select sidechain, not (name c+n+o)

• PyMOL> show sticks, (active and sidechain)

• PyMOL> color blue, name n*

• PyMOL> color red, name o*

• PyMOL> color white, name c*

接下来进行距离的衡量,Wizard -> Measurement -> Distance,进行稍微的美化,把cartoon的透明度调整后,即可得到下图:

喜欢鼠标操作的也可以根据一开始的介绍,用鼠标做出上述的图,另外,主页君在这里介绍一些pymolx小技巧

技巧1:如何选取配体周围氨基酸

我们常常遇到想要选取配体周围几埃范围内的氨基酸,这样更有利于我们分析配体和周围氨基酸的作用。

首先我们可以通过命令

[code=Python width=600px]select ligand,resn x[/code]

PS: x为配体名字

[code=Python width=600px]color red, ligand[/code]

[code=Python width=600px]select 5A, byres ligand around 5[/code]

PS: 配体5埃范围内的残基

[code=Python width=600px]show sticks, 5A

color yellow, 5A[/code]

小技巧2-键角

小技巧3:巧用pymol的渲染(ray)

ray将会创建一个现在的框架图像的渲染(ray-traced)图像。我们平常使用pymol的时候可能就是直接ray一下出图,其实ray有许多功能可以挖掘,这里简单介绍一小部分使用

设置Ray_trace_mode设置可以修改最终成图的时候的PyMOL的内部渲染蛋白的模式.下面可以查看不同模式的效果

# 普通颜色

set ray_trace_mode, 0

# 普通颜色+黑色线

set ray_trace_mode, 1

# 仅包含黑色线

set ray_trace_mode, 2

# 倍色+黑色线

set ray_trace_mode, 3

# 建议设置

set antialias, 2

# 更改线的颜色

set ray_trace_color, magenta

下面进行具体的展示:

ray_trace_mode, 1

ray_trace_mode, 2

ray_trace_mode, 3

ray_trace_color, magenta

还有很多pymol画图的小技巧,限于篇幅,就不一一展示了,值得一提的是:你是否发现Pymol新的版本已经下载不到安装版了?

以下是Pymol官方网站对版权的描述。

PyMOL is a commercial product, but we make most of its source code freely available under a permissive license. The open source project is maintained by Schrödinger and ultimately funded by everyone who purchases a PyMOL license.Open source enables open science.This was the vision of the original PyMOL author Warren L. DeLano.”

从此描述来看,Pymol是一个开源项目,这是其创始者Warren Lyford DeLano 先生一直坚持的。你大可以放心的免费使用源码编译后的Pymol用于学术研究。

下图便是2.3版本的pymol。当然,不要忘记了 致谢!

觉得好的话,赶紧分享或收藏起来吧,yesterday you said tomorrow !

本文版权属于上海交通大学计算化学与分子生物信息(CCMBI)实验室,未经许可谢绝转载,欢迎读者朋友分享到朋友圈or微博!

长按下图识别图中的二维码,轻松关注我们!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181101G218C400?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券