From: Axel Kohlmeyer (akohlmey_at_cmm.chem.upenn.edu)
Date: Sat Nov 11 2006 - 17:48:00 CST

On Sat, 11 Nov 2006, Pavan Ghatty wrote:

PG> Hello all,

pavan,

what you desire can be achived by loading the trajectory
using 'waitfor all' instead of 'waitfor 1'. with the latter
the execution of your script continues and the you have a
race between reading the trajectory and starting the program.

please check also, that the unexpected linewraps in your post
(e.g. waitfor 1 was on a new line) are due to your mail
client and not from editing the script.

finally, a number of the commands (basically everthing related
to the GUI) have no effect in text mode, so it may be better
to remove them completely from the script.

cheers,
   axel.

PG>
PG> Following are the contents of the file that I used in the command "vmd
PG> -dispdev text -e FILE.dat". FILE.dat is supposed to give me the rmsd data
PG> for 50 steps [which is the no. of frames]. I tried doing this in the normal
PG> fashion by opening vmd's GUI first and the typing the commands in console.
PG> That worked fine[Got data for all 50 steps]. While doing that I saved the
PG> commands to FILE.dat and to my surprise, all commands except "set,for and
PG> close" got logged. I then went ahead and wrote the commands to
PG> FILE.datmyself and tried using "vmd -dispdev text -e
PG> FILE.dat". This stopped at the 6th step. On punching "vmd -e FILE.dat", I
PG> saw that Tkconsole was activated before all the 50 frames were loaded which
PG> would mean that the rmsd calculations began before all the frames got loaded
PG> (apparently only 6 got loaded) and hence, stopped giving out data after the
PG> 6th step. Is there a way to get around the problem ?
PG>
PG> # VMD for LINUX, version 1.8.4 (April 17, 2006)
PG> # Log file 'Obtaindatavmd.dat', created by user pkc
PG> menu files off
PG> menu files on
PG> animate style Loop
PG> display resetview
PG> mol new {/tmp/bio-pre/WT10/10wt.top} type {parm7} first 0 last -1 step 1
PG> waitfor 1
PG> animate style Loop
PG> mol off 0
PG> display resetview
PG> mol addfile {/tmp/bio-pre/WT10/reimaged_and_centered_to_all.mdcrd} type
PG> {crdbox} first 0 last -1 step 1 waitfor 1 0
PG> animate style Loop
PG> mol on 0
PG> menu tkcon off
PG> set sel [atomselect top "resid 33 to 61"]
PG> set chan [open reimaged_and_centered_to_all.mdcrd_RMSD w]
PG> for {set i 0} {$i < [molinfo top get numframes]} {incr i} {puts $chan [list
PG> $i [frame_rmsd $sel $i 0]]}
PG> close $chan
PG> menu tkcon on
PG> # VMD for LINUX, version 1.8.4 (April 17, 2006)
PG> # end of log file.
PG>
PG> PS: I also tried "for {set i 0} {$i < 50} {incr i} {puts $chan [list $i
PG> [frame_rmsd $sel $i 0]]}" and ended up with "frame_rmsd: frame number out of
PG> range" which clearly implies that VMD does not wait for all the frames to
PG> load.
PG> "proc frame_rmsd" was sourced to .vmdrc file.
PG>

-- 
=======================================================================
Axel Kohlmeyer   akohlmey_at_cmm.chem.upenn.edu   http://www.cmm.upenn.edu
   Center for Molecular Modeling   --   University of Pennsylvania
Department of Chemistry, 231 S.34th Street, Philadelphia, PA 19104-6323
tel: 1-215-898-1582,  fax: 1-215-573-6233,  office-tel: 1-215-898-5425
=======================================================================
If you make something idiot-proof, the universe creates a better idiot.