How to do a RMS fit of two sets of PDB coordinates with CNS and Rasmol
-
Start with a pdb file
-
Run changepdb
-
Enter the file name
-
Select cns
-
0
-
enter the name of the residue (3 letters)
-
y
-
enter the name of the other pdb file
-
return
-
h
-
q
-
Now, you have got dummy topology and parameter files for the molecule
You also get the two cns script files generate and rmsfit
-
Run
cns <generate >gen.out
Check the output file that the run was sucessful
You have now got the structure file <residue>.mtf
-
Change the atom names, residue name, and residue number in the alternative
pdb file so that they are the same as in the first file after point 2 above.
This can be done either by emacs (copying the coordinates) or by running
changepdb again on the other file.
-
Run
cns <rmsfit >rms.out
Check the output file that the run was sucessful
The result is in fit.pdb, where the second pdb file has been rotated
and translated to an optimum fit.
-
If you want to visualise these two files with rasmol, do the following
-
changepdb
-
<residue>.pdb
-
con
-
p1
-
q
-
changepdb
-
Enter the name of the second pdb file
-
ren
-
Enter a number at larger than the number of atoms in the file
-
con
-
p2
-
q
-
cat p1 p2 | sort >mergfit
-
rasmol mergfit
-
You may want to change the connetions in the mergfit file.
Example of a CNS file (only protein) for generating structure and
performing the rms fit
remarks CNS generate and rmsfit file
remarks Ulf Ryde, 22/2-01
remarks Subroutine for generating the a .mtf file
remarks Subroutine for making RMS fit of two pdb files with CNS
{Set flags}
set echo=off end
{Read topology, parameter, segment and coordinates}
topology @CNS_TOPPAR:protein.top end
! topology @xxx.top end
parameter @CNS_TOPPAR:protein_rep.param end
! parameter @xxx.par end
segment
name=" "
chain coordinates @file.pdb end
end
! write structure output=xxx.mtf end
{Read the alternative coordinates}
coordinates copy end
coordinates @alt.pdb
{Perform a RMS fit of the alt coordinates
and write them out in file fit.pdb}
coordinates fit selection=(all) end
write coordinates output=fit.pdb end
stop