Skip to main content

Python library for finding the optimal transformation(s) that makes two matrices as close as possible to each other.

Project description

Procrustes Python Library

This project supports Python 3.9+ GPLv3 License CI Tox docs CI CodeCov Binder

The Procrustes library provides a set of functions for transforming a matrix to make it as similar as possible to a target matrix. For more information, visit Procrustes Documentation.

Citation

Please use the following citation in any publication using Procrustes library:

@article{Meng2022procrustes,
    title = {Procrustes: A python library to find transformations that maximize the similarity between matrices},
    author = {Fanwang Meng and Michael Richer and Alireza Tehrani and Jonathan La and Taewon David Kim and Paul W. Ayers and Farnaz Heidar-Zadeh},
    journal = {Computer Physics Communications},
    volume = {276},
    number = {108334},
    pages = {1--37},
    year = {2022},
    issn = {0010-4655},
    doi = {https://doi.org/10.1016/j.cpc.2022.108334},
    url = {https://www.sciencedirect.com/science/article/pii/S0010465522000522},
    keywords = {Procrustes analysis, Orthogonal, Symmetric, Rotational, Permutation, Softassign},
}

Dependencies

The following dependencies are required to run Procrustes properly,

To test Procrustes, the following dependencies are required,

Installation

It is recommended to install qc-procrustes within a virtual environment.To create a virtual environment, we can use the venv module (Python 3.3+, https://docs.python.org/3/tutorial/venv.html), miniconda (https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html), or pipenv (https://pipenv.pypa.io/en/latest/).

Installing from PyPI

To install procrustes with pip, we can install the latest stable release from the Python Package Index (PyPI) as follows:

    # install the stable release.
    pip install qc-procrustes

Installing from The Prebuild Wheel Files

To download the prebuilt wheel files, visit the PyPI page and GitHub releases.

    # download the wheel file first to your local machine
    # then install the wheel file
    pip install file_path/qc_procrustes-1.0.2a1-py3-none-any.whl

Installing from the Source Code

In addition, we can install the latest development version from the GitHub repository as follows:

    # install the latest development version
    pip install git+https://github.com/theochem/procrustes.git

We can also clone the repository to access the latest development version, test it and install it as follows:

    # clone the repository
    git clone git@github.com:theochem/procrustes.git

    # change into the working directory
    cd procrustes
    # run the tests
    python -m pytest .

    # install the package
    pip install .

More

See https://procrustes.qcdevs.org for full details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qc_procrustes-1.1.0.tar.gz (1.6 MB view hashes)

Uploaded Source

Built Distribution

qc_procrustes-1.1.0-py3-none-any.whl (1.6 MB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page