A Python pipeline for integrating MSMD (Mixed-Solvent Molecular Dynamics) simulation results with AutoDock Vina docking scores.
msmd-docking converts average probability maps (avePMAP) from MSMD simulations into scoring grids compatible with AutoDock Vina. The pipeline bridges MSMD-derived binding probability distributions with Vina's physics-based scoring through Boltzmann energy conversion and distribution matching.
exprorer_msmd msmd-docking
┌───────────────────────────────┐ ┌───────────────────────────────┐
│ Protein + Probe molecules │ │ avePMAP + Vina maps │
│ ▼ │ │ ▼ │
│ Preprocess (system setup) │ │ Reshape + GFE conversion │
│ ▼ │ │ ▼ │
│ GROMACS MD simulation │ │ Merge min(GFE, Vina) │
│ ▼ │ │ ▼ │
│ Postprocess → PMAP/avePMAP │──▶│ Output: integrated .map files │
└───────────────────────────────┘ └───────────────────────────────┘
The input avePMAP files are generated by exprorer_msmd, an automated MSMD simulation engine built on GROMACS.
git clone --recurse-submodules git@github.com:akiyamalab/msmd_docking.git
cd msmd_docking
pip install -e .
msmd-dock --helpA Dev Container configuration is provided in .devcontainer/ with GROMACS, AmberTools, and AutoDock Vina pre-installed.
docker build -f .devcontainer/Dockerfile -t msmd-docking .spython recipe .devcontainer/Dockerfile > msmd_docking.def
apptainer build msmd_docking.sif msmd_docking.defBoth commands must be run from the project root so that COPY / %files paths resolve correctly.
The container image uses non-editable install (pip install .). To develop msmd-docking with live code changes:
- VS Code Dev Container: Handled automatically via
postCreateCommandindevcontainer.json(pip install -e .runs after workspace mount). - Docker (without VS Code): Mount the project and install in editable mode:
docker run --gpus all -v $(pwd):/workspace -it msmd-docking bash cd /workspace && pip install -e .
- Apptainer: The filesystem is read-only (SquashFS), so editable install is not supported. Use Apptainer for production runs only.
# 1. Run MSMD simulation
msmd-dock msmd --config examples/configs/brd4.toml
# 2. Generate GFE-integrated maps
msmd-dock gfe --config examples/configs/brd4.toml
# 3. Run docking
msmd-dock dock --config examples/configs/brd4.tomlFor a detailed walkthrough, see docs/tutorial.md.
| Document | Description |
|---|---|
| Tutorial | Step-by-step guide from setup to docking |
| Tutorial (Cluster) | Cluster execution with job splitting |
| Reference | TOML fields, CLI options, pipeline details |
| Tutorial (ja) | チュートリアル(日本語) |
| Tutorial (Cluster, ja) | クラスタ実行チュートリアル(日本語) |
| Reference (ja) | リファレンス(日本語) |
| README (ja) | このREADMEの日本語版 |
9 DUD-E benchmark targets with pre-configured TOML files:
| Target | PDB ID | Config |
|---|---|---|
| AmpC | 1L2S | examples/configs/ampc.toml |
| BRD4 | 4ZC9 | examples/configs/brd4.toml |
| CDK2 | 1H00 | examples/configs/cdk2.toml |
| DHFR | 3NXO | examples/configs/dhfr.toml |
| FGFr1 | 3C4F | examples/configs/fgfr1.toml |
| FXa | 3KL6 | examples/configs/fxa.toml |
| Gal-3 | 1KJR | examples/configs/gal3.toml |
| HIVpr | 1XL2 | examples/configs/hivpr.toml |
| PDE5A | 1UDT | examples/configs/pde5a.toml |
msmd_docking/
├── src/msmd_docking/
│ ├── cli.py # CLI entry point (msmd-dock)
│ ├── config.py # TOML configuration (dataclasses)
│ ├── pipeline.py # DockingPipeline orchestration
│ ├── protocol_generator.py # exprorer_msmd YAML generation
│ ├── io/ # DX / .map file I/O
│ ├── grid/ # avePMAP reshape & axis transforms
│ ├── energy/ # GFE conversion & merge
│ ├── docking/ # AutoDock Vina integration
│ └── atoms/ # Probe detection & atom type mapping
├── examples/
│ ├── configs/ # 9-target TOML configurations
│ └── data/ # Probe molecules & protein PDB files
├── external/
│ └── exprorer_msmd/ # git submodule
├── tests/
├── docs/
├── .devcontainer/
├── pyproject.toml
└── LICENSE
pytest tests/MIT License. See LICENSE for details.