The phylogenetic likelihood library.
2015
We introduce the Phylogenetic Likelihood Library (PLL), a highly optimized application programming interface for developing likelihood-based phylogenetic inference and postanalysis software. The PLL implements appropriate data structures and functions that allow users to quickly implement common, error-prone, and labor-intensive tasks, such as likelihood calculations, model parameter as well as branch length optimization, and tree space exploration. The highly optimized and parallelized implementation of the phylogenetic likelihood function and a thorough documentation provide a framework for rapid development of scalable parallel phylogenetic software. By example of two likelihood-based phylogenetic codes we show that the PLL improves the sequential performance of current software by a factor of 2–10 while requiring only 1 month of programming time for integration. We show that, when numerical scaling for preventing floating point underflow is enabled, the double precision likelihood calculations in the PLL are up to 1.9 times faster than those in BEAGLE. On an empirical DNA dataset with 2000 taxa the AVX version of PLL is 4 times faster than BEAGLE (scaling enabled and required). The PLL is available at http://www.libpll.org under the GNU General Public License (GPL).
Keywords:
- Phylogenetics
- Application programming interface
- Floating point
- Software
- Zoology
- Phylogenetic tree
- Likelihood function
- Data structure
- Biology
- Documentation
- Pattern recognition
- Artificial intelligence
- Theoretical computer science
- Double-precision floating-point format
- Algorithm
- Scalability
- Arithmetic underflow
- Paleontology
- Correction
- Source
- Cite
- Save
- Machine Reading By IdeaReader
23
References
70
Citations
NaN
KQI