PyMOL使用入门.docx

上传人:b****5 文档编号:5127707 上传时间:2022-12-13 格式:DOCX 页数:20 大小:1.19MB
下载 相关 举报
PyMOL使用入门.docx_第1页
第1页 / 共20页
PyMOL使用入门.docx_第2页
第2页 / 共20页
PyMOL使用入门.docx_第3页
第3页 / 共20页
PyMOL使用入门.docx_第4页
第4页 / 共20页
PyMOL使用入门.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

PyMOL使用入门.docx

《PyMOL使用入门.docx》由会员分享,可在线阅读,更多相关《PyMOL使用入门.docx(20页珍藏版)》请在冰豆网上搜索。

PyMOL使用入门.docx

PyMOL使用入门

 

生物大分子三维结构显示技术讲义

 

PyMOL使用入门

 

耿存亮

**********************

2012年10月09日

1.PyMOL简介

PyMOL是一款生物大分子三维结构显示软件,其中“Py”是指此软件使用Python语言编写,“MOL”是指Molecule。

PyMOL官网是http:

//www.PyMOL.org/,发展历史和软件更新动态可在此查询。

PyMOL的学习网站是http:

//www.PyMOLwiki.org/index.php/Main_Page,若想用好PyMOL,此网站是必上网站,其实这一个也就够了。

2.PyMOL入门

2.1模式显示及颜色显示

PyMOL既可以鼠标操作也可以命令操作,但是命令操作可以完成许多鼠标难以完成的任务。

下面就以实例来认识一下PyMOL。

打开PyMOL软件后,首先要特别注意的是当前工作路径。

在命令框输入命令并回车

pwd

即可显示当前工作路径,默认路径是PyMOL的安装路径。

一般不把文件保存在安装路径下,所以需修改当前工作路径,而且路径不能有汉字,

比如改为D盘,输入命令并回车

cdd:

再用pwd命令查看一下当前工作路径。

如下图所示:

pwd:

printworkingdirectioncd:

changedirection

命令很方便很简单很神奇吧O(∩_∩)O~

其次要注意的是保证鼠标是三键式的,滚轮可用作中键。

如果像苹果机一样只有一个按键或没有中键的话,还是赶紧换个鼠标吧。

好了,现在下载一个PDB文件,如何下载呢?

当然可以去PDB网站http:

//www.rcsb.org/pdb/home/home.do下载,但是打开网页多麻烦啊,如果能用PyMOL直接下载该多好啊,那就试一试fetch命令吧!

下载纤维素外切酶CBHI和纤维素糖链的复合物晶体结构,PDB号是7cel,输入命令

fetch7cel

稍等片刻,就会下载完毕并显示如下:

刚才说到三键式鼠标,那么三个键都有什么用呢?

按住左键滑动会旋转结构(rotate),按住中键滑动会移动结构(move),按住右键滑动会缩放结构(movezoom)。

这个不用记,多按几下就熟了,实在忘了在右下角有提示的,如下图

下载打开7cel的pdb文件后,在all小框下面会出现7cel小框,后面还跟着几个按键ASHLC,这几个按键后面会一点点介绍。

先左键点击一下7cel小框,会发现结构消失了,被点击的小框也变暗了,这就是隐藏功能,再点击一下就会恢复,如下图所示

7cel小框

看到恢复后的结构你一定感到一团糟吧,这都神马呀!

上过王禄山老师的课后,应该清楚PDB文件就是具有一定格式的文本文档,里面记录着每个原子的三维坐标值,不信的话可用记事本打开PDB文件看一看。

PyMOL所谓的结构显示就是读取每个原子的三维坐标,然后用一个点(球)来显示出来,原子之间的化学键用线表示。

当然还可以用其他模式的显示,比如大家很熟悉的螺旋飘带模型,在PyMOL中叫cartoon模式,输入命令并回车

ascartoon

看着熟悉的α螺旋和β折叠,是不是感觉清爽多了?

刚才的操作也可用鼠标完成,如下图所示

点击7cel小框中的S按键,然后再点击cartoon或者lines、sticks、ribbon等等。

假如点击了lines,你会发现一团糟的结构又回来了,而cartoon模式没有消失。

是的,这就是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按二级结构着色(secondarystructure),spectrum是指渐变色,还有red、green等等各种颜色。

点击一下byss,你会发现α螺旋、β折叠和无规则卷曲显示成了不同的颜色,这样显示整个结构是不是更清楚了。

那么怎么用命令实现着色呢?

比如整个蛋白显示绿色,命令是

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

颜色设置

colorred

colorblue,sss

背景颜色设置

bg_colorwhite

2.2选择命令

如果只想选一个原子或一个残基或一段结构,然后突出显示,这该怎么办呢?

这个问题很关键,这涉及到PyMOL中很重要的选择命令。

比如选择7cel中的一个催化残基212位的谷氨酸GLU,命令如下

selectgeng,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的意思。

然后输入命令

zoomgeng

这样就突出显示212GLU残基了,如图

点击上图右下角的S按键,S指sequence,点击后会显示出蛋白序列。

