Skip to contents

Calculate the volatility of each tip: namely, the impact on the mean phylogenetic information distance (Smith 2020) between trees when that tip is removed. Effective when the number of trees is small.

Usage

TipVolatility(trees)

Arguments

trees

List of trees to analyse.

Value

TipVolatility() returns a named vector listing the volatility index calculated for each leaf.

References

Smith MR (2020). “Information theoretic Generalized Robinson--Foulds metrics for comparing phylogenetic trees.” Bioinformatics, 36(20), 5007--5013. doi: 10.1093/bioinformatics/btaa614 .

See also

Other tip instability functions: TipInstability()

Examples

library("TreeTools", quietly = TRUE)
trees <- AddTipEverywhere(BalancedTree(8), 'Rogue')
trees[] <- lapply(trees, AddTip, 'Rogue', 'Rogue2')

sb <- TipVolatility(trees)
sbNorm <- 1 + (99 * (sb - min(sb)) / (max(sb - min(sb))))
col <- hcl.colors(128, 'inferno')[sbNorm]
plot(consensus(trees), tip.color = col)

plot(ConsensusWithout(trees, names(sb[sb == max(sb)])))