From: Peter Lai (pcl_at_uab.edu)
Date: Thu Sep 20 2012 - 16:23:13 CDT

vmd supports a full tcl command set. so use the tcl method of opening a file for reading...

_____________
From: owner-vmd-l_at_ks.uiuc.edu [owner-vmd-l_at_ks.uiuc.edu] on behalf of Joshua D. Moore [joshuadmoore_at_gmail.com]
Sent: Thursday, September 20, 2012 1:44 PM
To: vmd-l_at_ks.uiuc.edu
Subject: vmd-l: VMD in Linux, assigning a variable using awk

Hi,

I want to assign a variable in VMD running in Linux from the command line.

I can do something like

animate goto start
set startframe [molinfo top get frame]
echo $startframe

And VMD will return the frame number of the start

But if I want to get a value out of a file using awk, such as the
following I get a blank return.

vmd > set frame 5
5
vmd > echo $frame
5
vmd > set time [awk NR==$frame time.txt]
0.006
vmd > echo $time
(returns a blank and should return 0.006)
vmd>

In a bash shell I would do the following.

bash> time=$(awk 'NR==5' time.txt)
bash> echo $time
0.006

But I can't get VMD to store the variable. Can VMD return a variable
using unix commands from within VMD (a Linux version of VMD of
course)?

What I want to do is to display some text that shows "time =
something" in VMD to render a movie. My frames need to be spaced at
uneven times, so I want to read the times from a file in a loop within
VMD.

Thanks in advance if you can help.

Josh