# aimmd
## Synopsis
aimmd - AI for Molecular Mechanism Discovery: Machine learning the reaction coordinate from shooting results.
## Code Example
Please see the jupyter notebooks in the `examples` folder.
## Motivation
This project exists because finding reaction coordinates of molecular systems is a great way of understanding how they work.
## Installation
aimmd runs its TPS simulations either through [asyncmd] (if managing and learning from many simulations simultaneously on a HPC cluster) or through [openpathsampling] (in the sequential case). [openpathsampling] can easily be installed via pip and is automatically installed when you install aimmd with pip. To install [asyncmd] please follow the installation instructions there (clone the repository and install localy using pip) as it is not yet on PyPi.
Note, that for [asyncmd] and/or [openpathsampling] to work you need to install a molecular dynamics engine to perform the trajectory integration. In [asyncmd] the only currently supported engine is [gromacs], while [openpathsampling] can use both [gromacs] and [openMM] (but [openMM] is highly recommended).
In addition to [asyncmd] and/or [openpathsampling] to run the TPS simulations you need to install at least one machine learning backend (to actually learn the committor/ the reaction coordinate). aimmd supports multiple different backends and can easily be extended to more. The backend is used to define the underlying machine learning models architecture and is used to fit the model. It naturally also defines the type of the model, i.e. neural network, symbolic regresssion, etc.
Currently supported backends are (model types in brackets):
- [pytorch] (neural network) : [Recommended for steering and learning from simulations iteratively]
- [tensorflow]/keras (neural network) : [Mostly included for legacy reasons]
- [dcgpy] (symbolic regression expressions) [Currently no steering and learning from simulations on-the-fly possible; recommended to build low dimensional interpretable models of the committor]
You should be able to install all of them using pip and/or conda. Please refer to their respective documentations for detailed installation instructions.
To finaly install aimmd, cd whereever you want to keep your local copy of aimmd, clone the repository and install aimmd using pip, e.g.
```bash
git clone https://github.com/bio-phys/aimmd.git
pip install -e aimmd/
```
### TLDR
- For using the `aimmd.distributed` module and steering many simulations on a HPC cluster simultaneously you need to install [asyncmd]. You also need a working installation of [gromacs].
- You will need to install at least one of the machine learning backends, i.e. [pytorch] (recommended for steering and learning from simulations iteratively), [tensorflow] and/or [dcgpy] (recommended for building low dimensional interpretable models).
- You might want to install additional engines for use with the sequential aimmd code building on [openpathsampling], e.g. [openMM].
```bash
git clone https://github.com/bio-phys/aimmd.git
pip install -e aimmd/
```
## API Reference
There is none (yet). Please read the example notebooks, the docstrings and the code.
## Tests
Tests use pytest. Use e.g. `pytest .` while in the toplevel directory of the repository to run them.
## Contributions
Contributions are welcome! Please feel free to open an [issue](https://github.com/bio-phys/aimmd/issues) or [pull request](https://github.com/bio-phys/aimmd/pulls) if you discover any bugs or want to propose a missing feature.
## License
GPL v3
## Citation
If you use aimmd in published work please cite:
- H. Jung, R. Covino, A. Arjun, C. Leitold, C. Dellago, P.G. Bolhuis and G. Hummer. Machine-guided path sampling to discover mechanisms of molecular self-organization. Nature Computational Science 3, 334–345 (2023). doi:[10.1038/s43588-023-00428-z](https://doi.org/10.1038/s43588-023-00428-z)
---
<sub>This README.md is printed from 100% recycled electrons.</sub>
[asyncmd]: https://github.com/bio-phys/asyncmd
[pytorch]: https://pytorch.org
[tensorflow]: https://www.tensorflow.org
[dcgpy]: http://darioizzo.github.io/dcgp/
[openMM]: http://openmm.org/
[openpathsampling]: http://openpathsampling.org/latest/
[GROMACS]: http://www.gromacs.org/
Raw data
{
"_id": null,
"home_page": null,
"name": "aimmd",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": "Hendrik Jung <hendrik.jung@biophys.mpg.de>",
"keywords": "science, MD, Molecular Dynamics, molecular-dynamics, Path Sampling, Transition Path Sampling, TPS, Machine Learning, ML, Artificial Intelligence, AI, committor, commitment probability, reaction coordinate, RC, high performance computing, HPC",
"author": null,
"author_email": "Hendrik Jung <hendrik.jung@biophys.mpg.de>",
"download_url": "https://files.pythonhosted.org/packages/8b/4a/8fa70c81abe2924c34e9ea19e25d3b742514e1ee260ee85f3ba8febb5c33/aimmd-0.9.1.dev1.tar.gz",
"platform": null,
"description": "# aimmd\n\n## Synopsis\n\naimmd - AI for Molecular Mechanism Discovery: Machine learning the reaction coordinate from shooting results.\n\n## Code Example\n\nPlease see the jupyter notebooks in the `examples` folder.\n\n## Motivation\n\nThis project exists because finding reaction coordinates of molecular systems is a great way of understanding how they work.\n\n## Installation\n\naimmd runs its TPS simulations either through [asyncmd] (if managing and learning from many simulations simultaneously on a HPC cluster) or through [openpathsampling] (in the sequential case). [openpathsampling] can easily be installed via pip and is automatically installed when you install aimmd with pip. To install [asyncmd] please follow the installation instructions there (clone the repository and install localy using pip) as it is not yet on PyPi.\n\nNote, that for [asyncmd] and/or [openpathsampling] to work you need to install a molecular dynamics engine to perform the trajectory integration. In [asyncmd] the only currently supported engine is [gromacs], while [openpathsampling] can use both [gromacs] and [openMM] (but [openMM] is highly recommended).\n\nIn addition to [asyncmd] and/or [openpathsampling] to run the TPS simulations you need to install at least one machine learning backend (to actually learn the committor/ the reaction coordinate). aimmd supports multiple different backends and can easily be extended to more. The backend is used to define the underlying machine learning models architecture and is used to fit the model. It naturally also defines the type of the model, i.e. neural network, symbolic regresssion, etc.\nCurrently supported backends are (model types in brackets):\n\n- [pytorch] (neural network) : [Recommended for steering and learning from simulations iteratively]\n- [tensorflow]/keras (neural network) : [Mostly included for legacy reasons]\n- [dcgpy] (symbolic regression expressions) [Currently no steering and learning from simulations on-the-fly possible; recommended to build low dimensional interpretable models of the committor]\n\nYou should be able to install all of them using pip and/or conda. Please refer to their respective documentations for detailed installation instructions.\n\nTo finaly install aimmd, cd whereever you want to keep your local copy of aimmd, clone the repository and install aimmd using pip, e.g.\n\n```bash\ngit clone https://github.com/bio-phys/aimmd.git\npip install -e aimmd/\n```\n\n### TLDR\n\n- For using the `aimmd.distributed` module and steering many simulations on a HPC cluster simultaneously you need to install [asyncmd]. You also need a working installation of [gromacs].\n- You will need to install at least one of the machine learning backends, i.e. [pytorch] (recommended for steering and learning from simulations iteratively), [tensorflow] and/or [dcgpy] (recommended for building low dimensional interpretable models).\n- You might want to install additional engines for use with the sequential aimmd code building on [openpathsampling], e.g. [openMM].\n\n```bash\ngit clone https://github.com/bio-phys/aimmd.git\npip install -e aimmd/\n```\n\n## API Reference\n\nThere is none (yet). Please read the example notebooks, the docstrings and the code.\n\n## Tests\n\nTests use pytest. Use e.g. `pytest .` while in the toplevel directory of the repository to run them.\n\n## Contributions\n\nContributions are welcome! Please feel free to open an [issue](https://github.com/bio-phys/aimmd/issues) or [pull request](https://github.com/bio-phys/aimmd/pulls) if you discover any bugs or want to propose a missing feature.\n\n## License\n\nGPL v3\n\n## Citation\n\nIf you use aimmd in published work please cite:\n\n- H. Jung, R. Covino, A. Arjun, C. Leitold, C. Dellago, P.G. Bolhuis and G. Hummer. Machine-guided path sampling to discover mechanisms of molecular self-organization. Nature Computational Science 3, 334\u2013345 (2023). doi:[10.1038/s43588-023-00428-z](https://doi.org/10.1038/s43588-023-00428-z)\n\n---\n<sub>This README.md is printed from 100% recycled electrons.</sub>\n\n[asyncmd]: https://github.com/bio-phys/asyncmd\n[pytorch]: https://pytorch.org\n[tensorflow]: https://www.tensorflow.org\n[dcgpy]: http://darioizzo.github.io/dcgp/\n[openMM]: http://openmm.org/\n[openpathsampling]: http://openpathsampling.org/latest/\n[GROMACS]: http://www.gromacs.org/\n",
"bugtrack_url": null,
"license": null,
"summary": "aimmd (AI for Molecular Mechanism Discovery) autonomously steers (a large number of) molecular dynamics simulations to effciently sampleand understand rare transition events.",
"version": "0.9.1.dev1",
"project_urls": {
"Issues": "https://github.com/bio-phys/aimmd/issues",
"Repository": "https://github.com/bio-phys/aimmd.git"
},
"split_keywords": [
"science",
" md",
" molecular dynamics",
" molecular-dynamics",
" path sampling",
" transition path sampling",
" tps",
" machine learning",
" ml",
" artificial intelligence",
" ai",
" committor",
" commitment probability",
" reaction coordinate",
" rc",
" high performance computing",
" hpc"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "8b4a8fa70c81abe2924c34e9ea19e25d3b742514e1ee260ee85f3ba8febb5c33",
"md5": "d63a3223fe6d517ff637f75041125efa",
"sha256": "c728773ab670a7ab18d8313bbaf44a6781c5ed4552d2f2184656d6a9630b6889"
},
"downloads": -1,
"filename": "aimmd-0.9.1.dev1.tar.gz",
"has_sig": false,
"md5_digest": "d63a3223fe6d517ff637f75041125efa",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 256275,
"upload_time": "2025-01-21T12:42:46",
"upload_time_iso_8601": "2025-01-21T12:42:46.629960Z",
"url": "https://files.pythonhosted.org/packages/8b/4a/8fa70c81abe2924c34e9ea19e25d3b742514e1ee260ee85f3ba8febb5c33/aimmd-0.9.1.dev1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-21 12:42:46",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "bio-phys",
"github_project": "aimmd",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"lcname": "aimmd"
}