theory minimizer_selection
Eric Coissac edited this page 2026-09-12 16:26:22 +02:00
Clone

Wiki Page Revisions

14 Commits

Author SHA1 Message Date
Eric Coissac 0b79a8ee74 Define k-mer minimizer selection
{}
Introduces the definition of a minimizer for k-mer windows, defining the canonical form as the lexicographic minimum between the m-mer and its reverse complement. Selection is determined by a deterministic hash function that chooses the m-mer whose canonical form minimizes the hash value, including a warning about potential biases in the ordering.
2026-09-12 16:26:22 +02:00
Eric Coissac 5313788f7c Update indexing constraints and CLI options
This commit introduces new constraints for kmer size and minimizer selection, defines super-kmers, and adds extensive new command-line options for filtering, conversion, merging, and packing indices. Documentation across the codebase has also been updated.
2026-09-12 14:00:23 +02:00
Eric Coissac c1e139c597 Implement super-kmers and hash-based minimizer selection
Introduces the concept of super-kmers as the primary unit of work, capped at 256 nucleotides. Also implements a new minimizer selection strategy based on a well-distributed hash function to ensure unbiased selection.
2026-09-12 13:01:51 +02:00
Eric Coissac 331b9d330d Introduce super-kmers and hash-based minimizer selection
Defines super-kmers as the fundamental unit of work, including the definition of canonical super-kmers. Implements a hash-based strategy for selecting minimizers, replacing or augmenting standard lexicographic ordering.
2026-09-12 12:57:18 +02:00
Eric Coissac 5c1be9e23c Implement hash-based minimizer selection
Introduce hashing for balanced partitioning and dynamic routing architecture.
2026-09-12 12:52:48 +02:00
Eric Coissac 60676795a1 Clarify partition routing based on minimizer selection
The text clarifies how partition routing is independent of minimizer selection and details the hash-based calculation for the partition index.
2026-09-12 12:36:05 +02:00
Eric Coissac 413db85400 Document minimizer selection independence
Update documentation clarifying that partition routing is independent of minimizer selection and details how minimizer selection and super-kmer routing hashes are computed separately.
2026-09-12 12:29:53 +02:00
Eric Coissac 612b813190 Add hash function for robust minimizer selection
Introduces a specific 64-bit mixing hash function for minimizer selection. This function is designed to remove bias favoring AT-rich composition and accounts for low-complexity m-mers. Exhaustive checks confirm that the argmin is never a homopolymer or periodic repeat.
2026-09-12 12:17:02 +02:00
Eric Coissac 7960afdc8a Introduce hashing function to debias minimizer selection
This function ensures that minimizer selection is based on avalanche-mixed bits rather than nucleotide composition, preventing low-complexity sequences from being selected as winners.
2026-09-12 11:58:12 +02:00
Eric Coissac 3a2b4b467d Add function header and return to mixing-function derivation 2026-09-12 11:19:13 +02:00
Eric Coissac 98af17f50a Update mixing function to avoid fixed point 0
This modification ensures that the mixing function no longer allows the canonical value 0 to always win window comparisons.
2026-09-12 11:12:45 +02:00
Eric Coissac 2af47f4c1f Switch internal links to native Markdown syntax
Gitea/Forgejo's [[page|label]] shortlink is post-processed on rendered HTML
text nodes: it cannot match when the label contains inline formatting (a
code span splits the surrounding text into separate DOM nodes), and even
plain labels had target/text swapped from the intended order. Native
Markdown links are real AST link nodes and have neither problem.
2026-09-12 10:59:39 +02:00
Eric Coissac 62c2b9628f Refine indexing architecture and command usage documentation
Updates the core documentation for kmer structure, super-kmer routing, and indexing layout. Introduces new command-line options for filtering, dumping, and conversion, clarifying the Exact/Approx trade-offs and constraints for sequence processing.
2026-09-12 10:36:56 +02:00
Eric Coissac e381ef2fb1 Implement advanced indexing architecture and query features
Introduces a partitioned, NUMA-aware indexing system, supports kmer filtering, evidence conversion, index packing, and advanced query capabilities including estimation and phylogenetic analysis.
2026-09-12 08:51:20 +02:00