Skip to main content

Hierarchical Evaluation of Drug GEnerators tHrOugh riGorous filtration

Project description

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.

Recommended install: source checkout

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 80,000 molecules, and ligand-based models start from 70,000 molecules.

Stage / Pass Rate Unconditional Ligand-based Protein-based
#mols% #mols% #mols%
Initial 80,000100 70,000100 80,000100
Preprocessing / Init 60,40775.51 68,85898.37 77,39696.75
Descriptors / Init 19,94124.93 19,97828.54 19,41224.27
Structural Filters / Init 4,6525.82 4,1325.90 2,8963.62
Synthesis Feasibility / Init 2,7783.47 1,4832.12 1,3161.65
Docking & Binding Aff. / Init 1,4411.80 1,0841.55 7680.96
3D Filters / Init 6090.76 3960.57 4850.61

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 REINVENT4163 REINVENT4 (V)182 Dragonfly345
2 JT-VAE148 MolFinder87 DrugFlow70
3 MoLeR116 REINVENT4 (TL)72 ProtoBind-Diff35
4 HierGraphVAE108 GENTRL25 Pocket2Mol25
5 MolGPT69 REINVENT4 (P)21 ResGen10
6 TGM-DLM4 GCPG8 DiffSBDD0
7 ShEPhERD1 PGMG1 Dragonfly (b)0
8 E(3)DM0 TargetDiff0

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

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hedgehog-1.1.37.tar.gz (11.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hedgehog-1.1.37-py3-none-any.whl (11.8 MB view details)

Uploaded Python 3

File details

Details for the file hedgehog-1.1.37.tar.gz.

File metadata

  • Download URL: hedgehog-1.1.37.tar.gz
  • Upload date:
  • Size: 11.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for hedgehog-1.1.37.tar.gz
Algorithm Hash digest
SHA256 a9916b06fb5f937d14ee0c3b3ea4178258f5a7ae8e7d9c2c27f5c9dad7f4517c
MD5 8af2699f187c5efa71b6d98b4f1d5d45
BLAKE2b-256 c0bf56c18c7df3bf94691ee937aa73626c6b1f7fce1eb994d696df3a609afdc8

See more details on using hashes here.

File details

Details for the file hedgehog-1.1.37-py3-none-any.whl.

File metadata

  • Download URL: hedgehog-1.1.37-py3-none-any.whl
  • Upload date:
  • Size: 11.8 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for hedgehog-1.1.37-py3-none-any.whl
Algorithm Hash digest
SHA256 2cfd0cff76d7fe3ebfa840a1fca84672bea3ce42c43626699eff3e3808ba2ad4
MD5 2b846453855fd08b2ffcc94c4cfe2d03
BLAKE2b-256 d6cde03cbdb0965cff79b0d5ad45ad9d39cbd7d3fd733ee9e0cd51a97c5cc8fe

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page