Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
110 tokens/sec
GPT-4o
56 tokens/sec
Gemini 2.5 Pro Pro
44 tokens/sec
o3 Pro
6 tokens/sec
GPT-4.1 Pro
47 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

Practical algorithms for Hierarchical overlap graphs (2402.13920v3)

Published 21 Feb 2024 in cs.DS

Abstract: Genome assembly is a prominent problem studied in bioinformatics, which computes the source string using a set of its overlapping substrings. Classically, genome assembly uses assembly graphs built using this set of substrings to compute the source string efficiently, having a tradeoff between scalability and avoiding information loss. The scalable de Bruijn graphs come at the price of losing crucial overlap information. The complete overlap information is stored in overlap graphs using quadratic space. Hierarchical overlap graphs IPL20 overcome these limitations, avoiding information loss despite using linear space. After a series of suboptimal improvements, Khan and Park et al. simultaneously presented two optimal algorithms [CPM2021], where only the former was seemingly practical. We empirically analyze all the algorithms for computing Hierarchical overlap graphs, 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 algorithm, using only elementary arrays, which is also optimal. Our algorithm empirically proves even better for both time and memory over all the algorithms, highlighting its significance in both theory and practice. We further explore the applications of hierarchical overlap graphs to solve variants of suffix-prefix queries on a set of strings, recently 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.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (28)
  1. Efficient string matching: An aid to bibliographic search. Commun. ACM, 18(6):333–340, 1975. doi:10.1145/360825.360855.
  2. hybridspades: an algorithm for hybrid assembly of short and long reads. Bioinform., 32(7):1009–1015, 2016. doi:10.1093/BIOINFORMATICS/BTV688.
  3. Spades: A new genome assembly algorithm and its applications to single-cell sequencing. J. Comput. Biol., 19(5):455–477, 2012. doi:10.1089/CMB.2012.0021.
  4. The compressed overlap index. CoRR, abs/1707.05613, 2017. arXiv:1707.05613.
  5. Shortest DNA cyclic cover in compressed space. In Ali Bilgin, Michael W. Marcellin, Joan Serra-Sagristà, and James A. Storer, editors, 2016 Data Compression Conference, DCC 2016, Snowbird, UT, USA, March 30 - April 1, 2016, pages 536–545. IEEE, 2016. doi:10.1109/DCC.2016.79.
  6. Hierarchical overlap graph. Inf. Process. Lett., 155, 2020. doi:10.1016/J.IPL.2019.105862.
  7. Readjoiner: a fast and memory efficient string graph-based sequence assembler. BMC Bioinform., 13:82, 2012. doi:10.1186/1471-2105-13-82.
  8. An efficient algorithm for the all pairs suffix-prefix problem. Inf. Process. Lett., 41(4):181–185, 1992. doi:10.1016/0020-0190(92)90176-V.
  9. A practical and scalable tool to find overlaps between sequences. BioMed Research International, 2015:905261, Apr 2015. doi:10.1155/2015/905261.
  10. Shahbaz Khan. Optimal construction of hierarchical overlap graphs. In Pawel Gawrychowski and Tatiana Starikovskaya, editors, 32nd Annual Symposium on Combinatorial Pattern Matching, CPM 2021, July 5-7, 2021, Wrocław, Poland, volume 191 of LIPIcs, pages 17:1–17:11. Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 2021. doi:10.4230/LIPICS.CPM.2021.17.
  11. Fast pattern matching in strings. SIAM J. Comput., 6(2):323–350, 1977. doi:10.1137/0206024.
  12. A fast algorithm for the all-pairs suffix-prefix problem. Theor. Comput. Sci., 698:14–24, 2017. doi:10.1016/J.TCS.2017.07.013.
  13. All-pairs suffix/prefix in optimal time using aho-corasick space. Inf. Process. Lett., 178:106275, 2022. doi:10.1016/J.IPL.2022.106275.
  14. Suffix-prefix queries on a dictionary. In Laurent Bulteau and Zsuzsanna Lipták, editors, 34th Annual Symposium on Combinatorial Pattern Matching, CPM 2023, June 26-28, 2023, Marne-la-Vallée, France, volume 259 of LIPIcs, pages 21:1–21:20. Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 2023. doi:10.4230/LIPICS.CPM.2023.21.
  15. GAGE-B: an evaluation of genome assemblers for bacterial organisms. Bioinform., 29(14):1718–1725, 2013. doi:10.1093/BIOINFORMATICS/BTT273.
  16. Suffix arrays: A new method for on-line string searches. SIAM J. Comput., 22(5):935–948, 1993. doi:10.1137/0222058.
  17. Eugene W. Myers. The fragment assembly string graph. In ECCB/JBI’05 Proceedings, Fourth European Conference on Computational Biology/Sixth Meeting of the Spanish Bioinformatics Network (Jornadas de BioInformática), Palacio de Congresos, Madrid, Spain, September 28 - October 1, 2005, page 85, 2005. doi:10.1093/BIOINFORMATICS/BTI1114.
  18. metaspades: A new versatile de novo metagenomics assembler. In Mona Singh, editor, Research in Computational Molecular Biology - 20th Annual Conference, RECOMB 2016, Santa Monica, CA, USA, April 17-21, 2016, Proceedings, volume 9649 of Lecture Notes in Computer Science, page 258. Springer, 2016. URL: https://link.springer.com/content/pdf/bbm%3A978-3-319-31957-5%2F1.pdf.
  19. Efficient algorithms for the all-pairs suffix-prefix problem and the all-pairs substring-prefix problem. Inf. Process. Lett., 110(3):123–128, 2010. doi:10.1016/J.IPL.2009.10.015.
  20. A linear time algorithm for constructing hierarchical overlap graphs. In Pawel Gawrychowski and Tatiana Starikovskaya, editors, 32nd Annual Symposium on Combinatorial Pattern Matching, CPM 2021, July 5-7, 2021, Wrocław, Poland, volume 191 of LIPIcs, pages 22:1–22:9. Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 2021. doi:10.4230/LIPICS.CPM.2021.22.
  21. Efficient construction of hierarchical overlap graphs. In Christina Boucher and Sharma V. Thankachan, editors, String Processing and Information Retrieval - 27th International Symposium, SPIRE 2020, Orlando, FL, USA, October 13-15, 2020, Proceedings, volume 12303 of Lecture Notes in Computer Science, pages 277–290. Springer, 2020. doi:10.1007/978-3-030-59212-7_20.
  22. P. A. Pevzner. l-Tuple DNA sequencing: computer analysis. Journal of Biomolecular Structure & Dynamics, 7(1):63–73, August 1989.
  23. An eulerian path approach to dna fragment assembly. Proceedings of the National Academy of Sciences of the United States of America, 98(17):9748–9753, 2001.
  24. Efficient construction of an assembly string graph using the fm-index. Bioinform., 26(12):367–373, 2010. doi:10.1093/BIOINFORMATICS/BTQ217.
  25. An improved algorithm for the all-pairs suffix-prefix problem. J. Discrete Algorithms, 37:34–43, 2016. doi:10.1016/J.JDA.2016.04.002.
  26. Esko Ukkonen. A linear-time algorithm for finding approximate shortest common superstrings. Algorithmica, 5(3):313–323, 1990. doi:10.1007/BF01840391.
  27. Peter Weiner. Linear pattern matching algorithms. In 14th Annual Symposium on Switching and Automata Theory, Iowa City, Iowa, USA, October 15-17, 1973, pages 1–11. IEEE Computer Society, 1973. doi:10.1109/SWAT.1973.13.
  28. Velvet: algorithms for de novo short read assembly using de bruijn graphs. Genome research, 18(5):821—829, May 2008. doi:10.1101/gr.074492.107.
User Edit Pencil Streamline Icon: https://streamlinehq.com
Authors (4)
  1. Saumya Talera (1 paper)
  2. Parth Bansal (1 paper)
  3. Shabnam Khan (1 paper)
  4. Shahbaz Khan (20 papers)
Citations (1)

Summary

We haven't generated a summary for this paper yet.