A contig is represented by four ContigNodes in the scaffold graph.
Represents a set of joins which conclude possibly several scaffolding variants.
Each contig has four designated parts where joins can start or end.
Determine which kinds of joins are allowed.
Build a scaffold graph using rawJoins. This creates default edges and inserts the rawJoins.
This removes ambiguous gap insertions.
Enforce joinPolicy in scaffold.
Get the default join for contigId. Initialize payload with getPayload(contigId) if given.
Get join for a stretch of unknown sequence (ns).
Creates a scaffold with all the default edges. Optionally specify a function that produces the payloads.
Returns true iff join is a gap edge and anti-parallel.
Returns true iff join is a back extension edge of the scaffold graph.
Returns true iff join is a default edge of the scaffold graph.
Returns true iff join is an extension edge of the scaffold graph.
Returns true iff join is a front extension edge of the scaffold graph.
Returns true iff join is a gap edge of the scaffold graph.
Returns true iff join is a gap edge and parallel.
Returns true iff join is a unknown edge, ie. an edge for unknown sequence (ns) of the scaffold graph.
Returns true iff join is a valid edge of the scaffold graph.
Performs a linear walk through a scaffold graph starting in startNode. A linear walk is a sequence of adjacent joins where no node is visited twice unless the graph is cyclic in which case the first node will appear twice. The implementation requires the graph to have linear components, ie. for every node the degree must be at most two. If the component of startNode is cyclic then the walk will in startNode and the isCyclic flag will be set.
Remove extension edges were they coincide with a gap edge combining their payload. This is intended to build pile ups with all reads that contribute to each gap.
Normalizes unknown joins such that they join contigs or are removed as applicable.
Enforce joinPolicy in scaffold.
Remove marked edges from the graph. This always keeps the default edges.
Get a range of ContigNodes where full contig walks should start.
Work with scaffold graphs.