MDCraft is a toolkit of analysis modules and helper functions for molecular dynamics (MD) simulations.
- Documentation: https://mdcraft.readthedocs.io/
- Conda: https://anaconda.org/bbye98/mdcraft
- Python Package Index (PyPI): https://pypi.org/project/mdcraft/
algorithm
: Efficient Numba, NumPy, and SciPy algorithms for data wrangling and evaluating structural and dynamical properties.analysis
: Serial and parallel data analysis tools built on top of the MDAnalysis framework.fit
: Two-dimensional curve fitting models for use with SciPy.lammps
: Helper functions for setting up LAMMPS simulations.openmm
: Extensions to the high-performance OpenMM toolkit, such as custom bond/pair potentials, support for NetCDF trajectories, and much more.plot
: Settings and additional functionality for Matplotlib figures.
The novel forcefield provided by MDCraft, Gaussian Core Model with smeared electrostatics (GCMe), provides multiple benefits discussed in more detail within our recent publication. Of note is the computational speed-up obtained from GCMe, especially when used in OpenMM:
The codes used to generate these benchmarks are provided in the associated repository.
If you use pip to manage your Python packages and plan on using the OpenMM simulation toolkit, you must compile and install OpenMM manually since OpenMM is not available in PyPI. See the "Compiling OpenMM from Source Code" section of the OpenMM User Guide for more information.
If you use Conda, it is recommended that you use the conda-forge channel to install dependencies. To make conda-forge the default channel, use
conda config --add channels conda-forge
MDCraft requires Python 3.9 or later.
For the most up-to-date version of MDCraft, clone the repository and install the package using pip:
git clone https://github.com/bbye98/mdcraft.git
cd mdcraft
python3 -m pip install -e .
Alternatively, MDCraft is available on Conda:
conda install bbye98::mdcraft
and PyPI:
python3 -m pip install mdcraft
To use the method of image charges
(mdcraft.openmm.system.add_image_charges()
) in your OpenMM
simulations, you must compile and install constvplugin
or openmm-ic-plugin
.
After installing, to run the MDCraft tests locally, use pytest
:
pip install pytest
cd mdcraft
pytest