MASTSize {TreeDist} | R Documentation |
Maximum Agreement Subtree size
Description
Calculate the size or phylogenetic information content
(Steel and Penny 2006)
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
Valiente (2009).
Usage
MASTSize(tree1, tree2 = tree1, rooted = TRUE)
MASTInfo(tree1, tree2 = tree1, rooted = TRUE)
Arguments
tree1 , tree2 |
Trees of class |
rooted |
Logical specifying whether to treat the trees as rooted. |
Details
Implemented for trees with up to 4096 tips. Contact the maintainer if you need to process larger trees.
Value
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.
Author(s)
Martin R. Smith (martin.smith@durham.ac.uk)
References
Steel MA, Penny D (2006).
“Maximum parsimony and the phylogenetic information in multistate characters.”
In Albert VA (ed.), Parsimony, Phylogeny, and Genomics, 163–178.
Oxford University Press, Oxford.
Valiente G (2009).
Combinatorial Pattern Matching Algorithms in Computational Biology using Perl and R, CRC Mathematical and Computing Biology Series.
CRC Press, Boca Raton.
See Also
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()
Examples
# 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)