そのほか、history, his, !num, !string, linux外部コマンド が使えるようだ。
R 回転モード マウス左ドラッグ: 回転 マウス中ロール: 拡大縮小 T 平行移動モード マウス左ドラッグ: 上下水平に移動 マウス右ドラッグ: 奥行きの移動(左右のドラッグが、遠ざかる←→近づく) マウス中ロール:拡大縮小 C 原子を左クリックして、回転中心選択 デフォルト?に戻すには、VMD Mainウィンドウ Display->Reset View しかない? 1 原子を左クリックして、原子のラベルを表示 2 原子を2個左クリックして、原子間の距離を表示 3 原子を3個左クリックして、原子間の角度を表示 4 原子を4個左クリックして、原子間のねじれ角を表示 P 原子をクリックすると、コンソールに原子の通し番号(index)などの情報が出る。chain番号はない 場合はxと出る。ので、index番号から判断する? 1 を押してもコンソールに情報が出る。
Graphicsメニュ→Labels 上記1~4など?で表示した残基名などのラベルを、削除したり、一時的に非表示したりする。
Fileメニュー→New Molecule→.groファイルを選択→Load→.trrファイルを選択→Load (注1) .trrファイルをLoadするときに、Load files for:のところは New Moleculeではなく、先に読み込んだ.groファイルの名称になっていること。 時系列の原子座標が最初の.groのあとにアペンドされる。そのため、最初のフレーム (0フレーム目)を削除するとよい。 (注2) .trrだけを読み込むこともできる。この場合は、ただの点として読み込まれる。 (注3) .trrファイルには、スタートの構造と、最後の構造が含まれる。5,000stepを200step毎 に出力していた場合、251フレーム含まれる。例えば、npt.trrの場合、nvt.groとnpt.gro が含まれる(NVT平衡化につづけてNPT平衡化をしている場合)。
.trrに含まれる原子座標だけを保存したファイル形式は.xtcである。上記は.xtcでも同様。 .trrには他に原子の速度と原子に働く力が含まれている。
Graphics→Representations→Create Repボタンを押す→Selectionsタブ →selected Atomsの欄をproteinにする→Applyボタン→Draw styleタブ →Drawing MethodをCPKなどにする。 (注)表現を増やして描画できる。
原子の選択方法 http://www.ks.uiuc.edu/Research/vmd/vmd-1.3/ug/node132.html
chainの選択は、chain A など。
残基名は、大文字である。
例(Selected Atomsの入力)
resname TYR and not hydrogen resname HEM and not hydrogen name FE protein and not hydrogen (resname HEME or resname TYR) and not hydrogen
例えば、Graphics→Representationsの Seleteted Atomsに次を入力する。
(within 3 of (protein or resname HEM)) and not (protein or resname HEM) or ion
sqrt((x-67)*(x-67)+(y-66)*(y-66)+(z-54)*(z-54)) < (34+2+3) and not (protein or resname HEM) or ion
#このサイズはMaestroで読めるが操作は無理
選択したものの(RepresentationsのSelection項目)を pdbファイルとして書き出すには、
File→Save Coordinatesから、Save dataと Selected atomsを選んで Saveする。
File→Load Visualization State or Save Visualization State なお、表示に利用した .groや .trrはロード時に読み込まれる。 (保存したファイルには、その .groや .trrのファイルを絶対パスで 指定しているから、ここを変更すれば、ファイルを移動できる。)
トラジェクトリーを読み込んでいる場合、 VMDでstateをsaveする前に、Playで動くことを確認する。たまにバグる、バグったstateをloadしても直らない。
Tk consoleで、 pbc boxと入力する。 色付きは pbc box -color red など 境界を消すには、pbc box -off メモ:chimeraでは Amberのトラジェクトリーは読み込めるらしいが、gromacsのは 読み込めない。
Extensionsメニュー→Visualization→Ruler→tape,grid,Scaleのいずれかを選択
Display→Reset View
Display→Display Setting、でいろいろいじる
#2024/05/09 okazaki,i
# VMD 1.9.3 によるトラジェクトリ表示に、そのフレームの時間も表示するVMDのTclスクリプト
#
# 使い方:
# 1) ~/.vmdrcファイルに以下のものを入れておく。
# menu main on
# set auto_path [concat $env(HOME)/.vmd/myscripts $auto_path]
# auto_mkindex $env(HOME)/.vmd/myscripts *.tcl
# 2) ~/.vmd/myscriptディレクトリにこのファイルを入れておく。
# 3) vmdを起動し通常通りトラジェクトリを読み込み後、tcl text interface (vmd> プロンプト, コンソール)
# から mytraceon を実行する。原子をマウスでpickすると(キーボード3->マウス左クリック)、その位置に
# 時間が表示される。何もpickしないと原点座標に表示されたままである。
# 予めこのスクリプトの tperframeをトラジェクトリの1フレーム当たりの時間にしておくこと。使い
# 終わったら mytraceoff を実行すると時間は表示されなくなる。
#
# メモ:
# - mytraceonした後でも、コンソールから set mytrace::tperframe 2.0 で変更可
# - set mytrace::debugf 1 の変更も可
# - File->Save Visualization Stateは drawによる表示のみしか保存されないので、load後再度 mytrceonする
# - 分子を読み込んでいない状態で mytraeonを実行した場合の動作は不明
# - Top(VMD Mainの"T")を変えると、変える前の時間表示が残ったままになる、理由不明
#
# ref. pp140-141, p127 in VMD User's Guide Version 1.9.3
# https://www.yumpu.com/en/document/read/10444677/
# advanced-vmd-script-examples-and-customization-axel-kohlmeyer
# https://freesoftnet.co.jp/webfiles/tclkits/doc/TclCmdRef/TclCmd/namespace_jp.htm
# など。
# スクリプトの途中でエラーがあると、そこでスクリプトは終了するため、デバッグ時は注意。
proc mytraceon {} { mytrace::traceon }
proc mytraceoff {} { mytrace::traceoff }
proc mydebugp { flag msg } { if { $flag } { puts $msg } }
namespace eval mytrace {
set tperframe 0.01 ;#1frame = 0.01ps (表示するトラジェクトリに合わせて変更すること)
#set tperframe 2.0
set debugf 0 ;#デバッグ用 0 or 1
#[molinfo top]は何番でも可のようだ(playボタンで全てが再描画らしい)、ただし存在すること。
#何番でもよく、disptimeが呼ばれて処理が実行される。
proc traceon {} {
trace add variable ::vmd_frame([molinfo top]) write mytrace::disptime
trace add variable ::vmd_pick_event write mytrace::pickatom
mytrace::disptime {}
}
proc traceoff {} {
trace remove variable ::vmd_frame([molinfo top]) write mytrace::disptime
trace remove variable ::vmd_pick_event write mytrace::pickatom
draw delete all; pbc box ;#このへんなんか変?
#draw delete all; pbc box -off
#draw delete all
}
#vmd_frame(n)の描画イベントにより実行
proc disptime {args} {
mydebugp $mytrace::debugf "****In mytrace::disptime { $args }"
if { [info exists mytrace::tmpdtxt] } { draw delete $mytrace::tmpdtxt;
mydebugp $mytrace::debugf " del tmpdtxt=$mytrace::tmpdtxt" }
if { ![info exists mytrace::coord] } { set ::mytrace::coord "0.0 0.0 0.0" } ;#ここは単純化が可
draw color yellow
set f [molinfo top get frame]
set t [expr $f * $mytrace::tperframe]
set str "t=[format "%.2f" $t]ps ($f frame)"
mydebugp $mytrace::debugf " $str, namespace=[namespace current]"
set ::mytrace::tmpdtxt [ draw text "$mytrace::coord" "$str" size 1.5 ] ;#代入になぜ先頭の::が必要?
mydebugp $mytrace::debugf " new tmpdtxt=$mytrace::tmpdtxt"
mydebugp $mytrace::debugf "****Ot mytrace::disptime"
}
#pickイベントにより、原子のx,y,z座標を coordに代入
#(ウィンドウの2次元の固定位置を指定する方法は不明だったので)
proc pickatom {args} {
mydebugp $mytrace::debugf "****In mytrace::pickatom { $args }"
mydebugp $mytrace::debugf " ::vmd_pick_mol,::vmd_pick_atom = $::vmd_pick_mol,$::vmd_pick_atom"
set sel [atomselect $::vmd_pick_mol "index $::vmd_pick_atom"]
lassign [$sel get {x y z}] mytrace::coord
mydebugp $mytrace::debugf " mytrace::coord = $mytrace::coord"
disptime {}
mydebugp $mytrace::debugf "****Ot mytrace::pickatom"
}
}
#end of file