diff raxmlng.xml @ 0:21da84148596 draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/raxml-ng commit 73e57581d32cd1ffa9b234faa87fc2e2ac3ae37f
author iuc
date Sun, 21 Dec 2025 10:17:03 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/raxmlng.xml	Sun Dec 21 10:17:03 2025 +0000
@@ -0,0 +1,416 @@
+<tool id="raxmlng" name="RAxML-NG" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="22.01">
+    <description>Maximum Likelihood based inference of large phylogenetic trees</description>
+    <macros>
+        <token name="@TOOL_VERSION@">1.2.2</token>
+        <token name="@VERSION_SUFFIX@">0</token>
+    </macros>
+    <xrefs>
+        <xref type="bio.tools">RAxML-NG</xref>
+    </xrefs>
+    <requirements>
+        <requirement type="package" version="@TOOL_VERSION@">raxml-ng</requirement>
+    </requirements>
+    <command detect_errors="exit_code"><![CDATA[
+raxml-ng
+$command
+#if $command == '--consense':
+  $consensus_type
+#end if
+--msa '$infile'
+--prefix galaxy
+#if $model.model_type == 'single_gui':
+  #if $model.seq_type == 'multistate':
+    #set model_matrix = '""'.join(["MULTI", str($model.single_model.multi_state_count),"_",str($model.single_model.subst_matrix)])
+  #else:
+    #set model_matrix = str($model.single_model.subst_matrix)
+  #end if
+  #if str($model.rhas_model) in ['+G', '+R', '+I+G', '+I+R']:
+    #set model_rhas = '""'.join([str($model.rhas_model), str($model.rhas_cat_count)])
+  #else
+    #set model_rhas = str($model.rhas_model)
+  #end if
+  --model ${model_matrix}${model.base_freqs}${model_rhas}
+#elif $model.model_type == 'single_string'
+  --model '${model.model_string}'
+#elif $model.model_type == 'multi_file'
+  --model '$model.model_file'
+  --brlen $model.brlen_linkage
+#end if
+#set start_trees = []
+#if $tree_file:
+  #set start_trees = start_trees + [str($tree_file)] 
+#end if
+#if $tree_pars_count:
+  #set start_trees = start_trees + ['""'.join(["pars{", str($tree_pars_count), "}"])] 
+#end if
+#if $tree_rand_count:
+  #set start_trees = start_trees + ['""'.join(["rand{", str($tree_rand_count), "}"])] 
+#end if
+#set tree_str = '","'.join($start_trees) 
+#if $tree_str:
+  --tree $tree_str
+#end if
+#if $outgroup_name:
+    --outgroup '$outgroup_name'
+#end if
+#if $constraint_file:
+    --tree-constraint '$constraint_file'
+#end if
+#if $command == '--all' or $command == '--bootstrap':
+  #if $bs_metric
+    --bs-metric $bs_metric
+  #end if
+  #if $bs_mre:
+    --bs-trees autoMRE{$bs_reps}
+    --bs-cutoff $bs_cutoff
+  #else
+    --bs- trees $bs_reps
+  #end if
+#elif $command == '--support':
+  #if $bs_metric
+    --bs-metric $bs_metric
+  #end if
+  --bs-trees $bs_trees
+#elif $command == '--bsconverge':
+  --bs-cutoff $bs_cutoff
+  --bs-trees $bs_trees
+#end if
+#if $random_seed:
+  --seed $random_seed
+#end if
+#if $lh_epsilon:          
+  --lh-epsilon $lh_epsilon    
+#end if 
+#if $lh_epsilon_triplet:
+  --lh-epsilon-triplet $lh_epsilon_triplet
+#end if 
+#if $blmin:
+  --blmin $blmin
+#end if
+#if $blmax:
+  --blmax $blmax
+#end if
+$pat_comp
+$site_repeats
+$rate_scalers
+#if $force:          
+  --force $force
+#end if
+#if $log_level:
+   --log $log_level
+#end if 
+#if $site_weights:
+   --site-weights $site_weights
+#end if  
+--threads auto{\${GALAXY_SLOTS:-8}}
+    ]]></command>
+    <inputs>
+        <section name="general_opts" expanded="true" title="General options">
+            <param name="command" type="select" label="Analysis type">
+                <option value="--check">Check alignment correctness</option>
+        <!--    <option value="-parse">Convert alignment to a compressed binary format (RBA)</option> -->
+                <option value="--search" selected="true">Tree search (default)</option>
+                <option value="--search1">Tree search (FAST)</option>
+                <option value="--all">Tree search with branch support values (SLOW)</option>
+                <option value="--evaluate">Optimize branches and model parameters on a fixed topology</option>
+                <option value="--start">Generate parsimony and/or random starting trees</option>
+                <option value="--bootstrap">Bootstrap tree inference (SLOW)</option>
+                <option value="--support">Support value mapping from existing set of bootstrap trees</option>
+                <option value="--bsconverge">Bootstopping: Test bootstrap convergerge a posteriori</option>
+                <option value="--sitelh">Print per-site log-likelihoods</option>
+                <option value="--ancestral">Ancestral state reconstruction on a given tree</option>
+                <option value="--rfdist">RF: Compute pair-wise Robinson-Foulds distances between trees</option>
+                <option value="--consense">Build a consensus tree</option>
+                <option value="--terrace">Check whether a tree lies on a phylogenetic terrace</option>
+            </param>
+            <param name="infile" argument="--msa" type="data" format="fasta,phylip" label="Source file with aligned sequences"
+                   help="At least four aligned genomes are needed for RAxML-NG." />
+            <conditional name="model">
+                <param name="model_type" type="select" display="radio" label="Model type">
+                    <option value="single_gui" selected="true">Single model (GUI)</option>
+                    <option value="single_string">Single model (string)</option>
+                    <option value="multi_file">Partitioned model file</option>
+                </param>
+                <when value="single_gui">
+                    <conditional name="single_model">
+                        <param name="seq_type" type="select" display="radio" label="Sequence 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="subst_matrix" type="select" label="Matrix">
+                                <option value="F81">F81</option>
+                                <option value="GTR" selected="true">GTR</option>
+                                <option value="HKY">HKY</option>
+                                <option value="JC">JC</option>
+                                <option value="K80">K80</option>
+                                <option value="SYM">SYM</option>
+                                <option value="TIM1">TIM1</option>
+                                <option value="TIM2">TIM2</option>
+                                <option value="TIM3">TIM3</option>
+                                <option value="TN93">TN93</option>
+                                <option value="TPM1">TPM1</option>
+                                <option value="TPM2">TPM2</option>
+                                <option value="TPM3">TPM3</option>
+                                <option value="TVM">TVM</option>
+                            </param>            
+                        </when>
+                        <when value="aminoacid">
+                            <param name="subst_matrix" type="select" label="Matrix">
+                                <option value="BLOSUM62">BLOSUM62</option>
+                                <option value="CPREV">CPREV</option>
+                                <option value="DAYHOFF">DAYHOFF</option>
+                                <option value="DCMUT">DCMUT</option>
+                                <option value="FLU">FLU</option>
+                                <option value="PROTGTR">GTR</option>
+                                <option value="HIVB">HIVB</option>
+                                <option value="HIVW">HIVW</option>
+                                <option value="JTT">JTT</option>
+                                <option value="JTT-DCMUT">JTT-DCMUT</option>
+                                <option value="LG" selected="true">LG</option>
+                                <option value="LG4M">LG4M</option>
+                                <option value="LG4X">LG4X</option>
+                                <option value="MTART">MTART</option>
+                                <option value="MTMAM">MTMAM</option>
+                                <option value="MTREV">MTREV</option>
+                                <option value="MTZOA">MTZOA</option>
+                                <option value="PMB">PMB</option>
+                                <option value="RTREV">RTREV</option>
+                                <option value="VT">VT</option>
+                                <option value="WAG">WAG</option>
+                            </param>
+                        </when>
+                        <when value="binary">
+                            <param name="subst_matrix" type="select" label="Matrix">
+                                <option value="BIN">BIN</option>
+                            </param>
+                        </when>
+                        <when value="multistate">
+                            <param name="multi_state_count" type="integer" value="2" label="Number of states" />
+                            <param name="subst_matrix" type="select" label="Matrix">
+                                <option value="MK">MULTIx_MK</option>
+                                <option value="GTR">MULTIx_GTR</option>
+                            </param>
+                        </when>
+                    </conditional>
+                   <param name="base_freqs" type="select" label="Stationary base frequencies">
+                        <option value="" selected="true">Default</option>
+                        <option value="+FO">ML estimate</option>
+                        <option value="+F">empirical</option>
+                        <option value="+FE">equal</option>
+                    </param>
+                    <param name="rhas_model" type="select" label="Rate heterogeneity across sites (RHAS) model">
+                        <option value="">None / default</option>
+                        <option value="+G" selected="true">GAMMA</option>
+                        <option value="+I">Inv</option>
+                        <option value="+I+G">Inv+GAMMA</option>
+                        <option value="+R">FreeRate</option>
+                        <option value="+I+R">Inv+FreeRate</option>
+                    </param>
+                    <param name="rhas_cat_count" type="integer" value="" optional="true" label="Number of RHAS categories" help="Typical range: 2..10 (default: 4)"/>
+                </when>
+                <when value="single_string">
+                   <param name="model_string" type="text" value="" optional="false" label="Model definition string" help="Help: https://github.com/amkozlov/raxml-ng/wiki/Input-data#single-model" >
+                   <sanitizer>  
+                     <valid initial="string.ascii_letters,string.digits,string.punctuation">
+                           <remove value="';"/>
+                      </valid>
+                   </sanitizer>
+                   </param>
+                </when>
+                <when value="multi_file">
+                   <param name="model_file" type="data" format="txt" label="Partitioned model file" help="Help: https://github.com/amkozlov/raxml-ng/wiki/Input-data#multiple-models" />
+                   <param name="brlen_linkage" type="select" display="radio" label="Branch length linkage among partitions">
+                        <option value="linked">Linked identical</option>
+                        <option value="scaled" selected="true">Linked proportional</option>
+                        <option value="unlinked">Unlinked</option>
+                   </param>
+                </when>
+            </conditional>
+        </section>
+        <section name="tree_opts" expanded="false" title="Tree options">
+            <param name="tree_file" type="data" format="nhx" optional="true" label="User starting trees (NEWICK file)" />
+            <param name="tree_pars_count" type="integer" value="" optional="true" label="Number of PARSIMONY starting trees" />
+            <param name="tree_rand_count" type="integer" value="" optional="true" label="Number of RANDOM starting trees" />
+            <param name="outgroup_name" argument="--outgroup" type="text" value="" optional="true" label="Root a tree: Outgroup taxon name(s)" help="E.g. Mouse or Mouse,Rat. No spaces between taxon names are allowed"/>
+            <param name="constraint_file" argument="--tree-constraint" type="data" format="txt" optional="true" label="Constraint tree" help="Topological constraint in NEWICK format (can be partial)"/>
+            <param name="consensus_type" type="select" display="radio" label="Consensus type">
+                <option value="strict">Strict</option>
+                <option value="mr" selected="true">Majority Rule (MR)</option>
+                <option value="mre">Majority Rule Extended (MRE)</option>
+            </param>
+        </section>
+        <section name="bootstrap_opts" expanded="false" title="Bootstrapping options">
+            <param name="bs_metric" type="select" multiple="true" display="checkboxes" label="Branch support metric">
+                <option value="fbp" selected="true">Felsenstein bootstrap</option>
+                <option value="tbe">Transfer bootstrap (TBE)</option>
+            </param>   
+            <param name="bs_reps" type="integer" value="1000" min="1" max="10000" label="Number of replicates" />
+            <param name="bs_mre" type="boolean" checked="true" label="Use bootstopping (autoMRE convergence test)" />
+            <param name="bs_cutoff" type="float" value="0.03" min="0" max="1" label="Bootstopping cutoff" help="Cutoff threshold for the MRE-based convergence  test" />
+            <param argument="--bs-trees" type="data" format="nhx" optional="true" label="Existing set of bootstrap trees"/>
+        </section>
+        <section name="safety_opts" expanded="false" title="Safety checks">
+            <param argument="--force" type="select" multiple="true" display="checkboxes" label="Disable safety checks (use with CAUTION!)">
+                 <option value="perf">Performance-related (e.g. number of threads)</option>
+                 <option value="msa">MSA-related (e.g. duplicate or gap-only sequences) </option>
+                 <option value="model">Model-related (e,g, invalid state frequencies)</option>
+            </param>
+        </section>
+        <section name="advanced_opts" expanded="false" title="Advanced options">
+            <param name="random_seed" argument="--seed" type="integer" value="1" label="Random seed" />
+            <param argument="--lh-epsilon" type="float" value="" optional="true" label="Log-likelihood epsilon for tree search and model optimization" help="Default: 0.1"/>
+            <param argument="--lh-epsilon-triplet" type="float" value="" optional="true" label="Log-likelihood epsilon for branch length triplet optimization" help="Default: 1000"/>
+            <param argument="--blmin" type="float" value="" optional="true" label="MIN branch length" help="Default: 10^-6"/>
+            <param argument="--blmax" type="float" value="" optional="true" label="MAX branch length" help="Default: 100"/>
+            <param name="pat_comp" type="boolean" truevalue="--pat-comp off" falsevalue="" label="Disable alignment pattern compression" help="Default: NO" />
+            <param name="site_repeats" type="boolean" truevalue="--site-repeats off" falsevalue="" label="Disable site repeats optimization" help="Default: NO" />
+            <param name="rate_scalers" type="boolean" truevalue="--rate-scalers on" falsevalue="" label="ALWAYS use individual CLV scalers for each rate category" help="Default: use if MSA has >2000 taxa" />
+            <param name="log_level" argument="--log" type="select" optional="true" label="Log verbosity">
+                <option value="error">ERROR</option>
+                <option value="warning">WARNING</option>
+                <option value="result">RESULT</option>
+                <option value="info">INFO</option>
+                <option value="progress">PROGRESS</option>
+                <option value="verbose">VERBOSE</option>
+                <option value="debug">DEBUG</option>
+            </param>
+            <param argument="--site-weights" type="data" format="txt" optional="true" label="File with custom MSA column weights (positive integers only!)" />
+        </section>
+    </inputs>
+    <outputs>
+       <data format="txt" name="log" from_work_dir="galaxy.raxml.log" label="${tool.name} on ${on_string}: Log"/>
+       <!--
+       <data format="binary" name="rba" from_work_dir="galaxy.raxml.rba" label="${tool.name} on ${on_string}: RAxML Binary Alignment">
+            <filter>
+                general_opts['command'] in ["-parse", "-search", "-search1", "-all"]
+            </filter>
+       </data>
+       -->
+       <data format="nhx" name="bestTree" from_work_dir="galaxy.raxml.bestTree" label="${tool.name} on ${on_string}: Best-scoring ML Tree">
+          <filter>general_opts['command'] in ["--search", "--search1", "--all", "--evaluate"] </filter>
+       </data>
+       <data format="nhx" name="supportTree" from_work_dir="galaxy.raxml.support" label="${tool.name} on ${on_string}: ML Tree with branch support values">
+          <filter>general_opts['command'] in ["--all", "--support"] </filter>
+       </data>
+       <data format="nhx" name="bootstrapTrees" from_work_dir="galaxy.raxml.bootstraps" label="${tool.name} on ${on_string}: Bootstrap trees">
+          <filter>general_opts['command'] in ["--all", "--bootstrap"] </filter>
+       </data>
+       <data format="txt" name="bestModel" from_work_dir="galaxy.raxml.bestModel" label="${tool.name} on ${on_string}: Optimized model parameters">
+         <filter>general_opts['command'] in ["--search", "--search1", "--all", "--evaluate"]</filter>
+       </data>
+       <data format="nhx" name="startTree" from_work_dir="galaxy.raxml.startTree" label="${tool.name} on ${on_string}: Starting trees">
+          <filter>general_opts['command'] in ["--search", "--search1", "--all", "--start"] </filter>
+       </data>
+       <data format="txt" name="siteLH" from_work_dir="galaxy.raxml.siteLH" label="${tool.name} on ${on_string}: Per-site log-likelihoods">
+         <filter>general_opts['command'] == "--sitelh"</filter>
+       </data>
+       <data format="txt" name="rfDistances" from_work_dir="galaxy.raxml.rfDistances" label="${tool.name} on ${on_string}: Pair-wise RF distances">
+         <filter>general_opts['command'] == "--rfdist"</filter>
+       </data>
+       <data format="txt" name="terrace" from_work_dir="galaxy.raxml.terrace" label="${tool.name} on ${on_string}: Terrace">
+         <filter>general_opts['command'] == "--terrace"</filter>
+       </data>
+       <data format="nhx" name="consensusTreeSTRICT" from_work_dir="galaxy.raxml.consensusTreeSTRICT" label="${tool.name} on ${on_string}: Consensus Tree (strict)">
+          <filter>general_opts['command'] == "--consense" and tree_opts['consensus_type'] == "strict"  </filter>
+       </data>
+       <data format="nhx" name="consensusTreeMR" from_work_dir="galaxy.raxml.consensusTreeMR" label="${tool.name} on ${on_string}: Consensus Tree (MR)">
+          <filter>general_opts['command'] == "--consense" and tree_opts['consensus_type'] == "mr"  </filter>
+       </data>
+       <data format="nhx" name="consensusTreeMRE" from_work_dir="galaxy.raxml.consensusTreeMRE" label="${tool.name} on ${on_string}: Consensus Tree (MRE)">
+          <filter>general_opts['command'] == "--consense" and tree_opts['consensus_type'] == "mre"  </filter>
+       </data>
+       <data format="nhx" name="ancestralTree" from_work_dir="galaxy.raxml.ancestralTree" label="${tool.name} on ${on_string}: Ancestral None-labeled Tree">
+          <filter>general_opts['command'] == "--ancestral" </filter>
+       </data>
+       <data format="txt" name="ancestralStates" from_work_dir="galaxy.raxml.ancestralStates" label="${tool.name} on ${on_string}: Ancestral Sequences">
+          <filter>general_opts['command'] == "--ancestral" </filter>
+       </data>
+      <data format="txt" name="ancestralProbs" from_work_dir="galaxy.raxml.ancestralProbs" label="${tool.name} on ${on_string}: Ancestral Marginal Probabilities">
+          <filter>general_opts['command'] == "--ancestral" </filter>
+       </data>
+    </outputs>
+    <tests>
+        <test expect_num_outputs="4">
+            <section name="general_opts">
+                <param name="command" value="--search"/>
+                <param name="infile" value="dna.phy"/>
+                <conditional name="model">
+                    <param name="model_type" value="single_gui"/>
+                    <conditional name="single_model">
+                        <param name="seq_type" value="nucleotide"/>
+                        <param name="subst_matrix" value="HKY"/>
+                    </conditional>
+                </conditional>
+            </section>
+            <section name="tree_opts">
+                <param name="tree_pars_count" value="6"/>
+                <param name="tree_rand_count" value="4"/>
+            </section>
+            <section name="advanced_opts">
+                <param name="random_seed" value="1"/>
+            </section>
+            <output name="log">
+                <assert_contents>
+                    <has_text text="Final LogLikelihood:"/>
+                    <has_text text="Elapsed time:"/>
+                </assert_contents>
+            </output>
+            <output name="startTree" file="tree10.raxml.galaxy" ftype="nhx"/>
+            <output name="bestModel">
+                <assert_contents>
+                    <has_n_columns n="2" sep="="/>
+                    <has_n_lines n="1"/>
+                    <has_text text="HKY"/>
+                </assert_contents>
+            </output>
+            <output name="bestTree" ftype="nhx">
+                <assert_contents>
+                    <has_text_matching expression="Frog"/>
+                </assert_contents>
+            </output>
+        </test>
+        <test expect_num_outputs="2">
+            <section name="general_opts">
+                <param name="command" value="--consense"/>
+                <param name="infile" value="dna.phy"/>
+            </section>
+            <section name="tree_opts">
+                <param name="tree_file" value="tree10.raxml.galaxy"/>
+                <param name="consensus_type" value="mr"/>
+            </section>
+            <section name="advanced_opts">
+                <param name="random_seed" value="1"/>
+            </section>
+            <output name="log">
+                <assert_contents>
+                    <has_text text="run mode: Build consensus tree"/>
+                    <has_text text="Elapsed time:"/>
+                </assert_contents>
+            </output>
+            <output name="consensusTreeMR" ftype="nhx">
+                <assert_contents>
+                    <has_text text="Cow"/>
+                    <has_text text="Frog"/>
+                    <has_n_lines n="1"/>
+                </assert_contents>
+            </output>
+        </test>
+    </tests>
+    <help><![CDATA[
+RAxML-NG is a phylogenetic tree inference tool which uses Maximum-Likelihood (ML) optimality criterion.
+Its search heuristic is based on iteratively performing a series of Subtree Pruning and Regrafting (SPR) moves, 
+which allows to quickly navigate to the best-known ML tree. 
+RAxML-NG is a successor of RAxML 8.x (Stamatakis 2014).
+
+Documentation: https://github.com/amkozlov/raxml-ng/wiki
+
+.. _RAxML-NG: http://www.exelixis-lab.org/web/software/raxml-ng/
+
+    ]]></help>
+    <citations>
+        <citation type="doi">10.1093/bioinformatics/btz305</citation>
+    </citations>
+</tool>