Adams() returns the Adams consensus (Adams 1972)
, a
summary of a set of rooted trees.
Details
The Adams consensus is defined recursively. At the top level, the leaves are partitioned into the coarsest grouping that every input tree refines: two leaves fall in the same block if and only if, in every input tree, they sit below the same child of the most recent common ancestor of the full leaf set. Each block becomes a child of the consensus root, and the construction repeats within each block.
Unlike the split-based methods (Strict(), Majority(), Loose(),
Greedy(), MajorityPlus(), Frequency()), the Adams consensus can
contain a cluster that appears in no individual input tree, and it depends on
how the input trees are rooted: it is a statement about nesting, not about
unrooted bipartitions. Input trees are treated as rooted on their current
root; root the trees as you intend before calling Adams().
This implementation follows Adams' original recursive definition, as ported from the FACT toolkit of Jansson and colleagues (used with permission); their asymptotically faster \(O(kn \log n)\) algorithm (Jansson et al. 2017) is not employed here.
References
Adams EN (1972).
“Consensus techniques and the comparison of taxonomic trees.”
Systematic Zoology, 21(4), 390–397.
doi:10.2307/2412432
.
Jansson J, Li Z, Sung W (2017).
“On finding the Adams consensus tree.”
Information and Computation, 256, 334–347.
doi:10.1016/j.ic.2017.08.002
.
See also
Closely related: Strict(), Majority(), Loose(),
Greedy(), MajorityPlus(), Frequency().
Other consensus methods:
Average(),
Frequency(),
Greedy(),
Local(),
Loose(),
Majority(),
MajorityPlus(),
Quartet(),
RStar(),
Strict()
Examples
# Two rooted trees that disagree only on the position of one leaf
trees <- c(ape::read.tree(text = "(((a, b), c), d);"),
ape::read.tree(text = "(((a, b), d), c);"))
Adams(trees) # keeps the clade (a, b); leaves c, d unresolved at the root
#>
#> Phylogenetic tree with 4 tips and 2 internal nodes.
#>
#> Tip labels:
#> a, b, c, d
#>
#> Unrooted; no branch length.