Print

Print


Jenny,

I of course would suggest that you follow Olve's advice, and use  
theseus to do a maximum likelihood, simultaneous superposition of all  
your structures ( http://www.theseus3d.org ).  The variable bits,  
like your loop, will be naturally down-weighted in a rigorous  
statistical manner.  Then you can look at the average structure file  
that is output (_ave.pdb at the end of the filename), and the B- 
factor column has the overall RMSD for each atom in there.  You can  
look at the full superposition (the _sup.pdb file) in rasmol or in  
pymol with the 'set all_states, on' command.

However, if you really need to do the very analysis that you asked  
about, the following bash script will do exactly that with theseus  
(you need both awk and theseus in your executable path).  It prints  
out the average RMSD for the atoms you specify in the loop, after  
pairwise least-squares superpositioning on all atoms other than the  
loop, for all possible pairwise combinations of your pdb files. (Note  
that in this script all backslashes '\' must have a carriage return  
immediately after them.)  You will need to change the lower and upper  
values at the top of the script (inclusive for the loop you want  
excluded).  You invoke the script something like "karen.sh pdb1.pdb  
pdb2.pdb pdb3.pdb" or "karen.sh *.pdb" to do all the .pdbs in one  
directory.  If you have any problems or have other specific  
superpositioning issues I'm glad to help out.

Cheers,

Douglas


karen.sh
#################################

#!/bin/bash

# everything including and between lower and upper
# is excluded from the superposition
lower=40;
upper=60;

pdbs=($*);

for (( i = 0; i < ${#pdbs[@]}; ++i ))
do
   for (( j = 0; j < i; ++j ))
   do
     name="${pdbs[i]%.*}_${pdbs[j]%.*}";
     theseus -l -r ${name} -S ${lower}-${upper} ${pdbs[i]} ${pdbs[j]}\
             > ${name}.log;
     rmsd=$(cut -c 7-11,61-67 ${name}_ave.pdb |\
     awk '{if ($1 > lo && $1 < up) {sum += $2; n++}}; END {print sum/ 
n}'\
     lo=${lower} up=${upper});
     echo "${name} rmsd = ${rmsd}";
   done
done


####################################


^`^`^`^`^`^`^`^`^`^`^`^`^`^`^`^`^`^`^`^`
Douglas L. Theobald
Department of Biochemistry
Brandeis University
Waltham, MA  02454-9110

[log in to unmask]

              ^\
    /`  /^.  / /\
   / / /`/  / . /`
  / /  '   '
'


On May 11, 2007, at 1:58 PM, Olve Peersen wrote:

> I would highly recommend Doug Theobald's program Theseus for this -  
> the pictures at www.theseus3d.org say it all.  Theseus does maximum  
> likely hood superimpositions of multiple structures (i.e. NOT  
> pairwise against a "master" copy), and the real beauty of it is  
> that you don't have to pick which residues you want to  
> superimpose.  Places where the whole set of structures show  
> divergence are effectively down-weighted and don't contribute much  
> to the final solution vs. least squares where every atom position  
> has equal weight and the "bad" parts screw up the alignment of the  
> "good" parts.  For this, I would do a Theseus superposition of all  
> the structures and then analyze the set of superimposed structures  
> by whatever method you want (e.g. rmsd of variances in important  
> sections of the structures).
>
> - Olve
>
> -------------------------------------------------------
> Olve Peersen
> Associate Professor
> Dept. of Biochemistry & Molecular Biology
> 1870 Campus Delivery
> Colorado State University
> Ft. Collins, CO  80523-1870
> -------------------------------------------------------
> 970.491-0433    Office  (MRB 279)
> 970.491-0271    Lab     (MRB 149)
> 970.491-0494    Fax
> [log in to unmask]
> -------------------------------------------------------
>
> On May 11, 2007, at 11:15 AM, Donnie Berkholz wrote:
>
>> Eleanor Dodson wrote:
>>> It is a bit clunky - you can use siperpose molecules - fit  
>>> residues to
>>> fit a selected range (1-40; 60-100 say) and write out a complete  
>>> fitted
>>> pdb file. Then you could use a VERY old program
>>> compar  xyzin1 original.pdb xyzin2 fitted.pdb  (xyzin3 another.pdb)
>>> and it will match all pairs with the same RESIDUE ID and give the  
>>> RMSD
>>> distance
>>>
>>> There is documentation for it.
>>
>> There's a nice (non-CCP4) program called ProFit that does a pretty  
>> nice
>> job of superimposing with a lot of flexibility.
>>
>> Thanks,
>> Donnie

>> On May 10, 2007, at 6:45 PM, Jenny wrote:
>>> Hi, All,
>>>
>>> I have a question about rmsd calculation.
>>>
>>> I have some pdbs (100 residues ) and these pdbs differ pretty  
>>> much only the loop region 40-60. Is there any easy way that I can  
>>> superimpose the fixed region ( 1-40,60-100) and then calculate  
>>> the rmsd for the loop?I need to calculate for each pair, so if  
>>> there is any script or program available to do this quickly, that  
>>> would be great.
>>>
>>> Thanks.
>>>
>>> Jenny