Metadata-Version: 2.4
Name: streamd
Version: 0.5
Summary: Streamd Python module to facilitate molecular dynamics
Home-page: https://github.com/ci-lab-cz/streamd
Author: Aleksandra Ivanova, Olena Mokshyna, Pavel Polishchuk
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: POSIX :: Linux
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Classifier: Topic :: Scientific/Engineering :: Chemistry
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Provides-Extra: rdkit
Requires-Dist: rdkit>=2017.09; extra == "rdkit"
Dynamic: author
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license-file
Dynamic: provides-extra
Dynamic: requires-python
Dynamic: summary

![StreaMD Logo](./streamd_logo.png)
# StreaMD:  a tool to perform high-throughput automated molecular dynamics simulations

StreaMD provides an end-to-end molecular dynamics workflow that takes a PDB structure as input and automatically performs system preparation, equilibration, production and continuation runs, and analysis,
producing XTC trajectories together with ready-to-use plots and CSV outputs.

## Features:  
- Run multiple simultaneous molecular dynamics simulations
- Run multiple replicas of the same system for multiple complexes in a single command
- Simulation for different systems:  
    - Protein in Water;  
    - Protein - Ligand;  
    - Protein - Cofactor (multiple);  
    - Protein - Ligand - Cofactor (multiple);  

- Simulations of boron-containing molecules using Gaussian software
- Simulations of ligand-binding metalloproteins with MCPB.py
- Distributed computing using dask library
- Running parallel simulations on multiple servers
- Extending the time of MD simulations 
- Continuing interrupted MD simulations
- Restarting interrupted MD preparation by invoking the same command
- Implemented tools for end-state free energy calculations (gmx_MMPBSA) and protein–ligand interaction analysis (ProLIF)
- Support for customized .mdp files
- Interactive trajectory convergence analysis for multiple complexes
- GPU support


## Quick start
Download the Conda environment YAML file (CPU-only or GPU):  
- CPU-only
```bash
wget -O env.yml https://raw.githubusercontent.com/ci-lab-cz/streamd/refs/heads/master/env.yml
```
- GPU
```bash
wget -O env_gpu.yml https://raw.githubusercontent.com/ci-lab-cz/streamd/refs/heads/master/env_gpu.yml
```

```bash
# Create environment (choose CPU-only or GPU)
conda env create --file env.yml -n md          # or env_gpu.yml on GPU-capable hosts
conda activate md

# Install
pip install streamd
# or latest main branch
pip install git+https://github.com/ci-lab-cz/streamd.git

```
   
**Minimal protein-ligand run (1 ns)**
```
run_md -p protein.pdb -l ligand.mol --md_time 1
```
   
**Protein - multiple ligands multiple replicas runs (1 ns)**
```
run_md -p protein.pdb -l ligands.sdf --md_time 1 --replicas 3 --seed 1024
```
  
**Extend successfully finished simulations**
```
run_md --wdir_to_continue md_files/md_run/protein_H_HIS_ligand_*/ --md_time 10
```
    
**GPU-accelerated simulations**
```
run_md -p protein_HIS.pdb -l ligand.mol --md_time 1 --device gpu --ncpu 32
```

**Change simulation box**
```bash
run_md -p protein.pdb -l ligand.mol --md_time 1 --box_type dodecahedron --box_padding_nm 1.2
```

**MM-PBSA/MM-GBSA calculation support**
```
run_gbsa --wdir_to_run md_files/md_run/protein_H_HIS_ligand_1 md_files/md_run/protein_H_HIS_ligand_2 -c 128 -m mmpbsa.in
```
This functionality is based on the [gmx_MMPBSA tool](https://valdes-tresanco-ms.github.io/gmx_MMPBSA/dev)

**ProLIF (Protein-Ligand Interaction Fingerprints) Analysis**
```
run_prolif --wdir_to_run md_files/md_run/protein_H_HIS_ligand_1 md_files/md_run/protein_H_HIS_ligand_2 -c 128 -s 5
```
This functionality is based on the [ProLIF tool](https://github.com/chemosim-lab/ProLIF)


More examples can be found in the [documentation](https://streamd.readthedocs.io/)


## Documentation
https://streamd.readthedocs.io/

## License
MIT

## Ready-to-use containers (Apptainer)
Pre-built `.sif` images are available (CPU and GPU) in the [Zenodo record](https://zenodo.org/records/18176058)  
- CPU image
```
wget -O streamd_cpu.sif https://zenodo.org/records/18176058/files/streamd_cpu.sif
```
- GPU image
```
wget -O streamd_gpu.sif https://zenodo.org/records/18176058/files/streamd_gpu.sif
```
Run apptainer:   
**CPU:** `apptainer run --cleanenv streamd_cpu.sif run_md --help`  
**GPU:** `apptainer run --nv --cleanenv streamd_gpu.sif run_md --help`

The provided `.sif` images are intended for Apptainer on Linux/HPC systems.
GPU usage requires an NVIDIA GPU node and launching with `--nv` and `run_md --device gpu`.

## Citation
Ivanova A, Mokshyna O, Polishchuk P.  
StreaMD: the toolkit for high-throughput molecular dynamics simulations.  
*J. Cheminf.* **2024**, 16 (1), 123.  
https://doi.org/10.1186/s13321-024-00918-w
