Self-indexing for de novo assembly