BEAST

From Alliance Doc
Jump to navigation Jump to search


This article is a draft

This is not a complete article: This is a draft, a work in progress that is intended to be published into an article, which may or may not be ready for inclusion in the main wiki. It should not necessarily be considered factual or authoritative.

Description

BEAST[1] 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.

BEAST can use the beagle-lib[2], which is a high-performance library that can perform the core calculations at the heart of most Bayesian and Maximum Likelihood phylogenetics packages.

Usage

Loading the BEAST module with: module load beast, will automatically load it's dependencies, namely the beagle-lib and java modules, and set the environment variable EBROOTBEAST to point to the directory where BEAST's program files are located.

Managing BEAST Packages/Add-ons

BEAST has been installed without any add-ons. You can use the addonmanager-command to install the desired add-ons within your home-directory.

 $ module load beast
 $ addonmanager -list
 Name            | Installation Status | Latest Version | Dependencies  | Description
 ------------------------------------------------------------------------------------
 BEAST           | 2.4.0               | 2.4.8          |               | BEAST core
 ------------------------------------------------------------------------------------
 bacter          | not installed       | 1.2.3          |               | Bacterial ARG inference.
 BASTA           | not installed       | 2.3.2          |               | Bayesian structured coalescent approximation
 [...]
 SNAPP           | not installed       | 1.3.0          |               | SNP and AFLP Phylogenies
 [...]
 
 $ addonmanager -add SNAPP
 Package SNAPP is installed in ~/.beast/2.4/SNAPP.
 
 $ addonmanager -list
 Name            | Installation Status | Latest Version | Dependencies  | Description
 ------------------------------------------------------------------------------------
 BEAST           | 2.4.0               | 2.4.8          |               | BEAST core
 ------------------------------------------------------------------------------------
 [...]
 SNAPP           | 1.3.0               | 1.3.0          |               | SNP and AFLP Phylogenies
 [...]

For more information on how to manage BEAST packages please read the section "Server machines" at: http://www.beast2.org/managing-packages/

Simple Jobscript for BEAST

File : simple_beast_job.sh

#!/bin/bash
#SBATCH --account=def-someuser
#SBATCH --time=3:00:00
#SBATCH --mem=2000M

module load beast/2.4.0

beast input_beast.xml


Jobscript for BEAST with more Memory

File : high_memory_beast_job.sh

#!/bin/bash
#SBATCH --account=def-someuser
#SBATCH --time=3:00:00
#SBATCH --mem=4000M

# Increase Maximum memory here if necessary:
# "BEAST_MEM" needs to be 250M lower than "--mem="
BEAST_MEM="-Xmx3750M"

module load beast/2.4.0

# Define a shorter variable where to find BEAST
BEAST="$EBROOTBEAST"

# Build a long java command:
CMD="java -Xms256m $BEAST_MEM"            # set memory
CMD="$CMD -Djava.library.path=$BEAST/lib" # point to BEAST library
CMD="$CMD -jar $BEAST/lib/beast.jar"      # which program to execute

echo ".................................."
echo "The Java command is \"$CMD\""
echo ".................................."

# Run the command:
$CMD  input_beast.xml


References

  1. BEAST2 Homepage: http://beast2.org/
  2. Beagle-lib Homepage: https://github.com/beagle-dev/beagle-lib