Applets that I use in teaching

Developing these applets helped me understand concepts, and I hope they are useful to you as well.



Natural Selection

Population Genetics

C++ Bayesian phylogenetics software tutorial

This is a tutorial showing how to create a functioning Bayesian phylogenetics application in C++. It makes use of the BeagleLib library for computing likelihoods, and illustrates how to implement data partitioning, heated chains, rate heterogeneity, codon models, polytomy-friendly tree topology priors, and steppingstone marginal likelihood estimation.

MCMC Robot

This is a free app for iPad/iPhone that illustrates the basic principles of Markov chain Monte Carlo using the metaphor of a robot following simple rules to walk around on a landscape and, in the process, learning about the topography of the landscape. For the iOS version, P. Lewis acknowledges the support provided by NSF grant DEB-1036448 (GrAToL).

A D3 javascript version of MCMC Robot that can be run inside any modern web browser is also available (MCMC Robot).

Note: an older Windows version of this app is available below or from the MCMC Robot home page.


Program that estimates topological information content from a tree file (or list of tree files) representing a sample from the posterior distribution generated by a Bayesian phylogenetic analysis. The analysis performed by Galax is described in the following manuscript:

Lewis, P. O., M.-H. Chen, L. Kuo, L. A. Lewis, K. Fučíková, S. Neupane, Y.-B. Wang, and D. Shi. 2016. Estimating Bayesian phylogenetic information content. Systematic Biology 65(6):1009-1023.

Important! The methods outlined in the above paper and implemented in the Galax software are most useful for problems involving fewer than 12 taxa. Please give Table 2 in the paper your full attention before using the software on your own data, especially if you suspect information content is low. We are working on a more general solution that will more accurately measure information content.

Download Galax v1.0.0


Program by Paul O. Lewis and Dmitri Zaykin designed to accompany the book “Genetic Data Analysis” by Bruce S. Weir (1996, Sinaur Associates). Computes linkage and Hardy-Weinberg disequilibrium, some genetic distances, and provides method-of-moments estimators for hierarchical F-statistics.


Weir, B. S. 1996. Genetic Data Analysis. 2nd ed. Sinauer Associates, Sunderland, Massachusetts. 376 pages.