From: Luis Gracia (
Date: Fri Oct 08 2004 - 12:53:03 CDT


I think the problem is just that you are not telling the puts command to
print the rmsd. Try to store the rmsd in a variable and then use the
puts command to output it:
set rmsd1 [measure rmsd $tempall2 $tempall1]
$tempall2 move $tmat
set rmsd2 [measure rmsd $tempall2 $tempall1]
puts "$y with $x $rmsd1 $rmsd2"

In case you don't know there is a plugin (RMSDTT) that can do rmsd and
alignments on trajectories

Hope this helps,


vivek sharma said the following on 10/08/04 10:01:
> Sir,
> please let me know why this loop does not work? I am trying to superpose
> various structures on each other and calculate rmsd before and after
> superposition, although it runs and prints the 'puts' text but doesnot print
> the rmsd values and transformation matrix in console.
> ----------
> #loop shown here, this is a part of program, before this code pdbs are #loaded.
> for {set y 0} {$y<4} {incr y} {
> for {set x [expr {$y+1}]} {$x<4} {incr x} {
> set tempall1 [atomselect $y "all"]
> set tempall2 [atomselect $x "all"]
> set tmat [measure fit $tempall2 $tempall1]
> measure rmsd $tempall2 $tempall1
> $tempall2 move $tmat
> puts "$y with $x"
> measure rmsd $tempall2 $tempall1
> }}
> I think there is some silly mistake, I am doing? Please clarify.
> Thanking you,
> sincerely,

Luis Gracia, PhD
Department of Physiology & Biophysics
Weill Medical College of Cornell University
1300 York Avenue, Box 75
New York, NY 10021
Tel: (212) 746-6375
Fax: (212) 746-8690