Skip to the content.

mallorn

mallorn is an R package for calculating expected Phylogenetic Diversity and Evolutionary Distinctiveness

mallorn

This package provides functions for calculating probabilistic phylogenetic diversity metrics. These metrics are necessary when there is uncertainty whether a taxon is present or absent in a community. This uncertainty could arise, for example, from sampling uncertainty, the continuous output of a species distribution model, or a species’ extinction probability. If the probability of species being in a community is binary (0 or 1), you can use the functions in the picante package. But if the probability of species being in a community is 0.67, you need to use the probabilistic metrics found in mallorn.

Warning! This package is still in development. Use it with caution.

Citation

The indices used in mallorn are described in the supplemental material for Davis M, Faurby S, Svenning JC (2018) Mammal diversity will take millions of years to recover from the current biodiversity crisis. PNAS.

Installation

To install it from its GitHub repository. You first need to install the devtools package.

install.packages("devtools")

Then install mallorn using the install_github function in the devtools package.

library(devtools)
install_github("MegaPast2Future/mallorn")

Example use

To calculate expected Phylogenetic Diversity, use the ePD function. Expected PD is the expected amount of evolutionary history represeneted in a community.

library(ape)
library(mallorn)

data(bear_tree)
data(bear_matrix)

ePD(tree=bear_tree, probabilities.tips.present.matrix=bear_matrix)

To calculate expected Evolutionary Distinctiveness, use the eED function. Expected ED is the expected amount of evolutionary history represented by each individual taxon.

library(ape)
library(mallorn)

data(bear_tree)
data(bear_probs)

eED(tree=bear_tree, probabilities.tips.present=bear_probs)

mallorn can also predict expected PD and ED given future evolution.

library(ape)
library(mallorn)

data(bear_tree)
data(bear_probs)
data(bear_matrix)

ePD(tree=bear_tree, probabilities.tips.present.matrix=bear_matrix, lambda=0.276, mu=0.272, tMa=2)

eED(tree=bear_tree, probabilities.tips.present=bear_probs, lambda=0.276, mu=0.272, tMa=2)

The output of eED can be used to plot phylogenies where each edge is colored by its probability of extinction.

library(ape)
library(mallorn)

# To install the ggtree package from Bioconductor
source("https://bioconductor.org/biocLite.R")
biocLite("ggtree")
library(ggtree)

data(bear_tree)
data(bear_probs)

# Calculate expected ED
res <- eED(tree=bear_tree, probabilities.tips.present=bear_probs)

# Extract internal node and edge values
edge.values <- res$edge.values

# Have to change the name of the label column so that data matches up with ggtree
colnames(edge.values)[1] <- "node"


# Create ggtree object
p <- ggtree(bear_tree, layout="rectangular", aes(color=Prob.Edge.Extinct.t), size=1)

#  Put in the edge values
p2 <- p %<+% as.data.frame(edge.values)

# Construct plot
p3 <- p2+
  geom_tiplab()+
  # Add a color scale to show extinction probability
  scale_color_gradient2(name="Probability\nof extinction", low="dodgerblue2", mid="bisque", high="red1", midpoint=.50, guide="colorbar")+
  # Must explicitly place the legend
  theme(legend.position="right")+
  # Leave some room for tip labels
  xlim_tree(max(branching.times(bear_tree))*1.7)

print(p3)

Roadmap

Sometime in the next couple months, we hope to add mallorn to CRAN and to add a function for calculating Sørensen’s branch based similiarity index. This will allow the user to compare the phylogenetic similiarity of two communities using non-binary species presence or absence probabilities.