Dependency discussion per CONTRIBUTING.md. Sister issue to the sufr one; both came out of the
same August 2026 survey.
The org
rust-seq (Ragnar Groot Koerkamp et al.), all MIT, all released
2026-07-07, all actively maintained:
| Crate |
Version |
What it is |
packed-seq |
5.0.0 |
Bitpacked DNA sequence trait + SIMD iteration |
simd-minimizers |
3.0.0 |
SIMD-accelerated random minimizers |
seq-hash |
0.2.0 |
Rolling k-mer hashes over bitpacked sequences |
minimizer-iter, minimizer-queue |
— |
Minimizer iteration / monotone-queue |
Verdict per crate, to confirm
packed-seq — the only one worth a measurement. We already do our own packing
(src/index/sa_index.rs, plus 2-bit work in src/solo/whitelist.rs and src/solo/mod.rs) and our
own SIMD scanning (src/align/simd_scan.rs). The question is narrow: does packed-seq's
SIMD iteration beat find_stop's hand-rolled 16-byte chunk scan, on a representation we can
actually adopt? Note the obstacle: our genome bytes are not 2-bit. Padding/spacer values >= 5 are
load-bearing in the scan (genome[i] >= 5 is a stop condition), so a 2-bit packed representation
cannot express them. That likely rules it out for the seed-extension path and confines it, at best,
to the barcode/whitelist side.
simd-minimizers, minimizer-iter, minimizer-queue, seq-hash — decline. STAR seeds by
maximal mappable prefix search in the suffix array. Minimizer or k-mer sketching changes which
seeds are found, therefore which alignments are reported, therefore faithfulness against STAR.
That is a structural no, independent of how fast the crates are.
Checklist
Dependency discussion per
CONTRIBUTING.md. Sister issue to thesufrone; both came out of thesame August 2026 survey.
The org
rust-seq (Ragnar Groot Koerkamp et al.), all MIT, all released
2026-07-07, all actively maintained:
packed-seq5.0.0simd-minimizers3.0.0seq-hash0.2.0minimizer-iter,minimizer-queueVerdict per crate, to confirm
packed-seq— the only one worth a measurement. We already do our own packing(
src/index/sa_index.rs, plus 2-bit work insrc/solo/whitelist.rsandsrc/solo/mod.rs) and ourown SIMD scanning (
src/align/simd_scan.rs). The question is narrow: doespacked-seq'sSIMD iteration beat
find_stop's hand-rolled 16-byte chunk scan, on a representation we canactually adopt? Note the obstacle: our genome bytes are not 2-bit. Padding/spacer values
>= 5areload-bearing in the scan (
genome[i] >= 5is a stop condition), so a 2-bit packed representationcannot express them. That likely rules it out for the seed-extension path and confines it, at best,
to the barcode/whitelist side.
simd-minimizers,minimizer-iter,minimizer-queue,seq-hash— decline. STAR seeds bymaximal mappable prefix search in the suffix array. Minimizer or k-mer sketching changes which
seeds are found, therefore which alignments are reported, therefore faithfulness against STAR.
That is a structural no, independent of how fast the crates are.
Checklist
>= 5padding argument above killspacked-seqforsimd_scan.rs(or find therepresentation where it does not)