pymol教程-09.7.23 - 图文 下载本文

》》》PyMOL用户指南《《《 09.7.23

byres s1 byobject s1 neighbor s1 s2 br. s1 bo. s1 nbr.s1 PyMOL>select bbnearten,bb w. 4 of resi 10 扩充s1到残基 PyMOL>select complete_res,br. bbnear10 扩充s1到对象 PyMOL>select near_obj,bo. Near_res 选择直接以化学键连接s1的原子 PyMOL>select vicions,neighbor resi 10 逻辑选择可被组合。例如,你可以选择部分链a的原子,但不包括残基125: PyMOL>select 007,chain a and (not resi 125)

PyMOL>select boy,(name cb or name cg1 or name cg2) and chain a #这两个 PyMOL>select girl,name cb+cg1+cg2 and chain a #命令是等效的

逻辑运算像算术运算一样是有顺序的,为确保操作正确执行,必要时使用括号: Byres((chain a or (chain b and (not resi 125))) around 5) PyMOL是从最内的括号向外逻辑选择的。

6) 宏指令

宏指令使表达长复杂语句的原子选择成为可能,如:

PyMOL>select boy,pept and segi lig and chain b and resi 142 and name ca 用精简方式表示:

PyMOL>select boy, /pept/lig/b/142/ca 宏指令用正斜杠来界定标识符。

宏指令通过布尔算符“and”选择原子,也就是说,选择的原子必须全部匹配标识符: /object-name/segi-identifier/chian-identifier/resi-identifier/name-identifier

这些标识符形成了一个等级串,以object-name 为首,以name-identifier为尾。PyMOL将宏指令当做一个词来识别,所以宏指令中不能有空格。

宏指令有两种形式:以正斜杠开头的和不以正斜杠开头的。宏指令开头正斜杠的存在与否决定了宏指令的读取方式。

如果以正斜杠开头,PyMOL按从头到尾的方式读取:

/object?name/segi?identifier/chain?identifier/resi?identifier/name?identifier /object?name/segi?identifier/chain?identifier/resi?identifier /object?name/segi?identifier/chain?identifier /object?name/segi?identifier /object?name 例如

PyMOL> zoom /pept

PyMOL> show spheres, /pept/lig/ PyMOL> show cartoon, /pept/lig/a PyMOL> color pink, /pept/lig/a/10

PyMOL> color yellow, /pept/lig/a/10/ca

山东大学 生命科学学院 lswang lab

21 / 39

》》》PyMOL用户指南《《《 09.7.23

如果不以正斜杠开头,PyMOL按从尾到头的方式读取: resi?identifier/name?identifier

chain?identifier/resi?identifier/name?identifier

segi?identifier/chain?identifier/resi?identifier/name?identifier

object?name/segi?identifier/chain?identifier/resi?identifier/name?identifier 例如

PyMOL> zoom 10/cb

PyMOL> show spheres, a/10?12/ca PyMOL> show cartoon, lig/b/6+8/c+o PyMOL> color pink, pept/enz/c/3/n

你也可以忽略正斜杠间的内容, 忽略的内容将会被当做通配符,如下所示: resi?identifier/

resi?identifier/name?identifier chain?identifier//

object?name//chain?identifier 例如

PyMOL> zoom 142/ # 残基142充满viewer.

PyMOL> show spheres, 156/ca #残基156的alpha碳以sphere显示 PyMOL> show cartoon, a// # Chain \显示为cartoon.

PyMOL> color pink, pept//b # object \的Chain \着为粉红色

为了区别于选择中的其他词,宏指令必须至少包含一个正斜杠。作为一个完整的词,中间不能有空格。宏指令转换成长复杂语句形式后才被提交执行,懂得这点对理解错误信息很有帮助。

2. 从PyMOL中读取Python

Python是一种面向对象的解释性的计算机程序设计语言,也是一种功能强大而完善的通用型语言。

单行的Python命令语句可以直接从PyMOL中发出,如: PyMOL>print 1+2 3

充分利用Python标准库函数,你可以给符号(symbols)指定结果: PyMOL>import time

PyMOL>now = time.time() PyMOL>print now 1052982734.94

在PyMOL命令脚本中可以有多行的Python模块,这些命令行(除了最后一行)以反斜杠('\\')结尾表示命令继续:

PyMOL> for a in range(1,6): \\ PyMOL> b = 6 ? a \\ PyMOL> print a, b 1 5 2 4

山东大学 生命科学学院 lswang lab

22 / 39

》》》PyMOL用户指南《《《 09.7.23

3 3 4 2 5 1

注意:Python命令语言仅能在当前PyMOL支持的Python版本上使用,通过在PyMOL中输入命令print sys.version查看支持的Python版本,也可以确定输入的Python命令是否被当前PyMOL支持。

四、 卡通表示

1. 背景 1) 可达性

PyMOL的竞争对手如流行的Molscript/Raster3D软件中也有Cartoon ribbons,但PyMOL却能非常容易地制作高质量的图片。由于PyMOL能直接读取Molscript的结果(见Molscript章节),所以能很方便的使用PyMOL的Cartoon ribbon功能:

PyMOL的ribbon \

Molscript的Cartoon更理想一点点,但PyMOL却相当缜密。 注意:本章节的所有的图片都用rainbow和ray-trace处理了。

2) 美化和精确

PyMOL cartoon ribbon功能的一大好处是很容易的在二级结构平滑(smoothed)版本间转换和精确(correct)表现实际主链的坐标。Cartoons常作为蛋白结构的示意图,有时就希望它能够在特定位点展现原子分辨率级别的图形。然而,除非碳骨架有alpha?carbon位点,否则结果图形会看起来有点愚蠢:

山东大学 生命科学学院 lswang lab

23 / 39

》》》PyMOL用户指南《《《 09.7.23

在上图中,侧链浮离到了空间。点击setting菜单cartoon的禁用\或输入命令 set cartoon_flat_sheets, 0

将会使beta条带沿骨架的正确路径延伸并给出更精确的结构描述

当关闭smoothing功能后,整个分子的cartoon表现将会有实质性的改变: 例如当smoothing开启时: set cartoon_flat_sheets, 1 set cartoon_smooth_loops, 1

山东大学 生命科学学院 lswang lab

24 / 39