Type: Package
Title: Detect Population Structure Within Phylogenetic Trees
Version: 0.1.0
Date: 2020-01-20
Author: Erik Volz
Maintainer: Erik Volz <erik.volz@gmail.com>
Description: Algorithms for detecting population structure from the history of coalescent events recorded in phylogenetic trees. This method classifies each tip and internal node of a tree into disjoint sets characterized by similar coalescent patterns. The methods are described in Volz, E., Wiuf, C., Grad, Y., Frost, S., Dennis, A., & Didelot, X. (2020) <doi:10.1093/sysbio/syaa009>.
License: GPL-2 | GPL-3 [expanded from: GPL (≥ 2)]
Suggests: ggtree,ggplot2,knitr
Imports: ape (≥ 5.0)
LinkingTo: Rcpp
VignetteBuilder: knitr
RoxygenNote: 6.1.0
NeedsCompilation: yes
Packaged: 2020-02-06 13:41:39 UTC; erikvolz
Repository: CRAN
Date/Publication: 2020-02-17 15:20:02 UTC

treestructure: Detect Population Structure Within Phylogenetic Trees

Description

Algorithms for detecting population structure from the history of coalescent events recorded in phylogenetic trees. This method classifies each tip and internal node of a tree into disjoint sets characterized by similar coalescent patterns. The methods are described in Volz, E., Wiuf, C., Grad, Y., Frost, S., Dennis, A., & Didelot, X. (2020) <doi:10.1093/sysbio/syaa009>.

Details

Methods for detecting structure in phylogenies. Includes the *trestruct* function for partitioning a tree and methods for printing and plotting trees with structure. Refer to the vignettes for common usage.

References

Erik Volz, Carsten Wiuf, Yonatan Grad, Simon Frost, Ann Dennis, Xavier Didelot, "Identification of hidden population structure in time-scaled phylogenies", bioRxiv 704528


Plot TreeStructure tree with cluster and partition variables

Description

Plot TreeStructure tree with cluster and partition variables

Usage

## S3 method for class 'TreeStructure'
plot(x, use_ggtree = TRUE, ...)

Arguments

x

A TreeStructure object

use_ggtree

Toggle ggtree or ape plotting behaviour

...

Additional arguments passed to ggtree or ape::plot.phylo


Detect cryptic population structure in time trees

Description

Detect cryptic population structure in time trees

Usage

trestruct(tre, minCladeSize = 25, minOverlap = -Inf, nsim = 1000,
  level = 0.01, ncpu = 1, verbosity = 1, debugLevel = 0)

Arguments

tre

A tree of type ape::phylo. Must be rooted and binary.

minCladeSize

All clusters within parititon must have at least this many tips.

minOverlap

Threshold time overlap required to find splits in a clade

nsim

Number of simulations for computing null distribution of test statistics

level

Significance level for finding new split within a set of tips

ncpu

If >1 will compute statistics in parallel using multiple CPUs

verbosity

If > 0 will print information about progress of the algorithm

debugLevel

If > 0 will produce additional data in return value

Details

Estimates a partition of a time-scaled tree by contrasting coalescent patterns. The algorithm is premised on a Kingman coalescent null hypothesis and a test statistic is formulated based on the rank sum of node times in the tree.

Value

A TreeStructure object which includes cluster and partitition assignment for each tip of the tree.

References

E.M. Volz, Wiuf, C., Grad, Y., Frost, S., Dennis, A., Didelot, X.D. (2020) Identification of hidden population structure in time-scaled phylogenies.

Author(s)

Erik M Volz <erik.volz@gmail.com>

Examples

tree <- ape::rcoal(50)
struct <-  trestruct( tree )