One of the most prominent problems studied in bioinformatics is genome assembly, where, given a set of overlapping substrings of a source string, the aim is to compute the source string. Most classical approaches to genome assembly use assembly graphs built using this set of substrings to compute the source string efficiently. Prominent such graphs present a tradeoff between scalability and avoiding information loss. The space efficient (hence scalable) de Bruijn graphs come at the price of losing crucial overlap information. On the other hand, complete overlap information is maintained by overlap graphs at the expense of quadratic space. Hierarchical overlap graphs (HOG) were introduced by Cazaux and Rivals [IPL20] to overcome these limitations, i.e., avoiding information loss despite using linear space. However, their algorithm required superlinear space and time. After a series of suboptimal improvements, two optimal algorithms were simultaneously presented by Khan [CPM2021] and Park et al. [CPM2021]. We empirically analyze all the algorithms for computing HOG, where the optimal algorithm [CPM2021] outperforms the previous algorithms as expected. However, it is still based on relatively complex arguments for its formal proof and uses relatively complex data structures for its implementation. We present an intuitive, optimal algorithm requiring linear space and time, which uses only elementary arrays. The superior performance of the optimal algorithm [CPM2021] over previous algorithms comes at the expense of extra memory. Our algorithm empirically proves to be even better for both time and memory over all the algorithms, highlighting its significance in both theory and practice. We also explore the applications of the HOG to solve the variants of suffix-prefix queries on a set of strings, studied by Loukides et al. [CPM2023]. They presented state-of-the-art algorithms requiring complex black-box data structures, making them seemingly impractical. Our algorithms, despite failing to match their theoretical bounds, answer queries in 0.002-100 ms for datasets having around a billion characters, improving 18- \(1300\times \) over KMP for complex queries. Our result also unknowingly answered an open question regarding the construction of HOG by Kikuchi and Inenaga [SPIRE2024].

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Practical Algorithms for Hierarchical Overlap Graphs

  • Saumya Talera,
  • Parth Bansal,
  • Shabnam Khan,
  • Shahbaz Khan

摘要

One of the most prominent problems studied in bioinformatics is genome assembly, where, given a set of overlapping substrings of a source string, the aim is to compute the source string. Most classical approaches to genome assembly use assembly graphs built using this set of substrings to compute the source string efficiently. Prominent such graphs present a tradeoff between scalability and avoiding information loss. The space efficient (hence scalable) de Bruijn graphs come at the price of losing crucial overlap information. On the other hand, complete overlap information is maintained by overlap graphs at the expense of quadratic space. Hierarchical overlap graphs (HOG) were introduced by Cazaux and Rivals [IPL20] to overcome these limitations, i.e., avoiding information loss despite using linear space. However, their algorithm required superlinear space and time. After a series of suboptimal improvements, two optimal algorithms were simultaneously presented by Khan [CPM2021] and Park et al. [CPM2021]. We empirically analyze all the algorithms for computing HOG, where the optimal algorithm [CPM2021] outperforms the previous algorithms as expected. However, it is still based on relatively complex arguments for its formal proof and uses relatively complex data structures for its implementation. We present an intuitive, optimal algorithm requiring linear space and time, which uses only elementary arrays. The superior performance of the optimal algorithm [CPM2021] over previous algorithms comes at the expense of extra memory. Our algorithm empirically proves to be even better for both time and memory over all the algorithms, highlighting its significance in both theory and practice. We also explore the applications of the HOG to solve the variants of suffix-prefix queries on a set of strings, studied by Loukides et al. [CPM2023]. They presented state-of-the-art algorithms requiring complex black-box data structures, making them seemingly impractical. Our algorithms, despite failing to match their theoretical bounds, answer queries in 0.002-100 ms for datasets having around a billion characters, improving 18- \(1300\times \) over KMP for complex queries. Our result also unknowingly answered an open question regarding the construction of HOG by Kikuchi and Inenaga [SPIRE2024].