Skip to main content

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

  1. 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.
  2. 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.
  3. 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)

Source distribution for MSMJax 2026.3.1
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)

Table of built distributions (wheels) for MSMJax 2026.3.1
File Interpreter ABI Platform Actions
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.

Release history Release notifications | RSS feed

This release

2026.3.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page