刚才选择残基是用命令实现的,也可以用鼠标左键在蛋白结构或蛋白序列上点击,点击中的残基就会被选中并起名为sele,然后使用A按键中的renameselection修改名称即可,你会发现被点中的残基都会显示出粉红色的小点。

可是到目前为止,所选择的最小单位都是残基,如果只想选择一个原子或者一条肽链,怎么做?

鼠标操作的话,首先要修改选择的单位,仔细看一下右下角是不是有SelectingResidues,点击Resdiues,看看都有什么。

如果想选择单个原子,那么点击到显示Atoms的时候停下来,如图

然后再在结构上点击某个原子,就选中它了。

此时不能在序列上点击了,因为序列只有残基名没有原子名。

举一反三,你也可以选择一个分子、一条链、一个Cα原子等等。

用命令怎么实现自由选择呢?

除了能够根据残基号resi进行选择,还应该有其他的吧?

是的,这东西叫属性选择符,列表如下

属性选择符

缩略形式

标识符和举例

symbol

e.

Chemical-symbol-list

单字母或双字母的化学元素符号

PyMOL>selectpolar,symbolo+n

name

n.

Atom-name-list

蛋白和核酸中至多4字母的原子符号

PyMOL>selectcarbons,nameca+cb+cg

resn

r.

Residue-name-list

3字母的氨基酸符号

PyMOL>selectaas,resnasp+glu+asn+gln

或至多2字母的核苷酸符号

PyMOL>selectbases,resna+g

resi

i.

Residue-identifier-list

至多4位数的残基号

PyMOL>selectboy,resi1+10+100+1000

Residue-identifier-range

PyMOL>selectboy,resi1-10

alt

alt

Alternate-conformation-identifier-list

单字母

PyMOL>selectaltconf,alta+’‘

chain

c.

Chain-identifier-list

单字母或有时是数字

PyMOL>select007,chaina

segi

s.

Segment-identifier-list

至多4字母

PyMOL>selectligand,segilig

flag

f.

Flag-number

从0到31的单整数

PyMOL>selectf1,flag0

numeric_type

nt.

Type-number

单整数

PyMOL>selectf1,nt.5

text_type

tt.

Type-string

至多4字母

PyMOL>selectsubset,text_typeHA+HC

id

id

External-index-number单整数

PyMOL>selectidno,id23

index

idx.

Internal-index-number单整数

PyMOL>selectintid,index11

ss

ss

Secondary-structure-type单字母

PyMOL>selectallstrs,ssh+s+l+’‘

学到此,先复习一下,温故而知新嘛

选择操作

selectgeng,resi212

selectgeng,resnglu选择所有glu残基并起名为geng

selectgeng,namec+n+o选择所有c、n、o原子并起名为geng

selectgeng,chaina选择a链并起名为geng

……

突出显示

zoomresi212突出显示212号残基

2.3布尔算符和标签命令

中学时学过布尔算符and/or/not,在PyMOL的选择命令中布尔算符非常有用。

比如选择7cel中212GLU残基的Cα原子,怎么选?

selectgeng,resi212和selectgeng,nameca两个命令显然不行,因为它们分别对212残基的所有原子以及蛋白的所有Cα原子进行了选择,而不只是212GLU的Cα原子。

可以这样做

selectgeng,resi212andnameca

那么如何选择212和214号残基的所有原子呢?

selectgeng,resi212orresi214

选择除200-400号残基外的所有残基

selectgeng,notresi200-400

colorwhite,geng显示一下被选中的残基

选择212和214号残基的非Cα原子

selectgeng,resi212+214andnotnameca

hideall

showsticks,geng

labelgeng,name

看一看是不是没有显示Cα原子的标签。

上一节做标签是使用鼠标操作的,这里用label命令完成,想隐藏标签直接输入

label

回车即可。

如果想知道如何用命令做其他标签,比如残基名残基号,甚至自己起的名字,可以输入

helplabel

然后你能看到下图所示的帮助信息了。

其他命令的帮助信息也可通过同样的方式获得,比如helpcolor、helpselect、helpshow等等。

到此为止,基本操作就算学完了,已经学过了如何选择如何显示各种模式如何着色如何做标签,一副精美而有科学意义的图片是由基本命令组合使用完成的,这一点只能多用多练。

 

2.4Object和selection

PyMOL中还有一点非常重要但是解释起来挺麻烦,我试着阐述一下。

最初下载7cel生成一个7cel小框,后来做选择时也生成了一个geng小框,这两者有区别吗?

可以点击一下A按键,看看两者显示的工具框是否不一样,如下图所示

PyMOL中管7cel叫Object,而所做的选择叫selection。

两者什么区别呢?

Object是实实在在的物体或东西,而selection是一种虚指。

Object删除后,selection也就消失了;而selection删除后被选择的原子不会从蛋白中消失,对object没有任何影响,所删除的只是一个指代名称而已。

管他object还是selection,这对显示有什么影响呢?

很有影响,在一些操作中,这两个概念区分不开,常常达不到需要的效果。

下面咱们就做几张精美图片,组合运用一下基本操作,练练手。

2.5实例操练

