Difference between revisions of "MrBayes"
Line 64: | Line 64: | ||
{{#if: {{#var: pbs}}|==PBS Script Examples==|}} | {{#if: {{#var: pbs}}|==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. | + | 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}} | {{#fileAnchor: mrbayes.MPI.pbs}} |
Revision as of 14:34, 17 May 2012
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.
Available versions
- 3.1.2
Running the application using modules
Multiple versions of MrBayes are installed in /apps/mrbayes/3.1.2/, 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.1.2
All versions are compiled with Intel 10.1, so load this first in all cases.
For the serial (single core) version load MrBayes:
$module load intel/10.1 mrbayes
The recommended MPI version is the OpenMPI 1.2.7 compiled version. To use this load:
$module load intel/10.1 openmpi/1.2.7 mrbayes
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/10.1
module load openmpi/1.2.7
module load mrbayes
# Define number of processors
NPROCS=`wc -l < $PBS_NODEFILE`
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