LoginSignup
2
1

More than 5 years have passed since last update.

VMDでのtclスクリプトの書き方、実行方法

Last updated at Posted at 2018-10-12

VMD(Visual Molecular Dynamics)でtclスクリプトを動かし、単純な繰り返し作業を自動化したい

  • やりたいこと
    • VMDでNAMDにより得られたトラジェクトリファイルの読み込み
    • センタリング
    • 別名保存
    • VMD終了
    • 次のファイルへ

という流れを自動化したい。

環境

  • CentOS Linux release 7.5.1804 (Core)
  • VMD for LINUXAMD64, version 1.9.2 (December 29, 2014)

VMDでtclスクリプトを読み込む方法

$ vmd -dispdev none -e scriptname.tcl
  • -dispdev none : display devise noneの略 ディスプレイウィンドウを表示しない
  • -e scripname.tcl : 読み込む(tcl)スクリプトの指定

これをシェルスクリプト中に書き込むことで、シェルスクリプトからtclスクリプトを呼び出していることになる。

tclスクリプトの書き方

シェルスクリプトが書けるなら大体大丈夫。

初めに

#!/usr/bin/bash

を書いておく。

実行するコマンドなど

proc productname {}{
ここにコマンドを書く
}

文字をコンソール上に表示

puts $aaa

シェルスクリプトのechoに等しい。
($はシェルスクリプトと同じ変数置換詞)

変数に値(文字)の代入

set aaa 100
set bbb "moji"

値を計算して代入

expr 1+2
expr 100*$a

代入するときは、[]でくくってset c [expr $a*5]のようにする。

ここまでを応用して、
先のputsと組み合わせると、

test.tcl
set a 10
set b "moji"
set c [expr $a*5]

puts $a
puts $B
puts $c
result
 10
  moji
  50

参考

tclスクリプトについて、より詳しい解説は以下などを参考にしてほしい。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1