Skip to main content

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

  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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

msmjax-2025.10.1.tar.gz (17.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

msmjax-2025.10.1-py3-none-any.whl (59.9 kB view details)

Uploaded Python 3

File details

Details for the file msmjax-2025.10.1.tar.gz.

File metadata

  • Download URL: msmjax-2025.10.1.tar.gz
  • Upload date:
  • Size: 17.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for msmjax-2025.10.1.tar.gz
Algorithm Hash digest
SHA256 c88b571c837395d875b5e1815be67168785f289c6549ba63194ca7ebf64643b8
MD5 24c75cb43c54e2887cd73f0c0dc68bc4
BLAKE2b-256 ee4d1c28a10258ffd182a53644a8793a1b80a00b2864e5c1f3ee34b99b010325

See more details on using hashes here.

File details

Details for the file msmjax-2025.10.1-py3-none-any.whl.

File metadata

  • Download URL: msmjax-2025.10.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

Hashes for msmjax-2025.10.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5307915700bb7ef0d54275f0b1b409be5853e97f285894460703f6fe7a3c47c4
MD5 44dbf5a710973c02264b60ce1613d589
BLAKE2b-256 6aa77d15fb738c4f658315daa070a01c694fd5c25a8e684633c5770135ec2332

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page