VMDでRMSDを計算する (GUI, CUI)

概要

vmdでのRMSDの計算する方法をまとめる。今回は水素以外のタンパク質でアラインし、タンパク質の主鎖のRMSDを計算する。0フレーム目を基準としてそれぞれ計算する。

環境

macOS Mojave 10.14.5
vmd 1.9.3

macOS Catalinaではアプリが64bitにしか対応していないためVMDが利用できない

GUIでの方法

まずは構造ファイルとトラジェクトリ ファイルを読み込む。読み込み方はこちら → VMDの使い方の基本 (Mac)

タンパク質でアライン

  1. VMD MainExtensions => Analysis => RMSD Trajectory Tools

    f:id:oosakik:20191111143345p:plain

  2. RMSD Trajectory Toolメニューの空白部分でアラインする原子を選択する。図のようにproteinとしSelection Modifiersnohにチェックをつけるか、protein and nohとする。その後、ALIGNをクリックする。

    f:id:oosakik:20191111145211p:plain

RMSDの計算

  1. RMSEの計算をするために、タンパク質の主鎖を指定する。図のようにproteinとしSelection ModifiersBackboneにチェックを入れるか、protein and name CA C Nとする。さらにTrajectoryPlotにチェックを入れRMSDをクリックする。

    f:id:oosakik:20191114161605p:plain

  2. プロットが現れる。FileからExport to PostScriptを選択すると画像を保存できる。また、Export to ASCII matrix...を選択すると計算結果データを保存できる。

    f:id:oosakik:20191114162821p:plain

CUIでの方法

vmdのスクリプト作成が初めてという方はこちら→VMDのスクリプトの書き方

今回はtest.pdbtest.dcdを読み込んでアライン、RMSDを計算する。その後、RMSDの計算結果をtest.datに保存するスクリプトを示す。

mol load pdb test.pdb xtc test.xtc

set out_file [open test.dat w]
set num_frame [molinfo top get numframes]
set ref_fit [atomselect top "protein and noh" frame 0]
set ref_rmsd [atomselect top "protein and name CA C N" frame 0]

puts $out_file "frame\trmsd"

for {set i 0} {$i < $num_frame} {incr i} {
    set all [atomselect top all frame $i]
    set prt_fit [atomselect top "protein and noh" frame $i]
    $all move [measure fit $prt_fit $ref_fit]
    set prt_rmsd [atomselect top "protein and name CA C N" frame $i]
    set rmsd [measure rmsd $prt_rmsd $ref_rmsd]
    puts $out_file "$i\t$rmsd"
}   

exit

スクリプトの説明

  1. 構造、トラジェクトリファイルを読み込む
  2. アウトプットファイルを定義する
  3. トラジェクトリファイルのフレーム数を取り出す
  4. 一番最初のフレームのタンパク質情報を取り出す(このタンパク質に合わせて各フレームをアラインする)
  5. 一番最初のフレームのタンパク質情報を取り出す(このタンパク質に合わせて各フレームのRMSDを計算する)
  6. 各フレームの全原子をタンパク質でアラインする
  7. 各フレームのタンパク質のRMSDを計算する

参考記事

VMD User's Guide
RMSDTT: RMSD Trajectory Tool