changeset 3:7157a5b34a68 draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/phyml commit fd76965826549db42ae414b80e4254089babe6a5
author iuc
date Mon, 23 Oct 2023 17:15:37 +0000
parents 2bf47d57ebb5
children
files phyml.xml test-data/phylip_phyml_stats.txt
diffstat 2 files changed, 66 insertions(+), 56 deletions(-) [+]
line wrap: on
line diff
--- a/phyml.xml	Mon Jun 22 18:37:56 2020 -0400
+++ b/phyml.xml	Mon Oct 23 17:15:37 2023 +0000
@@ -1,38 +1,48 @@
-<tool id="phyml" name="PhyML" version="@VERSION@">
-    <description>Phylogeny software based on the maximum-likelihood method.</description>
+<tool id="phyml" name="PhyML" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="22.05">
+    <description>Phylogeny software based on the maximum-likelihood method</description>
     <macros>
-        <token name="@VERSION@">3.3.20190909</token>
+        <token name="@TOOL_VERSION@">3.3.20220408</token>
+        <token name="@VERSION_SUFFIX@">0</token>
     </macros>
+    <xrefs>
+        <xref type="bio.tools">phyml</xref>
+    </xrefs>
     <requirements>
-        <requirement type="package" version="@VERSION@">phyml</requirement>
+        <requirement type="package" version="@TOOL_VERSION@">phyml</requirement>
     </requirements>
+    <stdio>
+        <regex source="stdout" match="failed" level="fatal" description="PhyML failed"/>
+    </stdio>
     <version_command>
-        <![CDATA[ phyml --version ]]>
+        <![CDATA[ phyml --version || true ]]>
     </version_command>
-    <command detect_errors="default">
+    <command>
         <![CDATA[
+          #import re
           ##PhyML outputs are based on input path and we need to create outputs in working_dir.
-          ln -sf '$input' '${input.name}' &&
-          #if $userInputTree:
-          ln -sf '${$userInputTree}' '${$userInputTree.name}' && 
+          #set input_name = re.sub('[^\s\w\-]', '_', str($input.element_identifier))
+          ln -sf '$input' '$input_name' &&
+          #if $userInputTree
+            #set userInputTree_name = re.sub('[^\s\w\-]', '_', str($userInputTree_name.element_identifier))
+            ln -sf '$$userInputTree' '$userInputTree_name' && 
           #end if
 
-          phyml --input '${input.name}'
-                '${phylip_format}'
+          phyml --input '$input_name'
+                ${phylip_format}
                 --datatype '${seq.type_of_seq}'
                 --multiple '${nb_data_set}'
                 
                 #if (str($support_condition.branchSupport) in ['0','-1','-2','-4','-5']):
                     --bootstrap '${support_condition.branchSupport}'
                 #else:
-                    --bootstrap '${support_condition.branchSupport.replicate}'
+                    --bootstrap '${support_condition.replicate}'
                 #end if
                     
+                --model '${seq.model}'
                 #if $seq.type_of_seq == "nt":
                     -t '${seq.tstv}'
                 #end if
             
-                --model '${seq.model}'
                 -f '${equi_freq}'
                 --pinv '${prop_invar}'
                 
@@ -46,32 +56,32 @@
                 -o '${optimisationTopology}'
                 
                 #if $userInputTree:
-                    --inputtree '${$userInputTree.name}'
+                    --inputtree '${$userInputTree_name}'
                 #end if
                 
                 #if $numStartSeed != "0":
                     --r_seed '${numStartSeed}'
                 #end if
                 
-                --no_memory_check > '${output_stdout}' && 
-                grep 'failed' '${output_stdout}' >&2;
+                --no_memory_check 
+                | tee '${output_stdout}' 
         ]]>
     </command>
     <inputs>
-        <param name="input" type="data" format="phylip,phy" label="Alignment file" help="phylip format"/>
-        <param name="phylip_format" type="select"  label="Changes interleaved format">
+        <param argument="--input" type="data" format="phylip,phy" label="Alignment file" help="phylip format"/>
+        <param argument="--sequential" name="phylip_format" type="select"  label="Changes interleaved format">
             <option value="">Interleaved</option>
             <option value="--sequential">Sequential</option>
         </param> 
