, Volume 78, Issue 2, pp 394–424

An External-Memory Algorithm for String Graph Construction

  • Paola Bonizzoni
  • Gianluca Della Vedova
  • Yuri Pirola
  • Marco Previtali
  • Raffaella Rizzi

DOI: 10.1007/s00453-016-0165-4

Cite this article as:
Bonizzoni, P., Della Vedova, G., Pirola, Y. et al. Algorithmica (2017) 78: 394. doi:10.1007/s00453-016-0165-4


Some recent results (Bauer et al. in Algorithms in bioinformatics, Springer, Berlin, pp 326–337, 2012; Cox et al. in Algorithms in bioinformatics, Springer, Berlin, pp. 214–224, 2012; Rosone and Sciortino in The nature of computation. Logic, algorithms, applications, Springer, Berlin, pp 353–364, 2013) have introduced external-memory algorithms to compute self-indexes of a set of strings, mainly via computing the Burrows–Wheeler transform of the input strings. The motivations for those results stem from Bioinformatics, where a large number of short strings (called reads) are routinely produced and analyzed. In that field, a fundamental problem is to assemble a genome from a large set of much shorter samples extracted from the unknown genome. The approaches that are currently used to tackle this problem are memory-intensive. This fact does not bode well with the ongoing increase in the availability of genomic data. A data structure that is used in genome assembly is the string graph, where vertices correspond to samples and arcs represent two overlapping samples. In this paper we address an open problem of Simpson and Durbin (Bioinformatics 26(12):i367–i373, 2010): to design an external-memory algorithm to compute the string graph.


External memory algorithms Burrows–Wheeler transform String graphs Genome assembly 

Copyright information

© Springer Science+Business Media New York 2016

Authors and Affiliations

  1. 1.DISCoUniversità degli Studi di Milano-BicoccaMilanItaly

Personalised recommendations