mhtirogla
Home
Systems
API
Pricing
About
Log in
← Back
Home
›
Systems
›
Biotech and life sciences
genome-pipeline
genome alignment and variant calling
BWA, GATK
System
Techniques · 7
Primitives · 23
genome-pipeline
Bayesian genotype likelihoods
search-sort · medium: Per-site genotype likelihoods from read base qualities, combined with priors to call variants
De bruijn graph assembly
search-sort · medium: Assemble reads by walking a k-mer de Bruijn graph; tip and bubble removal
External merge sort
search-sort · medium: Sort data larger than RAM: write memory-sized sorted runs, then k-way merge them with large sequential buffers; terabytes in one merge pass.
›
Fm index
search-sort · medium: BWT plus rank structures for backward search: count and locate substrings in compressed space
Minimizer kmer index
search-sort · medium: Index sequences by window minimizers of k-mers for fast seeding and chaining (minimap2)
Pair hmm
search-sort · medium: Pair hidden Markov model for read-haplotype likelihoods, vectorized forward algorithm
Smith-Waterman local alignment
search-sort · medium: Dynamic programming that finds the highest-scoring pair of similar substrings of two sequences under a substitution score and affine gap penalties, in O(nm) time.
›
Swiss table
data-structures · low: Open-addressing hash table that filters 8-16 slots at once with 1-byte hash tags and SIMD, giving fast lookups at 87.5 % load.
›
Burrows-Wheeler transform (BWT)
compression · low: Reversible permutation that sorts every character by the context following it, clustering equal bytes into runs; the core of bzip2 and of FM-index text search.
›
Rank/select bitvectors
data-structures · low: Bitvector plus small count tables: ones before position i and position of the k-th one in O(1); Elias-Fano builds compressed sorted lists on it.
›
Suffix array
search-sort · low: Sorted array of all suffix start positions of a text; finds every occurrence of any substring by binary search, at 4-5 bytes per text byte.
›
SIMD programming
hardware-os · low: Process 4-16 lanes per instruction with AVX2, AVX-512 or NEON via Rust std::arch, with runtime dispatch and a portable fallback.
›
Seekable compressed stream
compression · low: Independently compressed blocks plus an index for random access (BGZF, seekable zstd, eStargz)
Interval tree
data-structures · low: Index of ranges that answers "which intervals overlap this point or range?" in O(log n + k); static sorted-array form is the compact, cache-friendly choice.
›
Floating-point error
numerics · low: How IEEE 754 rounding error accumulates and how to contain it: compensated (Kahan/Neumaier) and pairwise summation, error-free transformations with FMA, ULP comparisons.
›
Vcf variant normalization
search-sort · low: Parse VCF and left-align/trim indels so equal variants share one representation
Bloom filter
data-structures · low: Bit array answering "definitely not present" or "probably present" in about 10 bits per key for 1 % false positives; inserts are cheap, deletes impossible.
›
Rolling hash
data-structures · low: Rabin-Karp polynomial rolling hashes and winnowing for substring fingerprints and document matching
BFS and DFS
graphs · low: The two basic graph traversals; BFS gives hop distances and levels, DFS gives discovery/finish order for cycles, components and topological order.
›
Buffer pools for zero-allocation I/O
hardware-os · low: Preallocate a fixed set of aligned I/O buffers and recycle them through a free list, so the hot path never mallocs, faults or unmaps. The bounded count doubles as back pressure.
›
K way merge
search-sort · low: Merge k sorted streams with a heap or loser tree (merging iterators)
Pattern-defeating quicksort (pdqsor…
search-sort · low: Introsort successor: quicksort with adaptive pivots, linear on sorted and equal-heavy input, heapsort fallback; the unstable sort of Go and (until 1.81) Rust.
›
Fast hash functions
data-structures · low: Non-cryptographic hashes built from 64×64→128-bit multiplies and xor-shifts; pick by key size, trust level and whether the hash is persisted.
›
+ 7 more primitives
System
Techniques · 7
Primitives · 23
genome-pipeline
Bayesian genotype likelihoods
search-sort · medium: Per-site genotype likelihoods from read base qualities, combined with priors to call variants
De bruijn graph assembly
search-sort · medium: Assemble reads by walking a k-mer de Bruijn graph; tip and bubble removal
External merge sort
search-sort · medium: Sort data larger than RAM: write memory-sized sorted runs, then k-way merge them with large sequential buffers; terabytes in one merge pass.
›
Fm index
search-sort · medium: BWT plus rank structures for backward search: count and locate substrings in compressed space
Minimizer kmer index
search-sort · medium: Index sequences by window minimizers of k-mers for fast seeding and chaining (minimap2)
Pair hmm
search-sort · medium: Pair hidden Markov model for read-haplotype likelihoods, vectorized forward algorithm
Smith-Waterman local alignment
search-sort · medium: Dynamic programming that finds the highest-scoring pair of similar substrings of two sequences under a substitution score and affine gap penalties, in O(nm) time.
›
Swiss table
data-structures · low: Open-addressing hash table that filters 8-16 slots at once with 1-byte hash tags and SIMD, giving fast lookups at 87.5 % load.
›
Burrows-Wheeler transform (BWT)
compression · low: Reversible permutation that sorts every character by the context following it, clustering equal bytes into runs; the core of bzip2 and of FM-index text search.
›
Rank/select bitvectors
data-structures · low: Bitvector plus small count tables: ones before position i and position of the k-th one in O(1); Elias-Fano builds compressed sorted lists on it.
›
Suffix array
search-sort · low: Sorted array of all suffix start positions of a text; finds every occurrence of any substring by binary search, at 4-5 bytes per text byte.
›
SIMD programming
hardware-os · low: Process 4-16 lanes per instruction with AVX2, AVX-512 or NEON via Rust std::arch, with runtime dispatch and a portable fallback.
›
Seekable compressed stream
compression · low: Independently compressed blocks plus an index for random access (BGZF, seekable zstd, eStargz)
Interval tree
data-structures · low: Index of ranges that answers "which intervals overlap this point or range?" in O(log n + k); static sorted-array form is the compact, cache-friendly choice.
›
Floating-point error
numerics · low: How IEEE 754 rounding error accumulates and how to contain it: compensated (Kahan/Neumaier) and pairwise summation, error-free transformations with FMA, ULP comparisons.
›
Vcf variant normalization
search-sort · low: Parse VCF and left-align/trim indels so equal variants share one representation
Bloom filter
data-structures · low: Bit array answering "definitely not present" or "probably present" in about 10 bits per key for 1 % false positives; inserts are cheap, deletes impossible.
›
Rolling hash
data-structures · low: Rabin-Karp polynomial rolling hashes and winnowing for substring fingerprints and document matching
BFS and DFS
graphs · low: The two basic graph traversals; BFS gives hop distances and levels, DFS gives discovery/finish order for cycles, components and topological order.
›
Buffer pools for zero-allocation I/O
hardware-os · low: Preallocate a fixed set of aligned I/O buffers and recycle them through a free list, so the hot path never mallocs, faults or unmaps. The bounded count doubles as back pressure.
›
K way merge
search-sort · low: Merge k sorted streams with a heap or loser tree (merging iterators)
Pattern-defeating quicksort (pdqsor…
search-sort · low: Introsort successor: quicksort with adaptive pivots, linear on sorted and equal-heavy input, heapsort fallback; the unstable sort of Go and (until 1.81) Rust.
›
Fast hash functions
data-structures · low: Non-cryptographic hashes built from 64×64→128-bit multiplies and xor-shifts; pick by key size, trust level and whether the hash is persisted.
›
Edit distance
search-sort · low: Levenshtein/Damerau distance by DP, bit-parallel Myers variant
Huffman coding
compression · low: Optimal prefix code with whole-bit codeword lengths; table-driven decoding at about one symbol per few cycles, the entropy stage of DEFLATE, JPEG and zstd literals.
›
Run length encoding
compression · low: Run-length encoding of repeated values, often combined with delta and bit packing
Memory ordering
concurrency · low: What Relaxed, Acquire, Release and SeqCst atomics actually guarantee, what they cost on x86 and ARM, and which one each pattern needs.
›
fsync, O_DSYNC and O_DIRECT
hardware-os · low: What fsync, fdatasync, O_DSYNC, O_DIRECT and F_FULLFSYNC really guarantee on Linux and macOS, and the exact call sequences for crash-safe files.
›
Sparse matrices (CSR)
numerics · low: Compressed sparse row stores only nonzeros as row pointers, column indices and values; SpMV streams them once, so it is memory-bandwidth bound.
›
Radix sort
search-sort · low: Non-comparison sort that distributes keys by 8-bit digits; several times faster than comparison sorts on large arrays of integers, floats or fixed-size keys.
›
Copy for AI
Similar systems
Share the most building blocks with this one.
liquid-biopsy
25 %
sequencer-instrument
19 %