Maximum Agreement Subtree size
Calculate the size or phylogenetic information content \insertCite Steel2006TreeDist
of the maximum agreement subtree between two phylogenetic trees, i.e. the largest tree that can be obtained from both tree1
and tree2
by deleting, but not rearranging, leaves, using the algorithm of \insertCite Valiente2009;textualTreeDist.
MASTSize(tree1, tree2 = tree1, rooted = TRUE) MASTInfo(tree1, tree2 = tree1, rooted = TRUE)
tree1, tree2
: Trees of class phylo
, or lists of such trees to undergo pairwise comparison.rooted
: Logical specifying whether to treat the trees as rooted.MASTSize()
returns an integer specifying the number of leaves in the maximum agreement subtree.
MASTInfo()
returns a vector or matrix listing the phylogenetic information content, in bits, of the maximum agreement subtree.
Implemented for trees with up to 4096 tips. Contact the maintainer if you need to process larger trees.
# for as.phylo, BalancedTree, PectinateTree: library("TreeTools", quietly = TRUE) MASTSize(PectinateTree(8), BalancedTree(8)) MASTInfo(PectinateTree(8), BalancedTree(8)) MASTSize(BalancedTree(7), as.phylo(0:3, 7)) MASTSize(as.phylo(0:3, 7), PectinateTree(7)) MASTInfo(BalancedTree(7), as.phylo(0:3, 7)) MASTInfo(as.phylo(0:3, 7), PectinateTree(7)) MASTSize(list(Bal = BalancedTree(7), Pec = PectinateTree(7)), as.phylo(0:3, 7)) MASTInfo(list(Bal = BalancedTree(7), Pec = PectinateTree(7)), as.phylo(0:3, 7)) CompareAll(as.phylo(0:4, 8), MASTSize) CompareAll(as.phylo(0:4, 8), MASTInfo)
\insertAllCited
phangorn::mast()
, a slower implementation that also lists the leaves contained within the subtree.
Other tree distances: JaccardRobinsonFoulds()
, KendallColijn()
, MatchingSplitDistance()
, NNIDist()
, NyeSimilarity()
, PathDist()
, Robinson-Foulds
, SPRDist()
, TreeDistance()
Useful links