view raxml.xml @ 0:d95d87f40f47 draft default tip

Uploaded the first beta.
author malex
date Tue, 02 Oct 2012 17:35:46 -0400
parents
children
line wrap: on
line source

<tool id="raxml" name="RaXML BETA (Testing)" version="1.0.0">
  <requirements><requirement type='package'>raxml</requirement></requirements>
  <description>- Maximum Likelihood based inference of large phylogenetic trees</description>
  <command interpreter="python">raxml.py
    ## Required parameters 
    ## Program name and threads are hard-coded as they are dependent on the binary and threads are specified in the Galaxy's tool configuration
    ## binary is hard-coded to the pthreads enabled raxml executable
    --binary "raxmlHPC-PTHREADS-SSE3"
    ## (-T)
    --threads 4
    ## (-s)
    --source $infile
    ## (-m)
    --model_type $search_model_selector.model_type
    --base_model $search_model_selector.base_model
    #if str( $search_model_selector.model_type ) == 'aminoacid':
        #if str( $search_model_selector.aa_model_empirical_base_frequences) == 'true':
            --aa_empirical_freq
        #end if
        #if $search_model_selector.aa_search_matrix:
            --aa_search_matrix $search_model_selector.aa_search_matrix
        #end if
    #end if
    ## (-p)
    #if $random_seed:
        --random_seed $random_seed
    #else
        --random_seed 1234567890
    #end if

    ## Optional parameters

#if str( $selExtraOpts.extraOptions ) == 'full':
    ## (-N/#)
    #if $selExtraOpts.number_of_runs:
        --number_of_runs $selExtraOpts.number_of_runs
    #end if
    #if $selExtraOpts.number_of_runs_bootstop:
        --number_of_runs_bootstop $selExtraOpts.number_of_runs_bootstop
    #end if
    ## (-a)
    #if $selExtraOpts.weightfile:
        --weightfile $selExtraOpts.weightfile
    #end if
    ## (-b)
    #if str ($selExtraOpts.secondary_structure_model) != "":
        --secondary_structure_model $selExtraOpts.secondary_structure_model
    #end if
    ## (-b)
    #if $selExtraOpts.bootseed:
        --bootseed $selExtraOpts.bootseed
    #end if
    ## (-c)
    #if $selExtraOpts.numofcats:
        --numofcats $selExtraOpts.numofcats
    #end if
    ## (-d)
    #if str ($selExtraOpts.search_complete_random_tree) == "true":
        --search_complete_random_tree
    #end if
    ## (-D)
    #if str ($selExtraOpts.ml_search_convergence) == "true":
        --ml_search_convergence
    #end if
    ## (-e)
    #if $selExtraOpts.model_opt_precision:
        --model_opt_precision $selExtraOpts.model_opt_precision
    #end if
    ## (-E)
    #if $selExtraOpts.excludefile:
        --excludefile $selExtraOpts.excludefile
    #end if
    ## (-f)
    #if $selExtraOpts.search_algorithm:
        --search_algorithm $selExtraOpts.search_algorithm
    #end if
    ## (-F)
    #if str ($selExtraOpts.save_memory_cat_model) == "true":
        --save_memory_cat_model
    #end if
    ## (-g)
    #if $selExtraOpts.groupingfile:
        --groupingfile $selExtraOpts.groupingfile
    #end if
    ## (-G)
    #if $selExtraOpts.enable_evol_heuristics:
        --enable_evol_heuristics $selExtraOpts.enable_evol_heuristics
    #end if
    ## (-i)
    #if $selExtraOpts.initial_rearrangement_setting:
        --initial_rearrangement_setting $selExtraOpts.initial_rearrangement_setting
    #end if
    ## (-I)
    #if $selExtraOpts.posterior_bootstopping_analysis:
        --posterior_bootstopping_analysis $selExtraOpts.posterior_bootstopping_analysis
    #end if
    ## (-J)
    #if $selExtraOpts.majority_rule_consensus:
        --majority_rule_consensus $selExtraOpts.majority_rule_consensus
    #end if
    ## (-k)
    #if str ($selExtraOpts.print_branch_lengths) == "true":
        --print_branch_lengths
    #end if
    ## (-K)
    #if str ($selExtraOpts.multistate_sub_model) != "":
        --multistate_sub_model $selExtraOpts.multistate_sub_model
    #end if
    ## (-m) - see elsewhere
    ## (-M)
    #if str ($selExtraOpts.estimate_individual_branch_lengths) == "true":
        --estimate_individual_branch_lengths
    #end if
    ## (-n) - see elsewhere
    ## (-o)
    #if $selExtraOpts.outgroup_name:
        --outgroup_name $selExtraOpts.outgroup_name
    #end if
    ## (-O)
    #if str ($selExtraOpts.disable_undetermined_seq_check) == "true":
        --disable_undetermined_seq_check
    #end if
    ## (-P)
    #if $selExtraOpts.external_protein_model:
        --external_protein_model $selExtraOpts.external_protein_model
    #end if
    ## (-q)
    #if $selExtraOpts.multiple_model:
        --multiple_model $selExtraOpts.multiple_model
    #end if
    ## (-r)
    #if $selExtraOpts.constraint_file:
        --constraint_file $selExtraOpts.constraint_file
    #end if
    ## (-R)
    #if $selExtraOpts.bin_model_parameter_file:
        --bin_model_parameter_file $selExtraOpts.bin_model_parameter_file
    #end if
    ## (-S)
    #if $selExtraOpts.secondary_structure_file:
        --secondary_structure_file $selExtraOpts.secondary_structure_file
    #end if
    ## (-t)
    #if $selExtraOpts.start_tree_file:
        --starting_tree $selExtraOpts.start_tree_file
    #end if
    ## (-T) see elsewhere
    ## (-u)
    #if str ($selExtraOpts.use_median_approximation) == "true":
        --use_median_approximation
    #end if
    ## (-U)
    #if str ($selExtraOpts.save_memory_gappy_alignments) == "true":
        --save_memory_gappy_alignments
    #end if
    ## (-V)
    #if str ($selExtraOpts.disable_rate_heterogeneity) == "true":
        --disable_rate_heterogeneity
    #end if
    ## (-W)
    #if $selExtraOpts.sliding_window_size:
        --sliding_window_size $selExtraOpts.sliding_window_size
    #end if
    ## (-x)
    #if $selExtraOpts.rapid_bootstrap_random_seed:
        --rapid_bootstrap_random_seed $selExtraOpts.rapid_bootstrap_random_seed
    #end if
    ## (-y)
    #if str ($selExtraOpts.parsimony_starting_tree_only) == "true":
        --parsimony_starting_tree_only
    #end if
    ## (-z)
    #if $selExtraOpts.file_multiple_trees:
        --file_multiple_trees $selExtraOpts.file_multiple_trees
    #end if
