BAMM (Bayesian Analysis of Macroevolutionary Mixtures) is a program for modeling complex dynamics of speciation, extinction, and trait evolution on phylogenetic trees.

BAMM is oriented entirely towards detecting and quantifying heterogeneity in evolutionary rates. It uses reversible jump Markov chain Monte Carlo to automatically explore a vast universe of candidate models of lineage diversification and trait evolution. BAMM and associated methods have been described and extended in several publications (PLoS ONE 2014 , Nature Communications 2013 , Systematic Biology 2014, and Evolution 2015). BAMM is a command line program written in C++. Post-run analysis and visualization is performed using the R package BAMMtools.

Recent changes

We’ve made a number of changes - some major - to both BAMM and BAMMtools that significantly improve performance and reliability. If you have used a previous version of BAMM or BAMMtools, we recommend installing the latest version.

  • BAMMtools now computes the prior analytically for the compound Poisson process model; there is thus no need to simulate the prior distribution of the number of shifts. More on this here.
  • BAMMtools 2.1 uses branch-specific marginal odds ratios to identify credible sets of shift configurations. More about why we made this change here.
  • Users can now use BAMMtools to test whether BAMM is correctly computing likelihoods (see here).
  • Some important bug fixes are documented here.
  • Comprehensive overhaul of BAMM’s C++ core for transparency and extensibility
  • Metropolis coupled MCMC implemented by default to facilitate convergence. The MC3 is described here.

Take a look at a new webpage that explains some of the intricacies of phylorate plot interpretation.

Please see the Changes page for more information.


The development of BAMM is funded by the National Science Foundation.