  Background Next Generation Sequencing (NGS) has dramatically enhanced our
ability to sequence genomes, but not to assemble them. In practice, many
published genome sequences remain in the state of a large set of contigs. Each
contig describes the sequence found along some path of the assembly graph,
however, the set of contigs does not record all the sequence information
contained in that graph. Although many subsequent analyses can be performed
with the set of contigs, one may ask whether mapping reads on the contigs is as
informative as mapping them on the paths of the assembly graph. Currently, one
lacks practical tools to perform mapping on such graphs. Results Here, we
propose a formal definition of mapping on a de Bruijn graph, analyse the
problem complexity which turns out to be NP-complete, and provide a practical
solution.We propose a pipeline called GGMAP (Greedy Graph MAPping). Its novelty
is a procedure to map reads on branching paths of the graph, for which we
designed a heuristic algorithm called BGREAT (de Bruijn Graph REAd mapping
Tool). For the sake of efficiency, BGREAT rewrites a read sequence as a
succession of unitigs sequences. GGMAP can map millions of reads per CPU hour
on a de Bruijn graph built from a large set of human genomic reads.
Surprisingly, results show that up to 22% more reads can be mapped on the graph
but not on the contig set. Conclusions Although mapping reads on a de Bruijn
graph is complex task, our proposal offers a practical solution combining
efficiency with an improved mapping capacity compared to assembly-based mapping
even for complex eukaryotic data. Availability: github.com/Malfoy/BGREAT
Keywords: Read mapping; De bruijn graphs; NGS; NP-completeness