#end if

##silent sys.stderr.write("DEBUG1 START\n")
##silent sys.stderr.write($selExtraOpts.extraOptions)
##silent sys.stderr.write("\nDEBUG1 END\n")

    </command>
  <inputs>
    ## (-m)
    <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">
    ## Nucleotide substitution models
            <param name="base_model" type="select" label="Substitution Model (-m)">
                <option value="GTRCAT">GTRCAT</option> 
                <option value="GTRCATI">GTRCATI</option> 
                <option value="GTRGAMMA" select="true">GTRGAMMA</option>
                <option value="GTRGAMMAI">GTRGAMMAI</option>
            </param>
        </when>
    ## Aminoacid substitution models
        <when value="aminoacid">
            <param name="aa_model_empirical_base_frequences"
                type="boolean" checked="no" truevalue="true" falsevalue="false" display="checkboxes" label="Use empirical base frequencies in AA models" />
            <param name="base_model" type="select" label="Substitution Model (-m)">
                <option value="PROTCAT" select="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" select="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>
        </when>
## Binary substitution models
        <when value="binary">
            <param name="base_model" type="select" label="Substitution Model (-m)">
                <option value="BINCAT">BINCAT</option> 
                <option value="BINCATI">BINCATI</option> 
                <option value="BINGAMMA">BINGAMMA</option> 
                <option value="BINGAMMAI">BINGAMMAI</option> 
            </param>
        </when>
