蛋白质作图软件pymol教程Pymol学习笔记.doc

上传人:wux****ua 文档编号:7987869 上传时间:2020-03-26 格式:DOC 页数:59 大小:8.21MB
返回 下载 相关 举报
蛋白质作图软件pymol教程Pymol学习笔记.doc_第1页
第1页 / 共59页
蛋白质作图软件pymol教程Pymol学习笔记.doc_第2页
第2页 / 共59页
蛋白质作图软件pymol教程Pymol学习笔记.doc_第3页
第3页 / 共59页
点击查看更多>>
资源描述
B2WS-6JGH-PV7G-PBKP什么是结构生物学结构生物学(Structural biology)是生物领域里面相对较新的一个分支。它主要以生物化学和生物物理学方法来研究生物大分子,特别是蛋白质和核酸,的三维结构,以及与结构相对应的功能。因为几乎所有的细胞内的生命活动都是通过生物大分子来完成的,并且这些大分子完成这些功能的前提是它们必须具有特定的三维结构,因此,对于生物化学家们,这是一个非常具有吸引力的领域。 该领域通常被认为开始于20世纪50年代,Max Perutzhe和Sir John Cowdery Kendrew于1959年各自利用X射线晶体学方法解析了肌红蛋白(Myoglobin)的三维结构,一种在肌肉中运输氧气的蛋白。他们因此分享了1962年的诺贝尔化学奖,并由此揭开了结构生物学的序幕。截止到2008年10月28日,已有53917个生物大分子结构在www.pdb.org(蛋白质数据库)登记在案。 目前用于研究生物大分子结构的常用方法有X射线晶体学(X-ray crystallography)、核磁共振(NMR)、电子显微学(electron microscopy)、冷冻电子显微学(electron cryomicroscopy = cryo-EM)、超快激光光谱(ultra fast laser spectroscopy)、双偏振极化干涉(Dual Polarisation Interferometry)以及圆二色谱(circular dichroism)等。当中又以X射线晶体学和核磁共振最为常用。 图一:肌红蛋白(Myoglobin)的三维结构,世界上第一个由X射线晶体学解出的蛋白质结构,该蛋白在肌肉中传输氧气。图二:蓝细菌(Cyanobacterium)的光系统II(Photosystem II)的三维结构,该蛋白位于细胞膜内,用以吸收光能参与光合作用。Pymol学习笔记(一):简介&安装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 https:/pymol.svn.sourceforge.net/svnroot/pymol/trunk/pymol 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的基本操作,包括窗口菜单、加载文件、图像的基本鼠标操作等等。 当你打开Pymol后,你将会看到如下图所示的界面:该界面分为2窗口,上面的外部GUI窗口(External GUI)和下面的Viewer Window。Viewer Window又分为左右两块,左边用来显示结构图像的(Viewer),右边则是一个内部GUI窗口(Internal GUI)。Viewer自身包含一个命令行(如图中左下方的PyMOL提示符),可以用来输入Pymol命令;在Inernal GUI中则可以选定一些特定的对象并完成一些操作。External GUI则包含一个标准菜单、一个输出区、一个命令行输入区以及右边的一些常用命令按钮。请注意,标准的“复制、剪切和粘贴”操作只能在External GUI中完成,并且必须使用“CtrlC、CtrlX以及CtrlV”来完成,这也是这个所谓的外部GUI的最重要的优点。 加载文件,有二种方法:1. 在External GUI中选择File Open 2. 使用命令行: load 例如我们现在从www.pdb.org上下载了一个离子通道蛋白的pdb文件(PENTAMERIC LIGAND GATED ION CHANNEL FROM ERWINIA CHRYSANTHEMI),名字为2vl0.pdb,然后用pymol打开它: load 2vl0该蛋白质的结构就被显示出来啦,如下图:基本的图像操作:是不是觉得上面的那个三维结构图看起来乱七八糟的阿,那是因为蛋白质分子都是由成千上万个原子组成的,而Pymol打开pdb文件时是默认把所有的原子都显示在那个小小的Viewer窗口里面的,当然看起来就很乱了。这时候就需要我们对这个图像进行一些操作,来得到漂亮的清晰的蛋白质三维结构图。先说说鼠标吧。 任意旋转图像: 对准图像的任意处点住鼠标左键然后移动鼠标。 放大/缩小图像: 对准图像的任意处点住鼠标右键然后移动鼠标:向上是缩小,向下则是放大。 移动图像: 对准图像的任意处点住鼠标中键或者滚轮,然后移动鼠标。 设定图像旋转中心: CtrlShift鼠标中键或滚轮。 移动剪切平面: Shift鼠标右键。鼠标上下移动:调整前剪切平面(离你近的);鼠标左右移动:调整后剪切平面(离你远的)。 最后一项“移动剪切平面”有点不容易理解,需要多试几次。配合下面的示意图你会发现Pymol的这项设定其实很方便。今天没时间了,明天还要出远门,就学到这里吧,用下面这个图作为结束,其实就是用cartoon的形式显示了上面的那个蛋白质,不过还比较难看。Pymol学习笔记(三):基础Pymol命令这里主要介绍一下Pymol的一些基本命令操作。就像Linux一样,要想更好的操作Pymol,掌握一些常用的命令是必不可少的。 Pymol是区分大小写的,不过目前为止Pymol还是只用小写,所以记住,所有的命令都是使用小写字母的。 当你开始用Pymol来完成一个项目时,你也许想会让Pymol自动保存你所有输入过的命令,以方便日后你再次读取并修改。这个可以通过创建一个log文件来达到,该文件的后缀名应为.pml,记住,Pymol像Linux一样支持Tab键命令补全: Pymol log_open log-file-name.pml 如果你想终止记录,只需要键入: Pymol log_close 好了,现在载入pdb文件(继续前用的pdb文件): Pymol load 2vlo.pdb 现在Pymol就创建了一个叫2vlo的对象,你可以在内部GUI窗口里面看见这个项目的名字。但是你也可以自己定义该项目的名字(如test): Pymol load 2vlo.pdb, test 下面说说如何来操作你新建的对象。首先: Pymol show representationPymol hide representation 其中representation可以为:cartoon, ribbon, dots, spheres, surface和mesh。使用这2个命令可以让Pymol以不同的方式显示蛋白质结构。例如当我们键入: Pymol hide linesPymol show ribbon 我们将得到如下结果:也许你已经注意到结构中有2个一模一样的蛋白质分子,只是方向不同而已,那么如何让Pymol只显示当中的一个分子呢?首先输入如下命令: Pymol label all, chains 这个命令的作用是让Pymol给蛋白质结构中的“链”编号,你会发现,第一个分子由“链”AE组成,第二个则由FJ组成。好了,如果我们想把一个蛋白质分子去掉,那么只要把“链”AE或者FJ去掉即可: Pymol hide ribbon, chain f+g+h+i+j 上面的东东还可以这样完成: Pymol select test, chain f+g+h+i+jPymol hide ribbon, test 上面的第一句命令的作用是选择“链”FJ,并命名为test,然后在第二句命令中隐藏它。这样做的好处是,一旦你选择并命名了某个目标,你可以在后面随时对它进行各种操作。并且你在右边的控制面板里面也可以看到你选定的目标,并可以对其进行操作。比如你可以: Pymol hide everything, testPymol show cartoon, test 这样你会得到:说到这里就提到了Pymol的一个比较重要的东东,就是选择并命名目标,它的基本语法就是: Pymol select selection-name, selection-expression 其中名字可以由字母A/aZ/z,数字09已经下划线_组成,但是要避免使用: ! # $ % & * ( ) | ? / 如果你要删除你选定的目标或者整个对象,你可以: Pymol delete selection-namePymol delete object-name 下面讲讲如何给对象以及目标改变颜色。预定义的颜色名字可以在外部GUI窗口的Settings Colors中找到: Pymol color color-namePymol color color-name, selection-expression 比如我们可以: Pymol color red, ss hPymol color yellow, ss sPymol 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.pdbPymol load object-name-2.pdb 如果你想暂时关闭/打开某个对象,可以这样: Pymol disable object-name-1Pymol 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, storePymol view v1, recallPymol view v1 说了这么多,最后说说如何保存文件吧。Pymol有3个层面的保存方式,下面来分别说说。 1. 使用log_open命令把你所有使用过的命令记录为一个文本文档: Pymol log_open script-file-name 这样以后当你再次调用该文档时,Pymol将执行上面的所有命令: Pymol script-file-name 不过注意,如果你想记录当前视角,则必须使用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 rayPymol pngyour_path/image_name 最后就用该命令导出的图片结束这次笔记吧。Pymol学习笔记(四):Pymol命令的语法与目标选择的表达上次介绍一些Pymol的基本命令。现在来具体说说Pymol命令的语法,还有在选择操作目标应该如果表达。个人觉得这部分内容对学习Pymol来说是至关重要的。 从上次讲的一些例子中不难看出,Pymol的命令都是由关键词(keyword)加上一些变量(argument)组成,格式如下: Pymol keyword argument 其中关键词(keyword)当然是必须的,而变量则不是必须的,比如退出命令quit就不需要附加变量: Pymol quit 当然更多的命令通常是需要加变量的,比如放大命令zoom,但是你会发现即使你不加任何变量该命令也可以被执行,这是因为Pymol的许多命令有一个默认变量,下面两个命令的作用是一样的,其中的目标选择all就是zoom的默认变量: Pymol zoomPymol zoom all还有些命令可以带多个参数,比如加色命令color,它的用法如下: Pymol color color-namePymol 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代表alphacarbon,cb代表betacarbon)。整个语句的作用就是选择上诉的原子并命名为test,这样我们可以在后面继续使用它。 下表列出了大多数的selector: Selector简写Identifier及例子symbole.chemical-symbol-list周期表中的元素符号Pymol select polar, symbol o+nnamen.atom-name-listpdb文件中的原子名字Pymol select carbons, name ca+cb+cg+cdresnr.residue-name-list氨基酸的名字Pymol select aas, resn asp+glu+asn+glnresii.residue-identifier-listpdb文件中基团的编号Pymol select mults10, resi 1+10+100residue-identifier-rangePymol select nterm, resi 1-10altaltalternate-conformation-identifier-list一些单字母的列表,选择具有2种构型的氨基酸Pymol select altconf, alt a+bchainc.chain-identifier-list一些单字母或数字的列表Pymol select firstch, chain asegis.segment-identifier-list一些字母(最多位)的列表Pymol select ligand, segi ligflagf.flag-nummer一个整数()Pymol select f1, flag 0numeric_typent.type-nummer一个整数Pymol select type1, nt. 5text_typett.type-string一些字母(最多位)的列表Pymol select subset, tt. HA+HCididexternal-index-number一个整数Pymol select idno, id 23indexidx.internal-index-number一个整数Pymol select intid, index 23sssssecondary-structure-type代表该类结构的单字母Pymol select allstrs, ss h+s+l+下表是另一些Selector,有关比较的: Selector简写Identifier及例子bbcomparison-operator b-factor-value一个实数,用来比较b-factorPymol select fuzzy, b 12qqcomparison-operator occupancy-value一个实数,用来比较occupancyPymol select lowcharges, q 0.5formal_chargefc.comparison-operator formal charge-value一个整数,用来比较formal chargePymol select doubles, fc. = -1partial_chargepc.comparison-operator partial charge-value一个实数,用来比较partial chargePymol select hicharges, pc. -1另外有一些Selector是不需要Identifier的,它们被列在下表中: Selector简写描述all*所有当前被Pymol加载的原子nonenone什么也不选hydroh.所有当前被Pymol加载的氢原子hetatmhet所有从蛋白质数据库HETATM记录中加载的原子visiblev.所有在被“可见”的显示的对象中的原子presentpr.所有的具有定义坐标的原子在Identifier中用到的原子以及氨基酸的命名规则可以在下面的网址中找到:http:/www.wwpdb.org/docs.html 在选择表达中,selector还可以配合逻辑操作子(logical operator)使用,这样我们可以表达更加复杂的选择。这些操作子被列于下表中: Operator简写效果与例子not s1! s1选择原子但不包括s1中的Pymol select sidechains, ! bbs1 and s2s1 & s2选择既在s1又在s2中的原子Pymol select far_bb, bb & farfrm_tens1 or s2s1 | s2选择s1或者s2中的原子(也就是包含全部的s1和s2原子)Pymol select all_prot, bb | sidechains1 in s2s1 in s2选择s1中的那些原子,其identifiers (name, resi, resn, chain, segi)全部符合s2中对应的原子Pymol select same_atom, pept in prots1 like s2s1 l. s2选择s1中的那些原子,其identifiers (name, resi)符合s2中对应的原子Pymol select similar_atom, pept like prots1 gap Xs1 gap X选择那些原子,其van der Waals半径至少和s1的van der Waals半径相差XPymol select farfrm_ten, resi 10 gap 5s1 around Xs1 a. X选择以s1中任何原子为中心,X为半径,所包括的所有原子Pymol select near_ten, resi 10 around 5s1 expand Xs1 e. X选择以s1中任何原子为中心,X为半径,然后把s1扩展至该新的范围所包含的所有原子Pymol select near_ten_x, near10 expand 3s1 within X of s2s1 w. X of s2选择以s2为中心,X为半径,并包含在s1中的原子Pymol select bbnearten, bb w. 4 of resi 10byres s1br. s1把选择扩展到全部residuePymol select complete_res, br. bbnear10byobject s1bo. s1把选择扩展到全部objectPymol select near_obj, bo. near_resneighbor s1nbr. s1选择直接和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文件中的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/caPymol show lines, 100/ca 如过以斜杠开头,那么Pymol就认为你是从选择宏的表达式的顶端开始的,也就是从/object-name开始的。例如: Pymol zoom /2vl0/a/100/caPymol 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,然后再执行的。 Pymol学习笔记(六):关于cartooncartoon经常被用来显示一个蛋白质的总体结构,看起来也很漂亮。这次就来说说它的具体用法。不久前本人刚搞定了一个Glucosyltransferase的结构,所以下面所有的例子都用来它来说明。 cartoon的命令格式如下: Pymol cartoon type, (selection) 总结一下cartoon的显示类型: automatic:默认的显示方式looptube: 比loop粗点putty: 这个比较有趣,按照R-factor来显示,越高越粗ovalrectanglearrow:和rectangle几乎一样,就是多了个箭头dumbbell:在oval的基础上,在helix的边缘加上一个cylinderskip:隐藏,该图中隐藏了6120号氨基酸。下面说说如何设置cartoon的一些具体细节。比较下面的2幅图: 你会发现第一张图中sheets是平的,而当中的那个氨基酸的支链并没连接在sheet上,这是因为为了显示的漂亮,把sheet人为的抹平了。而第二张图中的sheets则表达了蛋白质的真实走向,所以氨基酸的支链也显示正常。也就是说,如果你想表达某个局部的具体细节的时候,最好采用第二张图中的显示方式。2张图对应的命令分别是: Pymol set cartoon_flat_sheets, 1Pymol set cartoon_flat_sheets, 0 类似的命令对应于loop,就不举例子了: Pymol set cartoon_smooth_loops, 1Pymol set cartoon_smooth_loops, 0 下面再说说cartoon尺寸。Helix的厚度和宽度: Pymol set cartoon_oval_width, 0.2Pymol set cartoon_oval_length, 1.5 sheet的厚度和宽度: Pymol set cartoon_rect_width, 0.5Pymol set cartoon_rect_length, 1.5 loop的半径: Pymol set cartoon_loop_radius, 0.2 如果你设置了cartoon的显示风格为fancy Pymol set cartoon_fancy_helices, 1Pymol set cartoon_fancy_sheets, 1 这样你得到的helix的边上会带有一个很细的cylinder,也就是上面几张图中的显示方式。此时设置helix的厚度,宽度,以及这个cylinder的半径分别是: Pymol set cartoon_dumbbell_width, 0.1Pymol set cartoon_dumbbell_length, 2Pymol set cartoon_dumbbell, 0.2 依此类推,还可以设置和putty,tube等等显示类型相关的尺寸,就不一一类举了。 最后再加几个还用的着的命令吧: 上色: Pymol set cartoon_color, green 竟然还可以refine,呵呵,逗号后面可以接数字,好像120都可以,数字越大优化的越大,感觉的确能变漂亮点: 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, tmpPymol extract upg, chain bPymol extract pro, chain aPymol delete tmpPymol select near, pro within 4.5 of upgPymol hide allPymol show sticks, upgPymol show lines, nearPymol 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种字体,编号从516。15号和16号字体是unicode的: Pymol set label_font_id, 5 字体大小,如果为正值,则单位就是正常的px。你也可以用负值,则单位是: Pymol set label_size, -0.5Pymol set label_size, 4 设置label位置,用下列命令可以设置label离默认位置的三维偏移值,在需要给spheres加标签的时候有用: Pymol set label_position, (x,y,z)最后说说怎样用单个字母标注氨基酸。首先在$HOME/.pymolrc中加入: # start $HOME/.pymolrc modificationsingle =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 用法,用singleresn代替resn: Pymol label n. CG and i. 230+246, singleresn 下面是改进过的图片: 是不是看起来好多了,下面是具体的代码,其中关于电子密度图的设置请见下一节: Pymol select near, resi 139+229+230+233+246+499+519+520Pymol as cartoon, proPymol 鼠标操作:显示near的sidechainPymol set_color grey1, 224,224,224Pymol set cartoon_color, grey1Pymol set cartoon_transparency, 0.3Pymol set cartoon_fancy_helices, 1Pymol label n. CB and near, (%s%s) % (singleresn, resi)Pymol 进入Editing模式,按住ctrl+鼠标右键移动label到合适位置Pymol set cartoon_transparency, 0.3Pymol set label_font_id, 13Pymol set label_size, 26Pymol bg_color whitePymol 进入measurement模式测量我们所需要的距离Pymol set dash_length, 0.015Pymol set dash_radius, 0.015Pymol set dash_gap, 0.6Pymol set dash_color, greyPymol学习笔记(八):在pymol中导入电子密度图假设我们已经有了一个蛋白质的pdb文件(protein.pdb)和mtz(protein.mtz)文件,这样我们就可以用fft(Fast Fourier Transform)命令生成electron density map,以便在pymol中导入。 fft的命令格式如下: fft HKLIN protein.mtz XYZIN protein.pdb MAPOUT 2fofc.ccp4 回车后进入fft环境,还需要指定一些参数: LABIN F1=FWT PHI=PHWTGRID SAMPLE 5END 上诉第2句“GRID.”用来指定生成电子密度图的精细程度。默认值是3,表示生成的“网格”大小是最大分辨率的三分之一,以此类推。回车之后电子密度图就搞定了,名字叫2fofc.ccp4 然后就可以在pymol中导入了。首先导入pdb文件glucosyltransferase.pdb,然后电子密度图: 首先说明一下,该pdb文件中A链是蛋白质,B链是UDP-Glucose。 Pymol load glucosyltransferase.pdb, proPymol load 2fofc.ccp4 你会发现,还看不见density。打开Wizard - Density,怎么样,看见了吧。按住ctrl键和鼠标右键可以移动density,或者点击Density Map Wizard中的Next Res.和Previous Res.。 不过显示全部的density map并不是我们的目的,因为这样显的很乱,也看不到什么细节。下面的例子是仅仅显示UDP-Glucose的电子密度图。 Pymol remove resn HOHPymol select upg, chain bPymol as cartoon, proPymol as stick, upgPymol orient, upgPymol isomesh upg-d, 2fofc, 2.0, upg, carve=1.5Pymol set stick_radius, 0.2Pymol set mesh_radius, 0.01#让电子密度图的网格细一点,好看 效果图如下: 上诉命令中,其余设置请见上一节label,和显示电子密度相关的就是isomesh了,它的用法如下: Pymol isomesh name, map, level ,(selection) ,buffer ,state ,carve name: 给这个mesh isosurface随便起个名字。 map: 就是刚才load的那个2fofc。 level: 轮廓值,越大轮廓越细。 selection: 要表达的对象 buffer: 没用过 state: 没用过 carve: 以selection中的任何原子为中心,半径为该值,所包含的全部原子,画出他们的density OK!搞定。
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!