Difference between revisions of "MrBayes"
Moskalenko (talk | contribs) m (Text replace - "<!--Choose sections to enable - OPTIONAL--> |{{#vardefine:mod|1}} <!--Present instructions for running the software with modules -->" to "") |
Moskalenko (talk | contribs) m (Text replace - "]] {| <!--Main settings - REQUIRED-->" to "]] {|<!--Main settings - REQUIRED-->") |
||
Line 2: | Line 2: | ||
__NOEDITSECTION__ | __NOEDITSECTION__ | ||
[[Category:Software]][[Category:Phylogenetics]] | [[Category:Software]][[Category:Phylogenetics]] | ||
− | + | {|<!--Main settings - REQUIRED--> | |
− | {| | ||
− | <!--Main settings - REQUIRED--> | ||
|{{#vardefine:app|mrbayes}} | |{{#vardefine:app|mrbayes}} | ||
|{{#vardefine:url|http://mrbayes.sourceforge.net/}} | |{{#vardefine:url|http://mrbayes.sourceforge.net/}} |
Revision as of 18:10, 10 August 2012
Description
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