Sassy2: Batch Searching of Short DNA Patterns
Abstract
MotivationSearching short DNA patterns such as barcodes, primers, or CRISPR spacers within sequencing reads or genomes is a fundamental task in bioinformatics. These problems are instances of multiple approximate string matching (MASM) [Baeza-Yates and Navarro, 1997], which requires locating all occurrences with up to k errors of multiple patterns of length m in a text of length n. Classical approaches based on seeding with exact matches become inefficient for short patterns (m [≤] 64 bp) as k increases, producing either many spurious hits or missing true matches. Our previous work, Sassy1, showed that careful hardware optimization drastically accelerates single-pattern searches in long texts by distributing chunks of the text across SIMD lanes. MethodsSassy2 distributes multiple patterns across SIMD lanes to maximize parallelism when searching batches of short patterns. When k is small, often only a short substring of the pattern of length O(k) is needed to reject a possible match. Thus, Sassy2 first examines short suffixes of the patterns (e.g., the last 16 bp of 32 bp patterns), allowing more (but smaller) parallel SIMD lanes. Only positions passing this suffix filter undergo full pattern verification. ResultsOn synthetic data, Sassy2 achieves 10-50x speedups over Sassy1 for short texts (n [≤] 200 bp) and 2-4x for large texts (n [≥] 1 Mbp). On real-world tasks with 16 threads, Sassy2 reaches over 100 Gbp/s text throughput per guide when searching 312 gRNAs across the human genome and 116 Gbp/s throughput when demultiplexing Nanopore reads with 96 barcodes. In both cases, Sassy2 outperforms Sassy1 by 2-5x and Edlib by 20-45x. AvailabilitySassy2 is implemented in Rust and available at github.com/RagnarGrootKoerkamp/sassy.
02 /Specification & Classification
Click any tag to browse matching papers- Citations
- 2
- Organism
- Assay
- Research Focus
- Approach
Reproducibility ledger
Nobody has reported trying to reproduce this paper yet. Did you replicate an experiment or run the code? Your report saves the next lab a week.
Sign in to file a reproducibility report.
Related papers
- Sassy: Fuzzy Searching DNA Sequences using SIMD
Rick Beeloo, Ragnar Groot Koerkamp·BioinformaticsPeer-reviewed·May 1, 2026
- Accelerating k-mer-based sequence filtering
Igor Martayan, Léa Vandamme, … Antoine Limasset·Peer Community JournalPeer-reviewed·Jun 17, 2026
- Quantum implementation of multi-pattern string matching for k-mer detection
Christos Papalitsas, Ioannis Mouratidis, … Grigorios Koulouras·Frontiers in BioinformaticsPeer-reviewed·Jun 12, 2026
- Optimum Search Schemes for Approximate String Matching Using Bidirectional FM-Index
Kiavash Kianfar, Christopher Pockrandt, … Knut Reinert·bioRxiv·Apr 14, 2018
- Powerful read processing with matchbox
Jakob Schuster, Kathleen Zeglinski, … Michael B. Clark·bioRxiv·Nov 9, 2025
- BWA-MEME: BWA-MEM emulated with a machine learning approach
Youngmok Jung, Dongsu Han·BioinformaticsPeer-reviewed·Mar 3, 2022