
Branch-level Inference Framework for Recognizing Optimal Shifts in Traits
bifrost performs branch-level inference of multi-regime, multivariate trait evolution on a phylogeny using penalized-likelihood multivariate GLS fits. The current version searches for evolutionary model shifts under a multi-rate Brownian Motion (BMM) model with proportional regime VCV scaling, operates directly in trait space (for example, without PCA), and is designed for high-dimensional datasets (p > n) and large trees (> 1000 tips). The method works with fossil tip-dated trees and with a wide range of multivariate comparative data, including GPA-aligned morphometric coordinates, linear dimensions, and related trait matrices. A future major release will add support for the multivariate scalar Ornstein-Uhlenbeck process.
install.packages("bifrost")
# install.packages("remotes")
remotes::install_github("jakeberv/bifrost")
Windows users:
Install Rtools for your R version and ensure that it is added to your system PATH.
macOS users: You may need to install XQuartz to build or run packages that depend on certain graphical or system libraries.
mvMORPH::mvgls), supporting p >= n.GIC or BIC), with optional per-shift IC weights.future ecosystem; practical on thousands of taxa x traits.p.future and future.apply.bifrost.bifrost workflow using a minimal simulated example, including setup, key arguments, outputs, and interpretation.bifrost analysis end to end.Though bifrost was initially developed as a framework for inferring macroevolutionary regime shifts in multivariate trait data, it can also be applied to perform multivariate phylogenetic generalized least squares (pGLS) analyses with factors or continuous predictors (e.g., cbind(trait1, trait2, ...) ~ predictor, or "trait_data[, 1:5] ~ trait_data[, 6]" when working directly with a matrix). In this context, bifrost identifies branch-specific rate variation under a multi-rate Brownian Motion model and fits the pGLS conditional on the resulting residual (phylogenetic) covariance structure, so estimated effect sizes and uncertainties account for "hidden" rate variation not explained by the predictors. This is conceptually similar to hidden-state approaches (e.g., Boyko et al. 2023), except that here the regimes influence variance and evolutionary rate rather than introducing regime-specific means. This use case is an active area of ongoing methodological development.
If you use bifrost, please cite the package and methods references below. The same set is also available from:
citation("bifrost")
bifrost methods / application paper
Berv JS, Probst CM, Claramunt S, Shipley JR, Friedman M, Smith SA, Fouhey DF, Weeks BC (2026). Rates of passerine body plan evolution in time and space. Nature Ecology & Evolution. In press.
bifrost preprint
Berv JS, Fox N, Thorstensen MJ, Lloyd-Laney H, Troyer EM, Rivero-Vega RA, Smith SA, Friedman M, Fouhey DF, Weeks BC (2026). bifrost: an R package for scalable inference of phylogenetic shifts in multivariate evolutionary dynamics. bioRxiv. https://doi.org/10.64898/2026.04.12.718036
bifrost software citation
Berv JS, Fox N, Thorstensen MJ, Lloyd-Laney H, Troyer EM, Rivero-Vega RA, Smith SA, Friedman M, Fouhey DF, Weeks BC (2026). Branch-Level Inference Framework for Recognizing Optimal Shifts in Traits. R package version 0.1.4. https://CRAN.R-project.org/package=bifrost
mvMORPH package paper
Clavel J, Escarguel G, Merceron G (2015). mvmorph: an R package for fitting multivariate evolutionary models to morphometric data. Methods in Ecology and Evolution, 6(11), 1311-1319. https://doi.org/10.1111/2041-210X.12420
Penalized-likelihood framework paper Clavel J, Aristide L, Morlon H (2019). A Penalized Likelihood Framework for High-Dimensional Phylogenetic Comparative Methods and an Application to New-World Monkeys Brain Evolution. Systematic Biology, 68(1), 93-116. https://doi.org/10.1093/sysbio/syy045
Bug reports, feature requests, and pull requests are welcome. Please open an issue at https://github.com/jakeberv/bifrost/issues.
This project is released under the GPL (>= 2) License. See the LICENSE file for details.
bifrost builds on substantial work from mvMORPH, phytools, ape, future, and future.apply. The greedy search algorithm is adapted from Mitov et al. 2019 and Smith et al. 2023. See the DESCRIPTION file for complete dependency and version information.
The name of our R package is inspired by the Bifröst, the rainbow bridge of Norse mythology that connects Earth (Midgard) and Asgard within the cosmic structure of Yggdrasil, the Tree of Life, echoing how this framework links observable data to hidden evolutionary shifts across the history of life.
Development of the bifrost R package was supported by the Oxford Research Software Engineering Group, with support from Schmidt Sciences, LLC. and the Michigan Institute for Data Science and AI in Society.
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.