Repository navigation
ChemLink v1.0.0 — Initial stable release
ChemLink v1.0.0
First stable release of ChemLink, a modular orchestration platform for computational chemistry on HPC clusters.
Features
- Docking pipeline — end-to-end automation: active site detection (fpocket), receptor/ligand preparation (MGLTools + AutoGrid4), GPU-accelerated docking (AutoDock-GPU), and results analysis
- Molecular dynamics pipeline — full GROMACS 2025.4 workflow supporting six biological system types from topology preparation to trajectory analysis
- Single-node mode — parallel ligand processing with configurable worker count (up to 24 workers tested)
- Multi-node mode — distributed docking via SLURM Job Arrays across GPU nodes
- Unified CLI —
chemlink dockingandchemlink dynamicscommands withchemlink doctorfor environment verification - Reproducibility — timestamped run directories,
stats.jsonper campaign, versioned Conda environments (bio,mgl_legacy) - Monitoring — Prometheus + Grafana integration for real-time resource tracking
- Docker support — containerized execution for isolated environments
- Test dataset — ready-to-run inputs: receptors (1HSG, 6LU7, 3PTB from RCSB PDB) and ligands (Indinavir, Nirmatrelvir, Benzamidine, Ibuprofen, Aspirin, Caffeine from PubChem)
Validated performance (1 000 ligands)
| Mode | Duration | Throughput |
|---|---|---|
| Single-node Opt (24 workers) | 54 min | 18.5 lig/min |
| Single-node Min (1 worker) | 335 min | 3.0 lig/min |
| Multi-node (3 GPUs, SLURM) | 31.6 min | 31.6 lig/min |
Speedup vs single-node: up to 2.2× with 3 GPUs.
Installation
# Base installation (Python layer + Conda environments)
curl -fsSL https://raw.githubusercontent.com/PipeJF9/chemlink/main/install.sh | bash
# Full installation (includes fpocket, AutoGrid4, AutoDock-GPU, GROMACS 2025.4)
curl -fsSL https://raw.githubusercontent.com/PipeJF9/chemlink/main/install.sh | bash -s -- --fullQuick test
chemlink doctor
chemlink docking --receptor data/test/receptors/1hsg.pdb --ligands data/test/ligands/indinavir.sdf --output data/output/test