# `apax`: Atomistic learned Potentials in JAX!
[![Read the Docs](https://readthedocs.org/projects/apax/badge/)](https://apax.readthedocs.io/en/latest/)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.10040710.svg)](https://doi.org/10.5281/zenodo.10040710)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Discord](https://img.shields.io/discord/1034511611802689557)](https://discord.gg/7ncfwhsnm4)
`apax`[1] is a high-performance, extendable package for training of and inference with atomistic neural networks.
It implements the Gaussian Moment Neural Network model [2, 3].
It is based on [JAX](https://jax.readthedocs.io/en/latest/) and uses [JaxMD](https://github.com/jax-md/jax-md) as a molecular dynamics engine.
## Installation
Apax is available on PyPI with a CPU version of JAX.
```bash
pip install apax
```
For more detailed instructions, please refer to the [documentation](https://apax.readthedocs.io/en/latest/).
### CUDA Support
If you want to enable GPU support (only on Linux), please overwrite the jaxlib version:
CUDA 12:
```bash
pip install -U "jax[cuda12]"
```
See the [Jax installation instructions](https://github.com/google/jax#installation) for more details.
## Usage
### Your first apax Model
In order to train a model, you need to run
```bash
apax train config.yaml
```
We offer some input file templates to get new users started as quickly as possible.
Simply run the following commands and add the appropriate entries in the marked fields
```bash
apax template train # use --full for a template with all input options
```
Please refer to the [documentation](https://apax.readthedocs.io/en/latest/) for a detailed explanation of all parameters.
The documentation can convenienty be accessed by running `apax docs`.
## Molecular Dynamics
There are two ways in which `apax` models can be used for molecular dynamics out of the box.
High performance NVT simulations using JaxMD can be started with the CLI by running
```bash
apax md config.yaml md_config.yaml
```
A template command for MD input files is provided as well.
The second way is to use the ASE calculator provided in `apax.md`.
## Input File Auto-Completion
use the following command to generate JSON schemata for training and MD configuration files:
```bash
apax schema
```
If you are using VSCode, you can utilize them to lint and autocomplete your input files.
The command creates the 2 schemata and adds them to the projects `.vscode/settings.json`
## Authors
- Moritz René Schäfer
- Nico Segreto
Under the supervion of Johannes Kästner
## Contributing
We are happy to receive your issues and pull requests!
Do not hesitate to contact any of the authors above if you have any further questions.
## Acknowledgements
The creation of Apax was supported by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) in the framework of the priority program SPP 2363, “Utilization and Development of Machine Learning for Molecular Applications - Molecular Machine Learning” Project No. 497249646 and the Ministry of Science, Research and the Arts Baden-Württemberg in the Artificial Intelligence Software Academy (AISA).
Further funding though the DFG under Germany's Excellence Strategy - EXC 2075 - 390740016 and the Stuttgart Center for Simulation Science (SimTech) was provided.
## References
* [1] 10.5281/zenodo.10040711
* [2] V. Zaverkin and J. Kästner, [“Gaussian Moments as Physically Inspired Molecular Descriptors for Accurate and Scalable Machine Learning Potentials,”](https://doi.org/10.1021/acs.jctc.0c00347) J. Chem. Theory Comput. **16**, 5410–5421 (2020).
* [3] V. Zaverkin, D. Holzmüller, I. Steinwart, and J. Kästner, [“Fast and Sample-Efficient Interatomic Neural Network Potentials for Molecules and Materials Based on Gaussian Moments,”](https://pubs.acs.org/doi/10.1021/acs.jctc.1c00527) J. Chem. Theory Comput. **17**, 6658–6670 (2021).
Raw data
{
"_id": null,
"home_page": "https://github.com/apax-hub/apax",
"name": "apax",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.10",
"maintainer_email": null,
"keywords": "machine-learning, interatomic potentials, molecular-dynamics",
"author": "Moritz Ren\u00e9 Sch\u00e4fer",
"author_email": "schaefer@theochem.uni-stuttgart.de",
"download_url": "https://files.pythonhosted.org/packages/72/a5/cf1f3aad013aef5b52ed3a176efe1507002080b9d06dcb4a604864824d93/apax-0.9.1.tar.gz",
"platform": null,
"description": "# `apax`: Atomistic learned Potentials in JAX!\n[![Read the Docs](https://readthedocs.org/projects/apax/badge/)](https://apax.readthedocs.io/en/latest/)\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.10040710.svg)](https://doi.org/10.5281/zenodo.10040710)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Discord](https://img.shields.io/discord/1034511611802689557)](https://discord.gg/7ncfwhsnm4)\n\n`apax`[1] is a high-performance, extendable package for training of and inference with atomistic neural networks.\nIt implements the Gaussian Moment Neural Network model [2, 3].\nIt is based on [JAX](https://jax.readthedocs.io/en/latest/) and uses [JaxMD](https://github.com/jax-md/jax-md) as a molecular dynamics engine.\n\n\n## Installation\n\nApax is available on PyPI with a CPU version of JAX.\n\n```bash\npip install apax\n```\n\nFor more detailed instructions, please refer to the [documentation](https://apax.readthedocs.io/en/latest/).\n\n\n### CUDA Support\nIf you want to enable GPU support (only on Linux), please overwrite the jaxlib version:\n\nCUDA 12:\n```bash\npip install -U \"jax[cuda12]\"\n```\n\nSee the [Jax installation instructions](https://github.com/google/jax#installation) for more details.\n\n\n\n## Usage\n\n### Your first apax Model\n\nIn order to train a model, you need to run\n\n```bash\napax train config.yaml\n```\n\nWe offer some input file templates to get new users started as quickly as possible.\nSimply run the following commands and add the appropriate entries in the marked fields\n\n```bash\napax template train # use --full for a template with all input options\n```\n\nPlease refer to the [documentation](https://apax.readthedocs.io/en/latest/) for a detailed explanation of all parameters.\nThe documentation can convenienty be accessed by running `apax docs`.\n\n## Molecular Dynamics\n\nThere are two ways in which `apax` models can be used for molecular dynamics out of the box.\nHigh performance NVT simulations using JaxMD can be started with the CLI by running\n\n```bash\napax md config.yaml md_config.yaml\n```\n\nA template command for MD input files is provided as well.\n\nThe second way is to use the ASE calculator provided in `apax.md`.\n\n\n## Input File Auto-Completion\n\nuse the following command to generate JSON schemata for training and MD configuration files:\n\n```bash\napax schema\n```\n\nIf you are using VSCode, you can utilize them to lint and autocomplete your input files.\nThe command creates the 2 schemata and adds them to the projects `.vscode/settings.json`\n\n\n## Authors\n- Moritz Ren\u00e9 Sch\u00e4fer\n- Nico Segreto\n\nUnder the supervion of Johannes K\u00e4stner\n\n\n## Contributing\n\nWe are happy to receive your issues and pull requests!\n\nDo not hesitate to contact any of the authors above if you have any further questions.\n\n\n## Acknowledgements\n\nThe creation of Apax was supported by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) in the framework of the priority program SPP 2363, \u201cUtilization and Development of Machine Learning for Molecular Applications - Molecular Machine Learning\u201d Project No. 497249646 and the Ministry of Science, Research and the Arts Baden-W\u00fcrttemberg in the Artificial Intelligence Software Academy (AISA).\nFurther funding though the DFG under Germany's Excellence Strategy - EXC 2075 - 390740016 and the Stuttgart Center for Simulation Science (SimTech) was provided.\n\n\n## References\n* [1] 10.5281/zenodo.10040711\n* [2] V. Zaverkin and J. K\u00e4stner, [\u201cGaussian Moments as Physically Inspired Molecular Descriptors for Accurate and Scalable Machine Learning Potentials,\u201d](https://doi.org/10.1021/acs.jctc.0c00347) J. Chem. Theory Comput. **16**, 5410\u20135421 (2020).\n* [3] V. Zaverkin, D. Holzm\u00fcller, I. Steinwart, and J. K\u00e4stner, [\u201cFast and Sample-Efficient Interatomic Neural Network Potentials for Molecules and Materials Based on Gaussian Moments,\u201d](https://pubs.acs.org/doi/10.1021/acs.jctc.1c00527) J. Chem. Theory Comput. **17**, 6658\u20136670 (2021).\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Atomistic Learned Potential Package in JAX",
"version": "0.9.1",
"project_urls": {
"Documentation": "https://apax.readthedocs.io/en/latest/",
"Homepage": "https://github.com/apax-hub/apax",
"Repository": "https://github.com/apax-hub/apax"
},
"split_keywords": [
"machine-learning",
" interatomic potentials",
" molecular-dynamics"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "5e94d62f20b4f3841d0bfa166ebd94b68aa1b2489abde04c15b7429fbd808fa0",
"md5": "ea7c54c5767720583c14f3d37ea9df54",
"sha256": "8dad4de289ad3106945c8b6184a0e436a292a4acffab12dcbb5cf6b20c4f87a8"
},
"downloads": -1,
"filename": "apax-0.9.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ea7c54c5767720583c14f3d37ea9df54",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.10",
"size": 152525,
"upload_time": "2024-12-03T16:01:49",
"upload_time_iso_8601": "2024-12-03T16:01:49.598018Z",
"url": "https://files.pythonhosted.org/packages/5e/94/d62f20b4f3841d0bfa166ebd94b68aa1b2489abde04c15b7429fbd808fa0/apax-0.9.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "72a5cf1f3aad013aef5b52ed3a176efe1507002080b9d06dcb4a604864824d93",
"md5": "7ad87a976ec7d3dae419415117dcba40",
"sha256": "304ea885bbb13c30d1a776c0a65e5cba29ab056365bd50df9c77370c9642c849"
},
"downloads": -1,
"filename": "apax-0.9.1.tar.gz",
"has_sig": false,
"md5_digest": "7ad87a976ec7d3dae419415117dcba40",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.10",
"size": 121772,
"upload_time": "2024-12-03T16:01:50",
"upload_time_iso_8601": "2024-12-03T16:01:50.717245Z",
"url": "https://files.pythonhosted.org/packages/72/a5/cf1f3aad013aef5b52ed3a176efe1507002080b9d06dcb4a604864824d93/apax-0.9.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-03 16:01:50",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "apax-hub",
"github_project": "apax",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "apax"
}