4
$\begingroup$

I'm doing a computational biology project in which I simulate evolution under different inheritance rulesets and I am generating phylogenetic trees (beautifully visualised in Python with ete3).

My question is: where can I find and test out some simple metrics that can describe these trees in terms of 'branchy-ness' (you can tell I'm not a bioinformatician or phylogeneticist!). I'm looking for kind of mean-field descriptors of the trees. Kind of like degree distribution for networks.

My specific goal is, like in network science, trying to see if I can differentiate between different rulesets that created the tree by examining the [statistical] properties of the tree itself.

$\endgroup$
2
  • 1
    $\begingroup$ Is there any specific goal you want to achieve by comparing these metrics between different trees? You could count the number of branches, time to the common ancestor of all represented lineages, the total quantity of "evolutionary time" as the total length of all branches, the mean speciation time, ... $\endgroup$
    – Remi.b
    Commented Jan 13, 2016 at 5:20
  • 1
    $\begingroup$ The specific goal is, like in network science, trying to see if I can differentiate between different rulesets that created the tree by examining the [statistical] properties of the tree itself. $\endgroup$ Commented Jan 13, 2016 at 14:44

1 Answer 1

4
$\begingroup$

Here are a few metrics you can calculate to get you started. You can use R to perform these calculations.

Net Diversification Rate (r)

Net diversification rate is (rate of speciation - rate of extinction). You can calculate it using the bd.ms or bd.km functions in the geiger package for R.

r = 1: enter image description here

r = 2: enter image description here

Tree Imbalance: Colless index (I)

Colless's index measures how imbalanced the tree is. It sums the differences in the number of clades in each pair of taxa. You can calculate it using the colless function in the apTreeshape package for R.

I = 0 enter image description here

I = 21 enter image description here

Branching Times (gamma)

The gamma statistic measures how much later or earlier branching times happen than what you would expect from a normal birth-death process. A negative value means branching times occur earlier, positive means branching times occur later. You can measure gamma (and generate a lineage through time (ltt) plot, as shown below) using the ltt function in the R package phytools

(From this Nature article) enter image description here

These are just a few of many parameters you could calculate for a phylogenetic tree. It should be enough to get you started.

$\endgroup$
3
  • $\begingroup$ awesome! thanks a bunch. i'm using python, so hoping I can find similar packages to measure these things there (maybe in ete3 ? ) $\endgroup$ Commented Jan 13, 2016 at 18:50
  • $\begingroup$ Call R from Python: rpy.sourceforge.net/rpy2/doc-dev/html/introduction.html $\endgroup$
    – kmm
    Commented Jan 13, 2016 at 19:38
  • $\begingroup$ cheers for that. i'll check it out. $\endgroup$ Commented Jan 14, 2016 at 2:12

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .