Edges
Types
PanGraph.Graphs.Edges.Edge — Typemutable struct Edge
block :: Tuple{Block, Block}
invert :: Bool # changes strand
nodes :: Array{Position}
endStore a unique edge within a pangraph. An edge is undirected and is defined by the two juxtaposed blocks, as well as a relative orientation. Contain all positions of all genomes that contain the edge.
PanGraph.Graphs.Edges.Position — Typestruct Position
path :: Path
node :: Tuple{Node{Block},Node{Block}}
index :: Tuple{Int,Int} # positions on path
locus :: Int # breakpoint on sequence
endStore a single position of an edge/breakpoint between homologous pancontigs in an individual genome. path is the containing Path object. node stores the junction of nodes that represent the position of the breakpoint. index is the indices of node within path. locus is the physical location on the genome of the breakpoint.
Functions
PanGraph.Graphs.Edges.deparalog! — Methoddeparalog!(G)Split duplicated blocks that have non-intersecting, seperable paths that run in parallel and transitively connect associated genomes. Use to simplify high copy number blocks found in all individuals in equivalent contexts within pangraph G.
PanGraph.Graphs.Edges.edges — Methodedges(G)Compute all edges associated with pangraph G.
PanGraph.Graphs.Edges.isolates — Methodisolates(positions::Array{Position,1})Compute the array of Position values for each isolate.
PanGraph.Graphs.Edges.next — Methodnext(x::Position, blk::Block)Compute the next position from x that is connected through block blk. Use to traverse the path of an individual genome through a pangraph.