deacon-indexes

April 13, 2026 ยท View on GitHub

Snakemake workflows for building deacon indexes. Each lives in its own directory under indexes/ with its own Snakefile.

Layout

indexes/<name>/Snakefile
genomes/        # shared
masking/        # shared
ref/            # shared intermediates
envs/deacon.yaml

Prerequisites

Usage

Run from the repo root so shared paths resolve:

git clone https://github.com/bede/deacon-indexes.git
cd deacon-indexes
snakemake -s indexes/panhuman-1/Snakefile --use-conda -j12 --config parallel=1

parallel=1 builds per-genome indexes concurrently then unions them. Omit it for a single-threaded build:

snakemake -s indexes/panhuman-1/Snakefile --use-conda -j8
TargetDescription
(default)Download inputs and build the final masked index
downloadDownload genomes and masking references only
checkVerify decompressed sha256 of each genome against indexes/<name>/checksums-decompressed.txt

Override parameters with --config. Downloaded genomes are reused across parameter combinations โ€” only build and masking steps re-run.

snakemake -s indexes/panhuman-1/Snakefile check --use-conda -j8
snakemake -s indexes/panhuman-1/Snakefile --use-conda -j8 --config kmer=27 window=19
snakemake -s indexes/panhuman-1/Snakefile --use-conda -j8 --config parallel=1
Config keyDefaultDescription
kmer31k-mer size
window15Minimizer window size
entropy0Entropy threshold
parallel0Build per-genome indexes in parallel then union them (faster). Cached under tmp/k{K}w{W}e{E}/ for reuse across runs.

Final index is written to indexes/<name>/<name>.k{K}w{W}e{E}.idx.

Available indexes

See the prebuilt indexes table in the deacon README.