Difference between revisions of "MrBayes"

From UFRC
Jump to navigation Jump to search
m (Text replacement - "#uppercase" to "uc")
(16 intermediate revisions by 5 users not shown)
Line 2: Line 2:
 
__NOEDITSECTION__
 
__NOEDITSECTION__
 
[[Category:Software]][[Category:Phylogenetics]]
 
[[Category:Software]][[Category:Phylogenetics]]
<!-- ########  Template Configuration ######## -->
+
{|<!--Main settings - REQUIRED-->
<!--Edit definitions of the variables used in template calls
 
Required variables:
 
app - lowercase name of the application e.g. "amber"
 
url - url of the software page (project, company product, etc) - e.g. "http://ambermd.org/"
 
Optional variables:
 
INTEL - Version of the Intel Compiler e.g. "11.1"
 
MPI - MPI Implementation and version e.g. "openmpi/1.3.4"
 
-->
 
{|
 
<!--Main settings - REQUIRED-->
 
 
|{{#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" -->
 
<!--Choose sections to enable - OPTIONAL-->
 
|{{#vardefine:mod|1}} <!--Present instructions for running the software with modules -->
 
 
|{{#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 31: Line 16:
 
<!--Description-->
 
<!--Description-->
 
{{#if: {{#var: url}}|
 
{{#if: {{#var: url}}|
{{App_Description|app={{#var:app}}|url={{#var:url}}}}|}}
+
{{App_Description|app={{#var:app}}|url={{#var:url}}|name={{#var:app}}}}|}}
 +
 
 
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.
  
<!--Location-->
+
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.
{{App_Location|app={{#var:app}}|{{#var:ver}}}}
 
<!--Versions-->
 
==Available versions==
 
* 3.1.2
 
* 3.2.1
 
<!-- -->
 
==Running the application using 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:
+
<!--Modules-->
$module spider mrbayes/3.2.1
+
==Required Modules==
or
+
[[Modules|modules documentation]]
$module spider mrbayes/3.1.2
+
===Serial===
 
+
*{{#var:app}}
'''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.
+
===Parallel (OpenMP)===
 
+
*intel
 
+
*{{#var:app}}
For the serial (single core) version load MrBayes:
+
===Parallel (OpenMPI)===
$module load intel/11.1 mrbayes
+
*intel
 
+
*openmpi
The recommended MPI version is the OpenMPI 1.4.3 compiled version. To use this load:
+
*{{#var:app}}
$module load intel/11.1 openmpi/1.4.3 mrbayes
+
==System Variables==
 
+
* HPC_{{uc:{{#var:app}}}}_DIR - installation directory
For MrBayes 3.1.2, we also have an MPI version compiled with MVAPICH/0.9.9
+
<!--Additional-->
$module load intel/10.1 mvapich/0.9.9 mrbayes
+
{{#if: {{#var: exe}}|==Additional Information==
 
 
{{#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).
  
 +
<!--
 
{{#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 90: 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 131: Line 91:
 
#PBS -l walltime=01:00:00
 
#PBS -l walltime=01:00:00
 
#
 
#
 
+
# Change to the directory from which the job was submitted
#Change to the directory where the job was launched from
+
#
 
cd $PBS_O_WORKDIR
 
cd $PBS_O_WORKDIR
 
+
#
#Use modules to load the environment for MrBayes
+
# Use modules to configure your environment for mrbayes
module load intel/11.1
+
#
 
module load mrbayes
 
module load mrbayes
 
+
#
 +
# launch the executable
 +
#
 
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)|}}
 
{{#if: {{#var: testing}}|==Performance==
 
{{#if: {{#var: testing}}|==Performance==

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