简介:
这个教程为新用户介绍了VMD的用法。老用户也可以用本教程进一步熟悉程序的应用,以更好地利用VMD。本教程是针对VMD1.8.3设计的,需要约3个小时来完成。
本教程新增的内容可用三个独立的单元讲解。第一个单元主要内容是分子图形表现方法基础,还会介绍制作形象逼真的图像要了解的知识。另外的两个单元是针对高级用户,介绍了VMD的脚本。尽管非技术性用户可以略去脚本的阅读,但是我们鼓励每个人都去试一试着读一下,因为它会提供一些有力而易用的工具,这些工具是简单的图形用户界面所无法提供的。
本教程以一种有趣的小蛋白质泛素的研究为例来说明VMD的应用。在本文中,一些资料是在小框中出现的。这些小框中包括教程的补充内容,例如泛素扮演的生物学角色,使用VMD的一些提示和捷径等等。
如果你有对本教程的评论和问题,请发邮件至tutorial-l@ks.uiuc.edu。邮件列表可以在http://www.ks.uiuc.edu/Training/Tutorials/mailinglist/tutorial-l/.中找到。
泛素本教程会用VMD来显示泛素。泛素是一个由76个氨基酸组成的小蛋白质,在所有的真核生物中普遍存在。在所有真核生物蛋白质中,泛素是最为保守的蛋白质之一(在昆虫,鱼,牛和人中,前74个氨基酸是完全一样的)。它已被证明存在于细胞核、细胞质和细胞表面。它首要的功能是介导蛋白质降解,在降解过程中,作为细胞内蛋白水解酶识别的标志。
需要的程序:
以下是本教程中需要的程序
VMD:可以从http://www.ks.uiuc.edu/Research/vmd/下载(在所有平台上均可使用)。绘图程序:要观看从VMD输出的图像,需要专门的程序。VMD有一个内置的绘图程序,也可以应用外部程序。应用什么程序是由你的操作系统决定的。例如:–Unix/Linux:xmgrace,http://plasma-gate.weizmann.ac.il/Grace/
–Windows:Excel,http://office.microsoft.com/en-us/FX010858001033.aspx(需要购买)
–Mac/MultiplePlatforms:Mathematica,http://www.wolfram.com/(需要购买);gnuplot,http://www.gnuplot.info/(免费下载)
现在开始学习VMD
你可以在VMD-tutorial-files目录里找到本教程的文件。如图1所示的VMD-tutorial-files的文件和目录
图1:VMD-tutorial-files的目录结构
运行VMD,可以在Unix终端窗口中键入vmd,在MacOSX的应用文件夹中双击VMD应用程序图标或者在windows中单击开始——程序——VMD。1VMD基础
在本单元中你会通过构建一个泛素的较美观的图形来熟悉VMD的基本命令。另外,你可以学习怎样用VMD来寻找蛋白质结构上的有趣的特点。1.1
导入分子
第一个步骤是导入分子。在教程中提供了一个pdb文件1UBQ.pdb,文件中包含了泛素的原子坐标。
1在VMD主窗口的菜单栏中选择File——NewMolecule,如图2(a),屏幕上会显示另外一个窗口,即MoleculeFileBrowser(b)。2
应用Browse.(c)按钮在
vmd-tutorial-files中找到文件
1UBQ.pdb,注意到当你选择这个文件的时候,就会回到MoleculeFileBrowser窗口。为了精确地导入你要
导入的文件一定不要忘了按下Load(d)按钮。
图2导入分子
现在,泛素在你的OpenGLDisplay窗口中显示出来。你可以随时选择MoleculeFileBrowser窗口。
Webpdb.如果网络连接可用,VMD可以从蛋白质数据库中下载pdb文件。只要在MoleculeFileBrowse窗口的FileName中键入四个字母的蛋白质号,再点一下load就可以了。VMD会自动下载该pdb文件。
坐标文件。文件1UBQ.pdb与泛素的X射线衍射1.8埃分辨率侧的结果香对应(SenadhiVijay-Kumar,CharlesE.BuggandWilliamJ.Cook,J.Mol.Biol.
(1987)194,531)。注意蛋白质被58个水分子包围,结果中不包含氢原子。
1.2显示蛋白质
为了观察蛋白质的三维结构,我们要用到多种鼠标模式。1在OpenGLDisplay中,按下鼠标左键同时移动鼠标。进一步观察有什么现象。这是鼠标的旋转模式,通过这种模式,你可以让这个分子绕一个与屏幕平行的轴旋转。图3(a)
图3旋转模式
2如果你按下鼠标右键,重复上一步骤,分子会绕一个与屏幕垂直的轴旋转(b)(对于Mac用户来说,右键产生的效果与在按下mouse菜单选项后点击命令按钮是一样的)。3在VMD主窗口中,看一下Mouse菜单(图4),这里,你可以把鼠标模式从Rotation更换到Translation或者Scalemodes。
4Translation模式允许你按住鼠标左键,在屏幕上移动分子。在Translation模式下,你可以通过按下鼠标中键来改变剪切板。5
在Scale模式下,你可以按住左键水平移动鼠标来缩小或放大分子。
图4鼠标模式
需要注意的是:鼠标运动不会改变分子中的原子坐标。
鼠标模式。注意每一种鼠标模式都有独特的指针形状,也有独特的快捷键((r:Rotate,t:Translate,s:Scale),可以代替菜单使用。(当用快捷键的时候,要保证OpenGLDisplay窗口是活动的)。在VMD用户手册中可以获得更多的信息。
Mouse——Center菜单项也很有用,它允许你确定分子绕之旋转的支点。67
选择Center菜单项,在蛋白质一端选择一个原子,这时指针会显示成一个十字。现在,按下r,用鼠标旋转分子,看一看你的分子是怎么绕着你选择的支点运动的。
8选择Display——ResetView菜单项(=快捷键),回到默认界面。
1.3学习应用不同的绘图模式
VMD可以用很多种绘图模式来显示你的分子。这里,我们要进一步学习那些可以帮助你确定蛋白质中不同结构的绘图模式。1选择Graphics——Representations菜单项,一个叫做Graphical
Representations的窗口会出现,见图5(a)中黄色高亮。你可以看到目前显示的分子的图形显示法。2
在DrawStyle标签中(b)我们可以改变所表示的style(d)和color(c)。在这一部分我们重点来看drawing模式。3
每一种绘图方法都有自己的参数控制。例如,改变线条的稠密度可以用GraphicalRepresentations窗口右侧底部的控制按钮(e)。4
现在,在DrawingMethod中选择VDW(vanderWaals),每一个原子现在都表示为球形。用这种方式你可以更容易地看出蛋白质的体积分布是怎样的。5
图5GraphicalRepresentations窗口
要观察蛋白质内部的原子排布,用窗口右侧底部的控制按钮改变SphereScale到0.5,
SphereResolution到13。注意分辨率越高,分子的显示速度越慢。6
注意ColoringMethod——Name菜单项,每一个原子都有其自己的颜色,比如,O是红
色的,N是蓝色的,C是青色的,S是黄色的。7
按下Default键,这个操作允许你回到默认的绘图方式中。
更多显示方法。还有有趣的显示方法是CPK和Licorice。在CPK中,就像以前化学中的球棒模型,每个原子都用球形表示,每个键都用圆柱棒表示(球和圆柱形棒的半径和分辨率都可以独立地调节)。Licorice绘图方法(广泛使用)也用球形表示原子,用圆柱形棒表示键,但是球的半径不能被独立调节。
.
前面的显示方式可以让你看到蛋白质大分子的细节。但是,更多的普遍结构属性可以用抽象的绘图方式来观看。89
在DrawingMethod下选择Tubestyle,观察蛋白骨架。Radius设为0.8。
在tube模式下观察你的蛋白质,你可以分辨出它有多少α螺旋、β折叠和无规则卷曲吗?
我们要了解的最后一个绘图模式是NewCartoon。它可以给出一个以二级结构为基础的简化的蛋白质图像。α螺旋以卷曲的条带状表示,β折叠以固形箭头表示,所有其它的结构以管状表示。这可能是观察蛋白质分子总体构造的最普遍的方法。,
10选择DrawingMethod——NewCartoon.
11现在确定蛋白质分子中有多少α螺旋、β折叠和无规则卷曲。
泛素的结构。泛素有一个三圈半的α螺旋(残基23到34,其中有三
个是疏水的),一个310-螺旋(残基56到59),还有5个β折叠(残基1到7,10到17,40到45,48到50,64到72),还有7个反向转角。VMD用STRIDE程序,以一种探索性的法则计算出二级结构
图6泛素Licorice,TubeandNewCartoon显示方法
1.4学习不同的着色方法
1现在,让我们来改变所显示图像的颜色。选择ColoringMethod——ResType图5(c),这可以区别非极性基团(白色),碱性基团(蓝色)、酸性基团(红色)和极性基团(绿色)。2选择ColoringMethod——Structure(c),确定NewCartoon表示的图形与二级结构相一致。
1.5学习不同选择
让我们来看一看分子中不同的独立的部分。
1如图5(f),在GraphicalRepresentations窗口的SelectedAtoms文本输入框中删去“all”,输入helix,然后按下apply按钮或者按下键盘上的Enter或者Return键(每当在文本框中输入后都可执行同样的操作),VMD会显示出分子中的α螺旋结构。2在GraphicalRepresentations窗口中选择Selections标签,如图7(a)。在Singlewords(b)这一部分中你可以发现可以输入的选项表列。例如,要显示β折叠而不是α螺旋,就可以在SelectedAtoms的文本输入框中输入合适的词。
布尔操作组合也可以用于选择时的文本输入。
3为了看分子除了α螺旋和β折叠的部分,可以在SelectedAtoms中输入:(nothelix)and(notbetasheet):
4Selections标签(b)的Keyword(c)栏可根据蛋白质某些部分的特定值来进行选择。看一看Keywordresname(d)中的可能值。输入(resnameLYS)或者
(resnameGLY)可以显示蛋白质中所有的赖氨酸或者甘氨酸。赖氨酸在泛素的构型中扮演重要的角色。.
5现在,把当前显示的DrawingMethod改变到CPK模式,把DrawStyle中的ColoringMethod改到ResID。在屏幕中可以看到不同的赖氨酸和甘氨酸。每一种有多少个你能数得清吗?
6在SelectedAtoms的文本输入框中输入water。选择ColoringMethod——Name。你可以看到在整个系统中的58个水分子(实际上只有氧被显示出来)。
图7GraphicalRepresentations窗口和Selection标签
7为了看一看哪些水分子离蛋白质分子更近一些,可以用within命令。输入waterwithin3ofprotein,这就选择了距离蛋白质3埃之内的所有的水分子。8最后,在SelectedAtoms中键入下列内容::
Selectionproteinresid1
(resid176)and(notwater)(resid23to34)and(protein)
Action
ShowstheProteinThefirstresiduesThefirstandlastresiduesThe_helix
前述的选项提供了研究蛋白质或其他分子的有力工具。
1.6多重显示
如图8(a),在GraphicalRepresentations窗口中,用CreateRep按钮可以创建多重显示图像。因此,你可以让分子的不同部分显示不同的样式和颜色。
1对当前显示,把DrawingMethod设为NewCartoon,把ColoringMethod设为Structure.
2在SelectedAtoms中键入protein.3按下CreateRep键(a),现在,用DrawStyle菜单项和SelectedAtoms文本输入框来更改新的图形显示,可以把DrawingMethod设为VDW,ColoringMethod设为ResType,并键入resnameLYS,使其成为当前选择。
4重复前述步骤,产生下列两种新的显示方法::
DrawingStyle
图8泛素的多重显示方法
Selection
Water
Resid176andnameCA
ColoringMethodNameColorID1
CPKVDW,
5再次按下CreateRep按钮,创建最后一个图形显示法。选择DrawingMethod——Surf,ColoringMethod——Molecule,在SelectedAtoms中键入protein。在Material部分(c)中选择Transparent菜单项。
6用鼠标你可以选择已创建的不同的显示法,并可以独立地改变其中的任何一种。你也可以用双击鼠标或者DeleteRep按钮打开或关闭它们。关闭第二个和最后一个图形表示法。在这一部分的最后,GraphicalRepresentations窗口的显示如图8,
1.7SequenceViewerExtension当第一次处理一个蛋白质分子的时候,快速找出和显示不同的氨基酸是非常有用的。SequenceViewerExtension可以让你很容易地选出和显示氨基酸残基。1选择Extensions——Analysis——SequenceViewer菜单项,一个包含氨基酸(图9e)和它们属性的列表(b)和(c)的窗口(图9a)会出现在屏幕上。
2用鼠标点击列表中不同的氨基酸残基(e),观察它们是如何被标记为高亮的。另外,高亮的残基还会在OpenGLDisplay窗口中以黄色bonddrawing方式显示,因此你可以很容易地观察它们。用鼠标右键可以解除选择。
3用Zoom滑块控制窗口(f),使其能够显示所有残基。这在大的蛋白质分子中比较有用。
4按住shift键时同时按下鼠标,就可以同时选择多个残基。看一下图中显示的残基48,63,11和29(e)。.
图9sequence窗口
5观察GraphicalRepresentations窗口,用SequenceViewerExtension,你应该能发现一种新的显示所选残基的方法。就像你以前做过的那样,你可以修改、隐藏、或者删除这种显示方法。
赖氨酸的相关性。多个泛素链可以被C和N末端肽键连接,也可以通
过lys48,63,11或者29连接(就是你在sequence窗口中选择的)不同连接形成的链有着与功能相关的不同的属性。
关于残基的信息用柱状彩色标记表示,它们是从STRIDE中得到的。B-value表示的是温度因
子的变化,struct表示二级结构,在图中,各种颜色所代表的意义都用字母作了标注。.TEBHGIC
Turn
Extendedconformation(_sheets)IsolatedbridgeAlphahelix3-10helixPihelixCoil
1.8保存结果
用VMD创建的图形可以与创建的图形显示法,VMD环境设置一起保存。这里提到的VMD环境设置包括你开启一个新的VMD环境所需要的所有信息,这就不会使你以前的工作成果丢失。
1在VMD主窗口,选择File——SaveState菜单项,写上一个合适的文件名(例如:myfirststate.vmd)保存。
File——LoadState菜单项允许你导入一个保存过VMD环境设置,就像保存时一样,虽然设置好的VMD环境允许你用VMD来处理蛋白质的图像,探索它的性质,但是你通常需要得到能用于论文和其他各种文件的图像。VMD可以润色图像,产生一个可作它用的图像文件。如下所述:
2用你已经学过的所有关于VMD的知识,用缩放、旋转和改变分子位置的方法找到蛋白质分子的合适的视野。打开和关闭不同的显示方法,提高选择的分辨率,调整其他属性。如果你想得到一个质量很高的分子,注意每一个显示方法的分辨率。
3注意你用SequenceViewerextension创建的新显示法。如果需要的话,隐藏或者删除它们。4在润色图像之前,选择Graphics——Colors菜单项,改变背景颜色。选择Displaycategory,Backgroundname和8whitecolor.。这样背景就变成白色的了。
5选择File——Render菜单项(渲染),一个叫做FileRenderControls的窗口会在屏幕上出现。6可以用不同的文件包来润色分子。如果你用的操作系统是Unix或者MacOSX,就在Renderusing菜单中选择TachyonInternal,否则选择Tachyon。
7在Filename文本输入框中键入图像要保存的文件名,例如:picture.tga或者picture.dat(默
认文件名是plot.tga或者plot.dat,依据不同的操作平台)
8按下StartRendering按钮,包含有你的图像的文件就会创建。注意到这需要一些时间。你可以以一个图像文件名,如picture.tga(MacOSX或者Unix)或者picture.dat.bmp(Windows).结束工作,
9关闭打开图形文件的程序,这样就可以继续使用VMD(在windows中,这条可以忽略)。现在学完了本教程的第一单元。我们希望你学会了VMD的基本命令。你也可以做两个文件,第一个是VMD环境设置文件,让你重启一个VMD环境,在其中应用或者修改你在本单元学到的东西。第二个文件是一个关于蛋白质的图像文件,这个文件可以应用于其他文件中。
2多分子处理和脚本
在本单元,你会学到如何同时处理多个分子。同时,你也会学到Tcl脚本的基础,用它来编辑原子数据,排列整合两个分子,并用计算出的分子特性给分子上色。
1从一个新的VMD环境开始。如果你刚刚完成第一单元的学习,你应该退出VMD,然后重新启动。2.1
导入多个分子
首先,导入你要用到的分子。
1用File——NewMolecule.菜单项打开MoleculeFileBrowser
你需要载入泛素的X射线三维结构图,可以用第一单元中学到的操作,也可直接用命令导入。2确定你正在vmd-tutorial-files下。在VMD终端,输入molnew1UBQ.pdb。.
泛素在水盒中的溶解平衡模拟已经在1ns的时间范围内实现。你的文件包含了这个平衡的最末帧的坐标。以现在可以比较泛素在平衡末状态的构像和初始态的晶体构象。
坐标文件和结构文件。为了节省空间,模拟输出文件通常只包含原子坐标,而不储存像原子类型、电荷、各部分的名字和键等不变的信息。这一部分信息另存于一个“结构”文件当中(例如一个PSF文件)。要观察一个模拟结果,你需要把同一个分子的结构和坐标文件融合。
3现在,导入另一个分子的模拟结果。在MoleculeFileBrowser窗口顶端的菜单中选择NewMolecule。在vmd-tutorial-files中找到文件ubiquitin.psf,然后按下Load按钮,建立了一个有结构而没有坐标的新分子。
4注意到,窗口最顶端的菜单上显示:1:ubiquitin.psf.这保证了载入的下一个文件会增加到那个分子(moleculeID1)。因为你在用PSF文件合并数据,所以你不需要把菜单切换到NewMolecule。现在,在vmd-tutorial-files中找到文件ubiquitin-equilibrated.coor,单击Load,这就可以导入新的坐标,并把新坐标与先前载入的结构信息合并。
你现在可以看到两个有层次的没有相互重叠的分子,一个是原始的晶体泛素结构,另外一个是一个由水盒包围的分子。,2.2主窗口的应用
现在需要为你的分子命名,这样就可以区别它们。
1在Main窗口的分子列表中双击第一个分子的名字,RenameMolecule对话框弹出。键入crystal。以同样的操作为第二个分子命名为simulation。
这时,Main窗口如图10。在分子的名字之前,有四个字母,你可以用它们来实现一些操作。
图10初始和最后坐标导入两个分子的主窗口显示
F的意义是“Fixed”,意思是当你移动屏幕时,分子不会随之移动。当F显示黑色时,分子是固定的;当显示灰色时,分子可以自由移动。
2在主窗口,双击分子名左边的F,当一个分子被固定时,试着用鼠标调动屏幕。然后试一试两个分子都被固定时的情况。
3完成操作后,把两个分子都解固定,选择Display——ResetView,让其显示两个分子之间原来的相对位置。
4然后,双击一个分子的D,D表示的是“Display”。当D灰化的时候,分子是隐藏的。你可以通过双击D来显示或者隐藏分子。
5当操作完时,确保只有晶体结构分子显示,两个分子都未固定。
6最后,双击晶体分子左边的T,T会在前面显示。这使它成为了顶层分子。一个分子置于顶层,它就成为脚本命令操作的目标。2.3Tcl脚本基础和Tk控制台
VMD支持Tcl/Tk脚本语言。这一部分会提供运行一些有用功能必需掌握的脚本语言。
Tcl/Tk语言。Tcl是一种丰富的语言,除了典型的条件和循环结构语句之外,还包括许多特征和命令。Tk是Tcl的拓展,允许写程序用户与窗口和按钮接触。关于Tcl/Tk语言更多的信息在http://www.tcl.tk/doc上有提供。
执行Tcl命令,需要应用一种很方便的文本控制台,即Tk控制台。
1选择Extensions——TkConsole。一个控制台窗口出现(图11)。这就可以在其中输入Tcl/Tk命令。
图11Tk控制台
你首先接触到的是Tcl/Tk最基本的部分。这里是Tcl的设置和输出命令。
setvariablevalue–setsthevalueofvariableputs$variable–printsoutthevalueofvariable
2试一试以下命令:setx10
puts\"thevalueofxis:$x\"settext\"sometext\"
puts\"thevalueoftextis:$text.\"$variable指的是variable的值。.
下面是一个数学操作命令:
exprexpression–evaluatesamathematicalexpression3试一试应用expr命令expr3-8setx10expr-3*$x
Tcl最重要的方面之一是可以用方括号把Tcl命令嵌入其他命令。方括号括起来的表达式会自动被方括号内表达式的值替换
[expr.]–representstheresultoftheexpressioninsidethebrackets4新建一些命令,然后用方括号测试它们。例如:setresult[expr-3*$x]puts$result2.4
atomselect命令
你可以用VMD的atomselect命令来编辑原子属性。下面的例子会告诉你怎样操作。1当确定晶体分子是顶层的分子后(如果不是,双击T)。用Graphics——Representations.菜单打开GraphicalRepresentations窗口。
PDBB-因子范围。PDB文件中“B”的范围通常储存晶体结构的“温度因子”,在VMD中读入“Beta”范围。由于我们目前的重点不在此,我们可以利用这个范围来存储我们自己的数字值。VMD有一个“Beta”上色方法,它可以根据原子的B因子给它们上色。当用不同的原子来替换B值,你就可以控制不同原子的颜色了。当你想要展示通过计算得出来的系统属性时,这种方法就很有用了。但是这种方法在VMD之外是不能应用的。
2在窗口顶部的SelectedMolecule下拉菜单中选择“crystal”的分子,在atomselection中键入protein。把ColoringMethod设为Beta,把DrawingMethod设为VDW.。分子大部分会显示出红色和绿色小球的集合。
现在你将学到VMD中一个非常重要的Tcl命令:atomselectmolidselection–createsanewatomselection
对于atomselect,首先要讲的是moleculeID(主窗口的最左边),其次是文本原子选择,就
像你在第一单元所学的用来描述图形显示方法的文本原子选择。你要学习的Atomselect,返回的选择是一个命令。
3在Tk控制台窗口键入crystal[atomselecttop\"all\"],这个选择包括了分子中所有原子,并把所选赋予变量crystal。我们用“top”来指代顶层分子,不用moleculeID(是个数字,不好记)。Atomselect得出的结果是一个功能。因此,$crystal是一个针对“all”所指代内容执行的功能。
4键入$crystalnum.把num赋给所选一个原子,返回的是原子在这个选择中的序号。检查一下这个序号是不是与分子中原子的序号相同(可以从main窗口中读取)。
5键入$crystalsetbeta0.。这样就把所有原子的“beta”域设为0。当你这样做的时候,你会观察到屏幕上原子的颜色会突然变成一样的(因为它们此时具有相同的beta值)。原子选择中的原子指的是原始分子中的原子。当你通过选择改变一些原子的属性(如beta值),这些变化会反映在所有其它包括这些原子的选择中。
6现在,输入setsel[atomselecttop\"hydrophobic\"]。这新建了一个包括所有疏水残基的选择。7让我们把所有的疏水原子的beta值设为1来标记它们。你现在应该明白如何操作了:$selsetbeta1。如果OpenGLDisplay中的颜色没有更新,单击GraphicalRepresentations底部的Apply按钮。
原子属性的例子。你可以通过应用原子选择,包括不同部分、残基、原子名、位置(x,y和z),电荷、质量、体积、半径等等来获得或者设置许多原子的属性
8现在要通过改变原子的物理性质来进一步说明疏水基团的分布。输入$crystalsetradius1.0,以使所有的原子变得小一点,更易观察。输入$selsetradius1.5,让疏水基团大一点。半径的大小范围会影响图形的显示方式(如VDW,CPK)。
现在已经新建了一个图像,可以清楚地区别蛋白质的疏水部分和亲水部分。如果你完全按照教程的要求来做,你得到的蛋白质图像就会如图12所示。
图12在VMD显示模式下的泛素分子,上色的依据是残基的疏水性
疏水残基。就像你在渲染泛素分子的过程中可能注意到的那样,疏水残基绝大部分都处于蛋白质的核心区。这在小的可溶性蛋白质中是很典型的。当蛋白质折叠的时候,疏水残基就有停留在界面的趋势。这样疏水基团汇集在一起,扮演着结构上的角色。这可以帮助蛋白质正确折叠,并提高稳定性。
原子选择不止在设置原子数据方面有用,而且可以用来获取信息。如果你想得到疏水基团,
你要做的只是新建一个疏水选择,这里应该用get,而不是set。
9在你选择的疏水原子上应用get
$selgetresname
但这里有个问题。每个残基都包含了很多原子,这样导致的结果是有很多重复输入。你能想到一个办法来克服这个问题吗?我们知道,每个氨基酸都有同样的骨架原子。如果你在每个残基中只选择一个这样的原子,每个残基就只会在你的选择中出现一次。10让我们试试这种解决办法。每一个原子有且只有一个α-碳(命名CA=alpha):setsel[atomselecttop\"hydrophobicandalpha\"]$selgetresname哈,成功了!
11你也可以同时得到多种属性。试试下面的命令:$selgetresid
$selget{resnameresid}$selget{xyz}
12一旦你完成了一个选择,可以很方便地用下面的命令来删除它们以节省内存开支:$seldelete
2.5AligningTwoMolecules
要正确地观察泛素在模拟中是怎么变化的,你必须首先确保两个分子在空间上尽量重合。VMD提供了很多方便的命令可以完成这个功能。现在要给两个分子上不同的颜色以区别它们。
1确保两个分子都处于显示状态(可以通过双击VMD主窗口中的D来实现)。
2在GraphicalRepresentations窗口,改变晶体分子的图像显示(记得要从窗口顶部的菜单中选择它)。把ColoringMethod设为ColorID,color设为0blue,DrawingMethod设为Tube.3可以在GraphicalRepresentations窗口最顶部的SelectedMolecule菜单中选择目标分子,在不同的分子上应用不同的显示方法。对分子simulation选择同样的显示法(ColorIDandTube),而把颜色设为1red。
4在Tk控制台窗口中键入下面的命令,为每个分子新建一个包括蛋白质骨架中α碳的原子选择:
setatomsel1[atomselect0\"alpha\"]setatomsel2[atomselect1\"alpha\"]
这里我们选择α碳是因为它们比蛋白质松散的侧链更稳定,而且它们给出了蛋白质空间构象方面有用的信息。
即使这两个分子非常不同(晶体结构中没有氢),你所建立的选择也包括了完全相同的原子。VMD提供了一个命令measurefit可以用于找出两个选择中相同原子的最佳吻合度。measurefitatomsel1atomsel2–calculatesthebestfitmatrix
注意atomsel1和atomsel2必须具有相同数目的原子。可以用$atomsel1num命令来检查原子的个数。
5用下面的命令可以找出能够使两个选择以最佳方式配对的转换矩阵M
setM[measurefit$atomsel1$atomsel2]6通过输入命令$crystalmove$M
你可以把刚刚得到的矩阵应用于第一个分子所有部分(即你以前定义的叫做crystal的原子选择)
在OpenGL窗口,两个分子以α碳的位置为基础排列。注意到分子的一部分吻合得很好,但另一些摆动的尾部和loop区看起来比较松散(它们在平衡中的运动性更强)。用了α螺旋后,再用β折叠重新排列分子,得到一个如图13的图像
图13泛素最初和最后状态三维结构拟合
2.6用颜色来显示偏离值
一旦两个分子被排列在一起,你可以比较两个原子的位置。你可以用一个预写的脚本(因为直接写比较麻烦)来完成。如果你喜欢刺激的话,那就看一下这个脚本。如果你已经对此很熟练,写这样一个脚本就是小菜一碟了。从文件中运行一个脚本,可以用Tcl源命令:sourcefile–runsascriptfromatextfile
1脚本在vmd-tutorial-files的文件coloring.tcl中。在VMDTkCon窗口中应用cd命令找到这个目录。它会改变晶体分子的beta值,反映在平衡后分子中原子的位置改变。我们输入以下命令,运行这个脚本:sourcecoloring.tcl
2要看到新的beta值,需设置分子crystal的ColoringMethod为Beta,隐藏分子simulation(通过双击VMD主窗口中的D实现)。
晶体分子现在依据模拟中的总改变程度上色。为了进一步的工作,我们来调整一下颜色的范围。
3在GraphicalRepresentations窗口中,选择Trajectory标签。在ColorScaleRange标签下,你可以设置beta值颜色范围的最大和最小值。确保晶体分子右边的显示法被选定,然后输入0和5,单击set。这就把颜色的范围设置为0到5埃之间。
图14Representation窗口中的颜色范围控制
4现在,从VMD主窗口中选择Graphics——Colors,打开ColorControls窗口(如图15),选择ColorScale标签。
图15显示ColorScale标签的ColorControls窗口
5在colorscale的Method菜单中,选择BWR。这样就可以把位置变动小的原子(0埃)染上蓝色,把位置变动大的原子(5埃)染上红色,在两者之间的染上白色。
6你现在也可以调整colorscale的Midpoint来改变被染成白色的原子位置变动的水平。试试把中点设为0.1。
你现在应该明白怎么对一般数据进行连续的上色操作。看一看你的分子,它如图16所示。你现在应该可以确定泛素的那一部分是稳定的(蓝色),哪一部分是松散的(红色)。总起来说,末端和loop是灵活的,容易动的,而α螺旋和β折叠相比之下是不容易活动的。
图16根据1ns平衡后泛素分子着色
3Trajectories,MacrosandLabels
在第三单元,你将要学习怎样载入运动轨迹,创建macros,在原子和键上标注标签,用简单的tcl脚本计算一个运动轨迹的RMSD值。在最后,你应该通过看RMSD点分布来确定泛素系统是否达到平衡。3.1导入运动轨迹
你现在要学习导入与时间相关的坐标系统,叫做运动轨迹(Trajectory)。你可以用你的系统来看一场电影了。
Trajectory文件通常是二元文件,包含了系统的多套坐标。每一套坐标对应者时间中的一帧。DCD文件可以作为Trajectory文件的例子。Trajectory文件不包括PSF文件中的内容。因此,我们需要首先导入结构文件,再在结构文件的基础上导入Trajectory文件,导入方法如第二单元中所介绍。
1启动一个新的VMD窗口
2导入PSF文件ubiquitin.psf,方法如第二单元所述。
3在MoleculeFileBrowser窗口,单击Browse按钮,确保ubiquitin.psf在菜单上已被选中。在vmd-tutorial-files中找到文件pulling.dcd,单击OK,然后单击Load按钮。在它们导入分子的时候,你可以看到这些帧。
4在Trajectory文件被导入之后,你会看到Trajectory的最后一帧。想要回到第一帧,你会用到AnimationTools,它的用法会在后文详细解释。在主菜单的左下侧,单击
在下一部分,你会学到怎样用一个有用的叫做macros的特征来创建显示方法。一旦你创建了与trajectory有关的显示法,下一部分就会告诉你如何用AnimationTools来看trajectories。3.2Macros
你现在可以做出与你在第一单元做出的相似的图形显示方法。当你创建这些输入法时,你会学到macros。Macro表示一种选择的文本。当你常用一些显示方法的时候,macro就很有用了。Macro可用你在第二单元学到的atomselect命令创建。atomselectmacronameselection–createsamacroforselection
泛素由5个β折叠和1个α螺旋构成。β折叠在蛋白质的伸展态中扮演重要的角色。要为这些结构创建macro:需要
1通过选择Main——Extensions——TkConsole.打开TkConsole窗口。2在TkConsole窗口中,键入atomselectmacrobstrand1{proteinandresid2to6}这就为第一个β折叠创建了一个macro,包括残基2——6。
对于其它的结构,你可以用第一单元介绍过的sequenceviewer找出哪些残基是属于这些结构的,然后创建相似的macros。3确保你现在处于trajectory的第一帧,STRIDE(在VMD中计算二级结构的程序)会确定这一帧的结构
4选择Extensions——Analysis——SequenceViewer菜单
就像你在第一单元中学到的,第二个颜色栏表示的是蛋白质的结构特色,呈现黄色的部分指的是β折叠。
5用鼠标点击并且拖动第二个β折叠,使它高亮显示。这步操作会在GraphicalRepresentations窗口产生一种新的显示方法。
6在GraphicalRepresentations窗口中,点击新的显示法,与选择相对应的文本会出现在SelectedAtoms窗口。你会得到(链U
图17macros列在GraphicalRepresentation菜单的Selection标签中
和残基1213141516)7在Tk控制台中键入
atomselectmacrobstrand2{chainUandresid12to16}
用此文本来建立一个新的macro。这个macro叫做bstrand2,包括蛋白质链U的12到16残基。
8注意到sequenceviewerextension定位了5个β折叠。你已经为前两个新建了macros;用bstrand2中用到的sequenceextension为剩下的三个建立macros。
一旦macro被建立,你可以在Tk控制台中用它,也可以在Representationsselections中用它。.你建立的macros和VMD自带的macros可以在GraphicalRepresentations的Selections标签中看到。在Singlewords窗口中有macros的列表。单击一个macro会在MacroDefinition中显示它的定义。双击会选定它,同时会在SelectedAtoms中输出它的定义9删除用sequenceviewer创建的图形显示法。你现在用第三和第五个β折叠新建一个显示法。
10在Graphics——Representations菜单中,单击CreateRep按钮。11在SelectedAtoms窗口中,删除其中的文本。
12点击Selections标签,在Singlewords的列表中寻找,直到找到你新创建的macros。13双击bstrand3,点击按钮or,然后双击bstrand5(图17),再点击Apply按钮。
14在DrawStyle标签中,选择NewCartoon表示法,染成黄色。你现在应该可以看到β折叠。15现在,用其它3个β折叠创建一个相似的表示法。单击CreateRep键,现在,在SelectedAtoms中输入bstrand1orbstrand2orbstrand4.。键入后立刻就可以看到效果。
就像你看见的一样,macro非常有用。当你保存已存的文件时,macros会被包含在已存文件内。
Macros。你可以创建一些macros,在根目录下把它们存成一个VMD参数选择文件.vmdrc(Windows用文件vmd.rc)。在启动VMD的时候,VMD会自动寻找并且读出所有macros。要想了解VMD开始文件的更多内容,参考VMD用户手册。
要完成这一部分的学习,你将学习一个非常有趣的显示法,它展现了我们看到的trajectory
的关键特征。这种表示法就是氢键显示法。
氢键。氢键可以以多种方式来稳定蛋白质,在β折叠骨架原子之间的氢键是蛋白质弹性的标志;它们使蛋白质稳定,而且,它们在机械力作用下的形成与断裂赋予蛋白质弹性。
16通过选择betasheet和backbone来创建一个新的显示法。选择DrawingMethod——Hbonds,把它染成红色,选择ColoringMethod——ColorID,在选项内,把DistanceCutoff设为3.2,AngleCutoff设为30,LineThickness设为5.
.
你现在可以从这个伸展状态的trajectory中看出泛素最重要的特征,你的蛋白质现在看起来应该与图18相似。
17保存VMD环境,这样如果你想回来继续研究此部分教程,你就不用再重新设定那些显示法。保存时用到你在第一单元学习的File——SaveState菜单选项。.
重新应用保存状态。当你已经保存了一个系统,你可以用它观察不同的坐标(PDB或者另外的trajectory)。如果它们具有相同的PSF文件,你
可以用以下的步骤实现操作。
导入你保存状态文件:File——LoadState
选择你以前保存的文件(比如nice-ubiquitin.vmd)
打开Molecule——DeleteFrames菜单,你需要删除目前导入的所有帧。默认选择会执行这样的操作。点击Delete按钮。
导入新文件yournewtrajectory.dcd到PSF,执行菜单为File——LoadDataInto
Molecule.
图18高亮显示泛素关键的二级结构
3.3主菜单动画工具
既然现在你已经有了非常好的显示法,你就可以观察trajectory的特点。AnimationTools可以帮助你。在主菜单中包含了研究trajectory的所有的动画工具。它们位于菜单的底部(图19)。
1试着应用
始状态分别对应蛋白质的伸展和折叠状态。
回到开头。你可以看到,trajectory的最后和初
图19动画工具
2再次打开waterrepresentation.,回到VMD主窗口,选择Graphics——Representations菜单,双击标有文本water的显示法,将其打开。
你可以通过点击滑块并来回拖动以实现对你的trajectory的操纵。你可以在任何时候停下,或者以你想要的速度拖动。铛你想看一看一个trajectory,想测量一个有趣现象发生时间时,这个功能是很有用的
3用滑块观察tragectory起始蛋白质周围的水分子的运动。
自由能最小化。注意到水盒的形状从管状变成球形。要实现能量最小化,暴露在真空中的水分子要尽可能少,所以水盒要采取球状构型。检测一下水形成此种构型有多快(每一帧的步长与10ps相当)。
4现在,双击WaterRepresentation,从GraphicalRepresentations窗口删除它。这样做可以更近地观察蛋白质。滑动滑块,观察蛋白质是怎样伸展开的。你观察到什么特点了吗?
打断氢键。看一看中间黄色的两个β折叠。它们靠氢键连接在一起。注意β折叠是如何先分离的,这意味着氢键首先断裂。我们在后面会进一步研究这种相关性。
在Animationtools的下部分,你能找到需要播放一个动画所有的必需工具,这些工具不需要滑块。它是由Play按钮来控制的,它可以播放或者倒放。
5把trajectory倒放,你认为这样做,蛋白质又会回到自然折叠态吗?
改变你的动画播放速度的方式有两种。你可以用SpeedSlider来调节,你也可以用StepWindow.调节步长,如果步长值设为3,动画会每3帧播放,这样它就可以让播放速度快一些。6把步长值设为5,然后播放,可以看到它播放速度快了,但是看起来不如以前平滑了。然而,当你看一个很长的trajectory的时候,这种播放方式就比较方便了。
循环方式。当播放动画的时候,你可以在StyleChooser中选择3种循环方式,它们是Once,Loop和Rock。一个控制窍门:回到trajectory的开始(第0帧)
把步长数设为在trajectory中的总帧数(100)把style设为Rock把速度设为最低
播放
你现在可以比较trajectory中的第一和最后一帧。这个诀窍用起来比点击Start和End按钮方便。
在AnimationTools左边的窗口中输入帧的序号,可以跳到trajectory中的任意一帧。
重新计算二级结构。你可以让VMD用STRIDE一个新的帧的二级结构。图18是在第28帧,通过在Tk控制台中键入命令molssrecalctop实现的。
注意:AnimationTools在顶层分子的帧中循环,但是它可以应用到所有活动分子中。
3.4标签
在VMD中,你可以在选定的内容上标注标签。我们现在就来感受应用标签的乐趣。标签用鼠标选择。在这个例子当中,我们会涉及到标注原子和键的标签,角和二面角也可以标注标签。
1选择Mouse——Labels——Atoms菜单项。鼠标设为“DisplayLabelforAtom”模式。现在你可以点击你的分子中的任何一个原子,为它标注标签。再点击一次会删除标签。我们现在来试一试键。
2选择Mouse——Label——Bonds菜单,鼠标模式选择为“DisplayLabelforBond”
你可以为lysine48和C末端的α碳建立一个VMDRepresentation。在pullingsimulation中,前者是固定的,后者被500pN的恒力牵拉。
K48残基。在第一单元中提到,多泛素链可以通过一个泛素分子的碳末端和另一个泛素分子的K48残基连接而形成。这个模拟模仿的是在这种连接中C末端的牵拉力。
要想找到这些原子的索引,
3在Tk控制台中键入以下命令,建立一个包括这两个原子的选择setsel[atomselecttop\"resid4876andnameCA\"]4获得索引$selgetindex命令返回的索引值为7701242。
PDB和VMD原子编号。注意在pdb文件中这些原子的编号是771和1243。VMD从0开始计数索引,因此VMD可以读取Representation中的文本数字。由于VMD并不从PDB文件中读取索引,这是唯一的例子。其他的关键字,就像残基,与PDB文件中的一致。
5用选择的索引值7701242新建一个VDWRepresentation
6现在,先后点击两个原子,你应该得到连接两个原子的一条线,在线的附近显示的值是两
个原子之间的距离,单位是埃(图20)。得到的距离值是本帧中两个原子之间的距离值
标签。标签的快捷键有:1Atoms,2Bonds。你可以用它们来代替Mousemenu。
当用这些快捷键时,确保OpenGLdisplay窗口是活动的。
图20模拟中固定和被拉动的原子的键的选择。两个被选择原子都已用黑色标签标注。键用蓝色表示,蓝色数字表示的是两个原子之间的距离(埃)
7通过Graphics——Labels菜单项,你还可以行使另外一些功能。在窗口的左侧(图21),有一个下拉菜单,你可以在其中选择标签的类型(Atoms,Bonds,Angles,Dihedrals)。现在,设为Atoms。你可以看到你标注的原子的列表。
8单击其中的一个原子,这个原子的信息就会显示出来。你可以通过单击按钮来删除,隐藏或显示这些标签。注意到这些信息对于选择是很有用的。原子信息对应着当前帧,当帧发生改变时,信息也随之发生改变。
图21标签窗口
9现在,在Label窗口,选择labeltype为Bonds,然后选择你要标记的键。注意到信息只与键中的第一个原子对应,但是Valuefield数与键的长度对应,单位是埃。单击Graph标签,选择你标记的原子770和1242之间的键。单击Graph按钮。这会创建两个原子之间的距离图。你也可以把这个数据保存到文件里,操作方法为:单击Save按钮,然后用一个标图程序来观察数据。
xmgrace。VMD用的是二维标图程序xmgrace。这个程序可以从http://plasma-gate.weizmann.ac.il/Grace/.下载。在MacOSX中,xmgrace在X11环境中运行。运行xmgrace之前要保证X11正在运行。
10你现在可以关闭xmgrace或者相应的标图程序。
泛素去折叠。图形展示了键长随时间的长度变化。你可以想象为当分子被一个恒力牵拉时,分子“长度”的变化图。注意到曲线的起始部分是平的,就像拉力没有影响分子结构一样。突然,距离有了较大的增长。看一看这发生在什么时候:当两个黄色的β折叠分离的时候。这意味着把β折叠结合起来的氢键是蛋白质去折叠的第一个阻力,一旦氢键断裂了,蛋白质以更有规律的方式去折叠。试着确定在第二次突变中发生了什么。你会发现泛素去折叠的关键特点。
3.5关于Tcl脚本的一个例子:计算trajectory的RMSD值
图22标签窗口和选择的键对时间作图,用到Graph按钮和xmgrace。
在MD分析中,VMD是一个强大的工具。在这一部分你将要用Tcl脚本来分析trajectory。你需要导入一个新的关于泛素平衡系统的trajectory。在MD运行时,你将要用到一个计算蛋白质RMSD值的短脚本,来确定这个系统是否已经达到平衡,是否可以进行模拟。
偏离值均方根。偏离值均方根(RMSD)是从数字上衡量两个结构的不同的。它的定义是:
Natoms是指被比较位置的原子数,ri(t)指的是原子i在时间t
所处的位置(或者,如果你比较两个分子,像第二单元中
讲到的那样,t标注分子)
1删除目前的trajectory,在Main窗口中单击选择单一的分子。然后用菜单项Molecule——
DeleteFrames。此窗口的默认值会删除整个trajectory。单击Delete按钮。
2用File——LoadDataIntoMolecule导入平衡的trajectory到psf文件中。这个文件是equilibration.dcd3
打开waterrepresentation,用你以前学过的Animationtools来看一看trajecotry。
平衡。你载入的trajectory是泛素的水平衡系统。其实,这个trajectory早在你看到之前就已经模拟好了。在MD中,一个系统必须达到平衡,以便具有观察与系统有关的特征的稳定性,不遂环境的变化而变化。对于trajectory你有什么要说的吗?系统中所有的运动看起来都是无规则的。注意水分子是怎样接近蛋白质,填充空隙的。水盒为了保持密度,体积是缩小的。,
现在你会明白怎么判断蛋白质是否已经达到平衡。其中一个重要的方法就是通过判断trajectory中蛋白质的RMSD值。
4我们将要用到的脚本叫做rmsd.tcl。这是脚本的内容:setoutfile[openrmsd.datw]
setnf[molinfotopgetnumframes]
setframe0[atomselecttop\"proteinandbackboneandnoh\"frame0]setsel[atomselecttop\"proteinandbackboneandnoh\"]setall[atomselecttopall]#rmsdcalculationloop
for{seti1}{$i<=$nf}{incri}{$selframe$i$allframe$i
$allmove[measurefit$sel$frame0]puts$outfile\"[measurermsd$sel$frame0]\"}close$outfile
5这个脚本执行的是以下任务:打开文件rmsd.dat
setoutfile[openrmsd.datw]
得到trajectory中的帧数,把此值赋予变量nfsetnf[molinfotopgetnumframes]
选择分子的第一帧,作为其他帧比较的标准。选择包括蛋白质的骨架原子,不包括氢。setframe0[atomselecttop\"proteinandbackboneandnoh\"frame0]
如前,为没有确定的帧建立同样的选择。
setsel[atomselecttop\"proteinandbackboneandnoh\"]选择所有的原子
setall[atomselecttopall]#denotescomment.之后的文本#rmsdcalculationloop
在trajectory中的所有帧中循环。for{seti1}{$i<=$nf}{incri}{
把选择$sel更改为要比较的帧(注意所选的内容在每一帧中必须一致,否则需要增加一个$sel更新命令)$selframe$i
更改所选的$all为当前帧$allframe$i
计算同时满足这两个选择的矩阵,把这个矩阵应用到第二个选择中,排列两个分子。$allmove[measurefit$sel$frame0]
计算这两个选择中的RMSD值,在文件中写入:puts$outfile\"[measurermsd$sel$frame0]\"你可以在系统中用这个脚本来检测平衡。
6在Tk控制台中键入sourcermsd.tcl(确保你所在的目录为vmd-tutorial-files)。这样脚本中所有的命令都会运行。脚本会写一个包括蛋白质骨架RMSD值随时间变化值,为rmsd.dat文件。在VMD之外,你可以用标图程序来观察得到的数据。这样的程序有gnuplot,xmgrace,excel,Mathematica.
7用上述程序之一来绘制文件rmsd.dat(例如,在Unix系统,你可以在终端输入xmgracermsd.dat)你能看到RMSD曲线变平了吗?这意味着你的系统达到平衡了。
更多RMSD。你可以试试获取另一个叫rmsd-fullthrottle.tcl的脚本。看一看这
个脚本,学习一下tcl中简单的步骤,计算一下每一个残基对时间的RMSD值,根据RMSD值为残基上色。
本教程讲到这里也就结束了。我们希望你从中能学到不少东西,希望VMD的功能能够对你有所帮助。
因篇幅问题不能全部显示,请点此查看更多更全内容