如何用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. [Math]Pi(2)

    [Math]Pi(2) 接着前一篇,[Math]Pi(1),下面继续介绍Leonard Euler求Pi的第二个公式. 其实这个公式也是来源一个古老的问题,Basel problem . 证法1.麦克 ...

  2. moment时间转换插件

    在vue中的使用: import moment = from “moment” Vue.prototype.$moment = moment; 获取时间戳 : var res = this.$mome ...

  3. Android编程实例-获取当前进程名字

    下面代码是根据进程id获取进程名字: /** * 根据Pid获取当前进程的名字,一般就是当前app的包名 * * @param context 上下文 * @param pid 进程的id * @re ...

  4. AX内部公司

    <object width="450" height="500" align="middle" id="reader&quo ...

  5. HDU - 5628:Clarke and math (组合数&线性筛||迪利克雷卷积)

    题意:略. 思路:网上是用卷积或者做的,不太会. 因为上一题莫比乌斯有个类似的部分,所以想到了每个素因子单独考虑. 我们用C(x^p)表示p次减少分布在K次减少里的方案数,由隔板法可知,C(x^p)= ...

  6. (转载)从MVC到前后端分离

    摘要:MVC模式早在上个世纪70年代就诞生了,直到今天它依然存在,可见生命力相当之强.MVC模式最早用于Smalltalk语言中,最后在其它许多开发语言中都得到了很好的应用,例如,Java中的Stru ...

  7. 《DSP using MATLAB》示例Example7.3

    由图上可以看出,与幅度谱对应的相位谱是分段线性函数,而与振幅谱对应的相位谱是真正线性函数. 幅度谱和振幅谱的区别也很明显.

  8. flask第二十篇——模板【3】

    请关注公众号:自动化测试实战 现在我们通过查询字符串的方式给render_template传参,我们就要用到flask库的flask.request.args.get()函数先获取参数,在index. ...

  9. matlab中矩阵式子的不成熟理解

    matlab中的矩阵式的系统方式理解:一个矩阵式代表一个系统的作用,列代表输入,行代表输出,有多少列就有多少输入,有多少行就有多少输出,矩阵式的相加代表的是线性系统的叠加作用,矩阵式的相乘代表的是两个 ...

  10. 洛谷 4525 && 洛谷 4526 【模板】自适应辛普森法

    题目:https://www.luogu.org/problemnew/show/P4525 https://www.luogu.org/problemnew/show/P4526 参考:https: ...