生物大分子三维结构显示技术讲义
PyMOL使用入门
耿存亮
**********************
2012年10月09日
PyMOL使用入门
1
简介
PyMOL是一款生物大分子三维结构显示软件,其中“Py”是指此软件使用
Python语言编写,“MOL”是指Molecule。
PyMOL官网是/,发展历史和软件更新动态可在此查
询。
PyMOL的学习网站是//Main_Page,若想
用好PyMOL,此网站是必上网站,其实这一个也就够了。
入门
2.1模式显示及颜色显示
PyMOL既可以鼠标操作也可以命令操作,但是命令操作可以完成许多鼠标
难以完成的任务。下面就以实例来认识一下PyMOL。
打开PyMOL软件后,首先要特别注意的是当前工作路径。
在命令框输入命令并回车
pwd
即可显示当前工作路径,默认路径是PyMOL的安装路径。一般不把文件保
存在安装路径下,所以需修改当前工作路径,而且路径不能有汉字,
比如改为D盘,输入命令并回车
cdd:
再用pwd命令查看一下当前工作路径。如下图所示:
pwd:printworkingdirectioncd:changedirection
命令很方便很简单很神奇吧O(∩_∩)O~
其次要注意的是保证鼠标是三键式的,滚轮可用作中键。如果像苹果机一样
PyMOL使用入门
2
只有一个按键或没有中键的话,还是赶紧换个鼠标吧。
好了,现在下载一个PDB文件,如何下载呢?
当然可以去PDB网站/pdb/home/下载,但是打
开网页多麻烦啊,如果能用PyMOL直接下载该多好啊,那就试一试fetch命令吧!
下载纤维素外切酶CBHI和纤维素糖链的复合物晶体结构,PDB号是7cel,
输入命令
fetch7cel
稍等片刻,就会下载完毕并显示如下:
刚才说到三键式鼠标,那么三个键都有什么用呢?
按住左键滑动会旋转结构(rotate),按住中键滑动会移动结构(move),
按住右键滑动会缩放结构(movezoom)。
这个不用记,多按几下就熟了,实在忘了在右下角有提示的,如下图
下载打开7cel的pdb文件后,在all小框下面会出现7cel小框,后面还跟着
几个按键ASHLC,这几个按键后面会一点点介绍。先左键点击一下7cel小框,会
发现结构消失了,被点击的小框也变暗了,这就是隐藏功能,再点击一下就会恢
复,如下图所示
PyMOL使用入门
3
看到恢复后的结构你一定感到一团糟吧,这都神马呀!
上过王禄山老师的课后,应该清楚PDB文件就是具有一定格式的文本文档,
里面记录着每个原子的三维坐标值,不信的话可用记事本打开PDB文件看一看。
PyMOL所谓的结构显示就是读取每个原子的三维坐标,然后用一个点(球)来
显示出来,原子之间的化学键用线表示。当然还可以用其他模式的显示,比如大
家很熟悉的螺旋飘带模型,在PyMOL中叫cartoon模式,输入命令并回车
ascartoon
看着熟悉的α螺旋和β折叠,是不是感觉清爽多了?
刚才的操作也可用鼠标完成,如下图所示
点击7cel小框中的S按键,然后再点击cartoon或者lines、sticks、ribbon
等等。假如点击了lines,你会发现一团糟的结构又回来了,而cartoon模式没有
7cel小框
PyMOL使用入门
4
消失。是的,这就是show和as的不同,show是指显示一种或多种模式,而as
是指只显示为一种模式。as该点击哪里呢?仔细看一下上图就明了了。同时你
也可能明白了S按键是Show的意思。
命令显示多种模式
showlines
showsticks
showribbon
怎么隐藏不想显示的模式呢?H按键就能办到,H是Hide的意思。点击H
中的相应模式,就能使其隐藏。当然了命令也能办到,比如隐藏lines模式
hidelines
好了,现在输入
ascartoon
只显示cartoon模式,蛋白的三级结构显示地很清楚,二级结构中的α螺旋、β
折叠和无规则卷曲也很清楚地显示了。
咦?怎么蛋白是绿色的?难道蛋白真的是绿色的吗?蛋白到底是什么颜色
我不清楚,这里显示的颜色是软件设置的默认颜色,既然是软件设置,那么当然
可以改成其他颜色。这就要用到C按键,C是Color的意思。
点击C按键你会看到下图所示的工具框,其中byelement指按元素类型着色,
bychain按肽链着色,byss按二级结构着色(condarystructure),spectrum是
指渐变色,还有red、green等等各种颜色。
点击一下byss,你会发现α螺旋、β折叠和无规则卷曲显示成了不同的颜
色,这样显示整个结构是不是更清楚了。
PyMOL使用入门
5
那么怎么用命令实现着色呢?比如整个蛋白显示绿色,命令是
colorgreen
对α螺旋、β折叠和无规则卷曲着不同的颜色怎么实现呢?
比如α螺旋(helix)显示红色,β折叠(sheet)显示绿色,无规则卷曲(loop)
显示蓝色,命令是
colorred,ssh
colorgreen,sss
colorblue,ssl+’’
想必你猜出来ssh,sss的意思了,其实就是选择二级结构α-helix或β
-sheet,那么ssl+””(这里单引号和双引号都行)为什么还要写+””呢?因为二级
结构的分类不仅仅只有这三种,PyMOL为了简化,就把不是α-helix和β-sheet
的结构全部归为loop和其他无规则结构了,所以这里得用l+””表示。
文献上的结构图一般都是白色背景,怎么设置背景颜色呢?命令是
bg_colorwhite
也可以改成其他颜色,但是发文章默认都是白色背景,在电脑上看一般是黑
色背景,这样设置是有道理的,喜欢探究的同学可以查一下印刷和屏幕的颜色显
示原理。
学到此,先复习一下,温故而知新
模式显示或隐藏
ascartoon(lines、sticks、ribbon、surface、spheres、mesh等等)
showcartoon
hidecartoon
颜色设置
PyMOL使用入门
6
colorred
colorblue,sss
背景颜色设置
bg_colorwhite
2.2选择命令
如果只想选一个原子或一个残基或一段结构,然后突出显示,这该怎么办
呢?这个问题很关键,这涉及到PyMOL中很重要的选择命令。
比如选择7cel中的一个催化残基212位的谷氨酸GLU,命令如下
lectgeng,resi212
Select是选择命令,后面紧跟一个名字geng,就是给所选择的残基起个名字,
这个随便起,然后resi212是指残基号为212的残基,resi是residueid的缩写。
输入命令并回车后,结构上会显示出一些粉红色的点,7cel框下面会出现一
个geng框。但是你还是没看到212GLU的样子,怎么办呢?
点击geng框后S按键中的sticks,212GLU残基就会显示出sticks模式,再点
击C按键中的oranges改为桔色,如下图。这一切也可用命令实现
showsticks,geng
colororange,geng
看出来给所选残基起名字的好处了吧,这样就可以在命令中指定对谁操作,
如果什么都不指定那就是对所有原子进行操作,也就是上一节学的对整个蛋白改
模式改颜色。
刚才选择了212GLU,如何突出显示并标记出来呢?
点击geng小框L按键中的residues,这样就对212GLU加上了标签,L就是
Label的意思。
PyMOL使用入门
7
然后输入命令
zoomgeng
这样就突出显示212GLU残基了,如图
点击上图右下角的S按键,S指quence,点击后会显示出蛋白序列。刚才
选择残基是用命令实现的,也可以用鼠标左键在蛋白结构或蛋白序列上点击,点
击中的残基就会被选中并起名为le,然后使用A按键中的renamelection修
改名称即可,你会发现被点中的残基都会显示出粉红色的小点。
可是到目前为止,所选择的最小单位都是残基,如果只想选择一个原子或者
一条肽链,怎么做?鼠标操作的话,首先要修改选择的单位,仔细看一下右下角
是不是有SelectingResidues,点击Resdiues,看看都有什么。如果想选择单个原
子,那么点击到显示Atoms的时候停下来,如图
然后再在结构上点击某个原子,就选中它了。此时不能在序列上点击了,因
为序列只有残基名没有原子名。
举一反三,你也可以选择一个分子、一条链、一个Cα原子等等。
用命令怎么实现自由选择呢?
除了能够根据残基号resi进行选择,还应该有其他的吧?是的,这东西叫属
性选择符,列表如下
属性选择符缩略形式标识符和举例
al-symbol-list
单字母或双字母的化学元素符号
PyMOL>lectpolar,symbolo+n
-name-list
蛋白和核酸中至多4字母的原子符号
PyMOL>lectcarbons,nameca+cb+cg
e-name-list
PyMOL使用入门
8
3字母的氨基酸符号
PyMOL>lectaas,resnasp+glu+asn+gln
或至多2字母的核苷酸符号
PyMOL>lectbas,resna+g
e-identifier-list
至多4位数的残基号
PyMOL>lectboy,resi1+10+100+1000
Residue-identifier-range
PyMOL>lectboy,resi1-10
altaltAlternate-conformation-identifier-list
单字母
PyMOL>lectaltconf,alta+’‘
-identifier-list
单字母或有时是数字
PyMOL>lect007,chaina
t-identifier-list
至多4字母
PyMOL>lectligand,gilig
-number
从0到31的单整数
PyMOL>lectf1,flag0
numeric_-number
单整数
PyMOL>lectf1,nt.5
text_-string
至多4字母
PyMOL>lectsubt,text_typeHA+HC
idid
External-index-number单整数
PyMOL>lectidno,id23
indexidx.
Internal-index-number单整数
PyMOL>lectintid,index11
ssss
Secondary-structure-type单字母
PyMOL>lectallstrs,ssh+s+l+’‘
学到此,先复习一下,温故而知新嘛
选择操作
lectgeng,resi212
lectgeng,resnglu选择所有glu残基并起名为geng
lectgeng,namec+n+o选择所有c、n、o原子并起名为geng
lectgeng,chaina选择a链并起名为geng
PyMOL使用入门
9
……
突出显示
zoomresi212突出显示212号残基
2.3布尔算符和标签命令
中学时学过布尔算符and/or/not,在PyMOL的选择命令中布尔算符非常有
用。比如选择7cel中212GLU残基的Cα原子,怎么选?
lectgeng,resi212和lectgeng,nameca两个命令显然不行,因为它们分
别对212残基的所有原子以及蛋白的所有Cα原子进行了选择,而不只是212GLU
的Cα原子。
可以这样做
lectgeng,resi212andnameca
那么如何选择212和214号残基的所有原子呢?
lectgeng,resi212orresi214
选择除200-400号残基外的所有残基
lectgeng,notresi200-400
colorwhite,geng显示一下被选中的残基
选择212和214号残基的非Cα原子
lectgeng,resi212+214andnotnameca
hideall
showsticks,geng
labelgeng,name
看一看是不是没有显示Cα原子的标签。
上一节做标签是使用鼠标操作的,这里用label命令完成,想隐藏标签直接
输入
label
回车即可。
如果想知道如何用命令做其他标签,比如残基名残基号,甚至自己起的名字,
可以输入
helplabel
PyMOL使用入门
10
然后你能看到下图所示的帮助信息了。其他命令的帮助信息也可通过同样的方式
获得,比如helpcolor、helplect、helpshow等等。
到此为止,基本操作就算学完了,已经学过了如何选择如何显示各种模式如
何着色如何做标签,一副精美而有科学意义的图片是由基本命令组合使用完成
的,这一点只能多用多练。
2.4Object和lection
PyMOL中还有一点非常重要但是解释起来挺麻烦,我试着阐述一下。最初
下载7cel生成一个7cel小框,后来做选择时也生成了一个geng小框,这两者有
区别吗?可以点击一下A按键,看看两者显示的工具框是否不一样,如下图所示
PyMOL使用入门
11
PyMOL中管7cel叫Object,而所做的选择叫lection。两者什么区别呢?
Object是实实在在的物体或东西,而lection是一种虚指。Object删除后,
lection也就消失了;而lection删除后被选择的原子不会从蛋白中消失,对
object没有任何影响,所删除的只是一个指代名称而已。
管他object还是lection,这对显示有什么影响呢?很有影响,在一些操作
中,这两个概念区分不开,常常达不到需要的效果。下面咱们就做几张精美图片,
组合运用一下基本操作,练练手。
PyMOL使用入门
12
2.5实例操练
上面三张图展示的是λ噬菌体的一种阻遏蛋白和DNA结合的晶体结构,这
个阻遏蛋白结合到DNA后可阻止DNA的表达,PDB号是3cro。
下面一步步解释操作过程
删除7cel结构或所有结构
delete7cel
deleteall
下载PDB3cro
fetch3cro
调整蛋白的姿势
orient
点击S按键查看序列中有几条链,或者点击L按键中的Chains使其显示出来,
由图可知DNA有A和B两条链,还有两个蛋白分别为L链和R链。
隐藏label直接输入Label即可。
PyMOL使用入门
13
分别选择DNA和两个蛋白,并命名为dna,prol,pror
lectdna,chainaorchainb
lectprol,chainl
lectpror,chainr
隐藏所有显示模式
hideall
设置dna的显示模式为sticks,设置DNA中的P原子为spheres和cartoon
模式。
showsticks,dna
showcartoon,namep
showspheres,namep
设置两个蛋白为cartoon模式
showcartoon,prolorpror
改变两个蛋白的显示颜色
colorred,prol
coloryellow,pror
改变背景颜色为白色
bg_colorwhite
PyMOL使用入门
14
此时是不是已经基本显示出下图的效果了?但好像还有点粗糙。另外,怎
么把做好的图保存下来啊?难道要用截图工具截图吗?
结构打光并保存图片
ray
png001
打光命令ray就像在照相馆照相时需要专门的灯光设备,这里ray打光后,
图像显示出景深和立体效果,更加逼真和精美。
保存图片命令非常简单,png后面加上你起的任意文件名即可,回车后图片
自动保存在当前工作路径下,图片文件格式是png,看看后缀就清楚了。注意当
前工作路径在哪里,还记得pwd命令吧O(∩_∩)O
高清大图怎么做呢?无非就是像素调高一些呗,还是ray命令,不过后面加
上横轴和纵轴的像点数
ray2000,2000
png002
看一看是不是高清多了,文件也大多了。如果ray后不加参数的话,那么就
以PyMOL软件窗口的大小作图,你调的窗口大它就大,你调的小它就小。
好了,现在咱们已经完成第一张精美图片的制作了,很有成就感吧↖(^ω^)↗
PyMOL使用入门
15
接下来,咱们来做第二张和第三张图片
看到这两张图,可能你会觉得很简单,不就是把蛋白show出surface模式
吗?可是如果真的这么做
showsurface,prol
showsurface,pror
会发现效果竟然是下面这张图
咦,这是什么情况?!怎么这个图里两个蛋白表面连到一起了?还有蛋白和
DNA的交界面怎么会是裂开的啊?
还记得前面说过的Object和lection的区别吗?前面没理解的话,在这里
会有深刻体会的。前面说过Object是实实在在的物体或东西,而lection不过
是一个指代名称。选择链l为prol,不过是用prol指代3cro中的链l,但链l和
链r还是在3cro中,而没有独立出来,两个蛋白链l与r和DNA链a与b共处在
一个object中,它们是一体的,而不是独立的。既然大家都是一体的,显示表面
时相互之间当然就是连接的,所以只显示蛋白的表面当然显示出裂开的蛋白DNA
交界面,如果你只显示prol的话,还会出现裂开的蛋白交接面呐,见下图
PyMOL使用入门
16
那怎么显示出锁钥契合而不是相互连成一片的表面呢?既然大家共处一个
object办不到,那就独立门户各成一体。建立object使用下面的命令
createpro1,prol
createpro2,pror
上面命令的意思就是创建一个名为pro1的object,这个object的原子坐标
取自3cro中的prol。
建好object了,就分别显示蛋白的表面
showsurface,pro1
showsurface,pro2
这一次是不是不再连成一片了?
最后设置一下surface的透明度,把表面内的cartoon显示出来
ttransparency,0.4
透明度取值从0到1,0是完全不透明,1是完全透明。
到此再ray一下,保存即可得到第二张精美图。
第三张图只是把表面的颜色改了改,如果用前面所学的color改的话,连
cartoon的颜色也会改掉,而只想改变surface的颜色,得使用下面的命令
tsurface_color,gray70,pro1orpro2
把pro1和pro2的表面颜色改为灰70,gray70配合白色背景非常好。也可以
只改pro1或pro2的表面颜色。ray一下,保存即可得到第三张精美图。
好啦,总算做完这三张图了(^o^)/
最后再补充一点,这么精美的构图打了这么半天命令才打出来,能不能把这
PyMOL使用入门
17
个效果用软件保存下来,以后直接打开这个保存文件就能恢复呢?
当然可以了,不知你有没有发现,PyMOL是没有撤销功能的,而只能通过
不断的保存中间文件来代替撤销功能。怎么保存呢?菜单栏file里有个save
ssion,点击并起个文件名保存为p格式即可。双击这个p文件就能恢复。
学习
上面介绍的只是PyMOL的基本命令和操作,很多功能都没有涉及,比如距
离、角度及二面角的测量、静电势分布计算、氢键显示、蛋白结构编辑、突变残
基、动画制作以及python编程等等。这些功能可随用随学,不必一下子全学会。
如果感兴趣,可继续学习《pymol教程》。当然,别忘了PyMOLwiki网站!
本文发布于:2022-12-07 11:31:58,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/88/59316.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |