Open Access Highly Accessed Software

SUNPLIN: Simulation with Uncertainty for Phylogenetic Investigations

Wellington S Martins1*, Welton C Carmo1, Humberto J Longo1, Thierson C Rosa1 and Thiago F Rangel2

Author Affiliations

1 Institute of Informatics, Federal University of Goiás, Goiânia, Brazil

2 Department of Ecology, Federal University of Goiás, Goiânia, Brazil

For all author emails, please log on.

BMC Bioinformatics 2013, 14:324  doi:10.1186/1471-2105-14-324

Published: 15 November 2013



Phylogenetic comparative analyses usually rely on a single consensus phylogenetic tree in order to study evolutionary processes. However, most phylogenetic trees are incomplete with regard to species sampling, which may critically compromise analyses. Some approaches have been proposed to integrate non-molecular phylogenetic information into incomplete molecular phylogenies. An expanded tree approach consists of adding missing species to random locations within their clade. The information contained in the topology of the resulting expanded trees can be captured by the pairwise phylogenetic distance between species and stored in a matrix for further statistical analysis. Thus, the random expansion and processing of multiple phylogenetic trees can be used to estimate the phylogenetic uncertainty through a simulation procedure. Because of the computational burden required, unless this procedure is efficiently implemented, the analyses are of limited applicability.


In this paper, we present efficient algorithms and implementations for randomly expanding and processing phylogenetic trees so that simulations involved in comparative phylogenetic analysis with uncertainty can be conducted in a reasonable time. We propose algorithms for both randomly expanding trees and calculating distance matrices. We made available the source code, which was written in the C++ language. The code may be used as a standalone program or as a shared object in the R system. The software can also be used as a web service through the link: webcite.


We compare our implementations to similar solutions and show that significant performance gains can be obtained. Our results open up the possibility of accounting for phylogenetic uncertainty in evolutionary and ecological analyses of large datasets.