From: Axel Kohlmeyer (akohlmey_at_gmail.com)
Date: Mon May 30 2011 - 23:16:30 CDT

On Mon, May 30, 2011 at 11:22 PM, Bian Li <libian1128_at_gmail.com> wrote:
> Dear all,
>
> I performed a 50ns simulation and tried to calculate it's RMSD by using
> bigdcd
>
> my tcl script is as follows
>
> source bigdcd.tcl
> proc myrmsd { frame } {
>   global ref sel all
>   $all move [measure fit $sel $ref]
>   puts "$frame: [measure rmsd $sel $ref]"
> }
> set outfile [open d2r_rmsd.dat w]
> set mol [mol addfile d2r_popcwi.pdb type pdb waitfor all]
> set all [atomselect $mol all]
> set ref [atomselect $mol "protein and backbone and noh" frame 0]
> set sel [atomselect $mol "protein and backbone and noh"]
> mol addfile d2r_popcwi.pdb type pdb waitfor all
> bigdcd myrmsd dcd d2r_popcwieq-04.dcd
> bigdcd_wait
> The problem is I can't get a *.dat file that contains the output information
> of RMSD calculation. When I execute this
> script in the Tk console, the output simply flushes in the Tk console window
> and no written *.dat output file.
>
> Is there anybody that encountered the same kind of problems?
> Can anyone help me modify this script to get the *.dat file that contains
> the output information of RMSD calculation?

you are using plain "puts" which out puts to the screen.
you have to write to the file descriptor for the file
that you opened.

see the tcl documentation for details on how puts works.

cheers,
     axel

>
> Thanks!
>
> Best regards
> LI Bian

-- 
Dr. Axel Kohlmeyer
akohlmey_at_gmail.com  http://goo.gl/1wk0
Institute for Computational Molecular Science
Temple University, Philadelphia PA, USA.