VMD的相关命令(转载)

转载自:http://blog.sina.com.cn/s/blog_b48a7ac30102w6xg.html
自我学习总结:
1、打开VMD main上Extensions中的TkConsole这是VMD的控制命令区域。
2、围绕x轴旋转90:rotat x by 90  (或者rotat x to 90)
3、原子颜色设置+动力学键:
     用fortran编写成lammps文件,可以识别原子类型,比如系统原子类型是1和2,点击VMD Main-Graphics-Colors-Categories选择Name-Names选择1或者2-Colors中选择颜色。
     Graphics-Representations-Create Rep-Drawing Method-CPK设置Bond Radius为0,其余不变;Create Rep-Drawing Method-DynamicBonds设置Distance Cutoff为1.8,Bond Radius为0.2,Bond Resolution为6;
4、背景色改变:VMD Main-Graphics-Colors-Categories选择Display-Names选择Background-Colors中选择颜色。
5、前后原子隐藏:VMD main-Display-Display setting-Near Clip设置可使前面原子隐藏,Far Clip可使后面原子隐藏;Cue Mode中Cue Density可使原子更清晰。
6、坐标轴隐藏VMD main-Display-Axes-off
7、配合HyperSnap6截图:图像-剪裁可以截取任意尺度图像。
 
http://blog.sina.com.cn/s/blog_4478909801014cin.html
 

VMD的console是十分强大的,也提供了很多内置命令,这里把当年研究VMD内置命令的笔记的一小部分发上来。和user guide有相似之处,但是我都尽量写成例子的形式来说明,绝大部分都是亲自试过的。可能当时有些地方写的不准确,也不完整,但是现在也懒得check了。有疑问还是对照user guide中的严格说法。

 

*****一些额外内容*****

VMD里面所有行为,都可以用命令描述出来。打开VMD之后运行log sdf.txt,接下来干你的事,你干的所有事的等价的命令行都被记录到sdf.txt当中,运行log off停止记录。

atomselect之后占用内存,选择范围的原子越多占得越大,应当用完之后删除,比如atomselect1 delete,内存就释放了。但是atomselect编号仍然继续往后延,并不会重新占用已经删了的。

修改TKconsole的设置,通过修改D:studyVMD186pluginsnoarchtclvmdtkcon1.0tkcon-modified.tcl。比如里面的font create tkconfixed -family Courier -size 12,把12改成20,字号就变成20了。

在.vmdrc或者vmd.rc里面有很多被注释掉的内容,也有没有被注释的,都是控制启动后vmd的默认设置,比如开哪些窗口,窗口位置,光源什么的

*****以下为正文*****

animate dup 0 复制当前帧到最后新的一帧
animate dup frame 2 0 复制22帧到新的帧
animate pause 暂停播放,按回车或者随便瞎输个命令就可继续
animate forward/for向下播放
animate reverse/rev向前播放
animate prev/next 向前/向后一帧
animate skip 设置播放时的step
animate delete all 删除所有帧
animate speed 0.3 设置速度为0.3,数值>=0,<=1
animate style once/loop/rock 设置播放模式
animate styles 显示可用的播放模式,其实就是显示once、loop、rock
animate goto start/end/n  回到开始帧、末尾帧、第n帧

atomselect keywords显示所有可以选择的关键字
macro指的就是那些charged、acidic之类的整体。
atomselect macro 显示所有macro
atomselect macro charged 显示charged的定义
atomselect delmacro ions    删除ions的macro
atomselect macro sdfsdf {resname ALA and hydrogen}  定义一个新的macro,如果已经有定义了,则覆盖
设好的macro在graphics representations-selection-singlewords里面也会出现

atomselect 3 "resid 25" frame last 选择3号分子最后一帧的resid 25。分子可以是数字或者top,所选内容就是普通的selection,用双引号或者{}括住,帧号可以是数字、first、last、now。

