What is the difference between the breakpoint graph and the de Bruijn graph?
- Yu Lin^{1},
- Sergey Nurk^{2, 3} and
- Pavel A Pevzner^{1}Email author
https://doi.org/10.1186/1471-2164-15-S6-S6
© Lin et al.; licensee BioMed Central Ltd. 2014
Published: 17 October 2014
Abstract
The breakpoint graph and the de Bruijn graph are two key data structures in the studies of genome rearrangements and genome assembly. However, the classical breakpoint graphs are defined on two genomes (represented as sequences of synteny blocks), while the classical de Bruijn graphs are defined on a single genome (represented as DNA strings). Thus, the connection between these two graph models is not explicit. We generalize the notions of both the breakpoint graph and the de Bruijn graph, and make it transparent that the breakpoint graph and the de Bruijn graph are mathematically equivalent. The explicit description of the connection between these important data structures provides a bridge between two previously separated bioinformatics communities studying genome rearrangements and genome assembly.
Keywords
Introduction
The de Bruijn graph is a data structure first brought to bioinformatics as a method to assemble genomes from the experimental data generated by sequencing by hybridization [1]. It later became the key algorithmic technique in genome assembly [2, 3] that resulted in dozens of software tools [4–12]. In addition, the de Bruijn graphs have been used for repeat classification [13], de novo protein sequencing [14], synteny block construction [15, 16], multiple sequence alignment [17], and other applications in genomics and proteomics.
The breakpoint graph is a data structure introduced to study the reversal distance [18], which has formed the basis for much algorithmic research on rearrangements over the last two decades [19].
Since the connections between the breakpoint graphs and the de Bruijn graphs was never explicitly described, researchers studying genome rearrangements often do not realize that breakpoint graphs are merely de Bruijn graphs in disguise. As a result, they often do not know how to move from the traditional breakpoint graphs on synteny blocks to the breakpoint graphs on genomes (with "single nucleotide" resolution), particularly in the case of double-stranded genomes with inverted repeats. Likewise, researchers working in genome assembly are often unaware about the connections between the de Bruijn graphs and the breakpoint graphs. As a result, the exchange of ideas between these two communities has been limited. For example, Iqbal et al. [20] recently introduced the notion of the colored de Bruijn graphs that resulted in a popular Cortex assembler. While the notion of the colored de Bruijn graphs is essentially identical to the notion of the breakpoint graph, authors of [20] are probably unaware about this connection since they provided no references to previous genome rearrangement studies. This is unfortunate since various results about the breakpoint graphs (e.g., the connection between rearrangements and alternating cycles) remained beyond the scope of this very useful study.
Recently, genome rearrangement studies moved from the level of synteny blocks to the level of single nucleotides [21]. Likewise, genome assembly experts recently moved towards the analysis of structural variations and comparative assembly of related species based on the analysis of the de Bruijn graphs [20]. We thus argue that the time has come to explain that the breakpoint graphs and the de Bruijn graphs are two identical data structures (if one ignores a cosmetic difference between them) as they both represent specific instances of a general notion of the A-Bruijn graph introduced in [13]. The A-Bruijn graphs are based on representing genomes as sets of labeled paths and further gluing identically labeled edges (breakpoint graphs) or vertices (de Bruijn graphs) in the resulting paths.
The multiple breakpoint graphs [27] are constructed from a set of k > 2 genomes using the same procedure. While every synteny block appears just once in each of the genomes shown above, the definition of the breakpoint graph naturally extends to the case when a synteny block appears multiple times (or does not appear in a particular genome).
The classical de Bruijn graph is defined on a single genome (represented as a DNA string), while the classical breakpoint graph is defined on two genomes (represented as sequences of synteny blocks). Since synteny blocks are DNA strings, the question arises whether one can study both the de Bruijn graph and the breakpoint graph in the same framework, and what is the difference between the de Bruijn graph and the breakpoint graph.
In this paper, we generalize the definitions of both the de Bruijn graph and the breakpoint graph for both single and multiple genomes and for both single-stranded and double-stranded cases. We further show that the breakpoint graph and the de Bruijn graph are mathematically equivalent.
A single genome (single-stranded case)
The correspondence between BP(String, k) and DB(String, k).
DB(String, k) | BP(String, k) | |
---|---|---|
(k-1)-mer | a vertex | a black directed edge |
k-mer | a directed blue edge | a directed blue edge |
glue | the vertex | the black directed edge |
synteny block | the vertex | the black directed edge |
breakpoint region | the directed blue edge | the directed blue edge |
Multiple genomes (single-stranded case)
Given genomes G_{ A } and G_{ B } (represented as sets of strings), we classify their k-mers into 3 classes: A (occur only in G_{ A }), B (occur only in G_{ B }) and AB (occur in both G_{ A } and G_{ B }).
In practice, both BP (G_{ A }, G_{ B }, k) and DB(G_{ A }, G_{ B }, k) are often condensed as follows.
A non-branching directed path consisting of 3 edges is called condensible in BP(G_{ A }, G_{ B }, k) if its middle edge is black and its starting and ending edges have the same color C. We substitute a condensible path by a single directed edge colored C with the same direction as the direction of the path. The condensed breakpoint graph CBP(G_{ A }, G_{ B }, k) iteratively replaces all condensible paths by single edges in BP(G_{ A }, G_{ B }, k) (Figure 7(c)). A new edge resulting from condensing a nonbranching path formed by edges e_{1}, e_{2}, and e_{3} is assigned a label whose prefix is a label of e_{1} and whose suffix is the label of e_{3} (labeling of edges in the condensed graphs is not the focus of this paper and is not discussed in the examples below).
A non-branching directed path consisting of 2 edges is called condensible in DB(G_{ A }, G_{ B }, k) if its starting and ending edges have the same color C. We substitute a condensible path by a single edge colored C with the same direction as the direction of the path. The condensed de Bruijn graph CDB(G_{ A }, G_{ B }, k) iteratively replaces all condensible paths by single edges in DB(G_{ A }, G_{ B }, k) (Figure 8(c)).
Note that both the condensed breakpoint graph in Figure 7(c) and the condensed de Bruijn graph in Figure 8(c) reveal an alternating red-blue cycle on 6 edges, a signature of a transposition. While researchers working on genome rearrangements are well aware about alternating cycles in the breakpoint graphs, the researchers working on de Bruijn graphs may not know that these cycles represent fingerprints of rearrangements.
The correspondence between DB(G_{ A }, G_{ B }, k) and BP(G_{ A }, G_{ B }, k) (under the single-stranded representation).
DB(G_{A}, G_{B}, k) | BP(G_{A}, G_{B}, k) | |
---|---|---|
(k-1)-mer | vertex | black directed edge (E_{1}) |
k-mer | directed edge | directed edge (E_{2}) |
color | red/blue/green directed edge blue in G_{ A }, red in G_{ B }, green in both G_{ A } and G_{ B } | red/blue/green directed edge (E_{2}) blue in G_{ A }, red in G_{ B }, green in both G_{ A } and G_{ B } |
glue | vertex | E _{1} |
synteny block as a path | vertex-green edge-. . .-vertex | E_{1} -green E_{2}-. . .-E_{1} |
breakpoint region as a path | red edge-vertex. . .-red edge blue edge-vertex-. . .-blue edge | red E_{2} -E_{1}-. . .-red E_{2} blue E_{2} -E_{1}-. . .-blue E_{2} |
condensing paths into edges | red edge-vertex-red edge → red edge blue edge-vertex-blue edge → blue edge green edge-vertex-green edge → green edge | red E_{2} -E_{1}-red E_{2} → red E_{2} blue E_{2}-E_{1}-blue E_{2} → blue E_{2} green E_{2}-E_{1}-green E_{2} → green E_{2} |
after condensation | CDB(G_{ A }, G_{ B }, k) | CBP(G_{ A }, G_{ B }, k) |
synteny block in condensed graph | vertex-green edge-vertex | E_{1}-green E_{2}-E_{1} |
breakpoint region in condensed graph | red edge blue edge | red E_{2} blue E_{2} |
While the above notions of the breakpoint graph and the de Bruijn graph were defined for 2 genomes, they naturally generalize to any number of genomes [27].
A single genome (double-stranded case)
We now generalize the notions of the de Bruijn and breakpoint graphs from single-stranded to double-stranded genomes. Instead of the explicit representation of both strands (like in most existing assemblers), we describe a more efficient representation that encodes both strands in a single canonical strand (compare with similar representations of both strands in SPAdes [12] and some other assemblers).
For a nucleotide x, we denote its complementary nucleotide as $\overline{x}$, e.g., $\overline{A}=T$ T and $\overline{C}=G$. Given a k-mer s = s_{1}s_{2} . . . s_{k}, we define its reverse complement as the k-mer $\overline{s}=\overline{{s}_{k}}\dots \overline{{s}_{2}}\phantom{\rule{2.77695pt}{0ex}}\overline{{s}_{1}}$. We call a k-mer canonical if it is smaller or equal (in the lexicographic order) than its reverse complement. For example, AG and AT are canonical 2-mers but CT is not a canonical 2-mer. In this section, we will represent strings as paths labeled only by canonical k-mers and will define the breakpoint and de Bruijn graphs as the results of gluing these paths.
To transform a standard path Path_{ DB } (String, k) into a canonical path CPath_{ DB } (String, k), we simply change labels of all vertices labeled by non-canonical (k-1)-mers into their reverse complements (see Figure 10, right).
After transforming standard paths Path_{ BP } (String, k) and Path_{ DB } (String, k) into a canonical paths CPath_{ BP } (String, k) and CPath_{ DB } (String, k) respectively, the definition of the breakpoint graph (gluing of identically labeled black edges in CPath_{ BP } (String, k)) and the de Bruijn graph (gluing of identically labeled vertices in CPath_{ BP } (String, k)) remain unchanged. Pairs of k-mer edges are also glued if they represent the reverse complement k-mer of each other and are labeled by both k-mers. The graphs obtained after gluing these paths are called the double-stranded breakpoint graph BP* (String, k) and the double-stranded de Bruijn graph DB* (String, k) (Figure 10). While BP*(String, k) makes use of the direction of the black edge to represent whether the canonical string or its reverse complement is
used, DB* (String, k) collapses all black edges into vertices and no longer maintains the direction information to distinguish these two possibilities. A pair of vertices in DB* (String, k) labeled by canonical (k-1)-mers v and w may potentially correspond to 4 types of edges depending on whether the edge connects (i) v and w, (ii) v and $\overline{w}$, (iii) $\overline{v}$ and w, and (iv) $\overline{v}$ and $\overline{w}$ (compare to the bi-directed de Bruijn graph [29]).
As before, DB*(String, k) is obtained from BP*(String, k) by collapsing all black edges, while BP*(String, k) is obtained from DB*(String, k) by expanding all vertices into black edges (and connecting black edges according to the labels on the colored edges).
One may notice that while the double-stranded de Bruijn graph is similar to the bi-directional de Bruijn graph introduced in [29], it does not require the explicit introduction of the bi-directional edges. The notions of the double-stranded breakpoint graphs and de Bruijn graphs also can be naturally extended from a single double-stranded string to multiple double-stranded strings.
Multiple genomes (double-stranded case)
Given a string String = s_{1}s_{2} . . . s_{i−1}s_{ i }s_{ i+1 } . . . s_{ j−1 } s_{ j } s_{ j+1 } . . . s_{ n−1 }s_{ n }, a reversal of the segment s_{ i }s_{ i+1 } . . . s_{ j−1 }s_{j} results in a string ${s}_{1}{s}_{2}\cdots \overline{{s}_{j}}\phantom{\rule{2.77695pt}{0ex}}\overline{{s}_{j-1}}\cdots \overline{{s}_{i+1}}\phantom{\rule{2.77695pt}{0ex}}\overline{{s}_{i}}\phantom{\rule{2.77695pt}{0ex}}{s}_{j+1}\cdots {s}_{n-1}{s}_{n}$ where this segment is substituted by its reverse complement. Below we illustrate that reversals are represented as usual alternating blue-red cycles in the condensed double-stranded breakpoint and de Bruijn graphs.
Given two genomes G_{ A } and G_{ B }, we classify each k-mer s into 3 classes: A (if either s or $\overline{s}$ belongs to G_{ A } but neither s or $\overline{s}$ belongs to G_{ B }), B (if either s or $\overline{s}$ belongs to G_{ B } but neither s or $\overline{s}$ belongs to G_{ A }) and AB (if both G_{ A } and G_{ B } contain either S or $\overline{S}$).
Both BP*(G_{ A }, G_{ B }, k) and DB*(G_{ A }, G_{ B }, k) can be further condensed as described in Table 2 resulting in the condensed double-stranded breakpoint graph CBP* (G_{ A }, G_{ B }, k) and the condensed double-stranded de Bruijn graph CDB*(G_{ A }, G_{ B }, k), respectively (Figure 11(c) and Figure 12(c)).
As before, BP*(G_{ A }, G_{ B }, k) (CBP*(G_{ A }, G_{ B }, k)) is obtained from DB*(G_{ A }, G_{ B }, k) (CDB*(G_{ A }, G_{ B }, k)) by collapsing all black edges, while DB*(G_{ A }, G_{ B }, k) (CDB* (G_{ A }, G_{ B }, k)) is obtained from BP*(G_{ A }, G_{ B }, k) (CBP*(G_{ A }, G_{ B }, k)) by expanding all vertices into black edges (and connecting black edges according to the labels on the colored edges).
While the above notions of the double-stranded breakpoint graph and the double-stranded de Bruijn graph were defined for 2 genomes, they naturally generalize to any number of genomes.
Conclusion
We described the connection between the breakpoint graph and the de Bruijn graph that reveals that these constructions (that have been treated as two different data structures for over two decades) are essentially identical. We believe that the explicit description of this connection will contribute to a dialog between two previously separated bioinformatics communities studying genome rearrangements and genome assembly. It may also clarify the connection between the breakpoint graph, the de Bruijn graph, and the string graph introduced by Myers [30], another powerful paradigm for genome assembly. As hinted by Pop [31], the string graphs are functionally equivalent to the de Bruijn graphs, e.g., the comparison of Figure 1 in [30] and Figure 2 in [13]) suggests that the string graph is a special case of the ABruijn graph. Simpson and Durbin [32] further suggested that the de Bruijn graph and the string graph constructions on all the k-mers of a genome (using parameter τ = k − 1 for the string graph) are equivalent. However, the explicit description of this equivalence is still missing and we hope that the proposed A-Bruijn graph framework can be further extended to cover the string graphs as well.
Declarations
Acknowledgements
YL was supported by the Swiss National Science Foundation (grant no. 146708). SN and PAP were supported by the Government of the Russian Federation (grant no. 11.G34.31.0018).
Declarations
Publication costs for this article were funded by St. Petersburg Academic University.
This article has been published as part of BMC Genomics Volume 15 Supplement 6, 2014: Proceedings of the Twelfth Annual Research in Computational Molecular Biology (RECOMB) Satellite Workshop on Comparative Genomics. The full contents of the supplement are available online at http://www.biomedcentral.com/bmcgenomics/supplements/15/S6.
Authors’ Affiliations
References
- Pevzner PA: l-tuple DNA sequencing: computer analysis. J Biomol Struct Dyn. 1989, 7: 63-73.PubMedGoogle Scholar
- Idury RM, Waterman MS: A new algorithm for DNA sequence assembly. J Comput Biol. 1995, 2 (2): 291-306. 10.1089/cmb.1995.2.291.PubMedView ArticleGoogle Scholar
- Pevzner PA, Tang H, Waterman MS: An Eulerian path approach to DNA fragment assembly. Proc Nat'l Acad Sci USA. 2001, 98 (17): 9748-10.1073/pnas.171285098.View ArticleGoogle Scholar
- Zerbino DR, Birney E: Velvet: algorithms for de novo short read assembly using de Bruijn graphs. Genome Research. 2008, 18 (5): 821-829. 10.1101/gr.074492.107.PubMedPubMed CentralView ArticleGoogle Scholar
- Chaisson MJ, Pevzner PA: Short read fragment assembly of bacterial genomes. Genome Research. 2008, 18 (2): 324-330. 10.1101/gr.7088808.PubMedPubMed CentralView ArticleGoogle Scholar
- Simpson JT, Wong K, Jackman SD, Schein JE, Jones SJM, Birol I: Abyss: a parallel assembler for short read sequence data. Genome Research. 2009, 19 (6): 1117-1123. 10.1101/gr.089532.108.PubMedPubMed CentralView ArticleGoogle Scholar
- Peng Y, Leung H, Yiu S, Chin F: IDBA - a practical iterative de Bruijn graph de novo assembler. Proc 14th Int'l Conf Comput Mol Biol (RECOMB'10) Lecture Notes in Comp Sci. 2010, 6044: 426-440.Google Scholar
- Butler J, MacCallum I, Kleber M, et al: ALLPATHS: de novo assembly of whole-genome shotgun microreads. Genome Research. 2008, 18 (5): 810-820. 10.1101/gr.7337908.PubMedPubMed CentralView ArticleGoogle Scholar
- Boisvert S, Laviolette F, Corbeil J: Ray: simultaneous assembly of reads from a mix of high-throughput sequencing technologies. J Comput Biol. 2010, 17 (11): 1519-1533. 10.1089/cmb.2009.0238.PubMedPubMed CentralView ArticleGoogle Scholar
- Li R, Zhu H, Ruan J, et al: De novo assembly of human genomes with massively parallel short read sequencing. Genome Research. 2010, 20 (2): 265-272. 10.1101/gr.097261.109.PubMedPubMed CentralView ArticleGoogle Scholar
- Chitsaz H, Yee-Greenbaum JL, Tesler G, et al: Efficient de novo assembly of single-cell bacterial genomes from short-read data sets. Nature biotechnology. 2011Google Scholar
- Bankevich A, Nurk S, et al: SPAdes: A new genome assembly algorithm and its applications to single-cell sequencing. J Comput Biol. 2012, 19 (5): 455-477. 10.1089/cmb.2012.0021.PubMedPubMed CentralView ArticleGoogle Scholar
- Pevzner PA, Tang H, Tesler G: De novo repeat classification and fragment assembly. Genome Research. 2004, 14 (9): 1786-1796. 10.1101/gr.2395204.PubMedPubMed CentralView ArticleGoogle Scholar
- Böcker S: Sequencing from compomers: Using mass spectrometry for dna de novo sequencing of 200+ nt. J Comput Biol. 2004, 11 (6): 1110-1134. 10.1089/cmb.2004.11.1110.PubMedView ArticleGoogle Scholar
- Pham SK, Pevzner PA: DRIMM-Synteny: decomposing genomes into evolutionary conserved segments. Bioinformatics. 2010, 26 (20): 2509-2516. 10.1093/bioinformatics/btq465.PubMedView ArticleGoogle Scholar
- Minkin I, Patel A, Kolmogorov M, Vyahhi N, Pham S: Sibelia: a scalable and comprehensive synteny block generation tool for closely related microbial genomes. Proc 13th Workshop Algs in Bioinf (WABI'13) Lecture Notes in Comp Sci. 2013, 8126: 215-229. 10.1007/978-3-642-40453-5_17.View ArticleGoogle Scholar
- Raphael B, Zhi D, Tang H, Pevzner PA: A novel method for multiple alignment of sequences with repeated and shuffled elements. Genome Research. 2004, 14 (11): 2336-2346. 10.1101/gr.2657504.PubMedPubMed CentralView ArticleGoogle Scholar
- Bafna V, Pevzner PA: Genome rearrangements and sorting by reversals. Proc 34th Ann IEEE Symp Foundations of Comput Sci (FOCS'93). 1993, 148-157.Google Scholar
- Fertin G, Labarre A, Rusu I, Tannier E, Vialette S: Combinatorics of Genome Rearrangements. MIT Press, IncGoogle Scholar
- Iqbal Z, Caccamo M, Turner I, Flicek P, McVean G: De novo assembly and genotyping of variants using colored de bruijn graphs. Nature genetics. 2012, 44 (2): 226-232. 10.1038/ng.1028.PubMedPubMed CentralView ArticleGoogle Scholar
- Boussau B, Daubin V: Genomes as documents of evolutionary history. Trends in ecology & evolution. 2010, 25 (4): 224-232. 10.1016/j.tree.2009.09.007.View ArticleGoogle Scholar
- Bailey JA, Baertsch R, Kent WJ, Haussler D, Eichler EE: Hotspots of mammalian chromosomal evolution. Genome Biology. 2004, 5 (4): 23-10.1186/gb-2004-5-4-r23.View ArticleGoogle Scholar
- Zhao H, Bourque G: Recovering genome rearrangements in the mammalian phylogeny. Genome Research. 2009, 19 (5): 934-942. 10.1101/gr.086009.108.PubMedPubMed CentralView ArticleGoogle Scholar
- Alekseyev MA, Pevzner PA: Comparative genomics reveals birth and death of fragile regions in mammalian evolution. Genome Biology. 2010, 11 (11): 117-10.1186/gb-2010-11-11-r117.View ArticleGoogle Scholar
- Nurk S, Pevzner PA: Sparcle: using colored de bruijn graphs for analysing genome variations, unpublished manuscript.Google Scholar
- Guzman GI, Utrilla J, Monk JM, Brunk E, Ebrahim A, Nurk S, Palsson BO, Feist AM: Model-driven discovery of 'underground' isozyme functions in escherichia coli, unpublished manuscript.Google Scholar
- Alekseyev MA, Pevzner PA: Breakpoint graphs and ancestral genome reconstructions. Genome Research. 2009, 19 (5): 943-957. 10.1101/gr.082784.108.PubMedPubMed CentralView ArticleGoogle Scholar
- Compeau PEC, Pevzner PA: Bioinformatics Algorithms: An Active-Learning Approach.Google Scholar
- Medvedev P, Georgiou K, Myers G, Brudno M: Computability of models for sequence assembly. Proc 7th Workshop Algs in Bioinf (WABI'07) Lecture Notes in Comp Sci. 2007, 4645: 289-301. 10.1007/978-3-540-74126-8_27.View ArticleGoogle Scholar
- Myers EW: The fragment assembly string graph. Bioinformatics. 2005, 21 (suppl 2): 79-85.View ArticleGoogle Scholar
- Pop M: Genome assembly reborn: recent computational challenges. Briefings in bioinformatics. 2009, 10 (4): 354-366. 10.1093/bib/bbp026.PubMedPubMed CentralView ArticleGoogle Scholar
- Simpson JT, Durbin R: Efficient construction of an assembly string graph using the fm-index. Bioinformatics. 2010, 26 (12): 367-373. 10.1093/bioinformatics/btq217.View ArticleGoogle Scholar
- Pevzner PA, Tesler G: Genome rearrangements in mammalian evolution: lessons from human and mouse genomes. Genome Research. 2003, 13 (1): 37-45. 10.1101/gr.757503.PubMedPubMed CentralView ArticleGoogle Scholar
Copyright
This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/4.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. The Creative Commons Public Domain Dedication waiver (http://creativecommons.org/publicdomain/zero/1.0/) applies to the data made available in this article, unless otherwise stated.