BEAST2 is a cross-platform program for Bayesian phylogenetic analysis of molecular sequences. BEAST2 uses Markov chain Monte Carlo (MCMC) to average over tree space, and can be computationally challenging.

If you are going to use BEAST and wish the best performance to reduce run times, you should make use of the BEAGLE package, which includes CPU and GPU optimizations. This package is also installed on Odyssey and only with the latest versions of BEAST will be loaded automatically for use.

To make use of BEAGLE with BEAST, you will need to call BEAST in the following manner:

beast options -beagle_SSE yourfile.xml

Please see http://beast2.org/performance-suggestions/ and http://beast2.org/beagle-beast-2-in-cluster/for more information.

If you use the beast command as is, you are locked in to 2 GB of RAM. If you wish more, you will need to set up the java options JAVA_OPTS bash environment variable. This value should match the amount that you requested from SLURM.

An example SLURM script for an 8 GB run, 8 threads, and using BEAGLE would look like:

#SBATCH -J mcore_BEAST_BEAGLE # job name
#SBATCH -p general # general for long multicore work
#SBATCH -n 8 # 8 cores
#SBATCH -N 1 # 1 node
#SBATCH --mem 8000 # 8 GB
#SBATCH -t 1-0:00 # 1 day-0hrs
#SBATCH -o beast-%j.out # STDOUT file with jobID
#SBATCH -e beast-%j.err # STDERR file with jobID
#SBATCH --mail-type=ALL # get all mail notifications
source new-modules.sh
module load BEAST/2.2.1-fasrc04
export JAVA_OPTS="-Xmx8000m"
beast -threads $SLURM_NTASKS beagle_SSE -seed 777 my.xml

Last updated: February 25, 2016 at 12:09 pm

CC BY-NC 4.0 This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License. Permissions beyond the scope of this license may be available at Attribution.