## Multi-state substitution models
        <when value="multistate">
            <param name="base_model" type="select" label="Substitution Model (-m)">
                <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" type="integer" value="1234567890" size="12" label="Random
        seed used for the parsimony inferences (-p)" />
    <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">
            ## (-s)
            <param name="infile" format="txt" type="data" label="Sequence File (relaxed PHYLIP format) (-s)"/>
        </when>
        <when value="full">
            ## (-s)
            <param name="infile" format="txt" type="data" label="Sequence File (relaxed PHYLIP format) (-s)" optional="True"/>
            ## (-N/#)
            <param name="number_of_runs" type="integer" size="8" value=""
                label="Number of runs (-N|#)" help="Specify the number of
                alternative runs on distinct starting trees In combination
                with the '-b' option will invoke a multiple boostrap analysis.
                You can add the bootstopping criteria by choosing the autoMR,
                autoMRE, autoMRE_IGN, or autoFC value in a menu below instead of
                providing a number here. Bootstopping will only work in
                combination with '-x' or '-b'."
                optional="True" />
            <param name="number_of_runs_bootstop" type="select" label="Use bootstopping criteria for number of runs (-N/#)" optional="True">
                <option value="" selected="yes"></option>
                <option value="autoMR">autoMR</option>
                <option value="autoMRE">autoMRE</option>
                <option value="autoMRE_IGN">autoMRE_IGN</option>
                <option value="autoFC">autoFC</option>
            </param>
            ## Alphabetical Listing of Advanced Options
            ## (-a)
            <param format="txt" name="weightfile" type="data" label="Column weight file (-a)" optional="True" />
            ## (-A)
            <param name="secondary_structure_model" type="select" label="Secondary structure substitution model (-A)" optional="True">
                <option value="" selected="yes"></option>
                <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>
            ## (-b)
            <param name="bootseed" type="integer" size="8" value="" label="Random number for non-parametric bootstrapping (-b)" refresh_on_change='true'  optional="True" />
            ## (-x)
            <param name="rapid_bootstrap_random_seed" type="integer" value='' size="7" label="Rapid bootstrapping random seed (-x)" optional="True" help="Specify a random seed and turn 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." />
            ## (-B)
            <param name="cutoff_threshold" type="float" size="8" label="MR Cutoff threshold (-B)" value="" help="Cutoff threshold for the MR-based bootstopping criteria, recommended value is 0.1" optional="True" />
            ## (-c)
            <param name="numofcats" type="integer" size="8" label="Number of Rate Categories for GTRCAT/GTRMIX (-c)" optional="True" />
                ## (-C) Conduct model parameter optimization doesn't work in the pthreads version. Skip for now.
            ## (-d)
            <param name="search_complete_random_tree" type="boolean" checked="False" truevalue="true" falsevalue="false" display="checkboxes" label="Start ML optimization from a complete random starting tree (-d)" />
            ## (-D)
            <param name="ml_search_convergence" type="boolean" checked="False" truevalue="true" falsevalue="false" label="ML search convergence criterion (-D)" />
            ## (-e)
            <param name="model_opt_precision" type="float" size="8" label="Model optimization precision (-e)" value="" help="Set model optimization precision in log likelihood units when MIX/MIXI or GAMMA/GAMMAI models are used" optional="True" />
            ## (-E)
            <param format="txt" name="excludefile" type="data" label="Exclude file (-E)" optional="True" />
            ## (-f)
            <param name="search_algorithm" type="select" label="Algorithm to execute (-f)" 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">Hill-climbing ML Search (d) (default)</option>
                <option value="e">Optimize GAMMA/GAMMAI model/branches (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>
            ## (-F)
            <param name="save_memory_cat_model" type="boolean" checked="no" truevalue="true" falsevalue="false" display="checkboxes" label="ML tree searches under CAT model (-F)" optional="True" 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" />
            ## (-g)
            <param name="groupingfile" format="txt" type="data" label="Multifurcating constraint tree (-g)" optional="True" />
            ## (-G)
            <param name="enable_evol_heuristics" type="float" size="8" label="Enable the ML-based evolutionary placement algorithm heuristics (-G)" help="Enable the ML-based evolutionary placement algorithm heuristics by specifiyng a threshold value (fraction of insertion branches to be evaluated using slow insertions under ML)." optional="True" >
                <validator type="in_range" message="0.0 &lt;= fraction &lt;= 1.0" min="0.0" max="1.0"/>
            </param>
            ## (-i)
            <param name="initial_rearrangement_setting" type="integer" size="5" value="" label="Initial rearrangement setting (-i)" optional="True" />
            ## (-I)
            <param name="posterior_bootstopping_analysis" type="select" label="Posterior bootstopping analysis (-I)" optional="True">
                <option value="" selected="True"></option>
                <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
            ## (-J)
            <param name="majority_rule_consensus" type="select" label="Compute consensus tree (-J)" optional="True">
                <option value="" selected="True"></option>
                <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>
            ## (-k)
            <param name="print_branch_lengths" type="boolean" checked="no" truevalue="true" falsevalue="false" display="checkboxes" label="Print bootstrapped trees with branch lengths (-k)" help="Specifies that bootstrapped trees should be printed with branch lengths. 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." optional="True" />
            ## (-K)
            <param name="multistate_sub_model" type="select" label="Specify a
                multi-state substitution model (-K)" optional="True">
                <option value="" selected="true"></option>
                <option value="GTR">GTR</option>
                <option value="ORDERED">ORDERED</option>
                <option value="MK">MK</option>
            </param>
            ## (-M)
            <param name="estimate_individual_branch_lengths" type="boolean" checked="no" truevalue="true" falsevalue="false" display="checkboxes" label="Estimate individual per-partition branch lengths (-M)" help="Only has effect with a partition file (-q)." optional="True" />
            ## (-n) name is hard-coded to 'galaxy' for more straightforward handling of output files
            ## (-o)
            <param name="outgroup_name" type="text" size="40" value="" label="Outgroup name (-o)" help="E.g. Mouse or Mouse,Rat. No spaces between taxon names are allowed." optional="True" />
            ## (-O)
            <param name="disable_undetermined_seq_check" type="boolean" checked="no" truevalue="true" falsevalue="false" display="checkboxes" label="Disable check for completely undetermined sequence in alignment (-O)" optional="True" help="Disable the check for completely undetermined sequence in alignment. The program will not exit with an error message when '-O' is specified." />
            <param name="external_protein_model" format="txt" type="data" label="External AA substitution model (-P)" help="Specify the file name of a user-defined AA (Protein) substitution model. 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." optional="True" />
            ## (-q)
            <param name="multiple_model" format="txt" type="data" label="Multiple model assignment to alignment partitions (-q)" optional="True" help="Specify the file name which contains the assignment of models to alignment partitions for multiple models of substitution. For the syntax of this file please consult the manual." />
            ## (-r)
            <param name="constraint_file" format="txt" type="data" label="Binary constraint tree (-r)" optional="True" help="Specify the file name of a binary constraint tree. This tree does not need to be comprehensive, i.e. must not contain all taxa." />
            ## (-R)
            <param name="bin_model_parameter_file" format="txt" type="data" label="Binary model parameter file (-R)" optional="True" help="Specify the file name of a binary model parameter file that has previously been generated with RAxML using the '-f e' tree evaluation option." />
            ## (-s) source file option is in the required options section
            ## (-S)
            <param name="secondary_structure_file" format="txt" type="data" label="Secondary structure file (-S)" optional="True" help="Specify the name of a secondary structure file. 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."/>
            ## (-t)
            <param name="start_tree_file" format="txt" type="data" label="Starting tree file (-t)" optional="True" help="Specify a user starting tree file name in Newick format." />
            ## (-T) is hard-coded in the required options section
            <param name="use_median_approximation" type="boolean" checked="no" truevalue="true" falsevalue="false" display="checkboxes" label="Use the median for the discrete approximation (-u)" help="Use the median for the discrete approximation of the GAMMA model of rate heterogeneity." optional="True" />
            ## (-U)
            <param name="save_memory_gappy_alignments" type="boolean" checked="no" truevalue="true" falsevalue="false" display="checkboxes" label="Save memory on large gappy alignments (-U)" help="Try to save memory by using SEV-based implementation for gap columns on large gappy alignments." optional="True" />
            ## (-V)
            <param name="disable_rate_heterogeneity" type="boolean" checked="no" truevalue="true" falsevalue="false" display="checkboxes" label="Disable rate heterogeneity (-V)" help="Disable rate heterogeneity among sites model and use one without rate heterogeneity instead. Only works if you specify the CAT model of rate heterogeneity." optional="True" />
            ## (-W)
            <param name="sliding_window_size" type="integer" size="5" value="" label="Sliding window size (-W)" optional="True" help="Sliding window size for leave-one-out site-specific placement bias algorithm. Only effective when used in combination with '-f S'. Default is '100 sites'" />
            ## (-x) - see it by the (-b)
            ## (-y)
            <param name="parsimony_starting_tree_only" type="boolean" checked="no" truevalue="true" falsevalue="false" display="checkboxes" label="Compute a randomized parsimony starting tree only (-y)" optional="True" help="If you want to only compute a parsimony starting tree with RAxML specify '-y'. The program will exit after computation of the starting tree." />
            ## (-z)
            <param name="file_multiple_trees" format="txt" type="data" label="Multiple trees file (-z)" help="Specify the file name of a file containing multiple trees e.g. from a bootstrap that shall be used to draw bipartition values onto a tree provided with '-t', It can also be used to compute per site log likelihoods in combination with '-f g' and to read a bunch of trees for '-f h', '-f m' and '-f n'." optional="True" />
        </when> ## full option list
    </conditional> ## END $selExtraOpts
  </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="txt" name="bestTreeReq" from_work_dir="RAxML_bestTree.galaxy" label="Best-scoring ML Tree">
            <filter>(selExtraOpts['extraOptions'] == 'required')</filter>
        </data>
        <data format="txt" 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="txt" 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="txt" 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="txt" name="bestTree" from_work_dir="RAxML_bestTree.galaxy" label="Best-scoring ML Tree">
            <filter>(selExtraOpts['extraOptions'] == 'full')</filter>
            <filter>(selExtraOpts['rapid_bootstrap_random_seed'] == '' or selExtraOpts['bootseed'] == '') and (selExtraOpts['search_algorithm'] == 'a')</filter>
            <filter>(selExtraOpts['search_algorithm'] != 'b')</filter>
            <filter>(selExtraOpts['majority_rule_consensus'] == '')</filter>
        </data>
        <data format="txt" 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>(selExtraOpts['majority_rule_consensus'] == '') </filter>
        </data>
        <data format="txt" 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>(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="txt" 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>(selExtraOpts['majority_rule_consensus'] == '') </filter>
        </data>
        <data format="txt" 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="txt" 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="txt" 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="txt" 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>
          <!-- test1 -->
          <!-- raxmlHPC-PTHREADS-SSE3 -T 4 -s raxml_binary.phy -n galaxy -m BINCAT -p 12345 -->
          <param name="extraOptions" value="required"/>
          <param name="infile" value="raxml/inputs/raxml_binary.phy"/>
          <param name="model_type" value="binary"/>
          <param name="base_model" value="BINCAT"/>
          <output name="bestTreeReq" file="raxml/test1/RAxML_bestTree.galaxy"/>
          <output name="parsimonyTreeReq" file="raxml/test1/RAxML_parsimonyTree.galaxy"/>
          <!--          <output name="info" file="raxml/test1/RAxML_info.galaxy"/> -->
          <output name="logReq" file="raxml/test1/RAxML_log.galaxy">
              <assert_contents>
                <has_line_matching expression="^0\\..*" />
              </assert_contents>
          </output>
          <output name="resultReq" file="raxml/test1/RAxML_result.galaxy">
              <assert_contents>
                  <has_line_matching expression="Overall\sexecution\stime.*" />
              </assert_contents>
          </output>
      </test>
      <!--
      <test>
          -->
          <!-- test2 -->
          <!-- raxmlHPC-PTHREADS-SSE3 -T 4 -s raxml_binary.phy -n galaxy -m BINCAT -p 12345 -->
          <!--
          <param name="infile" value="raxml/inputs/raxml_binary.phy"/>
          <param name="search_model_selector" value="binary"/>
          <param name="base_model" value="BINCAT"/>
          <output name="info" file="raxml/test1/RAxML_info.galaxy"/>
          <output name="logReq" file="raxml/test1/RAxML_log.galaxy"/>
          <output name="bestTreeReq" file="raxml/test1/RAxML_bestTree.galaxy"/>
          <output name="parsimonyTreeReq" file="raxml/test1/RAxML_parsimonyTree.galaxy"/>
          <output name="resultReq" file="raxml/test1/RAxML_result.galaxy"/>
          -->
          <!--
      </test>
      -->
  </tests>
  <help>
Title:
______
Randomized Axelerated Maximum Likelihood

Author:
_______
Alexandros Stamatakis &lt;alexandros.stamatakis@h-its.org&gt;

Description:
____________

RAxML 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.

This wrapper works with the RAxML version 7.3.2.

URL:
____
Author's page: http://www.exelixis-lab.org/

Help: http://groups.google.com/group/raxml

Citing:
_______

Alexandros Stamatakis : “RAxML-VI-HPC: Maximum Likelihood-based Phylogenetic
Analyses with Thousands of Taxa and Mixed Models”, Bioinformatics
22(21):2688–2690, 2006.
</help>
</tool>