选择之后,会出现比如atomselect0,然后可以运行:
atomselect0 num   显示所选的内容有多少原子
atomselect0 list  显示所选的内容的原子的编号
atomselect0 text  显示所选内容表示的意义
atomselect0 molid  显示所选内容的分子编号
atomselect0 frame  显示所选内容的所在帧。atomselect0 frame x设置选择的帧为x
atomselect0 delete   删除atomselect0函数。
atomselect0 global   将atomselect0移入全局命名空间
atomselect0 get mass 得到atomselect0所选范围的质量,还可以是{x y z}得坐标,{x}仅x坐标。get后面可以接任何属性,见manual p77
atomselect0 get structure 可以得到结构中每个残基所处的二级结构
实际上不管是在图形界面选择newcartoon还是文本控制台输入get structure,都要调用stride来计算
atomselect0 getbonds 得到成键列表
atomselect0 setbonds 按照成键列表成键,比如{{2 5} {4 6}}
atomselect0 move  4x4 matrix   根据矩阵移动
atomselect0 moveby {1 1 6}   把所选原子向1,1,6向量方向和距离上移动
atomselect0 lmoveby offset_list:  move each atom by an offset given in the list.
atomselect0 moveto { 3 6 5}   把所选内容移动到3,6,5位置
atomselect0 moveto position_list:  move each atom to a point given by the appropriate list element
atomselect0 writepdb a.pdb   把目前所选原子写到当前文件夹(vmd所在文件夹)的a.pdb中

set kk [atomselect 0 {resname ALA}]   定义$kk变量,用echo $kk可以查看其代表的内容,比如得到atomselect0
set mass [$sel get mass]        set mass [$sel get mass]
set kkk 4
incr kkk     把kkk加1
$sel set beta 0        # all values are set to zero
$sel set beta $mass    # copy mass to beta


axes locations 显示所有坐标轴可能显示的位置
axes location 得到当前坐标轴的位置
axes location < of | origin | lowerleft | lowerright | upperleft | upperright >  设置坐标轴情况

color scale method RGB设置调节颜色方法为RGB,也可以是BGR、RWB之类
colorinfo scale methods得到所有颜色调节方法列表
colorinfo scale method得到现在用的颜色调节方法
colorinfo scale midpoint或min或max 得到这三种情况对应的数值,比如0.5,0.1,1.0
colorinfo categories  显示所有颜色分类,比如Type之类
colorinfo category Resname  显示某个颜色分类,比如Resname分类下包含的预置的对不同残基的颜色
colorinfo colors    显示有多少种预置颜色,比如red
colorinfo index或rgb purple  显示purple颜色的序号或者rgb值(默认以1为最大)

display update off 禁止屏幕刷新,display屏幕就卡住了
display resetview        重置
display distance x  设置东西与屏幕的距离,越大则分子离屏幕越近,相当于放大。不可太小比如几十,否则有凸镜的效果
display get        eyesep | focallength | height | distance | antialias | depthcue | culling |
rendermode | size | stereo | projection | nearclip | farclip      得到相应的信息

mol new在分子列表中创建一个空分子

draw xxxx命令大多数情况下与graphics [molid] xxxx是等价的,draw只能在top层上绘图,而graphics可以自己指定,相对于draw是更底层的绘图命令。graphics不能自定义绘图命令比如vmd_draw_unitcell这样的。如果当前一层都没有,draw可以自动生成一层,graphics不行。以下的都可以用draw来代替。

graphics 3 {0 2 0} 在3号分子,0,2,0位置上画个点
graphics 3 {0 0 0} {3 4 5}   在0,0,0与3,4,5之间连线。几个坐标之间大括号必须有空格隔开
graphics 5 cylinder {0 1 0} {3 14 0} radius 1 filled yes resolution 20  在5号分子这两个点之间画一个柱形,半径是1,里面都充满,否则从截面就一个壳。resolution越大,越圆滑。
graphics 5 triangle {0 0 0} {5 5 5} {0 4 0} 指定三个点画一个三角
draw sphere { 0 0 0 } radius 3 resolution 15     画一个球
draw text { 0 0 0 } "haha" size 3     在某个点写字,无论怎么缩放,字的大小都不变
draw color 4        graphics 4 color red3    设定颜色,不会对已经画好的物件生效,只管以后的。对几何和文字颜色都管用。
draw material Glossy   设定绘制的物件的材质。即便是已经画好的,也立刻变成现在设定的。
draw delete all   删除所有画的物件
draw delete 0   每画完一个物件,都会立刻显示此物件的id,这里删的是id=0的物件
draw list    列出现在所有物件的id
draw exists 4  检查id=4的物件是否存在,存在返回1,否为0
draw info 2   显示创造2号物件时用的指令
draw replace 3  接下来创造的物件的id=3,代替之前3号id的物件。即便是更改颜色、材质的操作,也算一个id。

