简介&安装Pymol是一个开放源码,由使用者赞助的分子三维结构显示软件,由WarrenLyfordDeLano编写,并且由DeLanoScientificLLC负责商业发行。Pymol被用来创作高品质的分子(特别是生物大分子如蛋白质)三维结构。据软件作者宣称,在所有正式发表的科学论文中的蛋白质结构图像中,有四分之一是使用Pymol来制作的。Pymol名字的来源:“Py”表示该软件基于python这个计算机语言,“Mol”则是英文分子(molucule)的缩写,表示该软件用来显示分子结构。由于实验需要,本人正在学习该软件,在这里把学习过程记录下来,希望对有需要的朋友有所帮助。今天先来说说安装吧。自2006年8月1日起,DeLanoScientific对事先编译好的PyMOL执行程序(包括beta版)采取限定下载的措施。目前,只有付费用户可以取得。不过源代码目前还是可以免费下载,供使用者编译。如果你和我一样,不想为此花钱的话:1.如果你是Windows用户,首先下载Pymol的源代码。然后安装CygWin,并且确保正确安装以下模块:C++(gccorg++packagename)PythonOpenGLPNG然后在源代码目录里面依次运行:2.如果你是Linux用户,首先确保以下东东已安装:PythonPmwOpenGLdriver(我用的是NVdia)libpngSubversionclient(下载源代码需要)然后下载Pymol的源代码$mkdirpymol-src$svnco然后进入源代码目录#cdpymol-src开始依次编译#pythonsetup.pyinstall#pythonsetup2.pyinstall拷贝执行脚本到某个$PATH,安装就搞定了#cp./pymol/usr/bin如果运行时得到错误信息ImportError:NomodulenamedPmw,那么你应该运行#pythonsetup2.pyinstallpmw如果你在使用Gentoo,请确保编译python时添加了tcl/tk支持,否则运行是会提示错误ImportError:Nomodulenamed_tkinter#USE=tcltkemergepython好了,下面我们就可以进入Pymol的世界了。基本的鼠标操作里主要介绍一下Pymol的基本操作,包括窗口菜单、加载文件、图像的基本鼠标操作等等。当你打开Pymol后,你将会看到如下图所示的界面:该界面分为2窗口,上面的外部GUI窗口(ExternalGUI)和下面的ViewerWindow。ViewerWindow又分为左右两块,左边用来显示结构图像的(Viewer),右边则是一个内部GUI窗口(InternalGUI)。Viewer自身包含一个命令行(如图中左下方的PyMOL提示符),可以用来输入Pymol命令;在InernalGUI中则可以选定一些特定的对象并完成一些操作。ExternalGUI则包含一个标准菜单、一个输出区、一个命令行输入区以及右边的一些常用命令按钮。请注意,标准的“复制、剪切和粘贴”操作只能在ExternalGUI中完成,并且必须使用“Ctrl+C、Ctrl+X以及Ctrl+V”来完成,这也是这个所谓的外部GUI的最重要的优点。加载文件,有二种方法:1.在ExternalGUI中选择File-Open2.使用命令行:loadfilename例如我们现在从文件(PENTAMERICLIGANDGATEDIONCHANNELFROMERWINIACHRYSANTHEMI),名字为2vl0.pdb,然后用pymol打开它:load2vl0该蛋白质的结构就被显示出来啦,如下图:基本的图像操作:是不是觉得上面的那个三维结构图看起来乱七八糟的阿,那是因为蛋白质分子都是由成千上万个原子组成的,而Pymol打开pdb文件时是默认把所有的原子都显示在那个小小的Viewer窗口里面的,当然看起来就很乱了。这时候就需要我们对这个图像进行一些操作,来得到漂亮的清晰的蛋白质三维结构图。先说说鼠标吧。任意旋转图像:对准图像的任意处点住鼠标左键然后移动鼠标。放大/缩小图像:对准图像的任意处点住鼠标右键然后移动鼠标:向上是缩小,向下则是放大。移动图像:对准图像的任意处点住鼠标中键或者滚轮,然后移动鼠标。设定图像旋转中心:Ctrl+Shift+鼠标中键或滚轮。移动剪切平面:Shift+鼠标右键。鼠标上下移动:调整前剪切平面(离你近的);鼠标左右移动:调整后剪切平面(离你远的)。最后一项“移动剪切平面”有点不容易理解,需要多试几次。配合下面的示意图你会发现Pymol的这项设定其实很方便。今天没时间了,明天还要出远门,就学到这里吧,用下面这个图作为结束,其实就是用cartoon的形式显示了上面的那个蛋白质,不过还比较难看。。。ByweiluPyMOL用法(教程二)基础Pymol命令这里主要介绍一下Pymol的一些基本命令操作。就像Linux一样,要想更好的操作Pymol,掌握一些常用的命令是必不可少的。Pymol是区分大小写的,不过目前为止Pymol还是只用小写,所以记住,所有的命令都是使用小写字母的。当你开始用Pymol来完成一个项目时,你也许想会让Pymol自动保存你所有输入过的命令,以方便日后你再次读取并修改。这个可以通过创建一个log文件来达到,该文件的后缀名应为.pml,记住,Pymol像Linux一样支持Tab键命令补全:Pymollog_openlog-file-name.pml如果你想终止记录,只需要键入:Pymollog_close好了,现在载入pdb文件(继续前用的pdb文件):Pymolload2vlo.pdb现在Pymol就创建了一个叫2vlo的对象,你可以在内部GUI窗口里面看见这个项目的名字。但是你也可以自己定义该项目的名字(如test):Pymolload2vlo.pdb,test下面说说如何来操作你新建的对象。首先:PymolshowrepresentationPymolhiderepresentation其中representation可以为:cartoon,ribbon,dots,spheres,surface和mesh。使用这2个命令可以让Pymol以不同的方式显示蛋白质结构。例如当我们键入:PymolhidelinesPymolshowribbon我们将得到如下结果:也许你已经注意到结构中有2个一模一样的蛋白质分子,只是方向不同而已,那么如何让Pymol只显示当中的一个分子呢?首先输入如下命令:Pymollabelall,chains这个命令的作用是让Pymol给蛋白质结构中的“链”编号,你会发现,第一个分子由“链”A-E组成,第二个则由F-J组成。好了,如果我们想把一个蛋白质分子去掉,那么只要把“链”A-E或者F-J去掉即可:Pymolhideribbon,chainf+g+h+i+j上面的东东还可以这样完成:Pymolselecttest,chainf+g+h+i+jPymolhideribbon,test上面的第一句命令的作用是选择“链”F-J,并命名为test,然后在第二句命令中隐藏它。这样做的好处是,一旦你选择并命名了某个目标,你可以在后面随时对它进行各种操作。并且你在右边的控制面板里面也可以看到你选定的目标,并可以对其进行操作。比如你可以:Pymolhideeverything,testPymolshowcartoon,test这样你会得到:说到这里就提到了Pymol的一个比较重要的东东,就是选择并命名目标,它的基本语法就是:Pymolselectselection-name,selection-expression其中名字可以由字母[A/a-Z/z],数字[0-9]已经下划线[_]组成,但是要避免使用:!@#$%^&*()'[]{}\|~`?/如果你要删除你选定的目标或者整个对象,你可以:Pymoldeleteselection-namePymoldeleteobject-name下面讲讲如何给对象以及目标改变颜色。预定义的颜色名字可以在外部GUI窗口的Settings-Colors中找到:Pymolcolorcolor-namePymolcolorcolor-name,selection-expression比如我们可以:Pymolcolorred,sshPymolcoloryellow,sssPymolcolorgreen,ssl+其中“ss”代表secondarystructure,“h”代表Helix,“s”代表Betasheet,l+代表Loop和所以其他结构。这3句的作用分别是把所有的Helix变成红色;把所有的Betasheet变成黄色;把所有的Loop以及其他部分变成绿色,于是我们得到:Pymol可以同时打开多个pdb文件:Pymolloadobject-name-1.pdbPymolloadobject-name-2.pdb如果你想暂时关闭/打开某个对象,可以这样:Pymoldisableobject-name-1Pymolenableobject-name-1你也可以用disable命令去除最后一个选择的目标上出现的粉红色的小点,但是该命令并不会使你选定的目标不可见。Pymoldisableselection-name使用鼠标通常是改变图像视角的最方便的办法,不过命令如zoom,orient等等有时候使用起来也是很有用的,它们提供了另一种改变图像视角的办法。放大选定目标:Pymolzoomselection-name定向选定目标,可以使选定目标最大的尺寸水平显示,次大的尺寸竖直显示::Pymolorientselection-name你也可以用view命令保存你目前的视角,注意,该命令只保存视角,并不保存你的对象显示方式:Pymolviewkey,action其中“key”是你随便给当前视角定的名字,“action”可以为:store或者recall。如果不加任何“action”,则默认为recall:Pymolviewv1,storePymolviewv1,recallPymolviewv1说了这么多,最后说说如何保存文件吧。Pymol有3个层面的保存方式,下面来分别说说。1.使用log_open命令把你所有使用过的命令记录为一个文本文档:Pymollog_openscript-file-name这样以后当你再次调用该文档时,Pymol将执行上面的所有命令:Pymol@script-file-name不过注意,如果你想记录当前视角,则必须使用get_view命令。你可以选择外部GUI窗口中的File-Append/Resume/CloseLog来分别暂停记录/恢复记录/停止记录该文档。你可以随时编辑该文档。在linux下,该文档的默认保存目录为当前用户的home目录。2.如果你想下次打开Pymol时直接回到当前所在的状态,那么你可以选择外部GUI窗口里面的File-SaveSession,创建一个会话文件(.pse)。该会话文件和上面提到的文档文件的区别在于,首先文档文件可以编辑,但会话文件不可以;记录文档文件前必须先运行log_open命令,而会话文件可以随时创建;最后文档文件以文档形式运行(@),而打开会话文件则必须选择外部GUI窗口中的File-Open。什么时候需要创建会话文件呢?比如当你在某时有多个选择时,你可以保存当前状态,然后一一尝试这些选择,不满意时只需要重新打开该会话文件即可。也就是说创建会话文件起到了“undo”的作用,这正是Pymol所缺少的。希望开发者能赶快加入该功能,那么这个会话文件好像就没什么大用了