Skip to main content
Figure 1 | BMC Bioinformatics

Figure 1

From: SWAP-Assembler: scalable and efficient genome assembly towards thousands of cores

Figure 1

Parallel strategy comparison on k-mers/edges merging for different assemblers. Two linked paths with 3 nodes and 5 nodes are given as an example, merging a linked path with 3 nodes needs 2 operations/rounds, and merging a path with 5 nodes needs 4 operations/rounds. To assemble these two paths, sequential assemblers need 6 operations, and parallel assemblers need 4 rounds. For SWAP-Assembler different processes can merge several edges on the same path in parallel using the SWAP computational framework, and merging of these 2 paths can be finished in 2 rounds. For a given sequencing data, if we treat the sequencing coverage as an constant number, the upper bound of the three assemby strategies on merging k-mers/edges are bounded by O(g), O(log(g)), and O(log(log(g))) respecitively, here g denotes the genome size and the longest path for a genome of length g will be bounded by O(log(g)). The upper bound of edge merging operations in SWAP-Assembler and expected length of longest path are proved in Appedix 3. Reference of the k-mers merging strategy for these assemblers can be found in their papers or codes. For velvet 1.1.04, the k-mers merging method can be found in its code "./src/concatenatedGraph.c"; for SOAPdenovo-V1.05, its method is in the code "./src/31mer/contig.c"; for ABySS 1.3.5, the method can be found in "./Parallel/NetworkSequenceCollection.cpp"; for YAGA, the method has been descripted in the last paragraph in the methods section [18]; for Pasha, its method is presented in the last paragraph at the graph simplification subsection [16].

Back to article page