# speciesTree

##### Species Tree Estimation

This function calculates the species tree from a set of gene trees.

- Keywords
- models

##### Usage

`speciesTree(x, FUN = min)`

##### Details

For all trees in `x`

, the divergence time of each pair of tips is
calculated: these are then `summarized' with `FUN`

to build a new
distance matrix used to calculate the species tree with a
single-linkage hierarchical clustering. The default for `FUN`

computes the maximum tree (maxtree) of Liu et al. (2010). Using
`FUN = sum`

gives the shallowest divergence tree of Maddison and
Knowles (2006).

##### Value

an object of class `"phylo"`

.

##### References

Liu, L., Yu, L. and Pearl, D. K. (2010) Maximum tree: a consistent
estimator of the species tree. *Journal of Mathematical Biology*,
**60**, 95--106.

Maddison, W. P. and Knowles, L. L. (2006) Inferring phylogeny despite
incomplete lineage sorting. *Systematic Biology*, **55**, 21--30.

##### Examples

```
### example in Liu et al. (2010):
tr1 <- read.tree(text = "(((B:0.05,C:0.05):0.01,D:0.06):0.04,A:0.1);")
tr2 <- read.tree(text = "(((A:0.07,C:0.07):0.02,D:0.09):0.03,B:0.12);")
TR <- c(tr1, tr2)
TSmax <- speciesTree(TR) # MAXTREE
TSsha <- speciesTree(TR, sum) # shallowest divergence
layout(matrix(1:4, 1))
## playing with 'x.lim' is not so complicated
## but this will be improved someday
plot(tr1, "c", d = "u", y.lim = c(-0.07, 0.1), font = 1)
axisPhylo(4); title("Gene tree 1")
plot(tr2, "c", d = "u", y.lim = c(-0.05, 0.12), font = 1)
axisPhylo(4); title("Gene tree 2")
plot(TSmax, "c", d = "u", y.lim = c(-0.1, 0.07), font = 1)
axisPhylo(4); title("Species tree inferred
by MAXTREE")
plot(TSsha, "c", d = "u", y.lim = c(0, 0.17), font = 1)
axisPhylo(4); title("Species tree inferred
by Shallowest Divergence")
```

*Documentation reproduced from package ape, version 3.0-2, License: GPL (>= 2)*