下面示例中label中只要是写Bonds的,都可以是Atoms|Bonds|Angles|Dihedrals之一
和分子ID不一样,并非固定,比如Bonds 3,如果在label里面把之前的Bond的label都删了,就成了Bonds 0了
label list 显示所有的label分类
label list Bonds 显示所有键的label
label add Bonds 0/347 0/4440   设定index 347和index 4440的键的label
label show/hide Bonds all      显示/隐藏所有键的label,all也可以是label号来具体控制
label delete Atoms all     删除所有原子的label,all也可以是label号来具体控制
用鼠标点,新生成的label号从0开始,1、2、3、4...,从Graphics-label里面能看到顺序
label graph Bonds 0  [文件名]  显示0号Bond lable的长度,输出所有帧中的长度。如果写了文件名,则输出到文件中而不显示
label textsize 2.2   把label文字设成2.2,所有文字立刻生效。默认是1.0

light num  显示目前有多少个光源    注意光源编号是从0开始的,0-3
light 2 on/off     把2号光源开或者关
light 0 status     显示0号光源的状态
light 1 rot x 40   把0号光源根据x轴转40度
light 0 pos        显示0号光源目前坐标
light 1 default    显示1号光源默认坐标
light 1 pos { 2 3 1.1 } 将1号光源移到2,3,1.1位置

logfile sdf.txt    把log信息写入sdf.txt。注意只有使改变了状态的指令才会被写入,比如light 0 pos {1.1 1 1},而draw color red或者查询状态的命令都不会被写入。
logfile off        停止写入
logfile console    把本来要写入文件的信息直接在console里显示出来

material list  显示所有材质,比如Opaque之类的
material settings Steel    显示Steel代表的具体的材质控制参数,5个小数。代表ambient, specular, diffuse, shininess, opacity
material add ttt           新加一个叫ttt的材质,默认等价于Opaque
material copy ttt          拷贝ttt成为一个新的材质,名字自动生成显示出来
material rename ttt xxx    把ttt改名为ttt
material delete ttt        删除ttt材质
material change diffuse xx 0;99   把xx材质的diffuse属性设为0.99

measure avpos atomselect3 first 1 last 300 step 1 得到atomselect3选择的原子的从1至300帧之间的每个原子的平均位置
measure center atomselect3 weight mass   得到atomselect3的中心,用mass属性来作为权重参考。weight后面可以接各种属性,在手册77页table 5.5里面。比如还可以x、radius之类
measure contacts 5 atomselect3 atomselect4 得到在atomselect4中的任意原子的5埃范围内的atomselect3中的未与之成键的原子。如果只写一个atomselect3,则atomselect4等于atomselect3。
measure fit atomselect5 atomselect6 得到作用在atomselect5上,能使之与atomselect6的RMSD最小的4x4变换矩阵,可以套进atomselect0 move用
measure gofr  计算rdf等内容。见p103
measure sumweights atomselect7 weight mass  把atomselect7的所有原子的质量加起来。如果atomselect top protein,那么得到的就是蛋白质总质量,若charge,得到的就是总电荷。
measure hbonds 3.5 30 atomselect0 atomselect1  显示所有氢键,角度<30,距离<3.5A。!!!!!!如果两个atomselect都有,则认为0是donor,1是acceptor!!!!!!。得到的结果第一个列表是donor的index,第二个列表是acceptor的index,第三个是氢的index。两个atomselect都必须在一个ID内。donor可以是氢,也可以是氢连着的原子。
measure inverse {{1 2 3 4} { 2 5 6 8} { 8 3 5 6} { 1 4 6 2}}得到4*4矩阵的逆矩阵
measure rgyr atomselect0 weight mass      得到atomselect0的radius of gyration
measure minmax atomselect0        显示atomselect0里面x、y、z坐标最小和最大的原子坐标
measure rmsf atomselect0 first 50 last 100 step 2 得到atomselect0的每个原子从50帧到100帧的rmsf,两帧取样一次。可以省略selection后面的,默认为从头到尾,step=1。
measure rmsd atomselect0 atomselect1 weight mass  得到两个selection之间的rmsd并考虑质量权重,所选的这两个部分必须原子数相同。比如可以选不同的帧的同一个部分。
measure sasa 1.4 atomselect1  以1.4埃为探测球的半径,得atomselect1的SASA。还可以加[-points varname] [-restrict restrictedsel] [-samples numsamples]参数,见P104。得到的结果和mm_pbsa得到的输出文件的surface area项基本一致。用这个方法算,两个部分不能相加,比如1的sasa和2的sasa之和不等于1和2的总sasa

