Workflow of JR-Assembler. JR-Assembler runs in five steps. (A) Raw read processing. Input reads containing any N or a low-complexity region are discarded. Then, identical reads are collapsed into unique reads and stored in a table in alphabetical order. (B) Seed selection. The unique reads are ranked by read count (from low to high). Unique reads with medium read counts are selected as seeds for extension. (C) Seed extension. A seed is extended at the 3′ and 5′ directions by jumping extension. (D) Repeat detection. When an extension is terminated, JR-Assembler determines if a misassembly has occurred due to the existence of repeats. If it detects a misassembly, it identifies the boundaries of the repeat and breaks the sequence at each boundary. Steps B, C, and D are repeated until no unused seed remains. (E) Contig merging. After all seeds are used, JR-Assembler merges the contigs that can be connected by unassembled reads.