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
| Target | Description |
|---|---|
| (default) | Download inputs and build the final masked index |
download | Download genomes and masking references only |
check | Verify 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 key | Default | Description |
|---|---|---|
kmer | 31 | k-mer size |
window | 15 | Minimizer window size |
entropy | 0 | Entropy threshold |
parallel | 0 | Build 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.