Difference between revisions of "MrBayes"

From UFRC
Jump to navigation Jump to search
m (Text replace - "]] {| <!--Main settings - REQUIRED-->" to "]] {|<!--Main settings - REQUIRED-->")
m (Text replacement - "#uppercase" to "uc")
(7 intermediate revisions by 4 users not shown)
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-->
|{{#vardefine:pbs|1}} <!--Enable PBS script wiki page link-->
+
|{{#vardefine:pbs|}} <!--Enable PBS script wiki page link-->
 
|{{#vardefine:policy|}} <!--Enable policy section -->
 
|{{#vardefine:policy|}} <!--Enable policy section -->
 
|{{#vardefine:testing|}} <!--Enable performance testing/profiling section -->
 
|{{#vardefine:testing|}} <!--Enable performance testing/profiling section -->
Line 23: Line 19:
  
 
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-->
 
==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:
+
In addition to the official MrBayes distribution, a modified version that uses the Gamma-Dirichlet and Inverse Gamma-Dirichlet priors for branch lengths (Rannala et al. in press; Zhang et al. 2012). This also includes the two exponential priors on internal and external branch lengths described by Yang & Rannala (2005) and Yang (2007). Please see [http://abacus.gene.ucl.ac.uk/software.html Ziheng Yang's site] for more information and citations. The modified version is only installed for openmpi and is called mb_Dirichlet. To run this version, simply replace mb with mb_Dirichlet in the examples below.
$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.
+
<!--Modules-->
 
+
==Required Modules==
For the serial (single core) version load MrBayes:
+
[[Modules|modules documentation]]
$module load intel/11.1 mrbayes
+
===Serial===
 
+
*{{#var:app}}
The recommended MPI version is the OpenMPI 1.4.3 compiled version. To use this load:
+
===Parallel (OpenMP)===
$module load intel/11.1 openmpi/1.4.3 mrbayes
+
*intel
 
+
*{{#var:app}}
For MrBayes 3.1.2, we also have an MPI version compiled with MVAPICH/0.9.9
+
===Parallel (OpenMPI)===
$module load intel/10.1 mvapich/0.9.9 mrbayes
+
*intel
 
+
*openmpi
{{#if: {{#var: exe}}|==How To Run==
+
*{{#var:app}}
 +
==System Variables==
 +
* HPC_{{uc:{{#var:app}}}}_DIR - installation directory
 +
<!--Additional-->
 +
{{#if: {{#var: exe}}|==Additional Information==
 
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).
  
 +
<!--
 
{{#fileAnchor: mrbayes.MPI.pbs}}
 
{{#fileAnchor: mrbayes.MPI.pbs}}
 
Download raw source of the [{{#fileLink: mrbayes.MPI.pbs}} mrbayes.MPI.pbs]
 
Download raw source of the [{{#fileLink: mrbayes.MPI.pbs}} mrbayes.MPI.pbs]
Line 71: Line 65:
 
# Use modules to configure your environment for mrbayes
 
# Use modules to configure your environment for mrbayes
 
#
 
#
module load intel/11.1
+
module load intel
module load openmpi/1.4.3
+
module load openmpi
 
module load mrbayes
 
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.
 
# Run MrBayes using the command line from documentation.
 
#
 
#
$MPIRUN mb my_nexus.nex
+
mpiexec mb my_nexus.nex
 
</source>
 
</source>
  
Line 118: Line 97:
 
# Use modules to configure your environment for mrbayes
 
# Use modules to configure your environment for mrbayes
 
#
 
#
module load intel/11.1
 
 
module load mrbayes
 
module load mrbayes
 
#
 
#
Line 125: Line 103:
 
mb my_nexus.nex
 
mb my_nexus.nex
 
</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)|}}

Revision as of 21:23, 6 December 2019

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.

In addition to the official MrBayes distribution, a modified version that uses the Gamma-Dirichlet and Inverse Gamma-Dirichlet priors for branch lengths (Rannala et al. in press; Zhang et al. 2012). This also includes the two exponential priors on internal and external branch lengths described by Yang & Rannala (2005) and Yang (2007). Please see Ziheng Yang's site for more information and citations. The modified version is only installed for openmpi and is called mb_Dirichlet. To run this version, simply replace mb with mb_Dirichlet in the examples below.

Required Modules

modules documentation

Serial

  • mrbayes

Parallel (OpenMP)

  • intel
  • mrbayes

Parallel (OpenMPI)

  • intel
  • openmpi
  • mrbayes

System Variables

  • HPC_MRBAYES_DIR - installation directory


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