view mrbayes.xml @ 4:905d00fb5243 draft default tip

planemo upload commit 07647b691571830bd3d814bc8b5f78f183ba1fc5
author nml
date Wed, 20 Sep 2017 12:12:15 -0400
parents bd2c8053e155
children
line wrap: on
line source

<?xml version="1.0"?>
<tool id="mrbayes" name="MrBayes" version="1.0.2">
    <description>with options and commands</description>
    <requirements>
        <requirement type="package" version="3.2.6">mrbayes</requirement>
    </requirements>
    <stdio>
        <exit_code range="1:" level="fatal" description="Unknown error has occurred"/>
    </stdio>
    <command>mb $command_file > $outfile
        ## print list of avaialble variables
        #silent sys.stderr.write("\n \n \n ======== Cheetah template variables ========\n")
        #for k,v in $searchList[2].items()
        #silent sys.stderr.write(" %s = %s\n" % (str(k), str(v) ))
        #end for
        #silent sys.stderr.write("======== End of Cheetah template variables ========\n \n \n")
    </command>
    <configfiles>
        <configfile name="command_file">
            begin mrbayes;
                set Seed=$seed;
                set Swapseed=$swapseed;
                set quitonerror=yes;
                execute $data;
                outgroup $outgroup;
                $model;
                lset rates=$rates;
            #if str($filename) != ""
                mcmcp filename=$filename;
            #end if
                mcmcp ngen=$ngen
                  nrun=$nrun
                  nchain=$nchain
                  checkfreq=$checkfreq
                  samplefreq=$samplefreq
                  printfreq=$printfreq
                  stoprule=$stoprule
                  burninfrac=$burninfrac;
            #if int($ngen) >= int($checkfreq)
                $append;
            #end if
                mcmc;
                $sump
                $sumt
            #if str($plot) == "plot"
                plot;
            #end if
            end;
        </configfile>
    </configfiles>
    <inputs>
        <param name="data" type="data" format="nex" label="Nexus input file"/>

        <param name="filename" type="text" label="Output filename" size="10" value=""
               help="Output files will be named this with .p, .t, .mcmc extensions. Use to avoid overwriting files when running repeated analyses on the same dataset."/>

        <param name="ngen" type="integer" label="Number of generations" value="10000">
            <validator type="in_range" min="1" max="2147483647" message="Must be greater than or equal to 1"/>
        </param>
        <param name="nchain" type="integer" label="Number of chains" value="2">
            <validator type="in_range" min="1" max="2147483647" message="Must be greater than or equal to 1"/>
        </param>
        <param name="nrun" type="integer" label="Number of runs" value="2">
            <validator type="in_range" min="1" max="2147483647" message="Must be greater than or equal to 1"/>
        </param>

        <param name="outgroup" type="text" label="Outgroup" size="10" value="1"
               help="The name or number identifying one taxon from the data."/>
        <param name="model" type="select" label="Choose model"
               help="Models are defined below and are only valid for nucleotide data.">
            <sanitizer sanitize="False"/>
            <option value="lset nst=6">GTR</option>
            <option value="lset nst=6; prset statefreqpr=fixed(equal)">SYM</option>
            <option value="lset nst=2">HKY85</option>
            <option value="lset nst=2; prset statefreqpr=fixed(equal)">K2P</option>
            <option value="lset nst=1">F81</option>
            <option value="lset nst=1; prset statefreqpr=fixed(equal)">JC69</option>
            <option value="lset nst=mixed">Mixed</option>
        </param>
        <param name="rates" type="select" label="Choose rates">
            <option value="equal">(equal) No rate variation across sites</option>
            <option value="gamma">(gamma) Gamma-distributed rates across sites</option>
            <option value="propinv">(propinv) A proportion of the sites are invariable</option>
            <option value="invgamma">(invgamma) A proportion of the sites are invariable and the remaining sites are Gamma-distributed</option>
            <option value="adgamma">(adgamma) Autocorrelated rates across sites</option>
        </param>
        <param name="samplefreq" type="integer" label="Sample frequency" value="500"
               help="Frequency with which output it written to files.">
            <validator type="in_range" min="1" max="2147483647" message="Must be greater than or equal to 1"/>
        </param>
        <param name="printfreq" type="integer" label="Print frequency" value="500"
               help="Frequency with which output is printed to the screen.">
            <validator type="in_range" min="1" max="2147483647" message="Must be greater than or equal to 1"/>
        </param>
        <param name="burninfrac" type="float" label="Burn-in fraction" value="0.25"
               help="Fraction of samples to discard when summarizing.">
            <validator type="in_range" min="0.01" max=".50" message="Must be between 0.01 and .50"/>
        </param>
        <param name="stoprule" type="select" label="Stop rule?">
            <option value="no">No</option>
            <option value="yes">Yes</option>
        </param>
        <param name="sump" type="boolean" truevalue="sump;" falsevalue="" label="Include sump?"
               help="Summarizes sampled parameter value."/>
        <param name="sumt" type="boolean" truevalue="sumt;" falsevalue="" label="Include sumt?"
               help="Summarizes the trees."/>
        <param name="plot" type="boolean" truevalue="plot" falsevalue="" label="Include plot?"
               help="Creates an x-y graph of the parameter over the course of the chain."/>

        <param name="checkfreq" type="integer" label="Checkpoint frequency" value="100000"
               help="Frequency with which checkpoints are written. Used for continuing analysis with append.">
            <validator type="in_range" min="100" max="2147483647" message="Must be greater than or equal to 100"/>
        </param>
        <param name="append" type="boolean" truevalue="mcmcp append=yes" falsevalue="mcmcp append=no"
               label="Append to last checkpoint?"
               help="Requires .ckp file (i.e. that number of generations > checkpoint frequency for previous analysis)."/>
        <param name="seed" type="integer" label="Seed" optional="false" value="5"
               help="Specify a seed with which to run the job.">
            <validator type="in_range" min="1" max="2147483647" message="Must be greater than or equal to 1"/>
        </param>
        <param name="swapseed" type="integer" label="Swap Seed" optional="false" value="5"
               help="Specify a swap seed with which to run the job.">
            <validator type="in_range" min="1" max="2147483647" message="Must be greater than or equal to 1"/>
        </param>
    </inputs>
    <outputs>
        <data name="outfile" format="txt"/>
    </outputs>

    <tests>
        <test>
            <param name="data" value="avian_ovomucoids.nex"/>
            <output name="outfile">
                <assert_contents>
                    <has_text text="            13.4 %     ( 11 %)     TLMultiplier(V)"/>
                    <has_text text="            12.4 %     ( 10 %)     TLMultiplier(V)"/>
                    <has_text text="         1 |          0.14 "/>
                    <has_text text="         1 |          0.19 "/>
                </assert_contents>
            </output>
        </test>
    </tests>

    <help>
