EasyDock Documentation¶
Welcome to EasyDock documentation! EasyDock is a fully automatic pipeline for molecular docking that provides a comprehensive solution for drug discovery workflows.
Overview¶
EasyDock automates the entire docking process from ligand preparation to result analysis, supporting multiple docking programs and providing organized result storage. EasyDock does not prepare protein structures, which should be prepared for each docking program according to their requirements.
Key Features¶
- Multiple Docking Programs: Support for Vina, Gnina/Smina, QVina, Vina-GPU and their derivatives
- Server-Based Docking: Containerized docking programs (CarsiDock, SurfDock, Vina-GPU) via a persistent server protocol
- Generic Docking: Run any external docking binary or Python script via a YAML config file, without code changes
- Automated Preparation: Molecule validation, salt removal, and stereoisomer enumeration
- Flexible Protonation: Multiple methods including MolGpKa, Uni-pKa, Chemaxon, and pkasolver
- Container Support: Run docking and protonation tools through Apptainer/Singularity or Docker with automatic GPU detection
- Distributed Computing: Scale across multiple servers using Dask
- Database Storage: All results organized in SQLite databases
- Pose Quality Assessment: PoseBusters integration (
easydock_bust) for physics-based validation of docked poses - PLIF Analysis: Protein-ligand interaction fingerprints for detailed analysis
- Resumable Calculations: Interrupted runs can be continued seamlessly
Quick Start¶
# Create environment
conda env create -f env.yml -n easydock
# or use mamba (should be faster)
mamba env create -f env.yml -n easydock
# Run docking
easydock -i input.smi -o output.db --program vina --config config.yml --protonation molgpka -c 4 --sdf
Getting Help¶
- GitHub Repository: ci-lab-cz/easydock
- Issues: Report bugs on GitHub Issues
- Citation: See Citation page
Documentation Structure¶
- Installation: Setup instructions for all platforms
- Usage Guide: Complete guide for running docking simulations
- Advanced Features: Ring sampling, distributed computing, and more
- Data Retrieval: Extracting and analyzing results
- Pose Quality Assessment: Running PoseBusters on docked poses with
easydock_bust - PLIF Analysis: Protein-ligand interaction fingerprints
- Python API: Using EasyDock programmatically
- Third-party Licenses: Licenses of all integrated tools
- Citation: Citation information
- Changelog: Changes in each version
For Developers¶
- Adding a Docking Program: Implementing a new
xxx_dock.pymodule - Adding a Protonation Tool: File-based, native Python, and container-based protonation conventions
- Server Protocol: Client-server docking protocol and container interface conventions
- Generic Docking: Using EasyDock with arbitrary external docking programs