Phylograd: fast column-specific calculation of substitution model gradients

Read full text
Authors: Benjamin Lieser, Georgy Belousov, Johannes Söding
Cited by: 0

Abstract

Abstract Background Most popular tools for reconstructing phylogenetic trees from multiple sequence alignments use a model of molecular evolution in which a single substitution matrix or a small set of fixed matrices are shared between all columns. Models with column-specific rate matrices can in principle be fit by automatic differentiation methods, but in practice the heavy computational burden associated with computing the gradients of the many matrix exponentials has hindered exploration of such models. Implementation Here, we present a highly efficient approach for reverse-mode differentiation of the log likelihood computed with Felsenstein’s algorithm under any time-reversible substitution model. PhyloGrad is implemented in Rust and has Python bindings to easily combine it with automatic differentiation tools. Results Depending on the tree size, PhyloGrad is 30-100 times faster than automatic differentiation in Pytorch and uses 10-100 times less memory. Even in the task of fitting one global model it is still at least 10 times faster than IQ-TREE3. PhyloGrad accelerates current model optimizations and enables the field to easily explore and implement novel site-specific models.

Fields of Study & Subjects

Genomics and Phylogenetic Studies RNA and protein synthesis mechanisms Evolution and Genetic Dynamics

Publication details

Journal / source
Figshare
Publication date
1 January 2026