de novo sequence assembler