  Generating the hash values of short subsequences, called seeds, enables
quickly identifying similarities between genomic sequences by matching seeds
with a single lookup of their hash values. However, these hash values can be
used only for finding exact-matching seeds as the conventional hashing methods
assign distinct hash values for different seeds, including highly similar
seeds. Finding only exact-matching seeds causes either 1) increasing the use of
the costly sequence alignment or 2) limited sensitivity.
  We introduce BLEND, the first efficient and accurate mechanism that can
identify both exact-matching and highly similar seeds with a single lookup of
their hash values, called fuzzy seed matches. BLEND 1) utilizes a technique
called SimHash, that can generate the same hash value for similar sets, and 2)
provides the proper mechanisms for using seeds as sets with the SimHash
technique to find fuzzy seed matches efficiently.
  We show the benefits of BLEND when used in read overlapping and read mapping.
For read overlapping, BLEND is faster by 2.4x - 83.9x (on average 19.3x), has a
lower memory footprint by 0.9x - 14.1x (on average 3.8x), and finds higher
quality overlaps leading to accurate de novo assemblies than the
state-of-the-art tool, minimap2. For read mapping, BLEND is faster by 0.8x -
4.1x (on average 1.7x) than minimap2. Source code is available at
https://github.com/CMU-SAFARI/BLEND.
