Difference between revisions of "MrBayes"

From UFRC
Jump to navigation Jump to search
m (Text replace - "]] {| <!--Main settings - REQUIRED-->" to "]] {|<!--Main settings - REQUIRED-->")
Line 5: Line 5:
 
|{{#vardefine:app|mrbayes}}
 
|{{#vardefine:app|mrbayes}}
 
|{{#vardefine:url|http://mrbayes.sourceforge.net/}}
 
|{{#vardefine:url|http://mrbayes.sourceforge.net/}}
<!--Compiler and MPI settings - OPTIONAL -->
 
|{{#vardefine:intel|11.1}} <!-- E.g. "11.1" -->
 
|{{#vardefine:mpi|openmpi/1.4.3}} <!-- E.g. "openmpi/1.3.4" -->
 
 
 
|{{#vardefine:exe|}} <!--Present manual instructions for running the software -->
 
|{{#vardefine:exe|}} <!--Present manual instructions for running the software -->
 
|{{#vardefine:conf|}} <!--Enable config wiki page link - {{#vardefine:conf|1}} = ON/conf|}} = OFF-->
 
|{{#vardefine:conf|}} <!--Enable config wiki page link - {{#vardefine:conf|1}} = ON/conf|}} = OFF-->
Line 24: Line 20:
 
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.
 
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.
 
<!--Modules-->
 
<!--Modules-->
==Execution Environment and Modules==
+
==Required Modules==
Multiple versions of MrBayes are installed in /apps/mrbayes/, and can be used through loading different sets of module files.
+
[[Modules|modules documentation]]
 
+
===Serial===
For information about the MrBayes module options, run the module spider command:
+
*{{#var:app}}
$module spider mrbayes/3.2.1
+
===Parallel (OpenMP)===
or
+
*intel
$module spider mrbayes/3.1.2
+
*{{#var:app}}
 
+
===Parallel (OpenMPI)===
'''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.
+
*intel
 
+
*openmpi
For the serial (single core) version load MrBayes:
+
*{{#var:app}}
$module load intel/11.1 mrbayes
+
==System Variables==
 
+
* HPC_{{#uppercase:{{#var:app}}}}_DIR - installation directory
The recommended MPI version is the OpenMPI 1.4.3 compiled version. To use this load:
+
<!--Additional-->
$module load intel/11.1 openmpi/1.4.3 mrbayes
+
{{#if: {{#var: exe}}|==Additional Information==
 
 
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
 
 
 
{{#if: {{#var: exe}}|==How To Run==
 
 
WRITE INSTRUCTIONS ON RUNNING THE ACTUAL BINARY|}}
 
WRITE INSTRUCTIONS ON RUNNING THE ACTUAL BINARY|}}
 
{{#if: {{#var: conf}}|==Configuration==
 
{{#if: {{#var: conf}}|==Configuration==
 
See the [[{{PAGENAME}}_Configuration]] page for {{#var: app}} configuration details.|}}
 
See the [[{{PAGENAME}}_Configuration]] page for {{#var: app}} configuration details.|}}
 
{{#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. 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).
 
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).
  

Revision as of 19:17, 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.

Required Modules

modules documentation

Serial

  • mrbayes

Parallel (OpenMP)

  • intel
  • mrbayes

Parallel (OpenMPI)

  • intel
  • openmpi
  • mrbayes

System Variables

  • HPC_{{#uppercase:mrbayes}}_DIR - installation directory


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