mol命令用的分子号,可以是独立的一个mol ID,也可以是all, top, active,
inactive, displayed, on, off, fixed, free。
mol new   创建一个新的空分子
mol new f:sustiva.pdb   创建一个新分子,读入此文件
mol addfile f:sustiva.pdb   读入此分子到top分子中
mol new和mol addfile后面都可以接参数,type pdb读入pdb类型,还支持其它的,包括轨迹等。first、last 、step 设置读入轨迹文件时读哪些以及间隔多少。autobonds on/off决定是否自动连键。molid 5读入到id=5的分子,只对addfile管用。

mol load pdb f:\sustiva.pdb  好像和mol new没区别,不能接其它参数
mol urlload 从某个URL地址读取
mol pdbload 2BBM      读取某个四个字母的pdb结构,从RCSB获得
mol list 显示目前已读取的分子信息
mol list 分子号      显示分子号包括的全部分子的详细信息,包括显示方式
mol color Chain     将默认原子上色方式改为Chain,似乎不管用
mol representation  CPK 将默认原子显示方式改为CPK,似乎不管用
mol selection [select_method]     改变默认选择方法
mol modcolor 0 top Chain    将top分子的0号representation改成Chain上色方式
mol modmaterial 0 top ghost 将top分子的0号representation改成Ghost风格
mol modmaterial 0 top CPK   将top分子的0号representation改成CPK显示方式
mol modselect 0 top {index 3} 将top分子0号representation选择内容为index 3
mol addrep 0    给0号分子新增一个representation
mol delrep 1 top  删掉top分子1号representation
mol delete top  删掉top分子
mol on/off 2   显示/不显示mol id=2的分子
mol active/inactive 2  激活/取消激活mol id=2的分子
mol default style  显示style的默认设置
mol default style CPK  设置默认style为CPK
mol modrep 1 top   将top分子的1号representation套用默认设置,似乎没用
mol fix/free 2   设置molid=2的分子是否fix(固定)
mol top      3     设置3号分子为top分子
mol cancel    3       停止3号分子载入轨迹
mol reanalyze 2      重新分析并输出2号原子的结构,比如成键情况
mol ssrecalc top     重新计算top分子的二级结构
mol rename top  pppp    重命名top分子为ppppp
mol repname top 0   显示top分子0号representation的名字
mol rename top rep0   显示top分子名为rep0的representation的序号,若得到-1,说明没那个名字
mol selupdate/colupdate 0 top on/off  对top分子0号representation,开不开Update Selection或Color Every Frame的选项
mol smoothrep top 0 12对top分子0号representation的smooth显示值设为12
mol showrep top 0 on/off 设置top分子0号representation显示不显示
mol scaleminmax top 0 0.3 4.6 设置top分子0号rep的color scale范围为0.3-4.6
mol scaleminmax top auto 设置top分子0号rep的color scale为自动
mol drawframes molecule_number rep_number [frame specification] 可以同时播放多个轨迹,见P108

