Python RMSD tool with symmetry correction.
Project description
sPyRMSD
Python tool for symmetry-corrected RMSD calculations.
Installation
spyrmsd
is available on PyPI and conda-forge and can be easily installed from source. See Dependencies for a description of all the dependencies.
Note: spyrmsd
will install NetworkX (multi-platform). You can install graph-tool on macOS and Linux for higher performance.
PyPI
pip install spyrmsd
conda
conda install spyrmsd -c conda-forge
GitHub
git clone https://github.com/RMeli/spyrmsd.git
cd spyrmsd
pip install .
Dependencies
spyrmsd
can be used both as a module or as a standalone tool.
Module
The following packages are required to use spyrmsd
as a module:
Note: spyrmsd
uses graph-tool by default but will fall back to NetworkX if the former is not installed (e.g. on Windows).
Standalone Tool
Additionally, one of the following packages is required to use spyrmsd
as a standalone tool:
Note: RDKit has to be installed using conda
(Why the RDKit isn't available on PyPi).
Usage
Standalone
python -m spyrmsd.spyrmsd -h
usage: spyrmsd.py [-h] [-m] [-c] [--hydrogens] [-n]
reference molecules [molecules ...]
Python RMSD tool.
positional arguments:
reference Reference file
molecules Input file(s)
optional arguments:
-h, --help show this help message and exit
-m, --minimize Minimize (fit)
-c, --center Center molecules at origin
--hydrogens Keep hydrogen atoms
-n, --nosymm No graph isomorphism
Module
from spyrmsd import rmsd
RMSD
The function rmsd.rmsd
computes RMSD without symmetry correction. The atoms are expected to be in the same order for both molecules being compared (no atom matching is performed).
Symmetry-Corrected RMSD
The function rmsd.symmrmsd
computes symmetry-corrected RMSD using molecular graph isomorphisms. Symmetry correction requires molecular adjacency matrices describing the connectivity but needs not the atoms to be in the same order.
Atom matching is performed according to the molecular graph. Therefore, this function should be used when atoms in the molecules being compared are not in the same order (even if there is not symmetry).
Development
To ensure code quality and consistency the following tools are used during development:
Copyright
Copyright (c) 2019-2020, Rocco Meli.
References
References are tracked with duecredit. Run the credits.sh
script in order to print up-to-date references.
Acknowledgements
Project based on the Computational Molecular Science Python Cookiecutter version 1.1
.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.