如何用Pymol做出那些美呆的结构图(基础篇)

2016-10-31  翾园  摘自 BioEngX生化...  阅 1079  转 6
 

摘自微信公众号:BioEngX生化工程实验室

小伙伴们在阅读文献的时候是不是经常会看到那种美呆了的蛋白质结构图,比如这样的、这样的、还有这样的......

认真的小伙伴在这些论文配图的注解里一定看过这么一句话:“The image was generated in Pymol” (Reference 1)

今天,小编就简单的介绍下Pymol以及其基础的用法。Pymol是一个开放源码,由使用者赞助的分子三维结构显示软件,由Warren Lyford DeLano编写,并且由DeLano Scientific LLC负责商业发行。DeLanoScientific LLC是一个私人的软件公司,它致力于创造让普遍的科学与教育社群都能取得的好用软件工具。当然部分软件也是收费的。

Pymol被用来创作高品质的分子(特别是生物大分子如蛋白质)三维结构。据软件作者宣称,在所有正式发表的科学论文中的蛋白质结构图像中,有四分之一是使用Pymol来制作的。Pymol名字的来源:“Py”表示该软件基于python这个计算机语言,“Mol”则是英文分子(molucule)的缩写,表示该软件用来显示分子结构。

当你打开Pymol后,你将会看到如下图所示的界面:

该界面分为2窗口,上面的外部GUI窗口(External GUI)和下面的Viewer Window。Viewer Window又分为左右两块,左边用来显示结构图像的(Viewer),右边则是一个内部GUI窗口(Internal GUI)。Viewer自身包含一个命令行(如图中左下方的PyMOL>提示符),可以用来输入Pymol命令;在Inernal GUI中则可以选定一些特定的对象并完成一些操作。Internal GUI右上角有五个按键,A,S,H,L,C分别是五个单词的缩写Actions, Show, Hide, Label,Color。Actions 代表对这个对象的各种操作;Show,显示这个对象的某种样式;Hide,隐藏某种样式;Label,显示某种label;Color,显示颜色。

现在我们从www.pdb.org上下载一个pdb文件,就拿小编的研究对象转酮醇酶(transketolase)作为例子吧,名字为1QGD.pdb。加载文件有二种方法:在External GUI中选择File - Open,或者使用命令行: load <filename>。当然也可以直接双击PDB文件打开。

该蛋白质的结构被显示出来啦,如下所示

图1

是不是觉得上面的那个三维结构图看起来乱七八糟的阿,那是因为蛋白质分子都是由成千上万个原子组成的,而Pymol打开pdb文件时是默认把所有的原子都显示在那个小小的Viewer窗口里面。这时候就需要我们对这个图像进行一些操作,来得到漂亮的清晰的蛋白质三维结构图。

基础鼠标操作

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

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

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

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

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

最后一项“移动剪切平面”有点不容易理解,需要多试几次。配合下面的示意图你会发现Pymol的这项设定其实很方便。

图2

注意:上述的所有操作都是在mouse mode:3-Button Viewing下进行的,这个模式也是默认状态下的。点击可以更改为3-Button Editing模式,在这个模式下能够对图像进行编辑更改。

基础显示操作

由于Pymol的功能太多,如果详细的介绍绝对可以写成一本小书了,所以小编只介绍些常用又实用的功能,其他的细节大家要自己去挖掘了。

1以卡通图像显示

卡通形式显示的蛋白质3D结构图既美观又能清楚地显示二级结构信息。那要怎么做呢?看下图

图3

点击图1中的S-as-cartoon,这样整个结构就以卡通形式显示了,当然你也可以以其他形式比如 lines,sticks,ribbon等显示。

2以二级结构标记颜色

点击图1中右上角的C,就可以对图像进行颜色的改变了。从下图可以知道,结构的颜色可以根据element,chain,SS等进行改变。Element的意思是对不同的原子进行分别着色;chain就是对不同的链进行不同的着色;SS是secondary structure的缩写,也就是对不同的二级结构进行不同的着色。我们选择SS,而后选择需要哪种形式的颜色。

图4

3改变背景为白色

大家应该注意到,Pymol的背景色是黑色的,但是在我们看过的很多paper中,几乎没有一副图的背景是黑色的,这太坑了。所以为了最终图像的美观,我们要改变一下背景色。

图5

这时我们需要使用上面的外部GUI窗口菜单内的功能了,选择display-background-white,这时候背景就变成了白色了。不过细心的小伙伴会注意到,这个图像的分辨率咋这差呢。确实,此时的图像的分辨率是很低的,为了获得完美的图片,还差最后一步。

4Ray到最终图

在窗口的空白处,点击鼠标右键,选择ray,而后软件会自动对图像进行美化,调整分辨率。

图6

怎么样,图6的图像是不是要比图5中图像更美观?

5保存图片

获得满意的图形后,就可以保存到本地了。操作如下图:选择File==>Save Image As==>PNG

图7

