asyncmd#
asyncmd is a library to write concurrent code to run and analyze molecular dynamics simulations using pythons async/await syntax. Computationally costly operations can be performed locally or submitted to a queuing system.
asyncmd enables users to construct complex molecular dynamics (MD) workflows or develop and implement trajectory based enhanced sampling methods with the following key features:
flexible, programmatic and parallel setup, control, and analysis of an arbitrary number of MD simulations
dictionary-like interface to the MD parameters
parallelized application of user defined (python) functions on trajectories (including the automatic caching of calculated values)
propagation of MD until any or all user-supplied conditions are fulfilled on the trajectory
extract molecular configurations from trajectories to (re)start an arbitrary number of MD simulations from it
If you use asyncmd in published research please consider citing it as:
Hendrik Jung and Gerhard Hummer, (2025). asyncmd: A python library to orchestrate complex molecular dynamics simulation campaigns on high performance computing systems. Journal of Open Source Software, 10(112), 8321, https://doi.org/10.21105/joss.08321
Get started#
This section contains everything to get you started using asyncmd.
The Basics
You might also want to have a look at the example jupyter notebooks below.
User guide#
This section provides more in-depth explanations on various topics, such as the Trajectory object or the use of complex stopping criteria for MD simulations. It also includes a section on modifying and extending asyncmd for your own use-case.
Community guide#
The following section contains information on how to get help and/or report any issues encountered using asyncmd as well as how to contribute code or documentation.
Example notebooks#
This section contains example jupyter notebooks (also included in the repository) on various topics and starts with a brief description of all notebooks.
Example notebooks
Module layout