Code and Software

I am the principle devloper for the R package treess, which is useful for diagnosing the MCMC output of Bayesian phylogenetic analyses. The primary use of the package is to compute the effective sample size for phylogenetic trees, via one of a number of implemented approaches. There is also functionality for comparing multiple chains while accounting for within-chain variability, and for assessing the stability of a single run via block-bootstrapping.

I contribute to the open source phylogenetic inference software RevBayes, including code for birth-death and coalescent likelihoods, univariate distributions, and MCMC moves.

I have also contributed significant code to the following paper-associated repositories:

  • Magee et al. (2021) Preprint. Code. Repository contains code designed to test whether phylogenetic effective sample size measures are useful or not via simulation.
  • Magee and Hoehna (2021) Preprint. Code. Repository contains code for a fossilized birth-death with mass extinctions analysis of Crocodylomorpha, as well as simulations based on that analysis, and a number of sensitiity analyses.
  • Magee et al. (2020) Paper. Code. Repository contains code for a simulation study to characterize how well phylogenetic inference performs in the face of epistasis. There is also RevBayes code implementing the epistatic doublet model of Nasrallah and Huelsenbeck (2013).
  • Magee et al. (2020). Paper. Code. Repository contains code for simulating phylogenies under time-varying birth-death models and analyzing them with the Horseshoe Markov random field birth-death model I developed in this paper. Also includes code for join inference of time-calibrated phylogenies and time-varying birth-rates (with the Horseshoe model) from sequence data using RevBayes.
  • Faulkner et al. (2020) Paper. Code. Repositoy contains code for analyses of population genetic and phylodynamic datasets under time-varying coalescent models. Jim Faulkner and Vladimir Minin developed the models, I implemented them in RevBayes.

For my work on birth-death processes, I have also contributed to the following RevBayes tutorials, which walk you through how to set the model up on your own data.

  • Estimating mass extinctions from phylogenies of extinct and extant taxa. Link
  • Estimating diversification rates through time with a Horseshoe Markov random field model. Link

R code for two computational labs I helped to develop is available here. One lab explores the Luria-Delbruck experiment and modifications thereof. This lab is designed to work in conjunction with a wet lab recapitulating the Luria-Delbruck experiment, but can be done with any data from such an experiment (including the original data from Luria and Delbruck). The other lab explores models of population cycling, and includes all necessary datasets.