mdlearn


Namemdlearn JSON
Version 1.0.5 PyPI version JSON
download
home_pageNone
SummaryMachine learning for molecular dynamics.
upload_time2024-11-09 04:10:46
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # mdlearn

[![PyPI version](https://badge.fury.io/py/mdlearn.svg)](https://badge.fury.io/py/mdlearn)
[![Documentation Status](https://readthedocs.org/projects/mdlearn/badge/?version=latest)](https://mdlearn.readthedocs.io/en/latest/?badge=latest)

mdlearn is a Python library for analyzing molecular dynamics with machine learning. It contains [PyTorch](https://pytorch.org/) implementations of several deep learning methods such as autoencoders, as well as preprocessing functions which include the [kabsch alignment](https://en.wikipedia.org/wiki/Kabsch_algorithm) algorithm and higher-order statistical methods like [quasi-anharmonic analysis](https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0015827).

Currently supported models:
- [Quasi-anharmonic analysis](https://mdlearn.readthedocs.io/en/latest/pages/_autosummary/mdlearn.data.preprocess.decorrelation.spatial.html#module-mdlearn.data.preprocess.decorrelation.spatial)
- [Convolutional Variational Autoencoder](https://mdlearn.readthedocs.io/en/latest/pages/_autosummary/mdlearn.nn.models.vae.symmetric_conv2d_vae.html#module-mdlearn.nn.models.vae.symmetric_conv2d_vae)
- [Autoencoder](https://mdlearn.readthedocs.io/en/latest/pages/_autosummary/mdlearn.nn.models.ae.linear.html#module-mdlearn.nn.models.ae.linear)
- [Adversarial Autoencoder](https://mdlearn.readthedocs.io/en/latest/pages/_autosummary/mdlearn.nn.models.aae.point_3d_aae.html#mdlearn.nn.models.aae.point_3d_aae.AAE3dTrainer)


For more details and specific examples of how to use mdlearn, please see our [documentation](https://mdlearn.readthedocs.io/en/latest/).

## Table of Contents
1. [Installation](#installation)
2. [Usage](#usage)
3. [Contributing](#contributing)
4. [Acknowledgments](#acknowledgments)
5. [License](#license)

## Installation

### Install latest version with PyPI

If you have access to an NVIDIA GPU, we highly recommend installing mdlearn into a Conda environment which contains [RAPIDS](https://rapids.ai/) to accelerate t-SNE computations useful for visualizing the model results during training. For the latest [RAPIDS](https://rapids.ai/) version, see [here](https://rapids.ai/start.html#get-rapids). If you don't have GPU support, mdlearn will still work on CPU by using the [scikit-learn](https://scikit-learn.org/stable/) implementation.

Run the following commands with updated versions to create a conda environment:
```
conda create -p conda-env -c rapidsai -c nvidia -c conda-forge cuml=0.19 python=3.7 cudatoolkit=11.2
conda activate conda-env
export IBM_POWERAI_LICENSE_ACCEPT=yes
pip install -U scikit-learn
```

Then install mdlearn via: `pip install mdlearn`.

Some systems require [PyTorch](https://pytorch.org/) to be built from source instead of installed via PyPI or Conda, for this reason we made torch an optional dependency. However, it can be installed with mdlearn by running `pip install 'mdlearn[torch]'` for convenience. Installing this way will also install the `wandb` package. Please check that **torch version >= 1.7**.

## Usage

Train an autoencoder model with only a few lines of code!

```python
from mdlearn.nn.models.ae.linear import LinearAETrainer

# Initialize autoencoder model
trainer = LinearAETrainer(
    input_dim=40, latent_dim=3, hidden_neurons=[32, 16, 8], epochs=100
)

# Train autoencoder on (N, 40) dimensional data
trainer.fit(X, output_path="./run")

# Generate latent embeddings in inference mode
z, loss = trainer.predict(X)
```

### Preprocessing

We provide a CLI for collecting common data products from simulations. Currently, we support the following preprocessing methods:
- Coordinates
- Contact maps
- Root mean square deviation (RMSD)

Run the following command for details on how to use the CLI:
```bash
mdlearn preprocess --help
```

## Contributing

Please report **bugs**, **enhancement requests**, or **questions** through the [Issue Tracker](https://github.com/ramanathanlab/mdlearn/issues).

If you are looking to contribute, please see [`CONTRIBUTING.md`](https://github.com/ramanathanlab/mdlearn/blob/main/CONTRIBUTING.md).


## Acknowledgments

- We thank [Matthias Fey](https://github.com/rusty1s) from [*PyTorch Geometric*](https://github.com/rusty1s/pytorch_geometric) for inspiring the design of our neural network base classes and other [PyTorch](https://pytorch.org/) helper functions.

## License

mdlearn has a MIT license, as seen in the [LICENSE](https://github.com/ramanathanlab/mdlearn/blob/main/LICENSE) file.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "mdlearn",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": null,
    "author": null,
    "author_email": "Alexander Brace <abrace@anl.gov>, Heng Ma <heng.ma@anl.gov>, Debsindhu Bhowmik <bhowmikd@ornl.gov>, Chakra Chennubhotla <chakracs@pitt.edu>, Arvind Ramanathan <ramanathana@anl.gov>",
    "download_url": "https://files.pythonhosted.org/packages/10/e3/8a7249d19633042cfd7546a3dd90c998af3988a54374924ea158fc7cdb81/mdlearn-1.0.5.tar.gz",
    "platform": null,
    "description": "# mdlearn\n\n[![PyPI version](https://badge.fury.io/py/mdlearn.svg)](https://badge.fury.io/py/mdlearn)\n[![Documentation Status](https://readthedocs.org/projects/mdlearn/badge/?version=latest)](https://mdlearn.readthedocs.io/en/latest/?badge=latest)\n\nmdlearn is a Python library for analyzing molecular dynamics with machine learning. It contains [PyTorch](https://pytorch.org/) implementations of several deep learning methods such as autoencoders, as well as preprocessing functions which include the [kabsch alignment](https://en.wikipedia.org/wiki/Kabsch_algorithm) algorithm and higher-order statistical methods like [quasi-anharmonic analysis](https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0015827).\n\nCurrently supported models:\n- [Quasi-anharmonic analysis](https://mdlearn.readthedocs.io/en/latest/pages/_autosummary/mdlearn.data.preprocess.decorrelation.spatial.html#module-mdlearn.data.preprocess.decorrelation.spatial)\n- [Convolutional Variational Autoencoder](https://mdlearn.readthedocs.io/en/latest/pages/_autosummary/mdlearn.nn.models.vae.symmetric_conv2d_vae.html#module-mdlearn.nn.models.vae.symmetric_conv2d_vae)\n- [Autoencoder](https://mdlearn.readthedocs.io/en/latest/pages/_autosummary/mdlearn.nn.models.ae.linear.html#module-mdlearn.nn.models.ae.linear)\n- [Adversarial Autoencoder](https://mdlearn.readthedocs.io/en/latest/pages/_autosummary/mdlearn.nn.models.aae.point_3d_aae.html#mdlearn.nn.models.aae.point_3d_aae.AAE3dTrainer)\n\n\nFor more details and specific examples of how to use mdlearn, please see our [documentation](https://mdlearn.readthedocs.io/en/latest/).\n\n## Table of Contents\n1. [Installation](#installation)\n2. [Usage](#usage)\n3. [Contributing](#contributing)\n4. [Acknowledgments](#acknowledgments)\n5. [License](#license)\n\n## Installation\n\n### Install latest version with PyPI\n\nIf you have access to an NVIDIA GPU, we highly recommend installing mdlearn into a Conda environment which contains [RAPIDS](https://rapids.ai/) to accelerate t-SNE computations useful for visualizing the model results during training. For the latest [RAPIDS](https://rapids.ai/) version, see [here](https://rapids.ai/start.html#get-rapids). If you don't have GPU support, mdlearn will still work on CPU by using the [scikit-learn](https://scikit-learn.org/stable/) implementation.\n\nRun the following commands with updated versions to create a conda environment:\n```\nconda create -p conda-env -c rapidsai -c nvidia -c conda-forge cuml=0.19 python=3.7 cudatoolkit=11.2\nconda activate conda-env\nexport IBM_POWERAI_LICENSE_ACCEPT=yes\npip install -U scikit-learn\n```\n\nThen install mdlearn via: `pip install mdlearn`.\n\nSome systems require [PyTorch](https://pytorch.org/) to be built from source instead of installed via PyPI or Conda, for this reason we made torch an optional dependency. However, it can be installed with mdlearn by running `pip install 'mdlearn[torch]'` for convenience. Installing this way will also install the `wandb` package. Please check that **torch version >= 1.7**.\n\n## Usage\n\nTrain an autoencoder model with only a few lines of code!\n\n```python\nfrom mdlearn.nn.models.ae.linear import LinearAETrainer\n\n# Initialize autoencoder model\ntrainer = LinearAETrainer(\n    input_dim=40, latent_dim=3, hidden_neurons=[32, 16, 8], epochs=100\n)\n\n# Train autoencoder on (N, 40) dimensional data\ntrainer.fit(X, output_path=\"./run\")\n\n# Generate latent embeddings in inference mode\nz, loss = trainer.predict(X)\n```\n\n### Preprocessing\n\nWe provide a CLI for collecting common data products from simulations. Currently, we support the following preprocessing methods:\n- Coordinates\n- Contact maps\n- Root mean square deviation (RMSD)\n\nRun the following command for details on how to use the CLI:\n```bash\nmdlearn preprocess --help\n```\n\n## Contributing\n\nPlease report **bugs**, **enhancement requests**, or **questions** through the [Issue Tracker](https://github.com/ramanathanlab/mdlearn/issues).\n\nIf you are looking to contribute, please see [`CONTRIBUTING.md`](https://github.com/ramanathanlab/mdlearn/blob/main/CONTRIBUTING.md).\n\n\n## Acknowledgments\n\n- We thank [Matthias Fey](https://github.com/rusty1s) from [*PyTorch Geometric*](https://github.com/rusty1s/pytorch_geometric) for inspiring the design of our neural network base classes and other [PyTorch](https://pytorch.org/) helper functions.\n\n## License\n\nmdlearn has a MIT license, as seen in the [LICENSE](https://github.com/ramanathanlab/mdlearn/blob/main/LICENSE) file.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Machine learning for molecular dynamics.",
    "version": "1.0.5",
    "project_urls": {
        "documentation": "https://mdlearn.readthedocs.io/en/latest",
        "homepage": "https://github.com/ramanathanlab/mdlearn",
        "repository": "https://github.com/ramanathanlab/mdlearn"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "526fae2b53ed58e2aea6623302ccb3f7617573bcc31ab0d6dedde701ec24cd9f",
                "md5": "d78b3a1b8da1831c665e77ef837b53c1",
                "sha256": "01424f22cec9ca982f9ce16ed855d7203e379eaeb8026ca7b5c039f56e7f565b"
            },
            "downloads": -1,
            "filename": "mdlearn-1.0.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "d78b3a1b8da1831c665e77ef837b53c1",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 83938,
            "upload_time": "2024-11-09T04:10:45",
            "upload_time_iso_8601": "2024-11-09T04:10:45.584038Z",
            "url": "https://files.pythonhosted.org/packages/52/6f/ae2b53ed58e2aea6623302ccb3f7617573bcc31ab0d6dedde701ec24cd9f/mdlearn-1.0.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "10e38a7249d19633042cfd7546a3dd90c998af3988a54374924ea158fc7cdb81",
                "md5": "1762c978fbe311df843776d6541f748d",
                "sha256": "c3bc7fc577b47249f00c6eafe36d7d1bb19e3c7d35ab38eb99b73e52f1c623b9"
            },
            "downloads": -1,
            "filename": "mdlearn-1.0.5.tar.gz",
            "has_sig": false,
            "md5_digest": "1762c978fbe311df843776d6541f748d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 211246,
            "upload_time": "2024-11-09T04:10:46",
            "upload_time_iso_8601": "2024-11-09T04:10:46.720696Z",
            "url": "https://files.pythonhosted.org/packages/10/e3/8a7249d19633042cfd7546a3dd90c998af3988a54374924ea158fc7cdb81/mdlearn-1.0.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-09 04:10:46",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ramanathanlab",
    "github_project": "mdlearn",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "tox": true,
    "lcname": "mdlearn"
}
        
Elapsed time: 0.33931s