How to apply de Bruijn graphs to genome assembly