This is an old revision of the document!
Velvet uses de Bruijn graphs to condense reads and resolve common sequencing problems. Compared to overlap layout consensus, it simplifies multiple reads by resolving repeats into only one node, so that their counts only need to be stored on top. This reduces the amount of memory required to store the reads by the dimension of coverage.
Specifically, the de Bruijn graph breaks each read into words and paths through the words, mapping new reads to form a graph structure. Velvet then simplifies this graph by removing unjoined tips and reducing parallel strands into the strand with the maximum coverage (this error corrects for mismatched bases). Velvet leaves loops unresolved in the final structure, as these represent repeat regions.