Align a molecule using Kabsch algorithm.
This extension for OVITO aligns atoms across different snapshots in a trajectory using the Kabsch algorithm, allowing only rotational adjustments without any stretching or shearing.
Users can select either all atoms or a subset as the reference for alignment. Optionally, a reference frame can be specified, defaulting to the first frame of the trajectory. This frame serves as the baseline orientation for the atoms, with their centroid repositioned to the origin.
This modifier requires unique identifiers for each atom. If these are not available the modifier assumes a consistent atom ordering throughout the trajectory.
It's crucial to provide an unwrapped trajectory to ensure accurate behavior. If your trajectory is wrapped, use the unwrap trajectories modifier before applying this modifier. The behavior with wrapped trajectories is unpredictable.
When operating on a subset of atoms, ensure the selection remains consistent throughout the trajectory. Utilize the freeze property modifier to maintain a consistent selection, or the modifier's output may be undefined.
The modifier calculates the root mean square deviation (RMSD) of atomic coordinates post-alignment relative to the reference frame. The RMSD for selected atoms is recorded in the MoleculeAlign.RMSD
global attribute. The RMSD for all atoms is available in the MoleculeAlign.RMSD_all
attribute.
Additionally, it provides an RMSD value for each atom.
GUI name | Python name | Description | Default Value |
---|---|---|---|
Use only selected particles | only_selected |
Allows alignment using only selected particles as the reference. | True |
Reference frame | reference_frame |
Specifies the frame to use as the reference for alignment. | 0 |
Here's an example illustrating how the modifier aligns the highlighted (green) atoms throughout the trajectory.
-
OVITO Pro integrated Python interpreter:
ovitos -m pip install --user ovitocontrib-AlignMolecule
The
--user
option is recommended and installs the package in the user's site directory. -
Other Python interpreters or Conda environments:
pip install ovitocontrib-AlignMolecule
-
OVITO Pro integrated Python interpreter:
ovitos -m pip install --user git+https://github.com/ovito-org/AlignMolecule.git
The
--user
option is recommended and installs the package in the user's site directory. -
Other Python interpreters or Conda environments:
pip install git+https://github.com/ovito-org/AlignMolecule.git
- Tested on OVITO version 3.10.3
Daniel Utt ([email protected])