view raxml.xml @ 6:ea30d3089354 draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/raxml commit 59a382f3d13b38074f5778ebd403a4c6d7976eb2
author iuc
date Sat, 05 Nov 2022 17:42:11 +0000
parents 29ff6a849eac
children b1e68bbe4cef
line wrap: on
line source

<tool id="raxml" name="Phyogenetic reconstruction with RAxML" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@">
    <description>- Maximum Likelihood based inference of large phylogenetic trees</description>
    <macros>
        <token name="@TOOL_VERSION@">8.2.12</token>
        <token name="@VERSION_SUFFIX@">0</token>
    </macros>
    <xrefs>
        <xref type="bio.tools">raxml</xref>
    </xrefs>
    <requirements>
        <requirement type="package" version="@TOOL_VERSION@">raxml</requirement>
        <requirement type="package" version="3.6">python</requirement>
    </requirements>
    <command detect_errors="exit_code"><![CDATA[
## binary is hard-coded to the pthreads enabled raxml executable if threads > 1
slots=\${GALAXY_SLOTS:-1};
if [ "\$slots" == "1" ]; then
    bin="raxmlHPC";
else
    bin="raxmlHPC-PTHREADS -T \$slots";
fi;
\$bin
-s '$infile'
-n galaxy
#if $search_model_selector.model_type == 'aminoacid':
    -m ${search_model_selector.base_model}${search_model_selector.aa_search_matrix}${search_model_selector.aa_model_empirical_base_frequencies}
#else:
    -m $search_model_selector.base_model
#end if
-p $random_seed

#if $selExtraOpts.extraOptions == 'full':
    #if $selExtraOpts.number_of_runs_conditional.number_of_runs_selector == 'by_number_of_runs':
        -N $selExtraOpts.number_of_runs_conditional.number_of_runs
    #else:
        -N $selExtraOpts.number_of_runs_conditional.number_of_runs_bootstop
    #end if
    #if $selExtraOpts.weightfile:
        -a '$selExtraOpts.weightfile'
    #end if
    #if $selExtraOpts.secondary_structure_model:
        -A $selExtraOpts.secondary_structure_model
    #end if
    #if str($selExtraOpts.bootseed):
        -b $selExtraOpts.bootseed
    #end if
    -B $selExtraOpts.cutoff_threshold
    -c $selExtraOpts.numofcats
    $selExtraOpts.search_complete_random_tree
    $selExtraOpts.ml_search_convergence
    #if $selExtraOpts.model_opt_precision:
        -e $selExtraOpts.model_opt_precision
    #end if
    #if $selExtraOpts.excludefile:
        -E '$selExtraOpts.excludefile'
    #end if
    #if $selExtraOpts.search_algorithm:
        -f $selExtraOpts.search_algorithm
    #end if
    $selExtraOpts.save_memory_cat_model
    #if $selExtraOpts.groupingfile:
        -g '$selExtraOpts.groupingfile'
    #end if
    #if $selExtraOpts.enable_evol_heuristics:
        -G $selExtraOpts.enable_evol_heuristics
    #end if
    #if str($selExtraOpts.initial_rearrangement_setting):
        -i $selExtraOpts.initial_rearrangement_setting
    #end if
    #if $selExtraOpts.posterior_bootstopping_analysis:
        -I $selExtraOpts.posterior_bootstopping_analysis
    #end if
    #if $selExtraOpts.majority_rule_consensus:
        -J $selExtraOpts.majority_rule_consensus
    #end if
    $selExtraOpts.print_branch_lengths
    -K $selExtraOpts.multistate_sub_model
    $selExtraOpts.estimate_individual_branch_lengths
    #if $selExtraOpts.outgroup_name:
        -o '$selExtraOpts.outgroup_name'
    #end if
    $selExtraOpts.disable_undetermined_seq_check
    #if $selExtraOpts.external_protein_model:
        -P '$selExtraOpts.external_protein_model'
    #end if
    #if $selExtraOpts.multiple_model:
        -q '$selExtraOpts.multiple_model'
    #end if
    #if $selExtraOpts.constraint_file:
        -r '$selExtraOpts.constraint_file'
    #end if
    #if $selExtraOpts.bin_model_parameter_file:
        -R '$selExtraOpts.bin_model_parameter_file'
    #end if
    #if $selExtraOpts.secondary_structure_file:
        -S '$selExtraOpts.secondary_structure_file'
    #end if
    #if $selExtraOpts.start_tree_file:
        -t '$selExtraOpts.start_tree_file'
    #end if
    $selExtraOpts.use_median_approximation
    $selExtraOpts.save_memory_gappy_alignments
    $selExtraOpts.disable_rate_heterogeneity
    -W $selExtraOpts.sliding_window_size
    #if str($selExtraOpts.rapid_bootstrap_random_seed):
        -x $selExtraOpts.rapid_bootstrap_random_seed
    #end if
    $selExtraOpts.parsimony_starting_tree_only
#end if
&& python '$__tool_directory__/raxml.py'
#if $selExtraOpts.extraOptions == 'full':
    #if str($selExtraOpts.bootseed):
        --bootseed $selExtraOpts.bootseed
    #end if
    #if str($selExtraOpts.rapid_bootstrap_random_seed):
        --rapid_bootstrap_random_seed $selExtraOpts.rapid_bootstrap_random_seed
    #end if
    #if $selExtraOpts.number_of_runs_conditional.number_of_runs_selector == 'by_number_of_runs':
        --number_of_runs $selExtraOpts.number_of_runs_conditional.number_of_runs
    #end if
    #if $selExtraOpts.multiple_model:
        --multiple_model '$selExtraOpts.multiple_model'
    #end if
#end if
    ]]></command>
    <inputs>
        <param name="infile" argument="-s" type="data" format="fasta,phylip" label="Source file with aligned sequences"
            help="At least four aligned genomes are needed for RAxML." />
        <conditional name="search_model_selector">
            <param name="model_type" type="select" label="Model type">
                <option value="nucleotide" selected="true">Nucleotide</option>
                <option value="aminoacid">Amino Acid</option>
                <option value="binary">Binary</option>
                <option value="multistate">Multistate</option>
            </param>
            <when value="nucleotide">
                <param name="base_model" type="select" label="Substitution model">
                    <option value="GTRCAT">GTRCAT</option>
                    <option value="GTRCATI">GTRCATI</option>
                    <option value="GTRGAMMA" selected="true">GTRGAMMA</option>
                    <option value="GTRGAMMAI">GTRGAMMAI</option>
                </param>
            </when>
            <when value="aminoacid">
                <param name="base_model" type="select" label="Substitution model">
                    <option value="PROTCAT" selected="true">PROTCAT</option>
                    <option value="PROTCATI">PROTCATI</option>
                    <option value="PROTGAMMA">PROTGAMMA</option>
                    <option value="PROTGAMMAI">PROTGAMMAI</option>
                </param>
                <param name="aa_search_matrix" type="select" label="Matrix">
                    <option value="DAYHOFF" selected="true">DAYHOFF</option>
                    <option value="DCMUT">DCMUT</option>
                    <option value="JTT">JTT</option>
                    <option value="MTREV">MTREV</option>
                    <option value="WAG">WAG</option>
                    <option value="RTREV">RTREV</option>
                    <option value="CPREV">CPREV</option>
                    <option value="VT">VT</option>
                    <option value="BLOSUM62">BLOSUM62</option>
                    <option value="MTMAM">MTMAM</option>
                    <option value="LG">LG</option>
                    <option value="MTART">MTART</option>
                    <option value="MTZOA">MTZOA</option>
                    <option value="PMB">PMB</option>
                    <option value="HIVB">HIVB</option>
                    <option value="HIVW">HIVW</option>
                    <option value="JTTDCMUT">JTTDCMUT</option>
                    <option value="FLU">FLU</option>
                    <option value="DUMMY">DUMMY</option>
                    <option value="DUMMY2">DUMMY2</option>
                    <option value="GTR_UNLINKED">GTR_UNLINKED</option>
                    <option value="GTR">GTR</option>
                </param>
                <param name="aa_model_empirical_base_frequencies" type="boolean" truevalue="F" falsevalue="" checked="no" display="checkboxes" label="Use empirical base frequencies in AA models" />
            </when>
            <when value="binary">
                <param name="base_model" type="select" label="Substitution model">
                    <option value="BINCAT">BINCAT</option>
                    <option value="BINCATI">BINCATI</option>
                    <option value="BINGAMMA">BINGAMMA</option>
                    <option value="BINGAMMAI">BINGAMMAI</option>
                </param>
            </when>
            <when value="multistate">
                <param name="base_model" type="select" label="Substitution model">
                    <option value="MULTICAT">MULTICAT</option>
                    <option value="MULTICATI">MULTICATI</option>
                    <option value="MULTIGAMMA">MULTIGAMMA</option>
                    <option value="MULTIGAMMAI">MULTIGAMMAI</option>
                </param>
            </when>
        </conditional>
        <param name="random_seed" argument="-p" type="integer" value="1234567890" label="Random seed used for the parsimony inferences" />
        <conditional name="selExtraOpts">
            <param name="extraOptions" type="select" label="RAxML options to use"
                help="The required minimal settings are the input file and the
                substitution model. To specify extra options select the 'Full option list'">
                <option value="required">Required options only</option>
                <option value="full">Full option list</option>
            </param>
            <when value="required" />
            <when value="full">
                <conditional name="number_of_runs_conditional">
                    <param name="number_of_runs_selector" type="select" label="Multiple boostrap specification">
                        <option value="by_number_of_runs">By number of runs</option>
                        <option value="by_bootstopping">By bootstopping criteria</option>
                    </param>
                    <when value="by_number_of_runs">
                        <param name="number_of_runs" argument="-N" type="integer" value="1" label="Number of alternative runs on distinct starting trees"
                            help="In combination with the '-b' option, this will invoke a multiple boostrap analysis" />
                    </when>
                    <when value="by_bootstopping">
                        <param name="number_of_runs_bootstop" argument="-N" type="select" label="Bootstopping criteria" help="Bootstopping will only work in combination with '-x' or '-b'">
                            <option value="autoMR">autoMR</option>
                            <option value="autoMRE">autoMRE</option>
                            <option value="autoMRE_IGN">autoMRE_IGN</option>
                            <option value="autoFC">autoFC</option>
                        </param>
                    </when>
                </conditional>
                <param name="weightfile" argument="-a" type="data" format="txt" optional="true" label="Column weight file" />
                <param name="secondary_structure_model" argument="-A" type="select" optional="true" label="Secondary structure substitution model">
                    <option value="S6A">S6A</option>
                    <option value="S6B">S6B</option>
                    <option value="S6C">S6C</option>
                    <option value="S6D">S6D</option>
                    <option value="S6E">S6E</option>
                    <option value="S7A">S7A</option>
                    <option value="S7B">S7B</option>
                    <option value="S7C">S7C</option>
                    <option value="S7D">S7D</option>
                    <option value="S7E">S7E</option>
                    <option value="S7F">S7F</option>
                    <option value="S16">S16</option>
                    <option value="S16A">S16A</option>
                    <option value="S16B">S16B</option>
                </param>
                <param name="bootseed" argument="-b" type="integer" value="" optional="true" label="Random seed for non-parametric bootstrapping"
                    help="Specifying a value turns on bootstrapping" />
                <param name="rapid_bootstrap_random_seed" argument="-x" type="integer" value="" optional="true" label="Random seed for rapid bootstrapping"
                    help="Specifying a value turns on rapid bootstrapping. CAUTION: unlike in version 7.0.4 RAxML will conduct rapid BS replicates under the model of rate heterogeneity you specified via '-m' and not by default under CAT" />
                <param name="cutoff_threshold" argument="-B" type="float" value="0.03" min="0" max="1" label="MR cutoff threshold"
                    help="Cutoff threshold for the MR-based bootstopping criteria" />
                <param name="numofcats" argument="-c" type="integer" value="25" label="Number of Rate Categories for GTRCAT/GTRMIX" />
                <!-- (-C) Conduct model parameter optimization doesn't work in the pthreads version. Skip for now. -->
                <param name="search_complete_random_tree" argument="-d" type="boolean" truevalue="-d" falsevalue=""
                    label="Start ML optimization from a complete random starting tree" />
                <param name="ml_search_convergence" argument="-D" type="boolean" truevalue="-D" falsevalue=""
                    label="ML search convergence criterion" help="This will break off ML searches if the relative Robinson-Foulds distance between the trees obtained from two consecutive lazy SPR cycles is smaller or equal to 1%. Usage recommended for very large datasets in terms of taxa. On trees with more than 500 taxa this will yield execution time improvements of approximately 50% while yielding only slightly worse trees" />
                <param name="model_opt_precision" argument="-e" type="float" label="Model optimization precision" value="" optional="true"
                    help="Set model optimization precision in log likelihood units for final optimization of tree topology" />
                <param name="excludefile" argument="-E" type="data" format="txt" optional="true" label="Exclude file" help="Should contain a specification of alignment positions you wish to exclude" />
                <param name="search_algorithm" argument="-f" type="select" label="Algorithm to execute" optional="true">
                    <option value="a">Rapid bootstrap and best ML tree search (a)</option>
                    <option value="A">Compute marginal ancestral states (A)</option>
                    <option value="b">Draw bipartition information (b)</option>
                    <option value="c">Check if the alignment can be read (c)</option>
                    <option value="d" selected="true">New rapid hill-climbing (d)</option>
                    <option value="D">Rapid hill-climbing with RELL bootstraps (D)</option>
                    <option value="e">Optimize model+branch lengths under GAMMA/GAMMAI only (e)</option>
                    <option value="g">Compute per-site log likelihoods for -z trees (g)</option>
                    <option value="h">Compute log likelihood test for -t / -z trees (h)</option>
                    <option value="j">Generate bootstrapped alignment files (j)</option>
                    <option value="J">Compute SH-like support values for the -t tree (J)</option>
                    <option value="m">Compare bipartitions between -t and -z trees (m)</option>
                    <option value="n">Compute log likelihood score for -z trees (n)</option>
                    <option value="o">Use old slower search algorithm (o)</option>
                    <option value="p">Stepwise MP addition of new sequences (p)</option>
                    <option value="q">Fast quartet calculator (q)</option>
                    <option value="r">Compute pairwise RF distances in -z trees (r)</option>
                    <option value="s">Split a multi-gene alignment (s)</option>
                    <option value="S">Compute site-specific placement bias (S)</option>
                    <option value="t">Randomized tree searches on a fixed starting tree (t)</option>
                    <option value="T">Final optimization of a ML tree from a bootstrap (T)</option>
                    <option value="u">Morphological weight calibration using ML on a -t tree (u)</option>
                    <option value="v">Classify environmental sequences (v)</option>
                    <option value="w">Compute ELW-test on -z trees (w)</option>
                    <option value="x">Compute GAMMA model pair-wise ML distances on a tree (x)</option>
                    <option value="y">Classify environmental sequences into a reference tree (y)</option>
                </param>
                <param name="save_memory_cat_model" argument="-F" type="boolean" truevalue="-F" falsevalue=""
                    label="ML tree searches under CAT model"
                    help="ML tree searches under CAT model for very large trees without switching to GAMMA in the end (saves memory) and no thorough optimization under GAMMA" />
                <param name="groupingfile" argument="-g" type="data" format="txt" optional="true" label="Multifurcating constraint tree" help="This tree does not need to be comprehensive, i.e. does not have to contain all taxa" />
                <param name="enable_evol_heuristics" argument="-G" type="float" min="0.0" max="1.0" optional="true"
                    label="Enable the ML-based evolutionary placement algorithm heuristics"
                    help="By specifying a threshold value (fraction of insertion branches to be evaluated using slow insertions under ML)" />
                <param name="initial_rearrangement_setting" argument="-i" type="integer" value="" optional="true" label="Initial rearrangement setting for the subsequent application of topological changes phase" />
                <param name="posterior_bootstopping_analysis" argument="-I" type="select" optional="true" label="A posteriori bootstopping analysis">
                    <option value="autoFC">Frequency-based criterion (autoFC)</option>
                    <option value="autoMR">Majority-rule consensus tree criterion (autoMR)</option>
                    <option value="autoMRE">Extended majority-rule consensus tree criterion (autoMRE)</option>
                    <option value="autoMRE_IGN">Extended MR consensus tree criterion with bipartitions (autoMRE_IGN)</option>
                </param>
                <!-- (-j) - EMPTY - we cannot handle intermediate tree files in Galaxy -->
                <param name="majority_rule_consensus" argument="-J" type="select" optional="true" label="Compute consensus tree">
                    <option value="MR">Majority-rule consensus tree (MR)</option>
                    <option value="MRE">Extended majority-rule consensus tree (MRE)</option>
                    <option value="STRICT">Strict consensus tree (STRICT)</option>
                    <option value="STRICT_DROP">Identify strict dropsets (STRICT_DROP)</option>
                    <option value="MR_DROP">Identify majority-rule dropsets (MR_DROP)</option>
                </param>
                <param name="print_branch_lengths" argument="-k" type="boolean" truevalue="-k" falsevalue=""
                    label="Print bootstrapped trees with branch lengths"
                    help="The bootstraps will run a bit longer, because model parameters will be optimized at the end of each run under GAMMA or GAMMA+P-Invar respectively" />
                <param name="multistate_sub_model" argument="-K" type="select" label="Specify a multi-state substitution model">
                    <option value="GTR" selected="true">GTR</option>
                    <option value="ORDERED">ORDERED</option>
                    <option value="MK">MK</option>
                </param>
                <param name="estimate_individual_branch_lengths" argument="-M" type="boolean" truevalue="-M" falsevalue=""
                    label="Estimate individual per-partition branch lengths" help="Only has effect with a partition file. A weighted average of the branch lengths is computed by using the respective partition lengths" />
                <param name="outgroup_name" argument="-o" type="text" value="" optional="true" label="Outgroup name"
                    help="E.g. Mouse or Mouse,Rat. No spaces between taxon names are allowed" />
                <param name="disable_undetermined_seq_check" argument="-O" type="boolean" truevalue="-O" falsevalue=""
                    label="Disable check for completely undetermined sequence in alignment"
                    help="The program will not exit with an error message when '-O' is specified." />
                <param name="external_protein_model" argument="-P" type="data" format="txt" optional="true" label="External AA (Protein) substitution model"
                    help="This file must contain 420 entries, the first 400 being the AA substitution rates (this must be a symmetric matrix) and the last 20 are the empirical base frequencies" />
                <param name="multiple_model" argument="-q" type="data" format="txt" optional="true"
                    label="Assignment of models to alignment partitions for multiple models of substitution"
                    help="For the syntax of this file please consult the RaXML manual" />
                <param name="constraint_file" argument="-r" type="data" format="txt" optional="true" label="Binary constraint tree"
                    help="This tree does not need to be comprehensive, i.e. does not have to contain all taxa" />
                <param name="bin_model_parameter_file" argument="-R" type="data" format="txt" optional="true" label="Binary model parameter file"
                    help="This parameter file can be generated with RAxML using the '-f e' tree evaluation option" />
                <param name="secondary_structure_file" argument="-S" type="data" format="txt" optional="true" label="Secondary structure file"
                    help="The file can contain '.' for alignment columns that do not form part of a stem and characters '()&lt;&gt;[]{}' to define stem regions and pseudoknots" />
                <param name="start_tree_file" argument="-t" type="data" format="nhx" optional="true" label="Starting tree file" help="In Newick format" />
                <param name="use_median_approximation" argument="-u" type="boolean" truevalue="-u" falsevalue=""
                    label="Use the median for the discrete approximation of the GAMMA model of rate heterogeneity" />
                <param name="save_memory_gappy_alignments" argument="-U" type="boolean" truevalue="-U" falsevalue=""
                    label="Save memory on large gappy alignments"
                    help="Try to save memory by using SEV-based implementation for gap columns on large gappy alignments. This will only work for DNA and/or PROTEIN data" />
                <param name="disable_rate_heterogeneity" argument="-V" type="boolean" truevalue="-V" falsevalue=""
                    label="Disable rate heterogeneity among sites model and use one without rate heterogeneity instead"
                    help="Only works if you specify the CAT model of rate heterogeneity" />
                <param name="sliding_window_size" argument="-W" type="integer" min="1" value="100"
                    label="Sliding window size for leave-one-out site-specific placement bias algorithm"
                    help="Only effective when used in combination with '-f S'" />
                <param name="parsimony_starting_tree_only" argument="-y" type="boolean" truevalue="-y" falsevalue=""
                    label="Compute a randomized parsimony starting tree only"
                    help="The program will exit after computation of the starting tree" />
            </when>
        </conditional>
    </inputs>
    <outputs>
        <data format="txt" name="info" from_work_dir="RAxML_info.galaxy" label="Info" />
        <!-- REQUIRED -->
        <data format="txt" name="logReq" from_work_dir="RAxML_log.galaxy" label="Log">
            <filter>selExtraOpts['extraOptions'] == 'required'</filter>
            <filter>selExtraOpts['search_algorithm'] != 'a'</filter>
        </data>
        <data format="nhx" name="parsimonyTreeReq" from_work_dir="RAxML_parsimonyTree.galaxy" label="Parsimony Tree">
            <filter>selExtraOpts['extraOptions'] == 'required'</filter>
            <filter>selExtraOpts['search_algorithm'] != 'a'</filter>
        </data>
        <data format="nhx" name="resultReq" from_work_dir="RAxML_result.galaxy" label="Result">
            <filter>selExtraOpts['extraOptions'] == 'required'</filter>
            <filter>selExtraOpts['search_algorithm'] != 'a'</filter>
        </data>
        <!-- ADVANCED -->
        <data format="nhx" name="randomTree" from_work_dir="RAxML_randomTree.galaxy" label="Random Tree">
            <filter>selExtraOpts['search_complete_random_tree'] is True</filter>
            <filter>selExtraOpts['extraOptions'] == "full"</filter>
        </data>
        <data format="nhx" name="bestTree" from_work_dir="RAxML_bestTree.galaxy" label="Best-scoring ML Tree">
            <!--    <filter>selExtraOpts['extraOptions'] == 'full'</filter> -->
            <!-- <filter>selExtraOpts['search_algorithm'] != 'b'</filter>
            <filter>not selExtraOpts['majority_rule_consensus']</filter> -->
        </data>
        <data format="nhx" name="bestTreeMultipleModel" from_work_dir="RAxML_bestTree.galaxy" label="Best-scoring ML Tree">
            <filter>selExtraOpts['extraOptions'] == "full"</filter>
            <filter>selExtraOpts['multiple_model'] != ''</filter>
        </data>
        <data format="txt" name="bestTreeMultipleModelPartitions" from_work_dir="RAxML_bestTreePartitions.galaxy" label="Best-scoring ML Tree Partitions">
            <filter>selExtraOpts['extraOptions'] == "full"</filter>
            <filter>selExtraOpts['multiple_model'] is not None </filter>
        </data>
        <data format="txt" name="log" from_work_dir="RAxML_log.galaxy" label="Log">
            <filter>selExtraOpts['extraOptions'] == "full"</filter>
            <filter>selExtraOpts['rapid_bootstrap_random_seed'] == ''</filter>
            <filter>selExtraOpts['bootseed'] == ''</filter>
            <filter>selExtraOpts['search_algorithm'] != 'a'</filter>
            <filter>selExtraOpts['search_algorithm'] != 'b'</filter>
            <filter>not selExtraOpts['majority_rule_consensus']</filter>
        </data>
        <data format="nhx" name="result" from_work_dir="RAxML_result.galaxy" label="Result">
            <filter>selExtraOpts['extraOptions'] == "full"</filter>
            <filter>selExtraOpts['rapid_bootstrap_random_seed'] == ''</filter>
            <filter>selExtraOpts['bootseed'] == ''</filter>
            <filter>selExtraOpts['search_algorithm'] != 'a'</filter>
            <filter>selExtraOpts['search_algorithm'] != 'b'</filter>
            <filter>not selExtraOpts['majority_rule_consensus']</filter>
        </data>
        <data format="txt" name="resultMultipleModelPartitions" from_work_dir="RAxML_resultPartitions.galaxy" label="Result Partitions">
            <filter>selExtraOpts['extraOptions'] == "full"</filter>
            <filter>selExtraOpts['multiple_model'] is not None</filter>
        </data>
        <data format="nhx" name="parsimonyTree" from_work_dir="RAxML_parsimonyTree.galaxy" label="Parsimony Tree">
            <filter>selExtraOpts['extraOptions'] == "full"</filter>
        <!--
            <filter>selExtraOpts['rapid_bootstrap_random_seed'] == ''</filter>
            <filter>selExtraOpts['bootseed'] == ''</filter>
            <filter>selExtraOpts['search_algorithm'] != 'a'</filter>
            <filter>selExtraOpts['constraint_file'] is None</filter>
            <filter>selExtraOpts['groupingfile'] is None</filter>
            <filter>selExtraOpts['search_complete_random_tree'] is False</filter>
            <filter>selExtraOpts['start_tree_file'] is None</filter>
            <filter>not selExtraOpts['majority_rule_consensus'] == ''</filter>
        -->
        </data>
        <data format="nhx" name="bootstrap" from_work_dir="RAxML_bootstrap.galaxy" label="Final Bootstrap Trees">
            <filter>selExtraOpts['extraOptions'] == "full"</filter>
            <filter>selExtraOpts['number_of_runs'] != '' or selExtraOpts['number_of_runs_bootstop'] != ''</filter>
            <filter>selExtraOpts['rapid_bootstrap_random_seed'] != '' or selExtraOpts['bootseed'] != ''</filter>
        </data>
        <data format="txt" name="bipartitions" from_work_dir="RAxML_bipartitions.galaxy" label="Bipartitions">
            <filter>selExtraOpts['search_algorithm'] == 'b' or (selExtraOpts['search_algorithm'] == 'a' and selExtraOpts['rapid_bootstrap_random_seed'] != '') </filter>
            <filter>selExtraOpts['extraOptions'] == "full"</filter>
        </data>
        <data format="txt" name="bipartitionsBranchLabels" from_work_dir="RAxML_bipartitionsBranchLabels.galaxy" label="Bipartitions Branch Labels">
            <filter>selExtraOpts['extraOptions'] == "full"</filter>
            <filter>selExtraOpts['search_algorithm'] == 'b' or (selExtraOpts['search_algorithm'] == 'a' and selExtraOpts['rapid_bootstrap_random_seed'] != '') </filter>
        </data>
        <data format="nhx" name="strictConsensusTree" from_work_dir="RAxML_StrictConsensusTree.galaxy" label="Strict Consensus Tree">
            <filter>selExtraOpts['extraOptions'] == "full"</filter>
            <filter>selExtraOpts['majority_rule_consensus'] == 'STRICT'</filter>
        </data>
        <data format="nhx" name="majorityRuleConsensusTree" from_work_dir="RAxML_MajorityRuleConsensusTree.galaxy" label="Majority Rule Consensus Tree">
            <filter>selExtraOpts['extraOptions'] == "full"</filter>
            <filter>selExtraOpts['majority_rule_consensus'] == 'MR'</filter>
        </data>
        <data format="nhx" name="majorityRuleExtendedConsensusTree" from_work_dir="RAxML_MajorityRuleExtendedConsensusTree.galaxy" label="Majority Rule Extended Consensus Tree">
            <filter>selExtraOpts['extraOptions'] == "full"</filter>
            <filter>selExtraOpts['majority_rule_consensus'] == 'MRE'</filter>
        </data>
        <data format="txt" name="bipartitionFreq" from_work_dir="RAxML_bipartitionFrequences.galaxy" label="Pair-wise bipartition frequences.">
            <filter>selExtraOpts['search_algorithm'] == 'm' </filter>
            <filter>selExtraOpts['extraOptions'] == "full"</filter>
        </data>
        <data format="txt" name="perSiteLLs" from_work_dir="RAxML_perSiteLLs.galaxy" label="Per-site likelihood schores">
            <filter>selExtraOpts['search_algorithm'] == 'g' </filter>
            <filter>selExtraOpts['extraOptions'] == "full"</filter>
        </data>
        <data format="txt" name="distances" from_work_dir="RAxML_distances.galaxy" label="Pair-wise distances">
            <filter>selExtraOpts['search_algorithm'] == 'x' </filter>
            <filter>selExtraOpts['extraOptions'] == "full"</filter>
        </data>
    </outputs>
    <tests>
        <test>
            <param name="extraOptions" value="required"/>
            <param name="infile" value="dna.phy"/>
            <param name="model_type" value="nucleotide"/>
            <param name="base_model" value="GTRCAT"/>
            <output name="parsimonyTreeReq" file="RAxML_parsimonyTree.galaxy.basic" ftype="nhx" />
            <output name="bestTree" ftype="nhx">
                <assert_contents>
                    <has_text_matching expression="Frog" />
                </assert_contents>
            </output>
        </test>
        <test>
            <param name="extraOptions" value="full"/>
            <param name="infile" value="dna.fasta"/>
            <param name="model_type" value="nucleotide"/>
            <param name="base_model" value="GTRCAT"/>
            <param name="number_of_runs" value="5"/>
            <output name="parsimonyTree" ftype="nhx">
                <assert_contents>
                    <has_text_matching expression="Chicken" />
                </assert_contents>
            </output>
            <output name="parsimonyTreeReq" file="RAxML_parsimonyTree.galaxy.multi" ftype="nhx" compare="re_match"/>
            <output name="bestTree" ftype="nhx">
                <assert_contents>
                    <has_text_matching expression="Whale" />
                </assert_contents>
            </output>
        </test>
    </tests>
    <help><![CDATA[
RAxML_ (Randomized Axelerated Maximum Likelihood) is a program for Maximum Likelihood-based inference of large phylogenetic
trees. The program is explicitly being developed to efficiently infer trees for
extremely large datasets, either in terms of the number of taxa and/or the
sequence length.

.. _RAxML: http://www.exelixis-lab.org/web/software/raxml/

**Tool development**:

Oleksandr Moskalenko with adaptations from Tiago Antao.
    ]]></help>
    <citations>
        <citation type="doi">10.1093/bioinformatics/btu033</citation>
    </citations>
</tool>