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.
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.