phyloprunr.prob: Pruning algorithm to maximise gains in expected Phylogenetic...

Description Usage Arguments Details Value References Examples

Description

A pruning algorithm that seeks to maximise gains in expected Phylogenetic Diversity (PD) from successfully managing threatened species from a candidate list. Starting with all candidate species being assumed to be successfully managed, the algorithm proceeds by stepwise removal of species from the candidate list providing the smallest gain (from conservation) at that step. The pruned candidate list at each step will be optimal for conserving Phylogenetic Diversity for that number of species. The reverse order in which species are pruned gives the priority for conservation.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
phyloprunr.prob(
  phy,
  species = phy$tip.label,
  managed = species,
  retain = NULL,
  survival,
  feasibility = 1,
  cost = 1,
  success = 0.95,
  random = FALSE
)

Arguments

phy

is a rooted phylogenetic tree with branch lengths stored as a phylo object (as in the ape package).

species

is an optional character vector of species names (tree will be trimmed to match). Each species must match to a tip label in phy. By default, all tip labels in phy will be included.

managed

is a character vector of species names to be included on the candidate list for conservation. Each name must match to a name in species. By default, all names in species will be included as candidates.

retain

is an optional character vector of species names that are never pruned from the candidate list (i.e. always assumed to be conserved). Each name must match to a name in managed.

survival

is a numeric vector of survival probabilities, given no management for conservation, corresponding to each species in managed.

feasibility

is an optional numeric vector of probabilities of successfully managing each species in managed. By default, probability of success is assumed to be 1.

cost

is an optional numeric vector of costs of conservation corresponding to each species in managed. Default value is 1 for all candidate species.

success

is a numeric vector of length 1, giving the probability of survival of a species if successfully managed for conservation. Value must be less than 1.

random

is a logical vector of length 1, indicating whether species should be pruned from the candidate list at random (TRUE), rather than optimally (FALSE).

Details

phyloprunr.prob takes a phylogenetic tree (rooted and with branch lengths) and a list of candidate species for conservation and determines the optimal set of species that will maximise expected Phylogenetic Diversity (PD) for that set size, if those species were successfully managed for conservation. The algorithm determines step-wise which candidate species provides the smallest gain to expected PD and then removes it from the candidate list, adjusting the probabilities of survival of each branch in the tree as it goes. The algorithm will continue until the list of candidates is exhausted. At each step, ties are resolved by choosing at random from the available options. For this reason, the algorithm may need to be repeated to generate several equally optimal sets. An optional argument (feasibility) allows for the gain of conserving any species to be down-weighted by the probability that management will be successful. A further optional argument (cost) allows for gains to be divided by their respective costs.

Value

A dataframe giving the names of each species pruned (in order of pruning), the expected Phylogenetic Diversity after pruning that species, and the total cost of management (summed across managed species) after pruning that species.

References

Examples

1
2
3
4
5
data(bandicoot_tree)
threatened <- c("Macrotis_lagotis","Rhynchomeles_prattorum","Peroryctes_broadbenti",
       "Isoodon_auratus","Perameles_gunnii","Perameles_bougainville")
probs <- c(0.01,0.90,0.01,0.30,0.99,0.99,0.99,0.99,0.99,0.99,0.30,0.99,0.90,0.99,0.99,0.99,0.90,0.01,0.90)
phyloprunr.prob(bandicoot_tree,managed=threatened,survival=probs)

davidnipperess/PDcalc documentation built on July 7, 2021, 1:07 p.m.