Skip to main content

HEDGEHOG

HEDGEHOG: Hierarchical Evaluation of Drug GEnerators tHrOugh riGorous filtration.

PyPI Docs CI License: MIT Python 3.10+

HEDGEHOG Terminal UI

Quick Start

HEDGEHOG is a stage-based molecular design evaluation pipeline for:

  • molecule preparation
  • descriptor calculation
  • structural filtering
  • retrosynthesis filtering
  • docking
  • docking pose filtering
  • final reports

The full pipeline can require optional external tools and receptor inputs. Start with the safe smoke run below to verify the Python environment, bundled example molecules, descriptor calculation, and structural filters before enabling retrosynthesis or docking.

Public documentation

git clone https://github.com/LigandPro/hedgehog.git
cd hedgehog
uv sync

This is the recommended way to run HEDGEHOG end to end. The repository checkout contains the editable configs, bundled examples, TUI sources, and the modules/ workspace used to store optional tool assets such as AiZynthFinder public data.

Requirements:

  • Python 3.10+
  • uv
  • optional: Node.js >= 18 and npm for the TUI
  • optional: AiZynthFinder for retrosynthesis
  • optional: GNINA, SMINA, or Matcha for docking

PyPI install

python -m pip install hedgehog
hedgehog --help

Use the PyPI package only if you already manage your own config files and input paths. The default quick start, hedgehog setup ... workflows, and TUI usage are designed around a source checkout.

First safe run

uv run hedgehog --stage descriptors --stage struct_filters --force-new

This avoids docking and retrosynthesis. Use it as the first validation that the local environment, bundled examples, descriptor calculation, and structural filters are working.

Full pipeline

uv run hedgehog setup aizynthfinder
uv run hedgehog --auto-install

Full pipeline execution may require AiZynthFinder, GNINA/SMINA/Matcha, valid receptor structures, reference ligands, and enough CPU/GPU resources.

Input Format

Recommended molecule input is CSV/TSV with a smiles header:

smiles,model_name
CCO,demo
CCN,demo
c1ccccc1,demo

Required:

  • smiles

Optional:

  • model_name or name
  • mol_idx

If mol_idx is missing, HEDGEHOG assigns a stable ID and uses it to join stage outputs, docking scores, and report data.

Common Commands

# Safe smoke run
uv run hedgehog --stage descriptors --stage struct_filters --force-new

# Full pipeline after optional tools are available
uv run hedgehog --auto-install

# Run with your own molecules
uv run hedgehog --mols input/my_molecules.csv

# Run a single stage
uv run hedgehog --stage descriptors

# Run multiple selected stages
uv run hedgehog --stage descriptors --stage struct_filters

# Run docking with a live progress bar
uv run hedgehog --stage docking --progress

# Run docking without progress bar (default)
uv run hedgehog --stage docking

# Regenerate report for an existing run
uv run hedgehog report results/run_10

# Show stages / version
uv run hedgehog info
uv run hedgehog version

# Launch terminal UI
uv run hedgehog tui

Progress bar behavior in CLI runs:

  • Enabled: add --progress
  • Disabled: omit --progress (default)

Results

Results are written under the configured output directory, usually as an auto-numbered run folder:

results/run_N/
├── stages/
├── output/
└── report.html

Benchmark Results

Filtering pass rates by model class

Percentages are computed relative to the initial set for each model class. Unconditional and protein-based models each start from 8,000 molecules, and ligand-based models start from 6,000 molecules.

Stage / Pass Rate Unconditional Ligand-based Protein-based
#mols%#mols% #mols%
Initial 1000.0 ± 0.0100.00 ± 0.00 1000.0 ± 0.0100.00 ± 0.00 1000.0 ± 0.0100.00 ± 0.00
Preprocessing / Init 802.2 ± 254.480.22 ± 25.44 682.6 ± 349.668.26 ± 34.96 653.8 ± 292.865.38 ± 29.28
Descriptors / Init 660.9 ± 311.266.09 ± 31.12 573.4 ± 303.957.34 ± 30.39 481.2 ± 268.248.12 ± 26.82
Structural Filters / Init 450.0 ± 276.745.00 ± 27.67 342.1 ± 241.5/td>34.20 ± 24.15 276.6 ± 203.327.66 ± 20.33
Synthesis Feasibility / Init 286.5 ± 244.928.65 ± 24.49 58.2 ± 53.05.82 ± 5.30 104.1 ± 157.110.41 ± 15.71
Docking / Init 198.9 ± 162.619.89 ± 16.26 42.8 ± 42.04.28 ± 4.20 70.0 ± 95.27.00 ± 9.52
3D Filters / Init 55.2 ± 43.15.52 ± 4.31 17.4 ± 22.21.74 ± 2.22 29.1 ± 43.02.91 ± 4.30

Top generators by final pass count

Best-performing generators within each model class, ranked by the number of molecules that pass the full HEDGEHOG pipeline.

RankUnconditionalLigand-basedProtein-based
GeneratorFinal GeneratorFinal GeneratorFinal
1 REINVENT4102.0 ± 5.0 REINVENT4 (P) 61.3 ± 11.9 Dragonfly127.0 ± 18.1
2 MoLeR92.7 ± 9.7 PGMG24.3 ± 2.3 DrugFlow58.0 ± 8.5
3 HierGraphVAE91.7 ± 9.5 MolFinder (TL)12.0 ± 0.0 Pocket2Mol31.0 ± 11.5
4 JT-VAE74.7 ± 12.0 GCPG3.3 ± 1.5 Dragonfly (b)9.7 ± 3.1
5 MolGPT73.0 ± 6.6 GENTRL3.3 ± 1.5 ProtoBind-Diff6.0 ± 2.6
6 ShEPhERD4.0 ± 1.0 REINVENT4 (TL)0.0 ± 0.0 DiffSBDD0.7 ± 1.2
7 TGM-DLM3.0 ± 0.0 —— TargetDiff0.3 ± 0.6
8 EDM0.3 ± 0.6 — — ResGen0.0 ± 0.0

Documentation

HEDGEHOG Pipeline

For full details, use the documentation instead of this README:

To run the docs site locally:

cd docs
pnpm install
pnpm dev

License

MIT

Metadata

Release files for hedgehog 1.1.45

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hedgehog 1.1.45
File Size Uploaded Provenance Actions
hedgehog-1.1.45.tar.gz 11.8 MB Without provenance Details for hedgehog-1.1.45.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for hedgehog 1.1.45
File Interpreter ABI Platform Actions
hedgehog-1.1.45-py3-none-any.whl Python 3 none any Details for hedgehog-1.1.45-py3-none-any.whl

Total release size: 23.8 MB

Release files / hedgehog-1.1.45.tar.gz

Download URL hedgehog-1.1.45.tar.gz
Size 11.8 MB
Tags Source
SHA-256 checksum
How to use checksums
ac272ed79e10b26d33ee741e30583960d2a23af97f1a95e3dbacc3faa89f2b8e
BLAKE2b-256 checksum
How to use checksums
638521c99618c29e64594dbedaab2955e31abc9efc562956d017f9251d13fcb0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / hedgehog-1.1.45-py3-none-any.whl

Download URL hedgehog-1.1.45-py3-none-any.whl
Size 11.9 MB
Tags Python 3
SHA-256 checksum
How to use checksums
c80df1aa5f2b2d83f831c62bc7ea0a713a406e7e39af051ee8462b2749a7cb11
BLAKE2b-256 checksum
How to use checksums
7791acb17b82972aff7dd181222f80df39488bef2be4aa2bac9caa07a419ce51
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Security for hedgehog 1.1.45

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.1.45 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page