资源描述
简介&安装
Pymol就是一个开放源码,由使用者赞助得分子三维结构显示软件,由Warren Lyford DeLano编写,并且由DeLano Scientific LLC负责商业发行、
Pymol被用来创作高品质得分子(特别就是生物大分子如蛋白质)三维结构、据软件作者宣称,在所有正式发表得科学论文中得蛋白质结构图像中,有四分之一就是使用Pymol来制作得。
Pymol名字得来源:“Py”表示该软件基于python这个计算机语言,“Mol"则就是英文分子(molucule)得缩写,表示该软件用来显示分子结构。
由于实验需要,本人正在学习该软件,在这里把学习过程记录下来,希望对有需要得朋友有所帮助、今天先来说说安装吧。
自2006年8月1日起,DeLano Scientific 对事先编译好得PyMOL执行程序(包括beta版)采取限定下载得措施。目前,只有付费用户可以取得、不过源代码目前还就是可以免费下载,供使用者编译。如果您与我一样,不想为此花钱得话:
1. 如果您就是Windows用户,首先下载Pymol得源代码。
然后安装CygWin,并且确保正确安装以下模块:
§ C++ (gcc or g++ package name)
§ Python
§ OpenGL
§ PNG
然后在源代码目录里面依次运行:
2. 如果您就是Linux用户,首先确保以下东东已安装:
§ Python
§ Pmw
§ OpenGL driver(我用得就是NVdia)
§ libpng
§ Subversion client(下载源代码需要)
然后下载Pymol得源代码
$ mkdir pymol-src
$ svn co pymol-src
然后进入源代码目录
# cd pymol-src
开始依次编译
# python setup、py install
# python setup2.py install
拷贝执行脚本到某个$PATH,安装就搞定了
# cp 。/pymol /usr/bin
如果运行时得到错误信息"ImportError: No module named Pmw”,那么您应该运行
# python setup2.py install pmw
如果您在使用Gentoo,请确保编译python时添加了tcl/tk支持,否则运行就是会提示错误”ImportError: No module named _tkinter"
# USE=”tcl tk" emerge python
好了,下面我们就可以进入Pymol得世界了、
基本得鼠标操作
里主要介绍一下Pymol得基本操作,包括窗口菜单、加载文件、图像得基本鼠标操作等等、
当您打开Pymol后,您将会瞧到如下图所示得界面:ﻫﻫ该界面分为2窗口,上面得外部GUI窗口(External GUI)与下面得Viewer Window。Viewer Window又分为左右两块,左边用来显示结构图像得(Viewer),右边则就是一个内部GUI窗口(Internal GUI)。Viewer自身包含一个命令行(如图中左下方得PyMOL〉提示符),可以用来输入Pymol命令;在Inernal GUI中则可以选定一些特定得对象并完成一些操作、External GUI则包含一个标准菜单、一个输出区、一个命令行输入区以及右边得一些常用命令按钮。请注意,标准得“复制、剪切与粘贴”操作只能在External GUI中完成,并且必须使用“Ctrl+C、Ctrl+X以及Ctrl+V”来完成,这也就是这个所谓得外部GUI得最重要得优点。
加载文件,有二种方法:
1. 在External GUI中选择File - Open
2. 使用命令行:
load 〈〉
例如我们现在从上下载了一个离子通道蛋白得pdb文件(PENTAMERIC LIGAND GATED ION CHANNEL FROM ERWINIA CHRYSANTHEMI),名字为2vl0。pdb,然后用pymol打开它:
load 2vl0
该蛋白质得结构就被显示出来啦,如下图:ﻫ
基本得图像操作:
就是不就是觉得上面得那个三维结构图瞧起来乱七八糟得阿,那就是因为蛋白质分子都就是由成千上万个原子组成得,而Pymol打开pdb文件时就是默认把所有得原子都显示在那个小小得Viewer窗口里面得,当然瞧起来就很乱了。这时候就需要我们对这个图像进行一些操作,来得到漂亮得清晰得蛋白质三维结构图。ﻫ先说说鼠标吧。
· 任意旋转图像: 对准图像得任意处点住鼠标左键然后移动鼠标、
· 放大/缩小图像: 对准图像得任意处点住鼠标右键然后移动鼠标:向上就是缩小,向下则就是放大。
· 移动图像: 对准图像得任意处点住鼠标中键或者滚轮,然后移动鼠标。
· 设定图像旋转中心: Ctrl+Shift+鼠标中键或滚轮、
· 移动剪切平面: Shift+鼠标右键、鼠标上下移动:调整前剪切平面(离您近得);鼠标左右移动:调整后剪切平面(离您远得)。
最后一项“移动剪切平面"有点不容易理解,需要多试几次。配合下面得示意图您会发现Pymol得这项设定其实很方便。ﻫ
今天没时间了,明天还要出远门,就学到这里吧,用下面这个图作为结束,其实就就是用cartoon得形式显示了上面得那个蛋白质,不过还比较难瞧。、。
By wei lu
PyMOL用法(教程二)
基础Pymol命令
这里主要介绍一下Pymol得一些基本命令操作、就像Linux一样,要想更好得操作Pymol,掌握一些常用得命令就是必不可少得、 Pymol就是区分大小写得,不过目前为止Pymol还就是只用小写,所以记住,所有得命令都就是使用小写字母得。
当您开始用Pymol来完成一个项目时,您也许想会让Pymol自动保存您所有输入过得命令,以方便日后您再次读取并修改、这个可以通过创建一个log文件来达到,该文件得后缀名应为。pml,记住,Pymol像Linux一样支持Tab键命令补全:
Pymol〉 log_open log-
如果您想终止记录,只需要键入:
Pymol> log_close
好了,现在载入pdb文件(继续前用得pdb文件):
Pymol〉 load 2vlo.pdb
现在Pymol就创建了一个叫2vlo得对象,您可以在内部GUI窗口里面瞧见这个项目得名字。但就是您也可以自己定义该项目得名字(如test):
Pymol〉 load 2vlo、pdb, test
下面说说如何来操作您新建得对象。ﻫ首先:
Pymol> show representationﻫPymol〉 hide representation
其中representation可以为:cartoon, ribbon, dots, spheres, surface与mesh。
使用这2个命令可以让Pymol以不同得方式显示蛋白质结构。
例如当我们键入:
Pymol> hide lines
Pymol〉 show ribbon
我们将得到如下结果:
也许您已经注意到结构中有2个一模一样得蛋白质分子,只就是方向不同而已,那么如何让Pymol只显示当中得一个分子呢?首先输入如下命令:
Pymol> label all, chains
这个命令得作用就是让Pymol给蛋白质结构中得“链”编号,您会发现,第一个分子由“链”A-E组成,第二个则由F—J组成、
好了,如果我们想把一个蛋白质分子去掉,那么只要把“链"A-E或者F-J去掉即可:
Pymol> hide ribbon, chain f+g+h+i+j
上面得东东还可以这样完成:
Pymol> select test, chain f+g+h+i+j
Pymol> hide ribbon, test
上面得第一句命令得作用就是选择“链”F-J,并命名为test,然后在第二句命令中隐藏它、这样做得好处就是,一旦您选择并命名了某个目标,您可以在后面随时对它进行各种操作。并且您在右边得控制面板里面也可以瞧到您选定得目标,并可以对其进行操作。ﻫ比如您可以:
Pymol> hide everything, test
Pymol〉 show cartoon, test
这样您会得到:ﻫ
说到这里就提到了Pymol得一个比较重要得东东,就就是选择并命名目标,它得基本语法就就是:
Pymol> select selection—name, selection-expression
其中名字可以由字母[A/a-Z/z],数字[0-9]已经下划线[_]组成,但就是要避免使用:
! @ # $ % ^ & * ( ) ' " [ ] { } \ | ~ ` < > ? /
如果您要删除您选定得目标或者整个对象,您可以:
Pymol〉 delete selection—nameﻫPymol> delete object-name
下面讲讲如何给对象以及目标改变颜色、预定义得颜色名字可以在外部GUI窗口得Settings - Colors中找到:
Pymol> color color-name
Pymol> color color-name, selection-expression
比如我们可以:
Pymol〉 color red, ss hﻫPymol〉 color yellow, ss s
Pymol〉 color green, ss l+"”
其中“ss”代表secondary structure,“h”代表Helix,“s”代表Beta sheet,l+”"代表Loop与所以其她结构。ﻫ这3句得作用分别就是把所有得Helix变成红色;把所有得Beta sheet变成黄色;把所有得Loop以及其她部分变成绿色,于就是我们得到:
Pymol可以同时打开多个pdb文件:
Pymol〉 load object-name-1。pdb
Pymol〉 load object—name-2、pdb
如果您想暂时关闭/打开某个对象,可以这样:
Pymol〉 disable object—name-1
Pymol> enable object-name-1
您也可以用disable命令去除最后一个选择得目标上出现得粉红色得小点,但就是该命令并不会使您选定得目标不可见。
Pymol〉 disable selection—name
使用鼠标通常就是改变图像视角得最方便得办法,不过命令如zoom,orient等等有时候使用起来也就是很有用得,它们提供了另一种改变图像视角得办法。
放大选定目标:
Pymol〉 zoom selection-name
定向选定目标,可以使选定目标最大得尺寸水平显示,次大得尺寸竖直显示::
Pymol> orient selection—name
您也可以用view命令保存您目前得视角,注意,该命令只保存视角,并不保存您得对象显示方式:
Pymol> view key, action
其中“key”就是您随便给当前视角定得名字,“action"可以为:store或者recall、如果不加任何“action”,则默认为recall:
Pymol> view v1, storeﻫPymol〉 view v1, recallﻫPymol> view v1
说了这么多,最后说说如何保存文件吧、Pymol有3个层面得保存方式,下面来分别说说。
1. 使用log_open命令把您所有使用过得命令记录为一个文本文档:
Pymol> log_open script—
这样以后当您再次调用该文档时,Pymol将执行上面得所有命令:
Pymol> @script-
不过注意,如果您想记录当前视角,则必须使用get_view命令、ﻫ您可以选择外部GUI窗口中得File - Append/Resume/Close Log来分别暂停记录/恢复记录/停止记录该文档。
您可以随时编辑该文档、
在linux下,该文档得默认保存目录为当前用户得home目录。
2. 如果您想下次打开Pymol时直接回到当前所在得状态,那么您可以选择外部GUI窗口里面得File - Save Session,创建一个会话文件(.pse)。
该会话文件与上面提到得文档文件得区别在于,首先文档文件可以编辑,但会话文件不可以;记录文档文件前必须先运行log_open命令,而会话文件可以随时创建;最后文档文件以文档形式运行(),而打开会话文件则必须选择外部GUI窗口中得File - Open。
什么时候需要创建会话文件呢?比如当您在某时有多个选择时,您可以保存当前状态,然后一一尝试这些选择,不满意时只需要重新打开该会话文件即可。也就就是说创建会话文件起到了“undo"得作用,这正就是Pymol所缺少得、希望开发者能赶快加入该功能,那么这个会话文件好像就没什么大用了,呵呵。
3. 如果您觉得当前显示窗口里面显示得结构图像已经满足您得要求了,您可以把它保存为图片、在这之前您可以使用ray命令来优化您得图像,它可以使您得图像具有三维得反射及阴影特效:
Pymol〉 ray
Pymol〉 pngyour_path/image_name
最后就用该命令导出得图片结束这次笔记吧、ﻫ
Pymol命令得语法与目标选择得表达
上次介绍一些Pymol得基本命令。现在来具体说说Pymol命令得语法,还有在选择操作目标应该如果表达。个人觉得这部分内容对学习Pymol来说就是至关重要得、
从上次讲得一些例子中不难瞧出,Pymol得命令都就是由关键词(keyword)加上一些变量(argument)组成,格式如下:
Pymol> keyword argument
其中关键词(keyword)当然就是必须得,而变量则不就是必须得,比如退出命令quit就不需要附加变量:
Pymol〉 quit
当然更多得命令通常就是需要加变量得,比如放大命令zoom,但就是您会发现即使您不加任何变量该命令也可以被执行,这就是因为Pymol得许多命令有一个默认变量,下面两个命令得作用就是一样得,其中得目标选择all就就是zoom得默认变量:
Pymol> zoom
Pymol> zoom all
还有些命令可以带多个参数,比如加色命令color,它得用法如下:
Pymol〉 color color-name
Pymol〉 color color-name, selection—expression
第一个color虽然只带一个变量”color-name",但其实它包含了第二个默认变量all,所以它得作用就是把整个结构变成"color—name”得颜色。
第二个color带两个变量,与第一个得区别就就是把默认得目标选择变量all变成了"selection-expression",也就就是说只有被这个变量选中得部分才会被变成"color-name"定义得颜色。
要注意得就是,如果一个命令带多个变量,则这些变量之间必须用逗号","隔开。
通过这个例子,大家可以发现,有些变量本身就是很简单得,比如”color—name”,就就是一个颜色名字而已,没什么复杂得。另一些则不一样,比如”selection-expression",它可以很简单,也可以非常得复杂。这个东东,我称之为选择表达,对Pymol命令得使用非常重要,所以下面要详细得讲一下。
选择表达(selection-expression)表示得实际就就是一些被选中得部分,它们可以就是一些个原子,一些个Helix,一些个Beta sheet,或者它们得混合物。您可以给您得选择表达起个名字,以便可以多次使用它们。名字可以由大小写字母,数字以及下划线[_]组成,但就是因避免使用下列符号:
! @ # $ % ^ & * ( ) ’ ” [ ] { } \ | ~ ` < > ? /
选择表达由所谓得"selector"加上”identifier"组成,其中"selector"定义了某类属性,而”identifier"则在该类属性下需要被选择得部分。如下例:
Pymol> select test, name c+o+n+ca
其中"name”就就是一个selector,它表示在pdb文件中描述得原子得名字;”c+o+n+ca”则就是对应得"indentifier",它表示我们要选择pdb文件中名字叫”ca+cb”得原子(ca代表alpha carbon,cb代表beta carbon)。整个语句得作用就就是选择上诉得原子并命名为"test”,这样我们可以在后面继续使用它。
下表列出了大多数得selector:
Selector
简写
Identifier及例子
symbol
e。
chemical—symbol-listﻫ周期表中得元素符号
Pymol> select polar, symbol o+n
name
n.
atom—name-listﻫpdb文件中得原子名字ﻫPymol〉 select carbons, name ca+cb+cg+cd
resn
r、
residue-name—listﻫ氨基酸得名字ﻫPymol> select aas, resn asp+glu+asn+gln
resi
i。
residue—identifier—list
pdb文件中基团得编号ﻫPymol> select mults10, resi 1+10+100
residue—identifier—rangeﻫPymol> select nterm, resi 1-10
alt
alt
alternate—conformation-identifier—listﻫ一些单字母得列表,选择具有2种构型得氨基酸ﻫPymol> select altconf, alt a+b
chain
c、
chain-identifier-listﻫ一些单字母或数字得列表
Pymol> select firstch, chain a
segi
s.
segment—identifier-listﻫ一些字母(最多4位)得列表
Pymol> select ligand, segi lig
flag
f。
flag—nummer
一个整数(0-31)ﻫPymol〉 select f1, flag 0
numeric_type
nt。
type-nummerﻫ一个整数
Pymol> select type1, nt、 5
text_type
tt.
type—stringﻫ一些字母(最多4位)得列表
Pymol〉 select subset, tt. HA+HC
id
id
external-index-number
一个整数ﻫPymol> select idno, id 23
index
idx、
internal—index-numberﻫ一个整数
Pymol> select intid, index 23
ss
ss
secondary-structure-type
代表该类结构得单字母ﻫPymol> select allstrs, ss h+s+l+”"
下表就是另一些Selector,有关比较得:
Selector
简写
Identifier及例子
b
b
parison-operator b-factor—value
一个实数,用来比较b-factorﻫPymol> select fuzzy, b 〉 12
q
q
parison—operator occupancy—valueﻫ一个实数,用来比较occupancy
Pymol> select lowcharges, q > 0。5
formal_charge
fc。
comparison-operator formal charge-valueﻫ一个整数,用来比较formal charge
Pymol> select doubles, fc、 = -1
partial_charge
pc、
parison-operator partial charge-valueﻫ一个实数,用来比较partial chargeﻫPymol> select hicharges, pc、 〉 -1
另外有一些Selector就是不需要Identifier得,它们被列在下表中:
Selector
简写
描述
all
*
所有当前被Pymol加载得原子
none
none
什么也不选
hydro
h.
所有当前被Pymol加载得氢原子
hetatm
het
所有从蛋白质数据库HETATM记录中加载得原子
visible
v。
所有在被“可见”得显示得对象中得原子
present
pr、
所有得具有定义坐标得原子
在Identifier中用到得原子以及氨基酸得命名规则可以在下面得网址中找到:
在选择表达中,selector还可以配合逻辑操作子(logical operator)使用,这样我们可以表达更加复杂得选择。这些操作子被列于下表中:
Operator
简写
效果与例子
not s1
! s1
选择原子但不包括s1中得ﻫPymol> select sidechains, ! bb
s1 and s2
s1 & s2
选择既在s1又在s2中得原子
Pymol〉 select far_bb, bb & farfrm_ten
s1 or s2
s1 | s2
选择s1或者s2中得原子(也就就是包含全部得s1与s2原子)
Pymol> select all_prot, bb | sidechain
s1 in s2
s1 in s2
选择s1中得那些原子,其identifiers (name, resi, resn, chain, segi) 全部符合s2中对应得原子
Pymol> select same_atom, pept in prot
s1 like s2
s1 l. s2
选择s1中得那些原子,其identifiers (name, resi)符合s2中对应得原子
Pymol> select similar_atom, pept like prot
s1 gap X
s1 gap X
选择那些原子,其van der Waals半径至少与s1得van der Waals半径相差X
Pymol〉 select farfrm_ten, resi 10 gap 5
s1 around X
s1 a. X
选择以s1中任何原子为中心,X为半径,所包括得所有原子ﻫPymol〉 select near_ten, resi 10 around 5
s1 expand X
s1 e. X
选择以s1中任何原子为中心,X为半径,然后把s1扩展至该新得范围所包含得所有原子
Pymol> select near_ten_x, near10 expand 3
s1 within X of s2
s1 w。 X of s2
选择以s2为中心,X为半径,并包含在s1中得原子
Pymol〉 select bbnearten, bb w、 4 of resi 10
byres s1
br. s1
把选择扩展到全部residueﻫPymol〉 select plete_res, br。 bbnear10
byobject s1
bo、 s1
把选择扩展到全部object
Pymol〉 select near_obj, bo、 near_res
neighbor s1
nbr. s1
选择直接与s1相连得原子ﻫPymol> select vicinos, nbr. resi 10
这些逻辑选择还可以组合使用、比如您想选择chain b,但就是不选择其中得residue 88:
Pymol〉 select chain b and (not resi 88)
在使用多重逻辑选择时,为了让Pymol正确处理顺序,请使用括号,这样最里层括号里面得内容将会被最先处理,以此类推。
好了,目标选择就先说到这里。其实关于目标选择还有所谓得“宏"可以用,可以简化表达式,准备下次说说。
by Wei Lü —
PyMOL用法(教程三)
Pymol得选择宏
上次具体讲了如何在Pymol中怎么用selection-expression选取目标,其实在某些情况下,还可以用Pymol提供得宏来选择操作目标。使用这个选择宏往往可以就是一个原本很复杂得表达变得简单紧凑、
例如我们想选择2vlo这个pdb文件中得”chain a"中得第100个基团得α炭原子,如果用selection-expression来表达得话就是这样:
Pymol> select chain a and resi 100 and ca
如果用宏得,可以这样:
Pymol> select a/100/ca
就是不就是觉得简单了很多。好了,下面就来详细讲讲这个宏吧、ﻫ因为这个宏就是用来选择目标得,所以我称之为选择宏,它用斜杠”/”来定义Identifier,并且它使用上次介绍过得逻辑操作子”and”。
一个完整得,按顺序得选择宏得表达如下:
/object-name/segi-identifier/chain-identifier/resi—identifier/name—identifier
之所以说选择宏就是有顺序得,就是因为Pymol就就是靠顺序判断每个斜杠后面得东东都就是什么东东、
如果再细分一下得话,其实这个选择宏有2种写法,一个就是带开头得斜杠,另一个就是不带开头斜杠。区别就是:
如果不以斜杠开头,那么Pymol则认为您得表达式得最后一项就就是选择宏得末尾得最后一项,也就就是name-identifier、例如:
Pymol〉 show lines, a/100/caﻫPymol> show lines, 100/ca
如过以斜杠开头,那么Pymol就认为您就是从选择宏得表达式得顶端开始得,也就就是从/object—name开始得。例如:
Pymol> zoom /2vl0//a/100/caﻫPymol〉 zoom /2vl0//a/100
细心得读者肯定发现了上面得例子中有两道斜杠中间什么内容也没有,不会就是写错了吧?当然不就是,其实在这种情况下Pymol会默认选择这个两道斜杠中被省略得Identifier列表中得全部元素,也就就是说被省略得部分被Pymol当作了一个通配符。例如上例中我要选择全部得"segment",所以我就把它给省略不写了,呵呵,方便吧。
在举些例子来说明一下:
Pymol> color green, a/142/
斜杠后面得”name-identifier”被省略了,所以第142号基团得素有原子都会变成绿色。
Pymol> shwo cartoon, a//
a斜杠后面得"resi—identifier"以及最后斜杠后面得"name-identifier"被省略了,所以整个a链将以cartoon得方式被显示。
Pymol〉 zoom /2vl0//b
2个斜杠间得"segi-identifier"被省略,所以所有得b链将被放大。
最后总结一下,Pymol得选择宏必须至少包含一个斜杠"/",以此来与Pymol得"select—expression"区分;并且不能包含空格,因为Pymol就是把宏作为一个词来读取得;还有就就是其实Pymol在执行宏得时候首先就是把它翻译成正常得"select—expression",然后再执行得、
关于cartoon
cartoon经常被用来显示一个蛋白质得总体结构,瞧起来也很漂亮。这次就来说说它得具体用法。ﻫ不久前本人刚搞定了一个Glucosyltransferase得结构,所以下面所有得例子都用来它来说明。
cartoon得命令格式如下:
Pymol> cartoon type, (selection)
总结一下cartoon得显示类型:
automatic:默认得显示方式ﻫﻫloopﻫﻫtube: 比loop粗点ﻫﻫputty: 这个比较有趣,按照R—factor来显示,越高越粗
ﻫoval
ﻫrectangleﻫ
arrow:与rectangle几乎一样,就就是多了个箭头ﻫ
dumbbell:在oval得基础上,在helix得边缘加上一个cylinder
skip:隐藏,该图中隐藏了6-120号氨基酸、
下面说说如何设置cartoon得一些具体细节。
比较下面得2幅图:
您会发现第一张图中sheets就是平得,而当中得那个氨基酸得支链并没连接在sheet上,这就是因为为了显示得漂亮,把sheet人为得抹平了。而第二张图中得sheets则表达了蛋白质得真实走向,所以氨基酸得支链也显示正常。也就就是说,如果您想表达某个局部得具体细节得时候,最好采用第二张图中得显示方式。2张图对应得命令分别就是:
Pymol> set cartoon_flat_sheets, 1
Pymol> set cartoon_flat_sheets, 0
类似得命令对应于loop,就不举例子了:
Pymol〉 set cartoon_smooth_loops, 1
Pymol> set cartoon_smooth_loops, 0
下面再说说cartoon尺寸。
Helix得厚度与宽度:
Pymol> set cartoon_oval_width, 0。2
Pymol> set cartoon_oval_length, 1.5
sheet得厚度与宽度:
Pymol〉 set cartoon_rect_width, 0、5
Pymol> set cartoon_rect_length, 1、5
loop得半径:
Pymol> set cartoon_loop_radius, 0.2
如果您设置了cartoon得显示风格为fancy
Pymol> set cartoon_fancy_helices, 1ﻫPymol〉 set cartoon_fancy_sheets, 1
这样您得到得helix得边上会带有一个很细得cylinder,也就就是上面几张图中得显示方式。此时设置helix得厚度,宽度,以及这个cylinder得半径分别就是:
Pymol> set cartoon_dumbbell_width, 0、1ﻫPymol> set cartoon_dumbbell_length, 2
Pymol〉 set cartoon_dumbbell, 0.2
依此类推,还可以设置与putty,tube等等显示类型相关得尺寸,就不一一类举了。
最后再加几个还用得着得命令吧:
上色:
Pymol〉 set cartoon_color, green
竟然还可以refine,呵呵,逗号后面可以接数字,好像1-20都可以,数字越大优化得越大,感觉得确能变漂亮点:
Pymol> set cartoon_refine, 20
设置透明:
Pymol〉 set cartoon_transparency, 0。5
关于cartoon还有些命令,感觉不怎么常用,有些我也不知道就是干什么得。有兴趣再研究吧。
PyMOL用法(教程四)
关于label
在显示一个蛋白结构得某个细节得时候,常常会需要给某些重要得氨基酸打上标签,这就需要用到label命令。
label得命令格式如下:
Pymol〉 label [selection, [expression]]
selection当然就就是您要加标签得对象,expression就就是标签得内容,可选得有:name, resn, resi, chain等等、您也可以组合使用它们。expression也可以就是您自定义得一段内容,这时候只要把内容用引号包含起来就行:
Pymol> label selection, "user-defined expression”
在下面这个例子中,我想把glucosyltransferase中UDP-Glucose得binding pocket标注出来:ﻫ首先说明一下,该pdb文件中A链就是蛋白质,B链就是UDP-Glucose。
Pymol> load glucosyltransferase、pdb, tmpﻫPymol> extract upg, chain b
Pymol> extract pro, chain a
Pymol> delete tmp
Pymol〉 select near, pro within 4、5 of upg
Pymol> hide all
Pymol> show sticks, upgﻫPymol> show lines, near
Pymol> label near, (”%s/%s”) % (resn, resi)#("%s/%s"): 设定显示格式、
ﻫ上面得图瞧起来有点乱,因为默认Pymol在每个原子上都打上了标签。要想瞧起来顺眼点,需要一点加工。ﻫ在这之前,让我们先瞧一下关于label得其她设置:
投影模式,可选值0(无投影),1(object有投影到label上,但就是label本身无投影),2(object有投影到label上,label也有投影),3(object不投影到label上,label本身有投影):
Pymol> set label_shadow_mode, 3
文字颜色:
Pymol〉 set label_color, color—name, selection
标签文字得轮廓得颜色,这样就让在例如白色背景上加白色标签成为了可能:
Pymol〉 set label_outline_color, [color-name, [selection]]
字体,pymol内置了12种字体,编号从5-16。15号与16号字体就是unicode得:
Pymol〉 set label_font_id, 5
字体大小,如果为正值,则单位就就是正常得px。您也可以用负值,则单位就是Å:
Pymol> set label_size, —0、5
Pymol〉 set label_size, 4
设置label位置,用下列命令可以设置label离默认位置得三维偏移值,在需要给spheres加标签得时候有用:
Pymol> set label_position, (x,y,z)
最后说说怎样用单个字母标注氨基酸。ﻫ首先在$HOME/、pymolrc中加入:
# start $HOME/、pymolrc modification
single ={’VAL':’V', 'ILE’:'I’, 'LEU':’L’, 'GLU':'E’, 'GLN':'Q', \ﻫ'ASP’:'D', ’ASN':’N', ’HIS’:'H’, 'TRP':'W', ’PHE':'F', ’TYR':'Y’, \ﻫ'ARG’:'R’, 'LYS':'K', 'SER':’S', 'THR’:'T', 'MET':’M', ’ALA':'A', \ﻫ'GLY’:'G', 'PRO':'P', 'CYS':'C'}
# end modification
用法,用single[resn]代替resn:
Pymol> label n. CG and i、 230+246, single[resn]
下面就是改进过得图片:
展开阅读全文