Conservation managers are faced with the problem of having many species that are in need of conservation but limited funds to allocate to them. This raises the question of which species should be protected. One framework for prioritising species for conservation is the Noah's Ark Problem (NAP). The NAP combines a phylogenetic tree for the species of interest with species specific survival probabilities and conservation costs. The aim of the NAP is to allocate conservation expenditure such that future expected biodiversity is maximised. This results in a computational difficult problem -- the general problem may be NP hard -- however several algorithms have been developed by myself and others to solve variations of the NAP with particular parameter restrictions.
At present no package is available that implements the various algorithms for solving the NAP. The only implementations that exist have been written for individual algorithms by a range of researchers in a range of languages. This severely restricts the application of these results to real conservation problems -- particularly as those people interested in applying these methods (eg. conservation managers) often have little mathematical or programming background.
This project will implement the various algorithms for solving the Noah's Ark Problem, thereby encouraging future results to become available in the same package. A GUI will be built on top of this implementation that enables non-programmers to apply these methods and compare species prioritisations with those produced by related simple indices. This will create a common package where researchers can implement algorithms and end users can apply these results to their problems.
BioPerl forms a good basis for this project as many related species specific indices are already implemented in Bio::Phylo. This project will produce species prioritisations from Bio::Tree::TreeI compatible objects and conservation information (eg. survival probabilities) using algorithms developed for solving the Noah's Ark Problem. The GUI will be cross platform deployable and easy to install. Good documentation will be produced that thoroughly describes the implemented algorithms and indices.