Abstract
Motivation: Approximate string matching (ASM) is the problem of finding all occurrences of a pattern in a text while allowing up to k errors. Many modern methods use seed-chain-extend, which is fast in practice, but does not guarantee finding all matches with (Formula presented) errors. However, applications such as CRISPR off-target detection require exhaustive results. Results: We introduce Sassy, a library and tool for ASM of short patterns in long texts. Sassy splits the text into four parts that are searched in parallel, and uses bitvectors in the text direction rather than the pattern direction. This has complexity (Formula presented) when searching a random text of length n, where (Formula presented) is the SIMD width, and provides significant speedups for small k. Separately, we allow matches of the pattern to extend beyond the text for an overhang cost of, e.g. (Formula presented) per character, to find matches near contig or read ends. Sassy is (Formula presented) to (Formula presented) faster than Edlib for patterns (Formula presented) bp, and can search text with a throughput near 2 Gbp/s. Likewise, Sassy is over (Formula presented) faster than parasail. We apply Sassy to CRISPR off-target detection by searching 61 guide sequences in a human genome. Sassy is (Formula presented) faster than SWOffinder and only slightly slower (for (Formula presented) ) than CHOPOFF, for which building its index takes 20 min. Sassy also scales well to larger k, unlike CHOPOFF whose index took over 10 h to build for (Formula presented). Availability and implementation: Sassy is available as library and binary at https://github.com/RagnarGrootKoerkamp/sassy, and archived at swh:1:dir:e884758dce5777a441bc2799dc8824e563c5f97b.
Cite
CITATION STYLE
Beeloo, R., & Groot Koerkamp, R. (2026). Sassy: fuzzy searching DNA sequences using SIMD. Bioinformatics, 42(5). https://doi.org/10.1093/bioinformatics/btag244
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.