-        <param name="nb_data_set" type="integer" min="1" value="1" label="Number of data sets" />
+        <param argument="--multiple" name="nb_data_set" type="integer" min="1" value="1" label="Number of data sets" />
         <conditional name="seq">
-            <param name="type_of_seq" type="select"  label="Data type">
+            <param argument="--datatype name" name="type_of_seq" type="select"  label="Data type">
                 <option value="nt">Nucleic acids</option>
                 <option value="aa">Amino acids</option>
             </param>
             <when value="nt">
-               <param name="tstv" type="text" value="e" label="Transition/transversion ratio" help="Must be a positive integer, 'e' if you want PhyML to estimate it"  />
-               <param name="model" type="select" label="Substitution model">
+               <param argument="--ts/tv" name="tstv" type="text" value="e" label="Transition/transversion ratio" help="Must be a positive integer, 'e' if you want PhyML to estimate it"  />
+               <param argument="--model" type="select" label="Substitution model">
                     <option value="HKY85">HKY85</option>
                     <option value="JC69">JC69</option>
                     <option value="K80">K80</option>
@@ -82,7 +92,7 @@
                 </param>
             </when>
             <when value="aa">
-                <param name="model" type="select" label="Evolution model">
+                <param argument="--model" type="select" label="Evolution model">
                     <option value="LG">LG</option>
                     <option value="WAG">WAG</option>
                     <option value="JTT">JTT</option>
@@ -100,45 +110,45 @@
                 </param>            
            </when>
         </conditional>
-        <param name="prop_invar" type="text" value="e" label="Proportion of invariant sites" help="Can be a fixed value in the [0,1] range or 'e' to get the maximum likelihood estimate, 0 to ignore this parameter"/>
-        <param name="equi_freq" type="select" label="Equilibrium frequencies" help="Empirical: frequencies are estimated by counting the occurences in the alignment. ML/Model: frequencies are estimated using ML for nucleotides or defined by the proteic substitution model.">
+        <param argument="--pinvname" name="prop_invar" type="text" value="e" label="Proportion of invariant sites" help="Can be a fixed value in the [0,1] range or 'e' to get the maximum likelihood estimate, 0 to ignore this parameter"/>
+        <param argument="-f" name="equi_freq" type="select" label="Equilibrium frequencies" help="Empirical: frequencies are estimated by counting the occurences in the alignment. ML/Model: frequencies are estimated using ML for nucleotides or defined by the proteic substitution model.">
             <option value="m">ML/Model</option>
             <option value="e">Empirical</option>
         </param>
-        <param name="nbSubstCat" type="integer" min="1" value="4" label="Number of categories for the discrete gamma model" help="1 means no gamma model"  />
-        <param name="gamma"  type="text" value="e" label="Parameter of the gamma model" help="'e' if you want PhyML to estimate it"/>
-        <param name="move" type="select" label="Tree topology search">
+        <param argument="--nclasses" name="nbSubstCat" type="integer" min="1" value="4" label="Number of categories for the discrete gamma model" help="1 means no gamma model"  />
+        <param argument="--alpha" name="gamma"  type="text" value="e" label="Parameter of the gamma model" help="'e' if you want PhyML to estimate it"/>
+        <param argument="--search" name="move" type="select" label="Tree topology search">
             <option value="NNI">NNI (Nearest Neighbor Interchange)</option>
             <option value="SPR">SPR (Subtree Pruning and Regraphing)</option>
             <option value="BEST">Best of NNI and SPR</option>
         </param>
-        <param name="optimisationTopology" type="select" label="Optimise topology">
+        <param argument="-o" name="optimisationTopology" type="select" label="Optimise topology">
             <option value="tlr">Tree topology, Branch length, Rate parameter</option>
             <option value="tl">Tree topology, Branch length</option>
             <option value="l">Branch length</option>
             <option value="r">Rate parameter</option>
             <option value="n">No parameter is optimized</option>
         </param>