molinfo list  列出所有分子的ID。 分子即便删了,它的ID以后也不会再次被使用
molinfo num   显示分子数数目
molinfo top   显示top分子的ID
molinfo index 3  显示第3个分子的ID
molinfo top get { frame numframes a filename} 得到top分子的当前帧号,总帧数,和cell的a边长,和文件名。大括号里面写多少都行(如果就一个可不写大括号),属性都会以空格来分隔输出。大括号里支持的keywords见Tabel 8.3
molinfo 0 get { {rep 0} {color 0} {rep 1} {color 1} } 得到第1、2个representation的形式和参数(比如NewCartoon和其调节参数),和第1、2个图层用的Coloring Method意义(如name)。注意读入轨迹后,切换到不同帧,get得到的是当前帧的信息,比如molinfo molinfo top get {a b c alpha beta gamma}得到的是当前帧的盒子信息。

mouse mode x 设置鼠标成为某种模式。x=0代表设为旋转,1平移,2缩放,3 N设置为旋转第N个光源。4 N,N可以是
0: query item 1: pick center 2: pick atom 3: pick bond 4: pick angle 5: pick dihedral 6: move atom 7: move residue 8: move fragment 9: move molecule 10: force on atom 11: force on residue 12: force on fragment  比如mouse mode 4 0 设鼠标为查询某个原子信息状态
mouse rocking on/off  设置鼠标拉动分子后,是否让分子继续旋转
mouse stoprotation    停止分子旋转,包括用鼠标拉动其自动旋转,和rock等命令让分子旋转所导致的

render list      显示目前可以用的渲染方法,比如POV3
render options POV3    显示当前使用POV3渲染器时的命令比如povray +W%w ......
render options POV3 sdfsdf  设置使用POV3渲染器时的命令是sdfsdf
render default VRML-1    显示默认使用VRML-1渲染器的命令
render POV3 ppp.pov  [command]   得到POV3渲染器的输入文件ppp.pov,如果加了[command]项,则紧接着运行[command]里面的内容,比如执行渲染指令,其中%s会被换为ppp.pov。

rock x by 0.1        每次空闲时redraw的时候,绕x轴转0.1度,亘古不停
rock x by 0.001 10000       每次空闲时redraw的时候,绕x轴转0.001度,走10000步之后向相反的方向转,etc.
rock off或者直接点鼠标就停下rock

rotate x by/to 90    沿x轴转相对90度/转到以最初视角为起点的绝对的90度        不改坐标
rotate stop   停止旋转

quit或exit           退出VMD

wait 4   等待4秒钟,这4秒内不能输入任何指令。屏幕上的动画照常播放。

translate by/to  1 3 2      平移到相对/绝对坐标1,3,2          不改坐标

scale by/to   4    使放大尺度因子f为现在的4倍/设置f为4。  to 0.01就比较合适了      不改坐标

stage lcoation  < off | origin | bottom | top | left | right | behind 〉设置挡板在哪个位置
stage location  显示挡板的当前位置
stage locations   显示所有挡板的可用位置,就是上面那一串
stage panels 4   设置场景中panels数为4,最大30。也就是指挡板的格子数
stage panels    显示目前用的panels数

vmdinfo version  显示版本号
vmdinfo versionmsg  显示完整的版本信息,最好不要用,会自动开一个vmd
vmdinfo authors  显示全部作者
vmdinfo arch  显示目前的架构
vmdinfo options   显示被用于编译VMD的选项,结果一般是WIN32 TCL
vmdinfo www  显示VMD主页
vmdinfo wwwhelp  显示VMD帮助主页,结果和上面一样

user print keys 显示所有快捷键
user add key a dir      在Display窗口中,按a,就相当于输入了dir,即自定义快捷键

menu list   列出所有可以列出的菜单,这些菜单往往不直接出现在GUI上,但很有用
menu cliptool on         显示剪切工具,可以将分子按照某个平面切掉平面另一面的所有原子。
menu main off/on          关掉/打开VMD Main
menu pdbtool on         只有前两个能用,但没什么用,后面那堆网站都已经纳入收藏夹
menu navfly          打开飞行窗口,但是没有用
menu pdbtool status    显示pdbtool窗口现在是开是关
menu main loc          显示VMD main窗口当前位置
menu main move 33 44   把VMD main窗口移到33,44坐标位置

posted @ 2019-05-04 21:21  一棵开花的树sysu  阅读(10676)  评论(0编辑  收藏  举报