comparison-operator formal charge-value formal_charge fc. 一个整数,用来比较formal charge Pymol> select doubles, fc. = -1 comparison-operator partial charge-value partial_charge pc. 一个实数,用来比较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中用到的原子以及氨基酸的命名规则可以在下面的网址中找到:
http://www.wwpdb.org/docs.html
在选择表达中,selector还可以配合逻辑操作子(logical operator)使用,这样我们可以表达更加复杂的选择。这些操作子被列
于下表中:
Operator 简写 效果与例子 选择原子但不包括s1中的 not s1 ! s1 Pymol> select sidechains, ! bb 选择既在s1又在s2中的原子 s1 and s2 s1 & s2 Pymol> select far_bb, bb & farfrm_ten 选择s1或者s2中的原子(也就是包含全部的s1和s2原子) s1 or s2 s1 | s2 Pymol> select all_prot, bb | sidechain 选择s1中的那些原子,其identifiers (name, resi, resn, chain, segi) 全部符合s2中对应的原子 s1 in s2 s1 in s2 Pymol> select same_atom, pept in prot 选择s1中的那些原子,其identifiers (name, resi)符合s2中对应的原子 s1 like s2 s1 l. s2 Pymol> select similar_atom, pept like prot 选择那些原子,其van der Waals半径至少和s1的van der Waals半径相差X s1 gap X s1 gap X Pymol> select farfrm_ten, resi 10 gap 5 选择以s1中任何原子为中心,X为半径,所包括的所有原子 s1 around X s1 a. X Pymol> select near_ten, resi 10 around 5 选择以s1中任何原子为中心,X为半径,然后把s1扩展至该新的范围所包含的所有原子 s1 expand X s1 e. X Pymol> select near_ten_x, near10 expand 3 选择以s2为中心,X为半径,并包含在s1中的原子 s1 within X of s2 s1 w. X of s2 Pymol> select bbnearten, bb w. 4 of resi 10 把选择扩展到全部residue byres s1 br. s1 Pymol> select complete_res, br. bbnear10 把选择扩展到全部object byobject s1 bo. s1 Pymol> select near_obj, bo. near_res 选择直接和s1相连的原子 neighbor s1 nbr. s1 Pymol> select vicinos, nbr. resi 10 这些逻辑选择还可以组合使用。比如你想选择chain b,但是不选择其中的residue 88:
Pymol> select chain b and (not resi 88)
在使用多重逻辑选择时,为了让Pymol正确处理顺序,请使用括号,这样最里层括号里面的内容将会被最先处理,以此类推。
好了,目标选择就先说到这里。其实关于目标选择还有所谓的“宏”可以用,可以简化表达式,准备下次说说。
Pymol学习笔记(五):Pymol的选择宏
上次具体讲了如何在Pymol中怎么用selection-expression选取目标,其实在某些情况下,还可以用Pymol提供的宏来
选择操作目标。使用这个选择宏往往可以是一个原本很复杂的表达变得简单紧凑。
例如我们想选择2vlo这个pdb文件中的\中的第100个基团的α炭原子,如果用selection-expression来表达的话是这
样:
Pymol> select chain a and resi 100 and ca
如果用宏的,可以这样:
Pymol> select a/100/ca
是不是觉得简单了很多。好了,下面就来详细讲讲这个宏吧。
因为这个宏是用来选择目标的,所以我称之为选择宏,它用斜杠\来定义Identifier,并且它使用上次介绍过的逻辑操作子\。
一个完整的,按顺序的选择宏的表达如下:
/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当作了一个通配符。例如上
例中我要选择全部的\,所以我就把它给省略不写了,呵呵,方便吧。
在举些例子来说明一下:
Pymol> color green, a/142/
斜杠后面的\被省略了,所以第142号基团的素有原子都会变成绿色。
Pymol> shwo cartoon, a//
a斜杠后面的\以及最后斜杠后面的\被省略了,所以整个a链将以cartoon的方式被显示。
Pymol> zoom /2vl0//b
2个斜杠间的\被省略,所以所有的b链将被放大。
最后总结一下,Pymol的选择宏必须至少包含一个斜杠\,以此来和Pymol的\区分;并且不能包含
空格,因为Pymol是把宏作为一个词来读取的;还有就是其实Pymol在执行宏的时候首先是把它翻译成正常的
\,然后再执行的。
Pymol学习笔记(六):关于cartoon
cartoon经常被用来显示一个蛋白质的总体结构,看起来也很漂亮。这次就来说说它的具体用法。
不久前本人刚搞定了一个Glucosyltransferase的结构,所以下面所有的例子都用来它来说明。
cartoon的命令格式如下:
Pymol> cartoon type, (selection)
总结一下cartoon的显示类型:
automatic:默认的显示方式
loop
tube: 比loop粗点
putty: 这个比较有趣,按照R-factor来显示,越高越粗