3
|
Valle M, Schabauer H, Pacher C, Stockinger H, Stamatakis A, Robinson-Rechavi M, Salamin N. Optimization strategies for fast detection of positive selection on phylogenetic trees. ACTA ACUST UNITED AC 2014; 30:1129-1137. [PMID: 24389654 PMCID: PMC3982156 DOI: 10.1093/bioinformatics/btt760] [Citation(s) in RCA: 21] [Impact Index Per Article: 2.1] [Reference Citation Analysis] [Abstract] [Track Full Text] [Download PDF] [Figures] [Journal Information] [Subscribe] [Scholar Register] [Received: 06/20/2013] [Accepted: 12/23/2013] [Indexed: 12/20/2022]
Abstract
Motivation: The detection of positive selection is widely used to study gene and genome evolution, but its application remains limited by the high computational cost of existing implementations. We present a series of computational optimizations for more efficient estimation of the likelihood function on large-scale phylogenetic problems. We illustrate our approach using the branch-site model of codon evolution. Results: We introduce novel optimization techniques that substantially outperform both CodeML from the PAML package and our previously optimized sequential version SlimCodeML. These techniques can also be applied to other likelihood-based phylogeny software. Our implementation scales well for large numbers of codons and/or species. It can therefore analyse substantially larger datasets than CodeML. We evaluated FastCodeML on different platforms and measured average sequential speedups of FastCodeML (single-threaded) versus CodeML of up to 5.8, average speedups of FastCodeML (multi-threaded) versus CodeML on a single node (shared memory) of up to 36.9 for 12 CPU cores, and average speedups of the distributed FastCodeML versus CodeML of up to 170.9 on eight nodes (96 CPU cores in total). Availability and implementation:ftp://ftp.vital-it.ch/tools/FastCodeML/. Contact:selectome@unil.ch or nicolas.salamin@unil.ch
Collapse
Affiliation(s)
- Mario Valle
- Swiss National Supercomputing Centre, Scientific Computing Group, Lugano, Switzerland, Department of Ecology and Evolution, University of Lausanne, Lausanne, Switzerland, SIB Swiss Institute of Bioinformatics, Lausanne, Switzerland, AIT Austrian Institute of Technology, Safety & Security Department, Vienna, Austria, Vital-IT Group, SIB Swiss Institute of Bioinformatics, Lausanne, Switzerland, Heidelberg Institute for Theoretical Studies, Scientific Computing Group and Karlsruhe Institute of Technology, Institute for Theoretical Informatics, Karlsruhe, Germany
| | - Hannes Schabauer
- Swiss National Supercomputing Centre, Scientific Computing Group, Lugano, Switzerland, Department of Ecology and Evolution, University of Lausanne, Lausanne, Switzerland, SIB Swiss Institute of Bioinformatics, Lausanne, Switzerland, AIT Austrian Institute of Technology, Safety & Security Department, Vienna, Austria, Vital-IT Group, SIB Swiss Institute of Bioinformatics, Lausanne, Switzerland, Heidelberg Institute for Theoretical Studies, Scientific Computing Group and Karlsruhe Institute of Technology, Institute for Theoretical Informatics, Karlsruhe, Germany Swiss National Supercomputing Centre, Scientific Computing Group, Lugano, Switzerland, Department of Ecology and Evolution, University of Lausanne, Lausanne, Switzerland, SIB Swiss Institute of Bioinformatics, Lausanne, Switzerland, AIT Austrian Institute of Technology, Safety & Security Department, Vienna, Austria, Vital-IT Group, SIB Swiss Institute of Bioinformatics, Lausanne, Switzerland, Heidelberg Institute for Theoretical Studies, Scientific Computing Group and Karlsruhe Institute of Technology, Institute for Theoretical Informatics, Karlsruhe, Germany
| | - Christoph Pacher
- Swiss National Supercomputing Centre, Scientific Computing Group, Lugano, Switzerland, Department of Ecology and Evolution, University of Lausanne, Lausanne, Switzerland, SIB Swiss Institute of Bioinformatics, Lausanne, Switzerland, AIT Austrian Institute of Technology, Safety & Security Department, Vienna, Austria, Vital-IT Group, SIB Swiss Institute of Bioinformatics, Lausanne, Switzerland, Heidelberg Institute for Theoretical Studies, Scientific Computing Group and Karlsruhe Institute of Technology, Institute for Theoretical Informatics, Karlsruhe, Germany
| | - Heinz Stockinger
- Swiss National Supercomputing Centre, Scientific Computing Group, Lugano, Switzerland, Department of Ecology and Evolution, University of Lausanne, Lausanne, Switzerland, SIB Swiss Institute of Bioinformatics, Lausanne, Switzerland, AIT Austrian Institute of Technology, Safety & Security Department, Vienna, Austria, Vital-IT Group, SIB Swiss Institute of Bioinformatics, Lausanne, Switzerland, Heidelberg Institute for Theoretical Studies, Scientific Computing Group and Karlsruhe Institute of Technology, Institute for Theoretical Informatics, Karlsruhe, Germany
| | - Alexandros Stamatakis
- Swiss National Supercomputing Centre, Scientific Computing Group, Lugano, Switzerland, Department of Ecology and Evolution, University of Lausanne, Lausanne, Switzerland, SIB Swiss Institute of Bioinformatics, Lausanne, Switzerland, AIT Austrian Institute of Technology, Safety & Security Department, Vienna, Austria, Vital-IT Group, SIB Swiss Institute of Bioinformatics, Lausanne, Switzerland, Heidelberg Institute for Theoretical Studies, Scientific Computing Group and Karlsruhe Institute of Technology, Institute for Theoretical Informatics, Karlsruhe, Germany Swiss National Supercomputing Centre, Scientific Computing Group, Lugano, Switzerland, Department of Ecology and Evolution, University of Lausanne, Lausanne, Switzerland, SIB Swiss Institute of Bioinformatics, Lausanne, Switzerland, AIT Austrian Institute of Technology, Safety & Security Department, Vienna, Austria, Vital-IT Group, SIB Swiss Institute of Bioinformatics, Lausanne, Switzerland, Heidelberg Institute for Theoretical Studies, Scientific Computing Group and Karlsruhe Institute of Technology, Institute for Theoretical Informatics, Karlsruhe, Germany
| | - Marc Robinson-Rechavi
- Swiss National Supercomputing Centre, Scientific Computing Group, Lugano, Switzerland, Department of Ecology and Evolution, University of Lausanne, Lausanne, Switzerland, SIB Swiss Institute of Bioinformatics, Lausanne, Switzerland, AIT Austrian Institute of Technology, Safety & Security Department, Vienna, Austria, Vital-IT Group, SIB Swiss Institute of Bioinformatics, Lausanne, Switzerland, Heidelberg Institute for Theoretical Studies, Scientific Computing Group and Karlsruhe Institute of Technology, Institute for Theoretical Informatics, Karlsruhe, Germany Swiss National Supercomputing Centre, Scientific Computing Group, Lugano, Switzerland, Department of Ecology and Evolution, University of Lausanne, Lausanne, Switzerland, SIB Swiss Institute of Bioinformatics, Lausanne, Switzerland, AIT Austrian Institute of Technology, Safety & Security Department, Vienna, Austria, Vital-IT Group, SIB Swiss Institute of Bioinformatics, Lausanne, Switzerland, Heidelberg Institute for Theoretical Studies, Scientific Computing Group and Karlsruhe Institute of Technology, Institute for Theoretical Informatics, Karlsruhe, Germany
| | - Nicolas Salamin
- Swiss National Supercomputing Centre, Scientific Computing Group, Lugano, Switzerland, Department of Ecology and Evolution, University of Lausanne, Lausanne, Switzerland, SIB Swiss Institute of Bioinformatics, Lausanne, Switzerland, AIT Austrian Institute of Technology, Safety & Security Department, Vienna, Austria, Vital-IT Group, SIB Swiss Institute of Bioinformatics, Lausanne, Switzerland, Heidelberg Institute for Theoretical Studies, Scientific Computing Group and Karlsruhe Institute of Technology, Institute for Theoretical Informatics, Karlsruhe, Germany Swiss National Supercomputing Centre, Scientific Computing Group, Lugano, Switzerland, Department of Ecology and Evolution, University of Lausanne, Lausanne, Switzerland, SIB Swiss Institute of Bioinformatics, Lausanne, Switzerland, AIT Austrian Institute of Technology, Safety & Security Department, Vienna, Austria, Vital-IT Group, SIB Swiss Institute of Bioinformatics, Lausanne, Switzerland, Heidelberg Institute for Theoretical Studies, Scientific Computing Group and Karlsruhe Institute of Technology, Institute for Theoretical Informatics, Karlsruhe, Germany
| |
Collapse
|