Difference between revisions of "MrBayes"

From UFRC
Jump to navigation Jump to search
m (Text replace - "Usage policy" to "Usage Policy")
Line 137: Line 137:
 
</source>
 
</source>
  
{{#if: {{#var: policy}}|==Usage policy==
+
{{#if: {{#var: policy}}|==Usage Policy==
 
WRITE USAGE POLICY HERE (perhaps templates for a couple of main licensing schemes can be used)|}}
 
WRITE USAGE POLICY HERE (perhaps templates for a couple of main licensing schemes can be used)|}}
 
{{#if: {{#var: testing}}|==Performance==
 
{{#if: {{#var: testing}}|==Performance==

Revision as of 16:32, 10 August 2012

Description

mrbayes 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.

Execution Environment and 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 from which the job was submitted
#
cd $PBS_O_WORKDIR
#
# Use modules to configure your environment for mrbayes
#
module load intel/11.1
module load openmpi/1.4.3
module load mrbayes
#
# This section tests for an infiniband interconnect 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="mpiexec --mca btl self,sm,openib"
else
  echo "Running on GigE-enabled node set"
  MPIRUN="mpiexec --mca btl ^udapl,openib --mca btl_tcp_if_include eth0"
fi

echo This job has allocated $NPROCS nodes
echo $MPIRUN mb my_nexus.nex
#
# Run MrBayes using the command line from documentation.
#
$MPIRUN 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 from which the job was submitted
#
cd $PBS_O_WORKDIR
#
# Use modules to configure your environment for mrbayes
#
module load intel/11.1
module load mrbayes
#
# launch the executable
#
mb my_nexus.nex