小编今天简单介绍了Pymol的基本使用方法,事实上, pymol最强大的是其命令行操作,这留在我们下次介绍。如果你对Pymol的使用或者分子动力学模拟感兴趣,请加入“BioEngX-分子动力学模拟”学术交流群。添加方法:联系管理员微信:bioengxadmin,小编手动拉你进去哦~~

Reference

1. DeLano W.L., The PyMOL Molecular Graphics System, 2002. DeLano Scientific,Palo Alto, CA, USA. http://www.pymol.org.

更多精彩内容,访问BioEngX官网,http://www.bioengx.com

Pymol的更多相关文章

  1. pymol installation

    # download (1) python wget https://www.python.org/ftp/python/2.7.9/python-2.7.9.amd64.msi (2) pymol ...

  2. import renumber.py in pymol

    cp renumber.py /usr/local/lib/python2.7/dist-packages/pymol import renumber or run /path/to/renumber ...

  3. ROSETTA使用技巧随笔--PyMOL实时观测ROSETTA模拟过程中的结构变化

    没有梦想的人,就是一只咸鱼,像我,就有一个梦想,就是让蛋白模拟过程变成动画,动起来! 虽然MD中有很多方法可以方模拟过程像动画一样播放出来,但是我一直想在ROSETTA中也找一个这样的功能,这不,我发 ...

  4. 用PyMOL展示配体和受体相互作用的原子和氢键

    转载于 https://mp.weixin.qq.com/s/P62sjqhSTxmWVicrEAk-RQ 为了简化展示过程,我们设计了一个pml脚本 (脚本内有很详细的解释),只需要修改脚本里面受体 ...

  5. pymol编译

    https://pymolwiki.org/index.php/Linux_Install

  6. 类似QtiPlot的veusz,sigmaplot,pymol

    qtiplot在win下没那么好编译 依赖很多外部包的 scidavis 和 labplot是从他fork出来的 比较接近Origin 可以用这两个 FreeBSD 的 ports 里有直接 cd / ...

  7. Cheminformatic Set

    蛋白: 数据库 1. 蛋白晶体结构数据库 http://www.rcsb.org/pdb/home/home.do 2. 蛋白注释数据库 http://www.uniprot.org/ 工具 1. r ...

  8. autodock 结果pdb的生成

    Is there a way to save a protein-ligand complex as a PDB file in AutoDock? I have completed my docki ...

  9. python binary lib on win/各种python库的二进制包

    虽然很不愿意在windows上折腾python,但有时linux不在身边的时候还得在windows上写代码.很久之前找到这个地址,后来忘了,今天搜了半天才把它找到,所以记录一下. http://www ...

随机推荐

  1. 数据交换格式 —— JSON(JavaScript Object Notation)

    当请求 headers 中,添加一个name为 Accept,值为 application/json 的 header(也即"我"(浏览器)接收的是 json 格式的数据),这样, ...

  2. freeradius连接mysql数据库慢

    [环境说明] 服务器版本         redHat5.3 mysql版本         MySQL5.6.22 freeradius版本   2.1.12 [问题描述] 配置好freeradiu ...

  3. Codeforces 311B Cats Transport【斜率优化DP】

    LINK 题目大意 有一些猫,放在一些位置,人一步移动一个位置 给出每个猫出现的时间,每个人可以自由安排其出发时间,沿途已经出现的猫捡起,猫等待的时间是被减去的时间减去出现的时间 猫可以等人,人不能等 ...

  4. JQ 知识点集合

    数组与字符串间的转换 一.数组转字符串(将数组元素用某个字符连接成字符串) var a, b; a = new Array(0,1,2,3,4); b = a.join("-"); ...

  5. IIS项目发布完整流程

    第一步: 发布项目 使在IIS上发布是防止源码泄露 第二步: 打开IIS(如果没有就自己安装一个)打开IIS步骤 控制面板>系统安全>管理工具>IIS管理器 填写网站的名称和之前发布 ...

  6. mfc 鼠标、键盘响应事件

    一.基本目标 1.有一个基本的MFC程序,点击“关闭”则“关闭”这个程序,这点没什么好讲的,把自带的“取消”按钮,右键->属性的Caption改成“关闭”二字就可以了 2.鼠标在对话框中移动,则 ...

  7. Git 的分支和标签规则

    Git 的分支和标签规则 分支使用 x.x 命名,不加 V. 标签使用 v1.x.x-xxx 方式命名.(v 为小写) 分支和标签名不可重复.

  8. 莫名其妙的js基础学习!

    JavaScript基本组成部分: 1,ECMAScript:js的语法标准,基本的变量,运算符,函数,if语句,for语句等 2,DOM:操作网页上的元素API,比如盒子的移动,变色,轮播图等. 3 ...

  9. Cookie Session 和Django分页

    cookie Cookie的由来 大家都知道HTTP协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不 ...

  10. Ipython notebook 一些技巧

    在模块后面输入:?,运行可以显示说明: 输入:??,运行可以显示源代码. 输入%matplotlib inline将matplotlib库导入,要显示的图片就可以嵌入到网页中了 %prun用于代码的执 ...