-           <conditional name="support_condition">
-            <param name="branchSupport" type="select" label="Statistical tests for branch support" help="Use aLRT or aBayes to save computing time">
-                <option value="0">No bootstrap</option>
-                <option value="1">Bootstrap</option>
-                <option value="-1">likelihood aLRT statistics</option>
-                <option value="-2">likelihood Chi2-based</option>
-                <option value="-4" selected='true'>SH-like</option>
-                <option value="-5">Approximate Bayes branch supports</option>
-            </param>  
-            <when value="0"/>
-            <when value="-1"/>
-            <when value="-2"/>
-            <when value="-4"/>
-            <when value="-5"/>
-            <when value="1">
-                <param name="replicate" type="integer" min="1" value="100" label="Number of bootstrap replicates" help="Must be a positive integer" />
-            </when>
+            <conditional name="support_condition">
+                <param argument="--bootstrap" name="branchSupport" type="select" label="Statistical tests for branch support" help="Use aLRT or aBayes to save computing time">
+                    <option value="0">No bootstrap</option>
+                    <option value="1">Bootstrap</option>
+                    <option value="-1">likelihood aLRT statistics</option>
+                    <option value="-2">likelihood Chi2-based</option>
+                    <option value="-4" selected='true'>SH-like</option>
+                    <option value="-5">Approximate Bayes branch supports</option>
+                </param>  
+                <when value="0"/>
+                <when value="-1"/>
+                <when value="-2"/>
+                <when value="-4"/>
+                <when value="-5"/>
+                <when value="1">
+                    <param argument="--bootstrap" name="replicate" type="integer" min="1" value="100" label="Number of bootstrap replicates" help="Must be a positive integer" />
+                </when>
         </conditional>
-        <param name="numStartSeed" type="integer" value="0" label="Number of seed used to initiate the random number generator" help="0 to random seed"/>
-        <param name="userInputTree" optional="True" type="data" format="nhx" label="Tree file" help="newick format"/>
+        <param argument="--r_seed" name="numStartSeed" type="integer" value="0" label="Number of seed used to initiate the random number generator" help="0 to random seed"/>
+        <param argument="--inputtree" name="userInputTree" optional="true" type="data" format="nhx" label="Tree file" help="newick format"/>
     </inputs>
     <outputs>
         <data name="output_tree" format="nhx" label="PhyML Newick tree: ${input.name}.nwk" from_work_dir="*_phyml_tree.txt" />
--- a/test-data/phylip_phyml_stats.txt	Mon Jun 22 18:37:56 2020 -0400
+++ b/test-data/phylip_phyml_stats.txt	Mon Oct 23 17:15:37 2023 +0000
@@ -1,6 +1,6 @@
 
  oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
-                                  ---  PhyML 3.3.20190909  ---                                             
+                                  ---  PhyML 3.3.20220408  ---                                             
                               http://www.atgc-montpellier.fr/phyml                                          
                              Copyright CNRS - Universite Montpellier                                 
  oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
@@ -12,17 +12,17 @@
 . Number of taxa: 			7
 . Log-likelihood: 			-3113.71269
 . Unconstrained log-likelihood: 	-3015.37711
-. Composite log-likelihood: 		-14534.82403
+. Composite log-likelihood: 		-14534.82407
 . Parsimony: 				177
 . Tree size: 				0.12462
 . Discrete gamma model: 		Yes
   - Number of classes: 			4
   - Gamma shape parameter: 		0.774
-  - Relative rate in class 1: 		0.08994 [freq=0.250000] 		
-  - Relative rate in class 2: 		0.39631 [freq=0.250000] 		
-  - Relative rate in class 3: 		0.94938 [freq=0.250000] 		
-  - Relative rate in class 4: 		2.56437 [freq=0.250000] 		
-. Transition/transversion ratio: 	2.937995
+  - Relative rate in class 1: 		0.08995 [freq=0.250000] 		
+  - Relative rate in class 2: 		0.39633 [freq=0.250000] 		
+  - Relative rate in class 3: 		0.94939 [freq=0.250000] 		
+  - Relative rate in class 4: 		2.56433 [freq=0.250000] 		
+. Transition/transversion ratio: 	2.937853
 . Nucleotides frequencies:
   - f(A)=  0.28368
   - f(C)=  0.21846
@@ -32,7 +32,7 @@
 . Run ID:				none
 . Random seed:				1458308600
 . Subtree patterns aliasing:		no
-. Version:				3.3.20190909
+. Version:				3.3.20220408
 . Time used:				0h0m0s (0 seconds)
 
  oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo