phyloTop provides tools for calculating and viewing topological properties of phylogenetic trees.
To install the development version from github:
library(devtools)
install_github("michellekendall/phyloTop")
The stable version can be installed from CRAN using:
install.packages("phyloTop")
Then, to load the package, use:
library("phyloTop")
## Loading required package: ape
The key functions available in phyloTop are:
avgLadder
: find the average ladder
size in a tree
cherries
: find the number of
cherries in a tree
colless.phylo
: find the Colless
imbalance number of a tree
getDepths
: find the depth of each
node in a tree
ILnumber
: find the number of nodes
with exactly one tip child
ladderSizes
: find the size of any
“ladders” in a tree (consecutive nodes, each with exactly one tip
child)
maxHeight
: find the maximum height
(equivalently, depth) of nodes in a tree
nConfig
: find the sizes of all
configurations (equivalently, clades) in a tree
nodeDepth
: find the depth of a
given node in a tree
nodeDepthFrac
: find the fraction of
nodes in a tree at a given depth
nodeImb
: find the imbalance of a
given node in a tree
nodeImbFrac
: find the fraction of
nodes in a tree with an imbalance of a given threshold or more
phyloTop
: find a range of tree
statistics for a list of trees (faster than calling each function
individually)
pitchforks
: find the number of
pitchforks (clades of size three) in a tree
sackin.phylo
: find the Sackin index
of a tree
splitTop
: find the split topology
of a tree - the size of clades at a given depth
stairs
: find the “staircase-ness”
measures, as defined by Norstrom et al. 2012
treeImb
: find the tree imbalance -
the imbalance at each node
widths
: find the number of nodes at
each depth in a tree
configShow
: plot a tree,
highlighting the configurations of a given size
ladderShow
: plot a tree,
highlighting the “ladders”
subtreeShow
: plot a tree,
highlighting the subtree(s) descending from the given node(s)
makeEpiRecord
: simulate an
epidemiological record of infectors, infectees, infection times and
recovery times
getLabGenealogy
: create a genealogy
from an epidemiological record
Apply tree statistic functions to a list of 10 random trees, each with 50 tips:
set.seed(123)
phyloTop(rmtree(10,50))
## avgLadder cherries colless.phylo ILnumber maxHeight pitchforks sackin.phylo
## 1 0.000 19 82 12 9 9 312
## 2 2.167 16 120 18 9 7 330
## 3 2.500 19 192 12 12 6 394
## 4 2.333 16 139 18 11 9 345
## 5 2.000 18 150 14 10 8 358
## 6 2.333 17 105 16 11 10 321
## 7 2.333 19 112 12 10 5 330
## 8 2.333 15 229 20 13 9 421
## 9 3.000 17 121 16 11 7 331
## 10 3.000 16 181 18 12 7 377
## stairs1 stairs2
## 1 0.5510 0.7257
## 2 0.5306 0.6752
## 3 0.5102 0.6907
## 4 0.6327 0.6487
## 5 0.5714 0.6880
## 6 0.6122 0.6649
## 7 0.5714 0.6696
## 8 0.6735 0.5760
## 9 0.6122 0.6487
## 10 0.6122 0.6237
Plot a random tree with 20 tips, highlighting the the clade(s) descending from nodes 25 and 33:
subtreeShow(rtree(20),nodeList=c(25,33), mainCol="navy", subtreeCol="cyan", nodeLabelCol="cyan", edge.width=2)
Contributions are welcome via pull requests.
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
Questions, feature requests and bugs can be reported using the package’s issue system.