TransferConsensus: Consensus tree minimizing transfer distance

View source: R/transfer_consensus.R

TransferConsensusR Documentation

Consensus tree minimizing transfer distance

Description

Construct a consensus tree that minimizes the sum of transfer distances to a set of input trees, using a greedy add-and-prune heuristic. This function is moving to ConsTree::Transfer() and will soon be removed. A copy is retained here temporarily.

Usage

TransferConsensus(
  trees,
  scale = TRUE,
  greedy = c("best", "first"),
  init = c("empty", "majority")
)

Arguments

trees

An object of class multiPhylo: the input trees. All trees must share the same tip labels.

scale

Logical; if TRUE (default), use the scaled transfer distance (normalized by light-side size minus one). If FALSE, use the unscaled (raw Hamming) transfer distance.

greedy

Character string specifying the greedy strategy: "best" (default) picks the single highest-benefit action at each step; "first" picks the first improving action encountered (faster but potentially lower quality).

init

Character string specifying the initial consensus: "empty" (default) starts with no splits (purely additive); "majority" starts with the majority-rule consensus and refines.

Details

Unlike the majority-rule consensus, which minimizes Robinson-Foulds distance and can be highly unresolved when phylogenetic signal is low, TransferConsensus() uses the finer-grained transfer distance \insertCiteLemoine2018TreeDist to construct a more resolved consensus tree.

The algorithm pools all splits observed across input trees, computes pairwise transfer distances between them, and greedily adds or removes splits to minimize total transfer dissimilarity cost. The approach follows \insertCiteTakazawa2026;textualTreeDist, reimplemented for 'TreeDist' infrastructure.

Value

A tree of class phylo.

References

\insertAllCited

See Also

Other summary trees: MCITree()


TreeDist documentation built on June 10, 2026, 5:06 p.m.