如何用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. [置顶] 云端TensorFlow读取数据IO的高效方式

    低效的IO方式 最近通过观察PAI平台上TensoFlow用户的运行情况,发现大家在数据IO这方面还是有比较大的困惑,主要是因为很多同学没有很好的理解本地执行TensorFlow代码和分布式云端执行T ...

  2. 细说并发4:Java 阻塞队列源码分析(上)

    上篇文章 趣谈并发3:线程池的使用与执行流程 中我们了解到,线程池中需要使用阻塞队列来保存待执行的任务.这篇文章我们来详细了解下 Java 中的阻塞队列究竟是什么. 读完你将了解: 什么是阻塞队列 七 ...

  3. 国内知名的自然语言处理(NLP)团队

    工业界 腾讯人工智能实验室(Tencent AI Lab) 百度自然语言处理(Baidu NLP):对外提供了百度AI开放平台,王海峰(现任百度副总裁,AI技术平台体系AIG总负责人) 微软亚洲研究院 ...

  4. HDU 3378

    http://acm.hdu.edu.cn/showproblem.php?pid=3378 规则去玩三国杀就理解了 纯模拟 注意的点:有已经分出胜负但还在杀的情况出现,所以要每次杀操作前判断是否分出 ...

  5. 我为什么想并且要学习Scala

    为什么学习函数式编程 在阅读DDD巨著<Patterns, Principles, and Practices of Domain-Driven Design>的过程中,Scott在第5章 ...

  6. TCP/IP 必知必会的十个问题

    本文整理了一些TCP/IP协议簇中需要必知必会的十大问题,既是面试高频问题,又是程序员必备基础素养. 一.TCP/IP模型 TCP/IP协议模型(Transmission Control Protoc ...

  7. python 生成器推导式与列表推导式的区别

    生成器表达式现用现生成,列表推导式一次性生成静态数据 L = [2, 3, 5, 7] L2 = (x**2+1 for x in L) it = iter(L2) print(next(it)) L ...

  8. BD09坐标(百度坐标) WGS84(GPS坐标) GCJ02(国测局坐标) 的相互转换

    BD09坐标(百度坐标) WGS84(GPS坐标) GCJ02(国测局坐标) 的相互转换 http://www.cnphp6.com/archives/24822 by root ⋅ Leave a ...

  9. 使用jenkins持续集成自动化测试

    本文采用Springboot开发一个简易的添加个人资料和查询个人资料接口,并采用testng进行测试,使用jenkis进行持续继承,allure输出测试报告. 个人资料查询接口开发(集成H2数据库) ...

  10. VC中键盘键的对应关系

    转载:VC中如何响应键盘和鼠标事件 VC 中用 KeyPress 表示键盘响应的所有事件,包括 OnKeyDown 事件(键按下). OnKeyUp 事件(键按下后弹起)和 OnKeyPress 事件 ...