- Overlap two rigid bodies by translation followed by rotation (Kabsch algorithm).
- Supporting information of Construction of Two-Dimensional Potential Energy Surfaces of Reactions with Post-Transition-State Bifurcations.
- Appendix A of author's dissertation.
- Author : Hsiao-Han (Grace) Chuang
-
In /src, both
overlap.f90
andoverlap.py
do the same things; overlap two ridge bodies. -
Use
makefile
to compile Fortran code. -
Input:
- Structure to be varied: $1, extension: .xyz
- Reference structure; $2, extension: .xyz
Prepare two input files for program overlap.py
or overlap.f90
, and above input files follow the standard file format which can also be executed by general visualizer, like jmol
.
The first input file is coord_from_output_S0.xyz
in folder ./run
, which has C-O bond length as 0.121 nm. This is the structure to be varied.
The second input file is coord_from_input_S0.xyz
in the same folder as above file, which has C-O bond length as 0.123 nm. This is the reference structure.
Execute the program and change the coordinate of coords_from_output_S0.xyz
into shifted.coords_from_output_S0.xyz
. The screenshots of python and Fortran are shown as followed.
Execute the python code overlap.py
, and it prints out the initial/final RMSD and also produces shifted structure as followed.
And then, Fortran code is executed to compare with python result, which is the same for both initial/final RMSD and shifted structure.
After translation and rotation, RMSD changes from 1.1677 to 0.0482, and the characteristic bond length of C-O is still reserved.