在阅读文献时,大家经常会看到各种蛋白质结构图,或者自己研究时也需要画图。今天,计算化学和分子生物信息学实验室的主页君就简单地介绍下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微博!
长按下图识别图中的二维码,轻松关注我们!
领取专属 10元无门槛券
私享最新 技术干货