Algorithm 1:
dipSPAdes workflow
| 1: proceduredipSPAdes(Reads, k, maxDivergence, minOverlap) |
| 2: Graph ← DeBruijnGraph(Reads, k) |
| 3: HaploContigs ← Contigs(Graph, Reads) |
| 4: ConsensusGraph ← MaskPolymorphismsInGraph(Graph), maxDivergence) |
| 5: MaskedHaploContigs ← MaskPolymorphismsInContigs(ConsensusGraph, HaploContigs) |
| 6: ConsensusContigs ← ConsensusContigs(MaskedHaploContigs, minOverlap) |
| 7: DoubleContigs ← HaplotypeAssembly(ConsensusContigs, MaskedHaploContigs) |
| 8: return ConsensusContigs, DoubleContigs |
| 9: procedure MaskPolymorphismsInGraph(Graph, maxDivergence) |
| 10: for each bulge formed by alternative paths P1 and P2 in Graphdo |
| 11: if Divergence(P1, P2) ≤ maxDivergencethen |
| 12: CollapseBulge(P1, P2) |
| 13: return Graph |