<![CDATA[
.. class:: warningmark

This tool takes as input a Nexus file (.nex), described here_, that should only contain a data block, without
commands. If a command block exists in the file, it will be executed first, followed by the ones specified
above.

.. _here: http://en.wikipedia.org/wiki/Nexus_file.

-----

**What it does**

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.

See the manual_ or the `command reference`_ for more information.

.. _manual: http://mrbayes.sourceforge.net/manual.php
.. _command reference: http://mrbayes.sourceforge.net/commref_mb3.2.pdf

-----

**Model Definitions**

Models are defined by the following MrBayes options::

GTR: lset nst=6;
SYM: lset nst=6; prset statefreqpr=fixed(equal);
HKY85: lset nst=2;
K2P: lset nst=2; prset statefreqpr=fixed(equal);
F81: lset nst=1;
JC69: lset nst=1; prset statefreqpr=fixed(equal);
Mixed: lset nst=mixed;

Each model makes different assumptions about nucelotide substitution rates and state frequencies.

The mixed model performs Markov chain sampling over the space of all possible reversible substitution models, by
grouping the six rates in various combinations.

-----

.. class:: infomark

**Tip for repetitive analyses**

Note that running the same analysis on the same dataset in Galaxy will overwrite .p, .t, and .mcmc files for
that dataset. This can be avoided by copying the dataset or re-uploading it, or by specifying a new filename.

.. class:: infomark

**Tip for using append**

If you want to use the append functionality, all parameters will have to be identical to your initial analysis.
The easiest way to ensure this is by using the blue "Run this job again" arrow on the dataset, and checking the
additional append box. Note also that ngen will be the total number of generations, not the number of
generations to add, so you should increase this value except if a run was interrupted. Selecting append while
checkfreq > ngen will have no effect.

-----

Wrapper originally created by AAFC-MBB -> https://github.com/AAFC-MBB/
]]>
    </help>
    <citations>
        <citation type="bibtex">@ARTICLE {huelsenbeckjpronquistf.2001,
            author = {Huelsenbeck JP, Ronquist F.},
            title = {MRBAYES: Bayesian inference of phylogenetic trees.},
            journal = {Bioinformatics},
            year = {2001},
            volume = {17},
            pages = {754-755},
            url = {http://www.ncbi.nlm.nih.gov/pubmed/11524383}
            }
        </citation>
    </citations>
</tool>