Contig assembly. If (a,b) and (a,c) overlap, then (b,c) are expected to overlap. Moreover, one can calculate that shift(b,c) ≈ shift(a,c) − shift(a,b). We detect a repeat boundary toward the right of read a, if there is no overlap (b,c), nor any path of reads x1, …, xksuch that (b,x1), (x1,x2), …, (xk,c) are all overlaps, and shift(b,x1) + … + shift(xk,c) ≈ shift(a,c) − shift(a,b).