Ultidock is a fully automated and lightweight molecular docking pipeline built around AutoDock Vina. Designed for large-scale virtual screening, it streamlines every stage—from ligand preparation to result analysis—while maintaining flexibility and performance. With integrated SQLite support and a multithreaded architecture, Ultidock is ideal for users aiming to dock thousands of ligands without hassle.
- End-to-End Automation: Ligand preparation, docking, scoring, and result analysis in one pipeline.
- Multithreaded Performance: Utilizes all available CPU cores for fast, parallel docking.
- Integrated SQLite Database: Efficient and structured result storage, ideal for high-throughput workflows.
- Configurable Analysis: Easily filter and export data based on RMSD, binding energy, or your own criteria.
- Minimal Setup: Tweak your workflow with a single
config.py
—no GUI required.
Ultidock is designed to be simple to deploy with only essential dependencies:
- Python 3.10 or newer
- AutoDock Vina (included or preconfigured)
- SQLite3 (included with Python)
- Pandas, NumPy etc.
git clone https://github.com/taka78/ultidock.git
cd ultidock
DEFAULT_AFFINITY = -7.0 # kcal/mol // you should change this according to how much chemically active your macromolecule.
DEFAULT_RMSD_LB = 5.0 # Å // you should change this according to how big your macromolecule's docking site is.
DEFAULT_RMSD_UB = 10.0 # Å // you should change this according to how big your macromolecule's docking site is.
DEFAULT_MIN_MODEL = 2 # integer // you should change this according to how picky you are.
python3 /path/to/your/ultidock/docking/run.py
Ultidock uses a central configuration file to define all relevant paths and default parameters. When you launch the pipeline, these values are loaded automatically, allowing you to focus on your molecules instead of managing folders.
BASE_DIR = '/your/path/to/ultidock'
DB_PATH = f"{BASE_DIR}/results/ultidock_results.db"
LIGANDS_DIR = f"{BASE_DIR}/docking/LIGANDS_DIR"
MACRO_MOL_DIR = f"{BASE_DIR}/docking/MACRO_MOL_DIR"
DOCKING_DIR = f"{BASE_DIR}/docking"
VINA_DIR = f"{BASE_DIR}/docking"
Macromolecule zoning and docking regions are predicted automatically by analyzing the geometry of each ligand. The system calculates grid centers and sizes based on ligand spatial distribution, then generates all required .gpf
and .glg
files for autogrid4
behind the scenes—no need to manually define binding sites or run external preparation tools.
All docking outcomes are logged directly into an SQLite database located at results/ultidock_results.db
. This structured format allows for fast queries, filtering, and large-scale result aggregation.
In addition to database storage, successful docking results are tracked by ligand filename. This makes it easy to manually inspect or reprocess specific ligand–macromolecule pairs. If a file encounters an error or is skipped, it won’t be silently dropped—you’ll know.
For quick access or spreadsheet compatibility, docking summaries are also exported to .csv
files alongside the database. This gives you flexibility to review, visualize, or integrate results into your own analysis workflows without needing a database viewer.
To export results to Excel or other formats, you can use the built-in analysis script:
# Export to Excel (.xlsx)
python docking/analyse_docking_results.py --out results.xlsx
You can also modify this script to change filter logic (e.g., affinity thresholds, pose count), or to output in CSV, TSV, or other formats. All exports are based on the data already stored in the SQLite database for reliability.
You can customize output columns, filter criteria, or data formats with a few edits to the analysis script.
Contributions are welcome! Please open an issue or submit a pull request.
If you use Ultidock in your research, publication, or automated pipeline, please consider citing it as:
Turgut, T. (2025). Ultidock: A Lightweight Parallelized Docking Pipeline for Ligand Screening. GitHub Repository. https://github.com/taka78/ultidock
You are free to use and modify this software under the MIT License. However, citation and credit are appreciated to support continued development.
Ultidock relies on the robust and widely used AutoDock Vina software for molecular docking. If you use Ultidock, please also cite the original Vina publication:
Trott, O., & Olson, A. J. (2010). AutoDock Vina: Improving the speed and accuracy of docking with a new scoring function, efficient optimization, and multithreading. Journal of Computational Chemistry, 31(2), 455–461. https://doi.org/10.1002/jcc.21334
⭐ If you find Ultidock useful, please star the repository!