For phylogenetics we routinely search over large tree spaces, but typically assume that there is no gene flow between species. In population genetics, we often assume population shared history does not matter, but gene flow between populations is of great importance. Phylogeography spans both of these areas. Typically, this is dealt with by ignoring gene flow, ignoring structure, or by trying just a few examples of possible branching and gene flow scenarios. PHRAPL can create hundreds of possible histories that have a mixture of gene flow, population subdivision, and/or population size differences and compare these models using AIC. Not all these models have analytic solutions, so we simulate to estimate the likelihoods. This is similar to approximate Bayesian computation, but is prior-free (which could be good or bad, depending on your perspective) and uses the gene tree topology as a summary stat.

For more about using PHRAPL, please check out our manual.


We are running a PHRAPL workshop at the 2017 SSB Standalone Meeting in Baton Rouge, LA. To sign up for the workshop, please go here. Note that we have $500 travel vouchers available for participants.


If you want an early way to cite PHRAPL, you could use our bioRxiv manuscript (not peer reviewed):

This has gone through the usual rounds of peer review; it is currently accepted pending major revision at Systematic Biology:

We have two other manuscripts in press:


You can get phrapl in two ways. The easiest is to install the latest version from github:



However, that only works for Mac and Linux machines (if you get an rgl error on a Mac, try reinstalling XQuarz). If you’re using Windows, you can still run phrapl using Docker (this also works for Mac and Linux). Docker is like a lightweight virtual machine (lightweight because it can share many things between multiple virtual machines running on the same hardware).

See here for how to install Docker on Windows. Docker for Windows requires 64bit Windows 10 Pro, Enterprise and Education (1511 November update, Build 10586 or later) and Microsoft Hyper-V.

Then you can use

docker run -it -p 8787:8787 bomeara/phydocker

to run it as an RStudio Server.

If you want to use a local folder, you can use

docker run -it -v /Path/To/My/Folder:/data -p 8787:8787 bomeara/phydocker

Change /Path/To/My/Folder to the absolute path to the folder you want access to (any subfolders will also be accessible). You can read and write to this in RStudio as the /data directory. In your web browser, go to localhost:8787, enter username and password (both are rstudio), to launch a version of RStudio that will run in your browser and have everything you might need. You might want to do setwd("/data") to make sure you’re in the right directory. You can save any results or figures to this directory and it will still exist when you quit this instance.


The PHRAPL project is the joint work of the following folks, listed alphabetically:

It was supported by NSF grants:

which were made possible by your US federal tax dollars.