MrBayes

Running MrBayes

The program takes as input NEXUS multiple alignment format which is appended with a block of commands intended for MrBayes. The following is an example of a slice of data from Jason Stajich's research which includes alignment of proteins from 47 taxa. The outgroup is set to atha_gbk, the prior model for proteins is set to mixed so multiple rate matricies are considered, and the MCMC search is run with 1,000,000 generations but will stop if the chains converge before the total generations are run (using 2 chains with two runs each so will need 4 CPUs).

Supporting this in a Run wrapper

Currently it is not directly supported by BioPerl although suitable NEXUS format files can be written out as imput, but the program block (just like PAUP) will still need to be added by the user. The Run package does not currently support this application either. In reality this is a pretty easy program to pipeline on a cluster, all it needs is the input NEXUS file with the alignment and the program block, so a run wrapper would just generate this file and start the program with

mb -i FILENAME.nex

It gets more complicated when you want to submit MPI jobs on a cluster so it sometimes makes more sense to write a script which generates the jobfiles and for a set of input alignments. So it may be hard to write a perfectly generic solution to this to handle cluster (LSF, PBS, SGE) jobs as as well as single CPU jobs.