Skip to content

uibcdf/molsysmt

Repository files navigation

MolSysMT

License: MIT DOI Documentation CI codecov Install with conda

Overview | Installation | Quickstart | Documentation | Contributing | Citation

Overview

MolSysMT is a toolkit to handle molecular systems through a unified interface. It helps convert, query, modify, and visualize systems while relying on multiple molecular dynamics libraries.

Key capabilities:

  • Conversion across formats and libraries (MolSysMT, MDTraj, MDAnalysis, OpenMM, ParmEd, nglview, PDB, H5MSM, etc.).
  • Consistent selection language to query atoms and groups.
  • Common structural operations (selection, extraction, concatenation, copy, centering, alignment, etc.).
  • Notebook-friendly visualization via nglview.
  • Integrations with OpenMM and AmberTools for system preparation and simulation tasks.
  • Native topologies store all element IDs (atom_id, group_id, component_id, molecule_id, chain_id, entity_id) as strings; converters normalize incoming numeric IDs automatically.

Installation

Recommended (conda/mamba)

conda install -c uibcdf -c conda-forge molsysmt

Requires Python 3.10–3.12. Some dependencies are optional (e.g., parmed, pytraj) and will be used when available.

From source (development)

git clone https://github.com/uibcdf/molsysmt.git
cd molsysmt
pip install -e .

Quickstart

import molsysmt as msm

# Load a bundled test system
molsys = msm.convert(msm.systems['T4 lysozyme L99A']['181l.h5msm'])

# Basic info
n_atoms, n_groups = msm.get(molsys, n_atoms=True, n_groups=True)
print(f"N atoms: {n_atoms}, N residues: {n_groups}")

# Select and extract CA atoms
ca = msm.extract(molsys, selection='atom_name=="CA"')

# Visualize (requires nglview)
view = msm.view(ca, standard=False)
view

Documentation

Full docs and examples: https://www.uibcdf.org/MolSysMT/

Contributing

🧩 Want to contribute? Check out the contributing guide.

To run tests locally:

pytest -n auto --cov=molsysmt --cov-report=term-missing

License

MolSysMT is distributed under the MIT license. See LICENSE for details.

Credits

Thanks to the developers and maintainers of the libraries MolSysMT builds on (MDTraj, MDAnalysis, OpenMM, AmberTools, ParmEd, nglview, etc.).

Team

Leads

Diego Prada Gracia
Liliana M. Moreno Vargas

Contributors

...

Citation

Latest version DOI

Please cite the latest release using:
DOI

All versions

You can cite all releases with the cumulative DOI (always points to the latest):
DOI

Acknowledgments

Project based on the Computational Molecular Science Python Cookiecutter version 1.5.