title: The phylogenetic likelihood library.
abstract: 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).
authors.affiliation: Heidelberg Institute for Theoretical Studies, Heidelberg Institute, 69118 Heidelberg, Germany; Center for Integrative Bioinformatics Vienna, Max F. Perutz Laboratories, University of Vienna, Medical University of Vienna, A-1030 Vienna, Austria; Bioinformatics and Computational Biology, Faculty of Computer Science, University of Vienna, A-1090 Vienna, Austria; and Karlsruhe Institute of Technology, Institute for Theoretical Informatics, Postfach 6980, 76128 Karlsruhe, Germany; Tomas.Flouri@h-its.org.
authors.forename: T
authors.initials: T
authors.lastname: Flouri
authors.affiliation: Heidelberg Institute for Theoretical Studies, Heidelberg Institute, 69118 Heidelberg, Germany; Center for Integrative Bioinformatics Vienna, Max F. Perutz Laboratories, University of Vienna, Medical University of Vienna, A-1030 Vienna, Austria; Bioinformatics and Computational Biology, Faculty of Computer Science, University of Vienna, A-1090 Vienna, Austria; and Karlsruhe Institute of Technology, Institute for Theoretical Informatics, Postfach 6980, 76128 Karlsruhe, Germany;
authors.forename: F
authors.initials: F
authors.lastname: Izquierdo-Carrasco
authors.affiliation: Heidelberg Institute for Theoretical Studies, Heidelberg Institute, 69118 Heidelberg, Germany; Center for Integrative Bioinformatics Vienna, Max F. Perutz Laboratories, University of Vienna, Medical University of Vienna, A-1030 Vienna, Austria; Bioinformatics and Computational Biology, Faculty of Computer Science, University of Vienna, A-1090 Vienna, Austria; and Karlsruhe Institute of Technology, Institute for Theoretical Informatics, Postfach 6980, 76128 Karlsruhe, Germany;
authors.forename: D
authors.initials: D
authors.lastname: Darriba
authors.affiliation: Heidelberg Institute for Theoretical Studies, Heidelberg Institute, 69118 Heidelberg, Germany; Center for Integrative Bioinformatics Vienna, Max F. Perutz Laboratories, University of Vienna, Medical University of Vienna, A-1030 Vienna, Austria; Bioinformatics and Computational Biology, Faculty of Computer Science, University of Vienna, A-1090 Vienna, Austria; and Karlsruhe Institute of Technology, Institute for Theoretical Informatics, Postfach 6980, 76128 Karlsruhe, Germany;
authors.forename: A J
authors.initials: AJ
authors.lastname: Aberer
authors.affiliation: Heidelberg Institute for Theoretical Studies, Heidelberg Institute, 69118 Heidelberg, Germany; Center for Integrative Bioinformatics Vienna, Max F. Perutz Laboratories, University of Vienna, Medical University of Vienna, A-1030 Vienna, Austria; Bioinformatics and Computational Biology, Faculty of Computer Science, University of Vienna, A-1090 Vienna, Austria; and Karlsruhe Institute of Technology, Institute for Theoretical Informatics, Postfach 6980, 76128 Karlsruhe, Germany; Heidelberg Institute for Theoretical Studies, Heidelberg Institute, 69118 Heidelberg, Germany; Center for Integrative Bioinformatics Vienna, Max F. Perutz Laboratories, University of Vienna, Medical University of Vienna, A-1030 Vienna, Austria; Bioinformatics and Computational Biology, Faculty of Computer Science, University of Vienna, A-1090 Vienna, Austria; and Karlsruhe Institute of Technology, Institute for Theoretical Informatics, Postfach 6980, 76128 Karlsruhe, Germany;
authors.forename: L-T
authors.initials: LT
authors.lastname: Nguyen
authors.affiliation: Heidelberg Institute for Theoretical Studies, Heidelberg Institute, 69118 Heidelberg, Germany; Center for Integrative Bioinformatics Vienna, Max F. Perutz Laboratories, University of Vienna, Medical University of Vienna, A-1030 Vienna, Austria; Bioinformatics and Computational Biology, Faculty of Computer Science, University of Vienna, A-1090 Vienna, Austria; and Karlsruhe Institute of Technology, Institute for Theoretical Informatics, Postfach 6980, 76128 Karlsruhe, Germany;
authors.forename: B Q
authors.initials: BQ
authors.lastname: Minh
authors.affiliation: Heidelberg Institute for Theoretical Studies, Heidelberg Institute, 69118 Heidelberg, Germany; Center for Integrative Bioinformatics Vienna, Max F. Perutz Laboratories, University of Vienna, Medical University of Vienna, A-1030 Vienna, Austria; Bioinformatics and Computational Biology, Faculty of Computer Science, University of Vienna, A-1090 Vienna, Austria; and Karlsruhe Institute of Technology, Institute for Theoretical Informatics, Postfach 6980, 76128 Karlsruhe, Germany; Heidelberg Institute for Theoretical Studies, Heidelberg Institute, 69118 Heidelberg, Germany; Center for Integrative Bioinformatics Vienna, Max F. Perutz Laboratories, University of Vienna, Medical University of Vienna, A-1030 Vienna, Austria; Bioinformatics and Computational Biology, Faculty of Computer Science, University of Vienna, A-1090 Vienna, Austria; and Karlsruhe Institute of Technology, Institute for Theoretical Informatics, Postfach 6980, 76128 Karlsruhe, Germany;
authors.forename: A
authors.initials: A
authors.lastname: Von Haeseler
authors.affiliation: Heidelberg Institute for Theoretical Studies, Heidelberg Institute, 69118 Heidelberg, Germany; Center for Integrative Bioinformatics Vienna, Max F. Perutz Laboratories, University of Vienna, Medical University of Vienna, A-1030 Vienna, Austria; Bioinformatics and Computational Biology, Faculty of Computer Science, University of Vienna, A-1090 Vienna, Austria; and Karlsruhe Institute of Technology, Institute for Theoretical Informatics, Postfach 6980, 76128 Karlsruhe, Germany; Heidelberg Institute for Theoretical Studies, Heidelberg Institute, 69118 Heidelberg, Germany; Center for Integrative Bioinformatics Vienna, Max F. Perutz Laboratories, University of Vienna, Medical University of Vienna, A-1030 Vienna, Austria; Bioinformatics and Computational Biology, Faculty of Computer Science, University of Vienna, A-1090 Vienna, Austria; and Karlsruhe Institute of Technology, Institute for Theoretical Informatics, Postfach 6980, 76128 Karlsruhe, Germany;
authors.forename: A
authors.initials: A
authors.lastname: Stamatakis
mesh_terms: D000465:Algorithms; D002965:Classification / Q000379:methods*; D046609:Libraries, Digital; D010802:Phylogeny; D012984:Software / Q000592:standards
keywords: Maximum likelihood; parallel computing; phylogenetics