High-Performance Computing at the NIH
GitHub YouTube @nih_hpc RSS Feed
BEAST on Biowulf & Helix

BEAST (Bayesian Evolutionary Analysis Sampling Trees) is a cross-platform program for Bayesian MCMC analysis of molecular sequences. It is entirely orientated towards rooted, time-measured phylogenies inferred using strict or relaxed molecular clock models. It can be used as a method of reconstructing phylogenies but is also a framework for testing evolutionary hypotheses without conditioning on a single tree topology. BEAST uses MCMC to average over tree space, so that each tree is weighted proportional to its posterior probability. We include a simple to use user-interface program for setting up standard analyses and a suit of programs for analysing the results.


If you use this application in your research, the recommended citation is Drummond AJ, Suchard MA, Xie D & Rambaut A (2012) Bayesian phylogenetics with BEAUti and the BEAST 1.7 Molecular Biology And Evolution 29: 1969-1973

To use BEAST, please set your environment using environment modules.

module avail BEAST

To select a module, type

module load BEAST/[ver]

where [ver] is the version of choice.

Environment variables set:

Running BEAST on Helix

Once your environment has been set, get your XML input in place and type

beast myinput.xml

There is an example available:

cp $BEAST_EXAMPLES/Benchmarks/benchmark1.xml .
beast benchmark1.xml
Submitting a swarm of BEAST jobs on Biowulf

Create a swarm command file (beast.swarm) with a single line for each run, e.g.:

beast file1.xml
beast file2.xml
beast file3.xml
beast file4.xml

The environment module can be loaded using --module. Submit this swarm of jobs with the command:

swarm -f beast.swarm --module BEAST
Submitting a single BEAST batch job on Biowulf

Create a script file (sbatch.sh) like this:

#SBATCH --job-name beast
module load beast

beast myinput.xml

Then submit to the cluster like this:

sbatch sbatch.sh
Running BEAST with GPUs

Under some circumstances, GPUs can greatly accelerate computation. Include -beagle_GPU -beagle_order 2,1,0 with the beast commandline:

beast -beagle_GPU -beagle_order 2,1,0 myinput.xml

and be sure to allocate GPUs:

sbatch --constraint=gpuk20x --gres=gpu:k20x:2 sbatch.sh

Type beast -help at the prompt

BEAST wiki page