MrBayes

From UFRC
Revision as of 13:26, 17 July 2012 by Magitz (talk | contribs)
Jump to navigation Jump to search

Description

{{{name}}} website  
MrBayes is a program for Bayesian inference and model choice across a wide range of phylogenetic and evolutionary models. MrBayes uses Markov chain Monte Carlo (MCMC) methods to estimate the posterior distribution of model parameters.

Template:App Location

Available versions

  • 3.1.2
  • 3.2.1

Running the application using modules

Multiple versions of MrBayes are installed in /apps/mrbayes/, and can be used through loading different sets of module files.

For information about the MrBayes module options, run the module spider command:

$module spider mrbayes/3.2.1
or
$module spider mrbayes/3.1.2

MrBayes 3.2.1 versions are compiled with Intel 11.1, while MrBayes 3.1.2 versions are compiled with Intel 10.1. In either case, you will need to load the Intel module first.


For the serial (single core) version load MrBayes:

$module load intel/11.1 mrbayes

The recommended MPI version is the OpenMPI 1.4.3 compiled version. To use this load:

$module load intel/11.1 openmpi/1.4.3 mrbayes

For MrBayes 3.1.2, we also have an MPI version compiled with MVAPICH/0.9.9

$module load intel/10.1 mvapich/0.9.9 mrbayes


PBS Script Examples

For MPI jobs: Remember that the total number of cores cannot be greater than the total number of chains MrBayes is using. For example, if you have 2 runs, each with 4 chains, the maximum number of cores to request is 2*4=8 cores. As long as the number of cores is under 12, it is best to keep nodes=1 (nodes = physical machines) as that will keep all communication within a single node. If you need more than 12 cores, you will probably want to add :infiniband to the request. (e.g. nodes=4:ppn=8:infiniband).

{{#fileAnchor: mrbayes.MPI.pbs}} Download raw source of the [{{#fileLink: mrbayes.MPI.pbs}} mrbayes.MPI.pbs]

#!/bin/bash
#
#PBS -N mrbayes
#PBS -M <your e-mail>
#PBS -m abe
#PBS -o mb.$PBS_JOBID.out
#PBS -e mb.$PBS_JOBID.err
#PBS -l nodes=1:ppn=8
#PBS -l pmem=500mb
#PBS -l walltime=01:00:00
#

#Change to the directory where the job was launched from
cd $PBS_O_WORKDIR

#Use modules to load the environment for MrBayes
module load intel/11.1
module load openmpi/1.4.3
module load mrbayes

# Define number of processors
NPROCS=`wc -l < $PBS_NODEFILE`

# This section tests for infiniband connections among nodes, and
#   sets things up for best performance either way.
IbEnabled=`/usr/local/sbin/IbEnabled`
if [ $IbEnabled -gt 0 ]; then
  echo "Running on IB-enabled node set"
  MPIRUN="mpirun --mca btl openib"
else
  echo "Running on GigE-enabled node set"
  MPIRUN="mpirun --mca btl ^udapl,openib --mca btl_tcp_if_include eth0"
fi

echo This job has allocated $NPROCS nodes
echo $MPIRUN -np $NPROCS mb my_nexus.nex

#Run MrBayes using the command line from documentation.
$MPIRUN -np $NPROCS mb my_nexus.nex


Script for serial (single core) MrBayes job: {{#fileAnchor: mrbayes.serial.pbs}} Download raw source of the [{{#fileLink: mrbayes.serial.pbs}} mrbayes.serial.pbs]

#!/bin/bash
#
#PBS -N mrbayes
#PBS -M <your e-mail>
#PBS -m abe
#PBS -o mb.$PBS_JOBID.out
#PBS -e mb.$PBS_JOBID.err
#PBS -l nodes=1:ppn=1
#PBS -l pmem=500mb
#PBS -l walltime=01:00:00
#

#Change to the directory where the job was launched from
cd $PBS_O_WORKDIR

#Use modules to load the environment for MrBayes
module load intel/11.1
module load mrbayes

mb my_nexus.nex