Name | mdlearn JSON |
Version |
1.0.5
JSON |
| download |
home_page | None |
Summary | Machine learning for molecular dynamics. |
upload_time | 2024-11-09 04:10:46 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.8 |
license | MIT |
keywords |
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# mdlearn
[](https://badge.fury.io/py/mdlearn)
[](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[](https://badge.fury.io/py/mdlearn)\n[](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"
}