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.
Metadata
Release files for MSMJax 2026.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| msmjax-2026.3.1.tar.gz | 16.9 MB | Without provenance | Details for msmjax-2026.3.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| msmjax-2026.3.1-py3-none-any.whl | Python 3 | none | any | Details for msmjax-2026.3.1-py3-none-any.whl |
Total release size: 17.0 MB
Release files / msmjax-2026.3.1.tar.gz
| Download URL | msmjax-2026.3.1.tar.gz |
|---|---|
| Size | 16.9 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b3a7f803d41bad5a805dfc3a972b3fa128cae9ea2a7715be25395e08b3b8057b
|
|
BLAKE2b-256 checksum How to use checksums |
2033010536df255e3fa98e95a0ba5fad9ea3d7363a7ab17cc862fd820bcd552b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.11
|
Release files / msmjax-2026.3.1-py3-none-any.whl
| Download URL | msmjax-2026.3.1-py3-none-any.whl |
|---|---|
| Size | 59.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
103ec1c50e4e68cfbb3fc1d37a39d44bd5e352c3eaf7221c3943461d698dc780
|
|
BLAKE2b-256 checksum How to use checksums |
0137bd9c9e3fcc458264e3129aa1b6b836044a0360abd1225ed52794d98f9d2b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.11
|
Security for MSMJax 2026.3.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.