Locality-sensitive bucketing functions for the edit distance

Abstract Background Many bioinformatics applications involve bucketing a set of sequences where each sequence is allowed to be assigned into multiple buckets. To achieve both high sensitivity and precision, bucketing methods are desired to assign similar sequences into the same bucket while assignin...

Full description

Bibliographic Details
Main Authors: Ke Chen, Mingfu Shao
Format: Article
Language:English
Published: BMC 2023-07-01
Series:Algorithms for Molecular Biology
Subjects:
Online Access:https://doi.org/10.1186/s13015-023-00234-2
_version_ 1797769671527628800
author Ke Chen
Mingfu Shao
author_facet Ke Chen
Mingfu Shao
author_sort Ke Chen
collection DOAJ
description Abstract Background Many bioinformatics applications involve bucketing a set of sequences where each sequence is allowed to be assigned into multiple buckets. To achieve both high sensitivity and precision, bucketing methods are desired to assign similar sequences into the same bucket while assigning dissimilar sequences into distinct buckets. Existing k-mer-based bucketing methods have been efficient in processing sequencing data with low error rates, but encounter much reduced sensitivity on data with high error rates. Locality-sensitive hashing (LSH) schemes are able to mitigate this issue through tolerating the edits in similar sequences, but state-of-the-art methods still have large gaps. Results In this paper, we generalize the LSH function by allowing it to hash one sequence into multiple buckets. Formally, a bucketing function, which maps a sequence (of fixed length) into a subset of buckets, is defined to be $$(d_1, d_2)$$ ( d 1 , d 2 ) -sensitive if any two sequences within an edit distance of $$d_1$$ d 1 are mapped into at least one shared bucket, and any two sequences with distance at least $$d_2$$ d 2 are mapped into disjoint subsets of buckets. We construct locality-sensitive bucketing (LSB) functions with a variety of values of $$(d_1,d_2)$$ ( d 1 , d 2 ) and analyze their efficiency with respect to the total number of buckets needed as well as the number of buckets that a specific sequence is mapped to. We also prove lower bounds of these two parameters in different settings and show that some of our constructed LSB functions are optimal. Conclusion These results lay the theoretical foundations for their practical use in analyzing sequences with high error rates while also providing insights for the hardness of designing ungapped LSH functions.
first_indexed 2024-03-12T21:12:22Z
format Article
id doaj.art-d94414ea00ea4731860621927db839ab
institution Directory Open Access Journal
issn 1748-7188
language English
last_indexed 2024-03-12T21:12:22Z
publishDate 2023-07-01
publisher BMC
record_format Article
series Algorithms for Molecular Biology
spelling doaj.art-d94414ea00ea4731860621927db839ab2023-07-30T11:07:33ZengBMCAlgorithms for Molecular Biology1748-71882023-07-0118111310.1186/s13015-023-00234-2Locality-sensitive bucketing functions for the edit distanceKe Chen0Mingfu Shao1Department of Computer Science and Engineering, The Pennsylvania State UniversityDepartment of Computer Science and Engineering, The Pennsylvania State UniversityAbstract Background Many bioinformatics applications involve bucketing a set of sequences where each sequence is allowed to be assigned into multiple buckets. To achieve both high sensitivity and precision, bucketing methods are desired to assign similar sequences into the same bucket while assigning dissimilar sequences into distinct buckets. Existing k-mer-based bucketing methods have been efficient in processing sequencing data with low error rates, but encounter much reduced sensitivity on data with high error rates. Locality-sensitive hashing (LSH) schemes are able to mitigate this issue through tolerating the edits in similar sequences, but state-of-the-art methods still have large gaps. Results In this paper, we generalize the LSH function by allowing it to hash one sequence into multiple buckets. Formally, a bucketing function, which maps a sequence (of fixed length) into a subset of buckets, is defined to be $$(d_1, d_2)$$ ( d 1 , d 2 ) -sensitive if any two sequences within an edit distance of $$d_1$$ d 1 are mapped into at least one shared bucket, and any two sequences with distance at least $$d_2$$ d 2 are mapped into disjoint subsets of buckets. We construct locality-sensitive bucketing (LSB) functions with a variety of values of $$(d_1,d_2)$$ ( d 1 , d 2 ) and analyze their efficiency with respect to the total number of buckets needed as well as the number of buckets that a specific sequence is mapped to. We also prove lower bounds of these two parameters in different settings and show that some of our constructed LSB functions are optimal. Conclusion These results lay the theoretical foundations for their practical use in analyzing sequences with high error rates while also providing insights for the hardness of designing ungapped LSH functions.https://doi.org/10.1186/s13015-023-00234-2Locality-sensitive hashingLocality-sensitive bucketingLong readsEmbedding
spellingShingle Ke Chen
Mingfu Shao
Locality-sensitive bucketing functions for the edit distance
Algorithms for Molecular Biology
Locality-sensitive hashing
Locality-sensitive bucketing
Long reads
Embedding
title Locality-sensitive bucketing functions for the edit distance
title_full Locality-sensitive bucketing functions for the edit distance
title_fullStr Locality-sensitive bucketing functions for the edit distance
title_full_unstemmed Locality-sensitive bucketing functions for the edit distance
title_short Locality-sensitive bucketing functions for the edit distance
title_sort locality sensitive bucketing functions for the edit distance
topic Locality-sensitive hashing
Locality-sensitive bucketing
Long reads
Embedding
url https://doi.org/10.1186/s13015-023-00234-2
work_keys_str_mv AT kechen localitysensitivebucketingfunctionsfortheeditdistance
AT mingfushao localitysensitivebucketingfunctionsfortheeditdistance