Pymol教程(三):基础Pymol命令(转载自: 吕头的驴窝 - www.donkeyhome.org)
2012-10-10 11:18阅读:
这里主要介绍一下Pymol的一些基本命令操作。就像Linux一样,要想更好的操作Pymol,掌握一些常用的命令是必不可少的。
Pymol是区分大小写的,不过目前为止Pymol还是只用小写,所以记住,所有的命令都是使用小写字母的。
当你开始用Pymol来完成一个项目时,你也许想会让Pymol自动保存你所有输入过的命令,以方便日后你再次读取并修改。这个可以通过创建一个log文件来达到,该文件的后缀名应为.pml,记住,Pymol像Linux一样支持Tab键命令补全:
Pymol> log_open
log-file-name.pml
如果你想终止记录,只需要键入:
Pymol> log_close
现在继续用上次的FBPase为例,来说说如何操作新建的对象(object):
首先:
Pymol> show
representation
Pymol> hide
representation
其中
representation可以为:cartoon, ribbon, dots, spheres,
surface和mesh。
使用这2个命令可以让Pymol以不同的方式显示蛋白质结构。
例如当我们键入:
Pymol> hide lines
Pymol> show ribbon
以上两个命令等价于:
Pymol> as ribbon
我们将得到如下结果:
这个FBPase实际上是个o
ctamer,当我们打开pdb的时候只显示了一个monomer,这是因为在这个晶体里面最小的unit
cell里面只包含一个monomer。注意unit
cell里面包含几个monomer和蛋白质的自然状态没有直接联系,而只和晶体的symmetry相关。
那么如何让pymol显示该FBPase的octamer呢?
点击FBPase右边的A(ction) - generate - symmetry mates - within 20 A
你会看见多出好多个monomer,把其中明显不属于octamer的取消,剩下的就是一个完整的octamer。再把原始的FBPase
monomer的颜色设定为tv_red,
这样你会得到:
从上面这个图我们除了能看见FBPase的整体结构长什么样之外,并不能得到太多的有用信息。所以下面我们回到monomer。
这个FBPase是个bifunctional的蛋白,是glycolysis和gluconeogensis中的关键性的酶之一。它首先催化了DHAP
和GAP间的aldol condensation (aldolase),得到的产物FBP紧接着被dephosphorylated
(phosphatase)得到最终产物F6P。
最有趣的是2步反应都在同一个active
center里面进行。有限的空间,完全不同的反应和substrate,这就要求蛋白质可以在多个不同的构形间转变。
在该FBPase中有3个部分(alolase loop, phosphatase loop, anchor
loop)在反应中有比较大的形变,在下面的例子中,我会尝试把active center用比较明了的方式表达出来。
说到这里就提到了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> as cartoon
# 以cartoon显示
Pymol> set cartoon_fancy_helices, 1
#
让helix看起来fancy一点
Pymol> remove alt b
# 对于存在2种构形的基团,只保留构形a
Pymol> bg_color white
# 设置背景色为白色
Pymol> color bluewhite, FBPase
#
设置蛋白质颜色为bluewhite,不至于影响注意力,因为active center才更重要
Pymol> color tv_blue, resi 93-111
# phosphatase
loop
Pymol> color tv_red, resi 220-235
# aldolase
loop
Pymol> color tv_yellow, resi 353-370
# anchor
loop
然后把图片zoom到active center,再用鼠标滚轮调调景深,于是我们得到:
现在输入:
Pymol> set seq_view, 1
你会看到pdb的sequence被显示出来,在氨基酸序列和水分子之间你会看见有4个镁离子(MG)和1个P6F(FBP),这些就是substrate了。
鼠标点击选择P6F,为了方便操作,把该选择(sele)复制为新的object: A - copy to
object,然后重命名为fbp。
然后连续点击所有的镁离子(MG),copy to object,重命名为mg。 输入:
Pymol> as sticks, fbp
# 用sticks方式显示fbp分子
Pymol> as sphere, mg
# 用sphere方式显示镁离子
Pymol> set sphere_scale, 0.7
# 把sphere缩小点
Pymol> color gray, mg
再给fbp选择一套颜色: C(olor) - by element,我就选了第一套,得到:
再介绍点基础。
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个层面的保存方式,下面来分别说说。
- 使用log_open命令把你所有使用过的命令记录为一个文本文档: Pymol> log_open
script-file-name
这样以后当你再次调用该文档时,Pymol将执行上面的所有命令:
Pymol> @script-file-name
不过注意,如果你想记录当前视角,则必须使用get_view命令。
你可以选择外部GUI窗口中的File - Append/Resume/Close
Log来分别暂停记录/恢复记录/停止记录该文档。
你可以随时编辑该文档。
在linux下,该文档的默认保存目录为当前用户的home目录。
- 如果你想下次打开Pymol时直接回到当前所在的状态,那么你可以选择外部GUI窗口里面的File - Save
Session,创建一个会话文件(.pse)。
该会话文件和上面提到的文档文件的区别在于,首先文档文件可以编辑,但会话文件不可以;记录文档文件前必须先运行log_open命令,而会话文件可以随
时创建;最后文档文件以文档形式运行(@),而打开会话文件则必须选择外部GUI窗口中的File - Open。
什么时候需要创建会话文件呢?比如当你在某时有多个选择时,你可以保存当前状态,然后一一尝试这些选择,不满意时只需要重新打开该会话文件即可。也就是说
创建会话文件起到了“undo”的作用,这正是Pymol所缺少的。希望开发者能赶快加入该功能,那么这个会话文件好像就没什么大用了,呵呵。
-
如果你觉得当前显示窗口里面显示的结构图像已经满足你的要求了,你可以把它保存为图片。在这之前你可以使用ray命令来render图像,它可以使你的图像具有三维的反射及阴影特效:
Pymol> set antialias, 2#
打开抗锯齿,数字越大,效果越好,所需时间越长,生成图片越大
Pymol> ray
Pymol> png your_path/image_name
最后就用该命令导出的图片结束这次笔记吧。已经有点样子了,不过离简单明了还差很远。(待续)