Difference between revisions of "MrBayes"

From UFRC
Jump to navigation Jump to search
m (Text replacement - "#uppercase" to "uc")
 
(2 intermediate revisions by one other user not shown)
Line 1: Line 1:
__NOTOC__
+
[[Category:Software]][[Category:Biology]][[Category:Phylogenetics]]
__NOEDITSECTION__
+
{|<!--CONFIGURATION: REQUIRED-->
[[Category:Software]][[Category:Phylogenetics]]
 
{|<!--Main settings - REQUIRED-->
 
 
|{{#vardefine:app|mrbayes}}
 
|{{#vardefine:app|mrbayes}}
|{{#vardefine:url|http://mrbayes.sourceforge.net/}}
+
|{{#vardefine:url|http://nbisweden.github.io/MrBayes}}
|{{#vardefine:exe|}} <!--Present manual instructions for running the software -->
+
<!--CONFIGURATION: OPTIONAL (|1}} means it's ON)-->
|{{#vardefine:conf|}} <!--Enable config wiki page link - {{#vardefine:conf|1}} = ON/conf|}} = OFF-->
+
|{{#vardefine:conf|}}           <!--CONFIGURATION-->
|{{#vardefine:pbs|}} <!--Enable PBS script wiki page link-->
+
|{{#vardefine:exe|1}}           <!--ADDITIONAL INFO-->
|{{#vardefine:policy|}} <!--Enable policy section -->
+
|{{#vardefine:job|}}           <!--JOB SCRIPTS-->
|{{#vardefine:testing|}} <!--Enable performance testing/profiling section -->
+
|{{#vardefine:policy|}}         <!--POLICY-->
|{{#vardefine:faq|}} <!--Enable FAQ section -->
+
|{{#vardefine:testing|}}       <!--PROFILING-->
|{{#vardefine:citation|}} <!--Enable Reference/Citation section -->
+
|{{#vardefine:faq|}}             <!--FAQ-->
 +
|{{#vardefine:citation|}}       <!--CITATION-->
 +
|{{#vardefine:installation|}} <!--INSTALLATION-->
 
|}
 
|}
<!-- ########  Template Body ######## -->
+
<!--BODY-->
 
<!--Description-->
 
<!--Description-->
 
{{#if: {{#var: url}}|
 
{{#if: {{#var: url}}|
Line 19: 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.
 
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.
 
  
 
<!--Modules-->
 
<!--Modules-->
==Required Modules==
+
==Environment Modules==
[[Modules|modules documentation]]
+
Run <code>module spider {{#var:app}}</code> to find out what environment modules are available for this application.
===Serial===
 
*{{#var:app}}
 
===Parallel (OpenMP)===
 
*intel
 
*{{#var:app}}
 
===Parallel (OpenMPI)===
 
*intel
 
*openmpi
 
*{{#var:app}}
 
 
==System Variables==
 
==System Variables==
 
* HPC_{{uc:{{#var:app}}}}_DIR - installation directory
 
* HPC_{{uc:{{#var:app}}}}_DIR - installation directory
<!--Additional-->
+
<!--Configuration-->
 +
{{#if: {{#var: conf}}|==Configuration==
 +
See the [[{{PAGENAME}}_Configuration]] page for {{#var: app}} configuration details.
 +
|}}
 +
<!--Run-->
 
{{#if: {{#var: exe}}|==Additional Information==
 
{{#if: {{#var: exe}}|==Additional Information==
WRITE INSTRUCTIONS ON RUNNING THE ACTUAL BINARY|}}
 
{{#if: {{#var: conf}}|==Configuration==
 
See the [[{{PAGENAME}}_Configuration]] page for {{#var: app}} configuration details.|}}
 
{{#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:
{{#fileAnchor: mrbayes.MPI.pbs}}
+
* As a rule of thumb ntasks should be set to the total number of chains (MrBayes default is 4 chains * 2 runs = 8 chains)
Download raw source of the [{{#fileLink: mrbayes.MPI.pbs}} mrbayes.MPI.pbs]
+
 
<source lang=bash>
+
* As long as the number of cores is under 12, it is best to use a single node ("SBATCH --nodes=1") where nodes are physical computers as that will keep all communication within a single node.
#!/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
 
module load openmpi
 
module load mrbayes
 
#
 
# Run MrBayes using the command line from documentation.
 
#
 
mpiexec mb my_nexus.nex
 
</source>
 
  
 +
|}}
 +
<!--Job Scripts-->
 +
{{#if: {{#var: job}}|==Job Script Examples==
 +
See the [[{{PAGENAME}}_Job_Scripts]] page for {{#var: app}} Job script examples.
 +
|}}
 +
<!--Policy-->
 +
{{#if: {{#var: policy}}|==Usage Policy==
  
 +
WRITE USAGE POLICY HERE (Licensing, usage, access).
  
'''Script for serial (single core) MrBayes job:'''
+
|}}
{{#fileAnchor: mrbayes.serial.pbs}}
+
<!--Performance-->
Download raw source of the [{{#fileLink: mrbayes.serial.pbs}} mrbayes.serial.pbs]
 
<source lang=bash>
 
#!/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 mrbayes
 
#
 
# launch the executable
 
#
 
mb my_nexus.nex
 
</source>
 
-->
 
{{#if: {{#var: policy}}|==Usage Policy==
 
WRITE USAGE POLICY HERE (perhaps templates for a couple of main licensing schemes can be used)|}}
 
 
{{#if: {{#var: testing}}|==Performance==
 
{{#if: {{#var: testing}}|==Performance==
WRITE PERFORMANCE TESTING RESULTS HERE|}}
+
 
 +
WRITE_PERFORMANCE_TESTING_RESULTS_HERE
 +
 
 +
|}}
 +
<!--Faq-->
 
{{#if: {{#var: faq}}|==FAQ==
 
{{#if: {{#var: faq}}|==FAQ==
 
*'''Q:''' **'''A:'''|}}
 
*'''Q:''' **'''A:'''|}}
 +
<!--Citation-->
 
{{#if: {{#var: citation}}|==Citation==
 
{{#if: {{#var: citation}}|==Citation==
If you publish research that uses {{{app}}} you have to cite it as follows:
+
If you publish research that uses {{#var:app}} you have to cite it as follows:
WRITE CITATION HERE
+
 
 +
WRITE_CITATION_HERE
 +
 
 
|}}
 
|}}
 +
<!--Installation-->
 +
{{#if: {{#var: installation}}|==Installation==
 +
See the [[{{PAGENAME}}_Install]] page for {{#var: app}} installation notes.|}}
 +
<!--Turn the Table of Contents and Edit paragraph links ON/OFF-->
 +
__NOTOC____NOEDITSECTION__

Latest revision as of 12:28, 19 August 2022

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.

Environment Modules

Run module spider mrbayes to find out what environment modules are available for this application.

System Variables

  • HPC_MRBAYES_DIR - installation directory

Additional Information

For MPI jobs
  • As a rule of thumb ntasks should be set to the total number of chains (MrBayes default is 4 chains * 2 runs = 8 chains)
  • As long as the number of cores is under 12, it is best to use a single node ("SBATCH --nodes=1") where nodes are physical computers as that will keep all communication within a single node.