上面三张图展示的是λ噬菌体的一种阻遏蛋白和DNA结合的晶体结构,这个阻遏蛋白结合到DNA后可阻止DNA的表达,PDB号是3cro。

下面一步步解释操作过程

删除7cel结构或所有结构

delete7cel

deleteall

下载PDB3cro

fetch3cro

调整蛋白的姿势

orient

点击S按键查看序列中有几条链,或者点击L按键中的Chains使其显示出来,由图可知DNA有A和B两条链,还有两个蛋白分别为L链和R链。

隐藏label直接输入Label即可。

分别选择DNA和两个蛋白,并命名为dna,prol,pror

selectdna,chainaorchainb

selectprol,chainl

selectpror,chainr

隐藏所有显示模式

hideall

设置dna的显示模式为sticks,设置DNA中的P原子为spheres和cartoon模式。

showsticks,dna

showcartoon,namep

showspheres,namep

设置两个蛋白为cartoon模式

showcartoon,prolorpror

改变两个蛋白的显示颜色

colorred,prol

coloryellow,pror

改变背景颜色为白色

bg_colorwhite

此时是不是已经基本显示出下图的效果了?

但好像还有点粗糙。

另外,怎么把做好的图保存下来啊?

难道要用截图工具截图吗?

结构打光并保存图片

ray

png001

打光命令ray就像在照相馆照相时需要专门的灯光设备,这里ray打光后,图像显示出景深和立体效果,更加逼真和精美。

保存图片命令非常简单,png后面加上你起的任意文件名即可,回车后图片自动保存在当前工作路径下,图片文件格式是png,看看后缀就清楚了。

注意当前工作路径在哪里,还记得pwd命令吧O(∩_∩)O

高清大图怎么做呢?

无非就是像素调高一些呗,还是ray命令,不过后面加上横轴和纵轴的像点数

ray2000,2000

png002

看一看是不是高清多了,文件也大多了。

如果ray后不加参数的话,那么就以PyMOL软件窗口的大小作图,你调的窗口大它就大,你调的小它就小。

好了,现在咱们已经完成第一张精美图片的制作了,很有成就感吧↖(^ω^)↗

接下来,咱们来做第二张和第三张图片

看到这两张图,可能你会觉得很简单,不就是把蛋白show出surface模式吗?

可是如果真的这么做

showsurface,prol

showsurface,pror

会发现效果竟然是下面这张图

咦,这是什么情况?

怎么这个图里两个蛋白表面连到一起了?

还有蛋白和DNA的交界面怎么会是裂开的啊?

还记得前面说过的Object和selection的区别吗?

前面没理解的话,在这里会有深刻体会的。

前面说过Object是实实在在的物体或东西,而selection不过是一个指代名称。

选择链l为prol,不过是用prol指代3cro中的链l,但链l和链r还是在3cro中,而没有独立出来,两个蛋白链l与r和DNA链a与b共处在一个object中,它们是一体的,而不是独立的。

既然大家都是一体的,显示表面时相互之间当然就是连接的,所以只显示蛋白的表面当然显示出裂开的蛋白DNA交界面,如果你只显示prol的话,还会出现裂开的蛋白交接面呐,见下图

那怎么显示出锁钥契合而不是相互连成一片的表面呢?

既然大家共处一个object办不到,那就独立门户各成一体。

建立object使用下面的命令

createpro1,prol

createpro2,pror

上面命令的意思就是创建一个名为pro1的object,这个object的原子坐标取自3cro中的prol。

建好object了,就分别显示蛋白的表面

showsurface,pro1

showsurface,pro2

这一次是不是不再连成一片了?

最后设置一下surface的透明度,把表面内的cartoon显示出来

settransparency,0.4

透明度取值从0到1,0是完全不透明,1是完全透明。

到此再ray一下,保存即可得到第二张精美图。

第三张图只是把表面的颜色改了改,如果用前面所学的color改的话,连cartoon的颜色也会改掉,而只想改变surface的颜色,得使用下面的命令

setsurface_color,gray70,pro1orpro2

把pro1和pro2的表面颜色改为灰70,gray70配合白色背景非常好。

也可以只改pro1或pro2的表面颜色。

ray一下,保存即可得到第三张精美图。

好啦,总算做完这三张图了\(^o^)/

最后再补充一点,这么精美的构图打了这么半天命令才打出来,能不能把这个效果用软件保存下来,以后直接打开这个保存文件就能恢复呢?

当然可以了,不知你有没有发现,PyMOL是没有撤销功能的,而只能通过不断的保存中间文件来代替撤销功能。

怎么保存呢?

菜单栏file里有个savesession,点击并起个文件名保存为pse格式即可。

双击这个pse文件就能恢复。

 

3.PyMOL学习

上面介绍的只是PyMOL的基本命令和操作,很多功能都没有涉及,比如距离、角度及二面角的测量、静电势分布计算、氢键显示、蛋白结构编辑、突变残基、动画制作以及python编程等等。

这些功能可随用随学,不必一下子全学会。

如果感兴趣,可继续学习《pymol教程》。

当然,别忘了PyMOLwiki网站!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 艺术

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1