Skip to content

Concepts

Dependency snapshot

The complete, resolved set of what a pipeline version depends on: engine version, every process's container (by digest), tool versions read from container tags, every parameter after profile and config layering, and the reference genome's checksum. It is serialised as canonical JSON (RFC 8785) and hashed with SHA-256.

The hash describes the pipeline, not the machine: local paths, output directories and per-run timestamps are excluded, and files are represented by their checksums.

For Nextflow, Aver reads the configuration and processes from nextflow config and nextflow inspect. For Snakemake, a pinned Snakemake loads the workflow and reports each rule's container, conda environment and wrapper, and the final config; Aver adds container digests, the SHA-256 of each environment file, the packages it declares, and any conda pin file. Loose conda specs, mutable tags (:latest) and wrappers not referenced by a release are recorded as unpinned, never guessed.

Reference materials and truth sets

Aver benchmarks only against public GIAB reference materials:

Code Description
HG001 NA12878, CEU
HG002 Ashkenazi son (default; most complete truth set)
HG003 / HG004 Ashkenazi father / mother
HG005 Chinese son
HG006 / HG007 Chinese father / mother

Truth-set releases are confirmed against the upstream source before they enter the catalogue, and every file carries a recorded SHA-256. The default for HG002 on GRCh38 is the published v4.2.1 benchmark. GIAB's newer v5.0q set is listed but marked draft, and is never selected unless you ask for it explicitly.

Metrics

Metric Definition
Recall TP / (TP + FN), over truth variants inside the confident regions
Precision TP / (TP + FP), over query variants inside the confident regions
F1 Harmonic mean of recall and precision
Delta Percentage-point difference from the baseline, never a relative percentage

Comparison is haplotype-aware (hap.py with RTG vcfeval), restricted to the truth set's confident regions intersected with your target BED when you supply one. Headline figures use PASS variants; the ALL rows are kept in the report's appendix.

Severity

Change Severity Re-run Blocks baseline
Documentation-only change informational no no
Container rebuilt, identical tool versions documentation no no
Tool patch, minor or major version change review required yes no
Parameter change outside the declared-safe list review required yes no
Annotation database release change review required yes no
Reference genome change revalidation required yes yes
Metric delta beyond your policy threshold revalidation required yes
Unpinned dependency in a clinical pipeline critical no yes
Reference data checksum mismatch critical no yes

The final severity is the highest of the dependency-derived and metric-derived results. Every classification lists each rule that fired and why.

Determinism

The same inputs produce the same snapshot hash, the same run cache key and a byte-identical report. Reports take every date from the recorded data, never from the clock, embed their fonts, and are sealed by a manifest of SHA-256 hashes that aver verify recomputes.