Skip to content

Glossary

Every term you’ll meet in these docs, defined once and precisely. Where a concept has its own page, the term links to it. snipe’s defaults appear throughout: k1 = 51, k2 = 53, scale = 10000.

Abundance — how many times an edgemer was observed across the input. Abundance is what separates a singleton (seen once) from a polyton (seen repeatedly), and snipe stores it alongside every edgemer in the .snipesig file.

Advanced metrics — the verbose tier of QC metrics, surfaced by the qc --advanced flag. See QC tiers.

Canonical k-mer — for each k-mer snipe compares it to its reverse complement and keeps the lexicographically smaller of the two, so a sequence and its reverse strand hash to the same value. This comparison happens before hashing, in src/utils.rs.

Edgemer — snipe’s unit of sketching: a k-mer pair coupling a base k-mer (K1) with a slightly longer extended k-mer (K2). Comparing each K2 extension against a reference — and whether a mismatch was seen once or repeatedly — is how snipe separates sequencing errors from real mutations.

Edgemer extension length — the number of extra bases K2 adds to K1, i.e. k2 - k1. With the defaults k1 = 51 and k2 = 53 the extension length is 2.

Export — a snipe command that converts a .snipesig into a secondary format such as a sourmash .sig or a TSV. Only the K1 layer travels to sourmash; the edgemer structure is snipe’s own. See export reference.

FAILED_K2 — the tag snipe attaches during sketching when a K1 is present but its K2 window cannot be formed: either K1 sits too close to a sequence end for the window to exist, or the window contains a non-A/C/G/T base. It is a benign boundary case, not an error signal — the sequencing-error and mutation signals come later, from a K2 that does form but does not match the reference. Internally the edgemer’s k2_hash is set to the sentinel FAILED_K2_HASH, which equals u64::MAX, and these edgemers are excluded from reference matching.

FASTX — the umbrella term for FASTA and FASTQ sequence inputs. snipe’s readers accept both and transparently handle .gz compression.

FracMinHash — the scaled MinHash scheme snipe uses to sketch: instead of keeping a fixed number of hashes, it keeps every hash below a threshold, so two sketches made at the same scale are directly comparable. Also called scaled MinHash.

Hashing — snipe hashes each canonical k-mer with murmur3 using seed 42. See murmur3.

hash_threshold — the cutoff a hash must fall below to be kept in the sketch, computed as u64::MAX / scale. A larger scale means a lower threshold and a smaller, sparser sketch.

K1 — the base k-mer of an edgemer: a canonical, murmur3-hashed k-mer, 51 bases by default. It is the only layer that survives an export to a sourmash .sig.

K2 — the extended k-mer of an edgemer: K1 with edgemer extension length extra bases split evenly before and after K1, so K1 sits in the centre of K2 (a 53-mer by default — one base each side). Whether a K2 forms, and whether it matches a reference, is the extra per-position signal snipe records alongside each K1.

K-mer — a substring of length k drawn from a sequence. Classic sketching tools reduce a genome to its set of k-mers; snipe works with k-mer pairs (edgemers) instead.

Metrics — the QC quantities snipe computes from edgemer counts: sequencing-error rate, mutation rate, basepair-change rate, coverage, and more. See QC metrics.

murmur3 — the hash function snipe uses, with seed 42, applied to the canonical form of each k-mer.

Mutation rate — a QC metric estimating true genomic variation, derived from edgemers whose K1 matches the reference but whose (formed) K2 extension does not, and that were observed repeatedly (polytons). Singleton K2 mismatches are counted as sequencing error instead. Computed in api/qc.rs.

Polyton — an edgemer observed more than once (abundance greater than one) — usually real signal rather than noise. Contrast with singleton.

QC — quality control: snipe’s alignment-free analysis of a sketched sample that reports sequencing-error rate, coverage, depth, contamination, sex-chromosome signals, and related metrics via the qc command — from a sketch rather than an alignment (no aligner, no BAM). See qc reference.

QC tiers — the three visibility levels of QC metrics defined in api/qc.rs: default (always written to the TSV), verbose (added by qc --advanced), and hidden (added by the developer-only qc --hidden flag). See QC metrics.

Reference signature — a .snipesig marked as coming from a reference genome or database (SignatureType::Reference), as opposed to sequencing data. Most QC metrics come from comparing a sample signature against a reference signature.

Sample signature — a .snipesig marked as coming from sequencing data such as WGS or RNA-seq (SignatureType::Sample) — the default signature type.

Scale — the sampling rate of the FracMinHash sketch; the default is 10000, meaning snipe keeps roughly one hash in every 10000. Higher scale means smaller, coarser sketches; two sketches must share a scale to be compared. See FracMinHash & scale.

Scaled MinHash — another name for FracMinHash.

Signature — the object snipe produces from an input: the collection of sampled edgemers plus metadata (k values, scale, type, provenance). In the Python API it is the single user-facing Signature class; on disk it is a .snipesig file.

Singleton — an edgemer observed exactly once (abundance of one) — usually a sequencing error. Contrast with polyton.

Sketch — both a verb and a noun: to reduce an input to a small hashed sample of its k-mers (the sketch command), and the resulting compact representation. snipe sketches into edgemers, not plain k-mers. See sketch reference.

.snipesig — snipe’s native signature format, Parquet-encoded, storing edgemer columns plus the full signature header with complete fidelity. It is always written compressed and single-signature; a legacy JSON-gzip encoding remains read-only for backward compatibility.

sourmash — a separate k-mer sketching tool. snipe uses the sourmash library for its k-mer hashing (canonical murmur3, seed 42) and can read and write sourmash .sig files at the K1 level.

Verbose metrics — see QC tiers; the tier revealed by qc --advanced.

Version compatibility — the rules for which signatures a given snipe build can read and write, including the Parquet-versus-legacy-JSON .snipesig distinction. See Versioning & compatibility.