7 research outputs found
From Indexing Data Structures to de Bruijn Graphs
International audienceNew technologies have tremendously increased sequencing throughput com-pared to traditional techniques, thereby complicating DNA assembly. Hence, as-sembly programs resort to de Bruijn graphs (dBG) of k-mers of short reads to compute a set of long contigs, each being a putative segment of the sequenced molecule. Other types of DNA sequence analysis, as well as preprocessing of the reads for assembly, use classical data structures to index all substrings of the reads. It is thus interesting to exhibit algorithms that directly build a dBG of order k from a pre-existing index, and especially a contracted version of the dBG, where non branching paths are condensed into single nodes. Here, we formalise the relation-ship between suffix trees/arrays and dBGs, and exhibit linear time algorithms for constructing the full or contracted dBGs. Finally, we provide hints explaining why this bridge between indexes and dBGs enables to dynamically update the order k of the graph
From Indexing Data Structures to de Bruijn Graphs
International audienceNew technologies have tremendously increased sequencing throughput com-pared to traditional techniques, thereby complicating DNA assembly. Hence, as-sembly programs resort to de Bruijn graphs (dBG) of k-mers of short reads to compute a set of long contigs, each being a putative segment of the sequenced molecule. Other types of DNA sequence analysis, as well as preprocessing of the reads for assembly, use classical data structures to index all substrings of the reads. It is thus interesting to exhibit algorithms that directly build a dBG of order k from a pre-existing index, and especially a contracted version of the dBG, where non branching paths are condensed into single nodes. Here, we formalise the relation-ship between suffix trees/arrays and dBGs, and exhibit linear time algorithms for constructing the full or contracted dBGs. Finally, we provide hints explaining why this bridge between indexes and dBGs enables to dynamically update the order k of the graph
Prediction of RNA Secondary Structure Including Kissing Hairpin Motifs
Theis C, Janssen S, Giegerich R. Prediction of RNA Secondary Structure Including Kissing Hairpin Motifs. In: Moulton V, Singh M, eds. Algorithms in Bioinformatics. 10th international workshop (WABI 2010), proceedings. Lecture Notes in Bioinformatics. Vol 6293. Berlin: Springer; 2010: 52-64.We present three heuristic strategies for folding RNA sequences into secondary structures including kissing hairpin motifs. The new idea is to construct a kissing hairpin motif from an overlay of two simple canonical pseudoknots. The difficulty is that the overlay does not satisfy Bellman's Principle of Optimality, and the kissing hairpin cannot simply be built from optimal pseudoknots. Our strategies have time/space complexities of O(n^4)/O(n^2), O(n^4)/O(n^3), and O(n^5)/O(n^2). All strategies have been implemented in the program pKiss and were evaluated against known structures. Surprisingly, our simplest strategy performs best. As it has the same complexity as the previous algorithm for simple pseudoknots, the overlay idea opens a way to construct a variety of practically useful algorithms for pseudoknots of higher topological complexity within O(n^4) time and O(n^2) space
On the Representation of de Bruijn Graphs
The de Bruijn graph plays an important role in bioinformatics, especially in
the context of de novo assembly. However, the representation of the de Bruijn
graph in memory is a computational bottleneck for many assemblers. Recent
papers proposed a navigational data structure approach in order to improve
memory usage. We prove several theoretical space lower bounds to show the
limitation of these types of approaches. We further design and implement a
general data structure (DBGFM) and demonstrate its use on a human whole-genome
dataset, achieving space usage of 1.5 GB and a 46% improvement over previous
approaches. As part of DBGFM, we develop the notion of frequency-based
minimizers and show how it can be used to enumerate all maximal simple paths of
the de Bruijn graph using only 43 MB of memory. Finally, we demonstrate that
our approach can be integrated into an existing assembler by modifying the
ABySS software to use DBGFM.Comment: Journal version (JCB). A preliminary version of this article was
published in the proceedings of RECOMB 201