吕头的Pymol学习笔记(五):Pymol的选择宏

[复制链接]
查看: 3568|回复: 0
发表于 2011-9-21 05:23:22 | 显示全部楼层 |阅读模式

上次具体讲了如何在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",然后再执 行的。      

原文链接:http://www.donkeyhome.org/protein/protein-006/

回复

使用道具 举报

精彩图文
Copyright;  © 新科学想法 2016-2017   浙公网安备 33010202000686号   ( 浙ICP备09035230号-1 )