a Google-JAX-based implementation of the multilevel summation method
Project description
msmjax
msmJAX is an implementation of the multilevel summation method (MSM) with B-spline interpolation for the evaluation of electrostatic interactions in Python, built on Google JAX. The implementation is mostly based on Ref. 1, with additional inputs from Refs. 2 and 3.
This page will be updated with links to ensuing publications.
Getting started
Tutorials and documentation can be found on the GitHub pages.
More elaborate examples and benchmarks can be found in the examples/ directory.
Installation
We recommend working in a virtual environment to isolate your installation, e.g., using Miniconda or venv.
CPU-only installation
Either clone the msmJAX repository, navigate to the repository root, and run:
pip install -U pip
pip install -e .
Or, install from pypi:
pip install -U pip
pip install msmjax
CUDA installation
To get the most out of msmJAX, you will want GPU support with CUDA. To that end, install JAX with CUDA before installing msmJAX.
The simplest way to get a CUDA-enabled JAX installation is to install CUDA and cuDNN from pip wheels as demonstrated in the below snippet:
pip install -U pip
pip install -U "jax[cuda12]"
pip install -e .
To use a preinstalled local CUDA, see the JAX installation instructions. Generally speaking, the JAX ecosystem is fast-moving, and checking the current recommended installation method might be a good idea.
Optional dependencies
To run the tests, proceed like above, but install msmJAX with pip install -e ".[test]" or pip install msmjax[test].
Then, you can run pytest tests/, which is recommended to verify that the installation was successful.
To run the examples, install with pip install -e ".[examples]" or pip install msmjax[examples].
In some of the examples, additional external programs are used.
But these are not required for a basic run of the examples, only if you want to re-perform the setting up the inputs or certain post-processing tasks yourself.
Where they are used, this is indicated in the description of the individual examples.
To build the documentation yourself, install with pip install -e ".[doc]" or pip install msmjax[doc], then navigate to docs/ and run make html.
License
msmJAX is distributed with the Apache-2.0 license.
It also contains code derived from the JAX-MD third-party package (release v0.2.24), in the jax_md directory.
References
- D. J. Hardy, M. A. Wolff, J. Xia, K. Schulten, and R. D. Skeel,
“Multilevel summation with B-spline interpolation for pairwise interactions in molecular dynamics simulations”,
J. Chem. Phys., vol. 144, no. 11, p. 114112, Mar. 2016, doi: 10.1063/1.4943868. - D. J. Hardy, Z. Wu, J. C. Phillips, J. E. Stone, R. D. Skeel, and K. Schulten,
“Multilevel Summation Method for Electrostatic Force Evaluation”,
J. Chem. Theory Comput., vol. 11, no. 2, pp. 766–779, Feb. 2015, doi: 10.1021/ct5009075. - D. J. Hardy,
“Multilevel Summation for the Fast Evaluation of Forces for the Simulation of Biomolecules,”
University of Illinois at Urbana-Champaign, 2006.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file msmjax-2026.3.1.tar.gz.
File metadata
- Download URL: msmjax-2026.3.1.tar.gz
- Upload date:
- Size: 16.9 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b3a7f803d41bad5a805dfc3a972b3fa128cae9ea2a7715be25395e08b3b8057b
|
|
| MD5 |
c732203d14733ce98dbeed7cb587a350
|
|
| BLAKE2b-256 |
2033010536df255e3fa98e95a0ba5fad9ea3d7363a7ab17cc862fd820bcd552b
|
File details
Details for the file msmjax-2026.3.1-py3-none-any.whl.
File metadata
- Download URL: msmjax-2026.3.1-py3-none-any.whl
- Upload date:
- Size: 59.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
103ec1c50e4e68cfbb3fc1d37a39d44bd5e352c3eaf7221c3943461d698dc780
|
|
| MD5 |
f4c0a51f823e2eb8d71e9c1c2e0eb1c4
|
|
| BLAKE2b-256 |
0137bd9c9e3fcc458264e3129aa1b6b836044a0360abd1225ed52794d98f9d2b
|