vmd基本操作

VMD 入门操作,备忘。

打开程序

1
2
3
4
5
6
7
vmd -dispdev text -e file.tcl     # vmd without GUI

vmd file.pdb # 打开 pdb

vmd -parm7 test.prmtop -crdbox test.mdcrd -dispdev text -e test.tcl # vmd 查看 amber 轨迹

vmd -parm7 com_solvated.prmtop -netcdf equil.mdcrd.nc # netcdf 格式(不支持 win 系统),mdcrd 文件如果后缀改为 .nc 则不需要 -netcdf 选项

使用 VMD 进行画图时,需要注意如下几点:

使用白色背景,light 0-3 都打开,不显示坐标轴

1
2
3
4
color Display Background white
light 2 on
light 3 on
axes location Off

关闭景深(去掉白色模糊),正交显示

1
2
display depthcue off             # Main Window -> Display -> Depth Cueing
display projection Orthographic

Render

一般使用tachyon进行render

1
"C:\VMD\\tachyon_WIN32.exe" -aasamples 24 %s -format BMP -o %s.bmp -res 500 350

  有时会遇到一种情况,比如整个蛋白显示为灰色,然后 N 端显示为红色,这时tachyon可能无法正确显示颜色,需要将颜色设置为 除 N 端之外的显示为灰色,N 端显示为红色,二者不要有重叠。

Near clip

  有时会遇到一种情况,当放大显示蛋白结构时,距离屏幕较近的区域在屏幕中显示不完全,这一问题可以通过 Near Clip 设置进行改善。首先进入Display -> Display settings,将Near Clip调整到最小值,然后通过鼠标滚轮将蛋白结构缩小(即把蛋白放置在一个较远的位置),然后调整Screen Height参数,使屏幕上呈现出的构象符合自己要求。

GUI

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
residue 1 to 3 or residue 5 to 6  # 按残基编号来选中残基
all within 5 of resname TRP # 选择5A以内的原子

键盘 r, t, s, c 分别代表rotate, translate, scale, center

改变旋转的中心
Mouse -> Center,然后鼠标变成加号,可单击选择旋转中心(然后按 r 返回旋转模式)

rmsd calculation

mouse -> label # 可以用来选择原子,测定距离、角度和二面角(对应的快捷键为 1, 2, 3, 4),同时可以用graphics > labels 进行查看

drawing method # 里面可以选择氢键

Extension -> visual -> movie maker # 可以用来制作movie

File -> Log Tcl Commands to Console # 可以将 GUI 界面的所有操作以 tcl 命令的形式输出到 Tk console

Tk console

导入分子

1
2
3
4
5
6
7
8
mol new ../ionized.pdb type pdb waitfor all   

mol addfile file.pdb

mol load parm7 parm.file rst7 crd.file # Amber
mol load psf psf.file pdb pdb.file # namd

mol delete all

选择指定部分

1
2
3
set sel [atomselect top "chain A"]              # all, protein, lipid

$sel writepdb file.pdb

循环,输出数据到文件中

1
2
3
4
5
6
7
set file [open in.ind w]
foreach indices [$sel get index] {
puts $file "$indices"
}

# flush $file
close $file

Get the unit cell parameters

1
2
3
4
5
package require pbctools
#get the x, y, z lengths of Solvation box
set xLen [lindex [lindex [pbc get -now] 0] 0]
set yLen [lindex [lindex [pbc get -now] 0] 1]
set zLen [lindex [lindex [pbc get -now] 0] 2]

保存部分结构的轨迹

除了 VMD 之外,还可以使用 mdconvert,MDTraj 等来实现。

Single dcd

  1. 首先制作index文件

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    set filename "1chain_A_wt"

    #mol new ionized.pdb type pdb waitfor all
    # set sel [atomselect top "((resid >=1 and resid <=28) or (resid >=134 and resid <=140)) and name P"]
    set sel [atomselect top "chain A"]
    # set indices [$sel get index]

    set file [open $filename.ind w]
    foreach indices [$sel get index] {
    puts $file "$indices"
    }

    # flush $file
    close $file
  2. 在Tk console中直接输入或者保存为getind.tcl,然后source getind.tcl.

  3. 然后使用 catdcd
    1
    catdcd -o output.dcd -i index.ind trajectory.dcd

Multiple dcd

1
2
3
4
5
6
7
8
9
10
11
foreach i {A B C D E F G H I J K L M N O P Q R S T U V W X} {

set filename "1chain+$i+wt"
set sel [atomselect top "chain $i"]
set file [open $filename.ind w]

foreach indices [$sel get index] {
puts $file "$indices"
}
close $file
}
1
2
3
4
5
#!/bin/bash
for i in A B C D E F G H I J K L M N O P Q R S T U V W X
do
catdcd -o 1chain+$i+wt.dcd -i 1chain+$i+wt.ind NPT-4.dcd
done

如果保存为.xyz

1
2
3
4
5
6
#!/bin/bash
for i in {1..24}
do
catdcd -o 1chain+P$i+wt+CA+dcd.xyz -otype xyz -i 1chain+P$i+wt+CA.ind -stype pdb -s MjHSP16.5_wt_CA.pdb -first 4050 -last 4500 NPT-4_CA.dcd
catdcd -o 1chain+P$i+wt+CA+ref.xyz -otype xyz -i 1chain+P$i+wt+CA.ind -stype pdb -s MjHSP16.5_wt_CA.pdb -first 4050 -last 4050 NPT-4_CA.dcd
done

将二进制的DCD 转换为 xyz

1
2
3
catdcd -o output.xyz -otype xyz -s struct.psf -stype psf somedcd.dcd
or
catdcd -o output.xyz -otype xyz -s struct.pdb -stype pdb somedcd.dcd