README.md

February 2, 2026 ยท View on GitHub

Hoodini Logo

Large-scale gene neighborhood analyses that feel like magic

Python Conda PyPI License: MIT

๐ŸŽฎ Live Demo ยท ๐Ÿ“– Documentation ยท ๐Ÿ–ผ๏ธ Gallery ยท ๐Ÿงช Colab


๐Ÿงฌ What is Hoodini?

Hoodini is a gene-centric comparative genomics toolkit that fetches public assemblies, extracts gene neighborhoods, runs pairwise protein and nucleotide comparisons, annotates neighborhoods with defense systems and mobile elements, and builds phylogenetic trees โ€” all with GPU-accelerated interactive visualization.


๐Ÿš€ Scalesโšก Fast๐Ÿ”ฌ Annotations๐ŸŽจ Visualization
1000s of genomesMinutesPADLOC, DefenseFinder, CCTyperPublication-ready SVG

Example visualization


โœจ Key Features

  • ๐Ÿ“ฅ Automated data retrieval โ€” Fetches assemblies from NCBI using protein or nucleotide accessions
  • ๐Ÿงฌ Neighborhood extraction โ€” Configurable genomic windows around target genes
  • ๐Ÿ”— Protein clustering โ€” Groups homologous proteins for synteny comparison
  • ๐Ÿ“Š Pairwise comparisons โ€” AAI (amino acid) and ANI (nucleotide) similarities
  • ๐ŸŒณ Tree construction โ€” Phylogenetic trees from sequence identity
  • ๐Ÿ›ก๏ธ Defense annotations โ€” PADLOC, DefenseFinder, CCTyper, geNomad
  • ๐ŸŽจ Interactive visualization โ€” Self-contained HTML with 50+ color palettes

๐Ÿš€ Quick Start

# Single protein query
hoodini run --input WP_012345678.1 --output results

# With protein comparisons and phylogenetic tree
hoodini run --input proteins.txt --output results --prot-links --tree-mode aai_tree

# Full analysis with annotations
hoodini run --input proteins.txt --output results \
  --prot-links --tree-mode aai_tree \
  --padloc --deffinder --cctyper --genomad \
  --num-threads 16

๐Ÿ“– See the Tutorial for a complete walkthrough.


๐Ÿ“ฆ Installation

Hoodini requires Python packages and bioinformatics tools. The recommended methods handle all dependencies.

โš ๏ธ Note: Bioconda and PyPI packages are coming soon. Use the development installation below.

Using pixi (recommended)

git clone https://github.com/pentamorfico/hoodini.git
cd hoodini
pixi install
pixi run hoodini download databases

Using mamba/conda

git clone https://github.com/pentamorfico/hoodini.git
cd hoodini
mamba env create -f environment.yml
mamba activate hoodini
pip install -e .
hoodini download databases
Python-only installation (uv/pip)

โš ๏ธ This only installs Python packages. Bioinformatics tools must be in your PATH.

Using uv:

git clone https://github.com/pentamorfico/hoodini.git
cd hoodini
uv sync
uv run hoodini download databases

Using pip:

git clone https://github.com/pentamorfico/hoodini.git
cd hoodini
pip install -e .
hoodini download databases
Docker

โš ๏ธ Docker image available but not fully tested. Please report any issues.

docker volume create hoodini-data
docker run --rm -v hoodini-data:/app/src/hoodini/data \
  pentamorfico/hoodini:latest hoodini download databases
docker run --rm -v hoodini-data:/app/src/hoodini/data -v $(pwd):/work \
  pentamorfico/hoodini:latest hoodini run --input /work/proteins.txt --output /work/results

๐Ÿ“– See Installation Guide for detailed instructions.


๐Ÿ› ๏ธ Usage

hoodini run      Run the main pipeline
hoodini download Download required databases
Input Options
OptionDescription
--input ID|FILESingle accession or file with one per line
--inputsheet FILETSV with accessions and custom metadata
Neighborhood Extraction
OptionDescription
--win-modewin_genes (gene count) or win_nts (nucleotides)
--win INTWindow size (default: 10 genes or 10000 nt)
--sorfsRe-annotate small ORFs
Comparisons & Trees
OptionDescription
--prot-linksAll-vs-all protein similarities
--nt-linksPairwise nucleotide alignments
--tree-modeaai_tree or ani_tree
Annotations
OptionDescription
--padlocDefense systems (PADLOC)
--deffinderDefense systems (DefenseFinder)
--cctyperCRISPR-Cas typing
--genomadMobile genetic elements
--domains LISTDomain databases

๐Ÿ“– Full reference: CLI Documentation


๐Ÿ“ Output

Hoodini generates a hoodini-viz/ folder with:

  • Self-contained HTML viewer
  • Newick tree
  • TSV and Parquet data files

๐Ÿ“– See Outputs Guide for details.


๐Ÿ“š Learn More

ResourceDescription
๐Ÿ“– DocumentationFull documentation
๐ŸŽฎ Live DemoInteractive examples
๐Ÿ–ผ๏ธ GalleryReal-world examples from publications
๐Ÿงช ColabRun in Google Colab
๐Ÿ“ฆ hoodini-vizVisualization library (npm)

๐Ÿ™ Acknowledgments

Hoodini is inspired by excellent tools in the field:

  • GCsnap โ€” Gene context visualization
  • FlaGs โ€” Flanking genes analysis
  • Taxonium โ€” Large trees visualization
  • clinker โ€” Gene cluster comparison
  • gggenes โ€” Gene arrow maps in R
  • gggenomes โ€” Comparative genomics visualization

๐Ÿ“„ Citation

[Citation pending publication]

๐Ÿ“œ License

MIT License. See LICENSE file.