Language and Automata Theory and Applications

Volume 8977 of the series Lecture Notes in Computer Science pp 109-120


Construction of a de Bruijn Graph for Assembly from a Truncated Suffix Tree

  • Bastien CazauxAffiliated withL.I.R.M.M. and Institut Biologie Computationnelle, Université de Montpellier II, CNRS U.M.R. 5506
  • , Thierry LecroqAffiliated withLITIS EA 4108, NormaStic CNRS FR 3638, Université de Rouen
  • , Eric RivalsAffiliated withL.I.R.M.M. and Institut Biologie Computationnelle, Université de Montpellier II, CNRS U.M.R. 5506 Email author 

* Final gross prices may vary according to local VAT.

Get Access


In the life sciences, determining the sequence of bio-molecules is essential step towards the understanding of their functions and interactions inside an organism. Powerful technologies allows to get huge quantities of short sequencing reads that need to be assemble to infer the complete target sequence. These constraints favour the use of a version de Bruijn Graph (DBG) dedicated to assembly. The de Bruijn Graph is usually built directly from the reads, which is time and space consuming. Given a set \(R\) of input words, well-known data structures, like the generalised suffix tree, can index all the substrings of words in \(R\). In the context of DBG assembly, only substrings of length \(k+1\) and some of length \(k\) are useful. A truncated version of the suffix tree can index those efficiently. As indexes are exploited for numerous purposes in bioinformatics, as read cleaning, filtering, or even analysis, it is important to enable the community to reuse an existing index to build the DBG directly from it. In an earlier work we provided the first algorithms when starting from a suffix tree or suffix array. Here, we exhibit an algorithm that exploits a reduced version of the truncated suffix tree and computes the DBG from it. Importantly, a variation of this algorithm is also shown to compute the contracted DBG, which offers great benefits in practice. Both algorithms are linear in time and space in the size of the output.


Stringology Text Algorithms Indexing Data Structures De Bruijn Graph Assembly Space Complexity Dynamic Update