ThreeTree

Moonshine.ThreeTreeType
struct ThreeTree{T<:Integer} <: Graphs.SimpleGraphs.AbstractSimpleGraph{T<:Integer}

Simple data structure that can be used to record the topology of an ancestral recombination graph.

The first nleaves entries of neig contain the parent vertices of the leaves. The following 3nleaves - 3 store information about coalescence vertices. The remaining entries store data about recombination and coalescence vertices in an alternating fashion.

The first two entries of a triple corresponding to a coalescence/recoalescence vertex contain its downstream vertices, and the remaining entry contains its parent. The order is reversed for recombination vertices.

Types Tree and Arg use this data structure.

Fields

  • nleaves::Integer: Number of leaves (vertices with outdegree 0)

  • neig::Vector{T} where T<:Integer: Neighborhood data

Constructors

ThreeTree(nleaves, neig)

defined at /home/runner/work/Moonshine.jl/Moonshine.jl/src/ThreeTree.jl:35.

ThreeTree(nleaves)

defined at /home/runner/work/Moonshine.jl/Moonshine.jl/src/ThreeTree.jl:41.

Internal

source