Difference between revisions of "MrBayes"

From UFRC
Jump to navigation Jump to search
 
(7 intermediate revisions by 4 users not shown)
Line 1: Line 1:
__NOTOC__
+
[[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|1}} <!--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.
 +
 
<!--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_{{#uppercase:{{#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).
 
  
{{#fileAnchor: mrbayes.MPI.pbs}}
+
;For MPI jobs:
Download raw source of the [{{#fileLink: mrbayes.MPI.pbs}} 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)
<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=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/2012
 
module load openmpi/1.6
 
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
+
* 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.
echo $MPIRUN mb my_nexus.nex
 
#
 
# Run MrBayes using the command line from documentation.
 
#
 
$MPIRUN 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]
+
{{#if: {{#var: testing}}|==Performance==
<source lang=bash>
+
 
#!/bin/bash
+
WRITE_PERFORMANCE_TESTING_RESULTS_HERE
#
 
#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)|}}
+
<!--Faq-->
{{#if: {{#var: testing}}|==Performance==
 
WRITE PERFORMANCE TESTING RESULTS HERE|}}
 
 
{{#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 15:03, 11 April 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.