The root-mean-square deviation (RMSD) is calculated, using Kabsch algorithm (1976) for rotation, between two Cartesian coordinates (.xyz) or (.pdb) files.
For more information please read RMSD and Kabsch algoritm.
Type calculate_rmsd --help
for all the arguments.
Pretty straight forward execution, clone and run as
calculate_rmsd molecule1.xyz molecule2.xyz
If it isn't then run it with Python 2.7
-
Kabsch algorithm: Kabsch W., 1976, A solution for the best rotation to relate two sets of vectors, Acta Crystallographica, A32:922-923, doi:10.1107/S0567739476001873
-
Quaternion algorithm: Michael W. Walker and Lejun Shao and Richard A. Volz, 1991, Estimating 3-D location parameters using dual number quaternions, CVGIP: Image Understanding, 54:358-367, doi:10.1016/1049-9660(91)90036-o
-
Calculate RMSD for two XYZ structures, GitHub, http://github.com/charnley/rmsd, doi: 10.5281/zenodo.46697
Note: some journals may require GitHub commit id.
Same structure, but translated in space, so the RMSD should be zero
calculate_rmsd examples/ethane.xyz examples/ethane_trans.xyz
You can also output (stdout) molecule1
's coordinates centered and rotated to
molecule2
. Useful to visualize the difference. The output will be in XYZ
format.
calculate_rmsd --output examples/ethane.xyz examples/ethane_trans.xyz
You can also use PDB format by using the argument -f pdb
as seen:
calculate_rmsd -f pdb examples/1ypa.pdb examples/3ci2.pdb
Make a issue or fork and fix it.
Jimmy Charnley Kromann and Lars Andersen Bratholm