Sampling beta coalescent trees

Beta coalescent processes are a one parameter family (alpha) of Lambda-coalescents that include the standard Kingman coalescent (alpha=2) and the Bolthausen-Sznitman coalescent (alpha=1), which has recently been shown to describe genealogies in rapidly adapting populations. The role of the beta coalescent processes at intermediate alpha are not as well understood.

One would often like to compare data or simulations to trees generated by a particular beta coalescent processes. To this end, we have written a small python program that generates beta coalescent trees for any 1<=alpha<=2. These trees are returned as BioPython trees.

In addition, we have written a wrapper that repeatedly generated trees and uses these trees to calculate the site frequency spectrum (SFS). The SFS (histogram of allele frequencies) is an informative summary statistic that changes characteristically as alpha varies from 1 to 2. The scripts are at github.com/neherlab/betatree, including a few examples.

sfs_logit_binning

Advertisements