diff rrparser.xml @ 4:b97690ee00e7 draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/rrparser commit 09b98dbaa3afe569a76577ab668dde6b4ee54b24
author iuc
date Mon, 14 Apr 2025 18:29:54 +0000
parents e5b1f1d99918
children
line wrap: on
line diff
--- a/rrparser.xml	Mon Apr 07 07:57:14 2025 +0000
+++ b/rrparser.xml	Mon Apr 14 18:29:54 2025 +0000
@@ -1,7 +1,7 @@
-<tool id="rrparser" name="RRules Parser" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="21.09">
+<tool id="rrparser" name="RRules Parser" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="24.2" license="MIT">
     <description>Retrieve the reaction rules from RetroRules</description>
     <macros>
-        <token name="@VERSION_SUFFIX@">0</token>
+        <token name="@VERSION_SUFFIX@">1</token>
         <token name="@TOOL_VERSION@">2.7.0</token>
     </macros>
     <requirements>
@@ -20,15 +20,24 @@
             --rules_file '$rules.file'
             --input-format '$rules.input_format'
         #end if
-        --diameters '$diameters'
+        --diameters '$adv.diameters'
         --output-format csv
         --rules-dir "\${TMPDIR:-.}"
-        #if str($compress) == "true":
+        #if str($adv.compress) == "true":
             --outfile '$out_rules'.csv.gz
             && mv '$out_rules'.csv.gz '$out_rules'
         #else:
             --outfile '$out_rules'
         #end if
+        #if str($adv.input_conditional_ec.input_type) == "in"
+            --ec '$adv.input_conditional_ec.input_ec_in'
+        #end if
+        #if str($adv.input_conditional_ec.input_type) == "out"
+            --ecx '$adv.input_conditional_ec.input_ec_out'
+        #end if
+        #if $adv.input_scores_file
+            --scores '$adv.input_scores_file'
+        #end if
     ]]></command>
     <inputs>
         <conditional name="rules">
@@ -49,17 +58,49 @@
                 </param>
             </when>
         </conditional>
-        <param argument="--diameters" type="select" display="checkboxes" multiple="True" label="Select the diameters of the reactions rules" help=" Diameter of the sphere including the atoms around the reacting center (default is including all values: 2,4,6,8,10,12,14,16). The higher is the diameter, the more specific are the rules">
-            <option selected="true" value="2">2</option>
-            <option selected="true" value="4">4</option>
-            <option selected="true" value="6">6</option>
-            <option selected="true" value="8">8</option>
-            <option selected="true" value="10">10</option>
-            <option selected="true" value="12">12</option>
-            <option selected="true" value="14">14</option>
-            <option selected="true" value="16">16</option>
-        </param>
-        <param name="compress" type="boolean" checked="false" label="Compress output" />
+        <section name="adv" title="Advanced Options" expanded="false" >
+            <param name="compress" type="boolean" checked="false" label="Compress output" />
+            <param name="input_scores_file" type="data" format="csv" optional="True" label="Score File" help="Filename containing rules names and scores" />
+            <conditional name="input_conditional_ec">
+                <param name="input_type" type="select" label="Filter based on EC number">
+                    <option value="no" selected="True">No</option>
+                    <option value="in">EC numbers to keep</option>
+                    <option value="out">EC numbers to remove</option>
+                </param>
+                <when value="no" />
+                <when value="in">
+                    <param name="input_ec_in" type="data" format="txt" label="File containing EC numbers to remove" help="EC numbers on one line separated by a comma">
+                        <sanitizer invalid_char="">
+                            <valid initial="string.ascii_letters,string.digits">
+                                <add value="," />
+                                <add value="." />
+                            </valid>
+                        </sanitizer>
+                    </param>
+                </when>
+                <when value="out">
+                    <param name="input_ec_out" type="data" format="txt" label="File containing EC numbers to remove" help="EC numbers on one line separated by a comma">
+                    <sanitizer invalid_char="">
+                            <valid initial="string.ascii_letters,string.digits">
+                                <add value="," />
+                                <add value="." />
+                            </valid>
+                        </sanitizer>
+                    </param>
+                </when>
+            </conditional>
+            <param argument="--diameters" type="select" display="checkboxes" multiple="True" label="Select the diameters of the reactions rules" help=" Diameter of the sphere including the atoms around the reacting center (default is including all values: 2,4,6,8,10,12,14,16). The higher is the diameter, the more specific are the rules">
+                <option selected="true" value="2">2</option>
+                <option selected="true" value="4">4</option>
+                <option selected="true" value="6">6</option>
+                <option selected="true" value="8">8</option>
+                <option selected="true" value="10">10</option>
+                <option selected="true" value="12">12</option>
+                <option selected="true" value="14">14</option>
+                <option selected="true" value="16">16</option>
+            </param>
+        </section>
+        
     </inputs>
     <outputs>
         <data name="out_rules" format="csv" label="${tool.name}(${rules.type}, d=$diameters)" >
@@ -75,7 +116,9 @@
         </test>
         <test>
         <!-- test 2: check if identical outputs are produced with diameters=2,4,6-->
-            <param name="diameters" value="2,4,6"/>
+            <section name="adv">   
+                <param name="diameters" value="2,4,6"/>
+            </section>
             <output name="out_rules" md5="12a55e1a3c7822a35ed799afa59b2aa2"/>
         </test>
         <test>
@@ -86,6 +129,45 @@
             </conditional>
             <output name="out_rules" file="rules_out.csv" ftype="csv" compare="diff"/>
         </test>
+        <test>
+        <!-- test 4 -->
+            <conditional name="rules">
+                <param name="type" value="rules-file"/>
+                <param name="file" value="rules_in.csv" />
+            </conditional>
+            <section name="adv">
+                <conditional name="input_conditional_ec">
+                    <param name="input_type" value="in"/>
+                    <param name="input_ec_in" value="ec.txt"/>
+                </conditional>
+            </section>
+            <output name="out_rules" file="test.4.output.csv" ftype="csv" compare="diff"/>
+        </test>
+        <test>
+            <!-- python -m rrparser -rules_file rules_in.csv -input-format csv -ecx ec.txt -diameters 2,4,6,8,10,12,14,16 -output-format csv -outfile test.5.output.csv -->
+            <conditional name="rules">
+                <param name="type" value="rules-file"/>
+                <param name="file" value="rules_in.csv" />
+            </conditional>
+            <section name="adv">
+                <conditional name="input_conditional_ec">
+                    <param name="input_type" value="out"/>
+                    <param name="input_ec_out" value="ec.txt"/>
+                </conditional>
+            </section>
+            <output name="out_rules" file="test.5.output.csv" ftype="csv" compare="diff"/>
+        </test>
+        <test>
+            <!-- python -m rrparser -rules_file rules_in.csv -input-format csv -diameters 2,4,6,8,10,12,14,16 -output-format csv -outfile rules_scores.csv -scores scores.csv -->
+            <conditional name="rules">
+                <param name="type" value="rules-file"/>
+                <param name="file" value="rules_in.csv" />
+            </conditional>
+            <section name="adv" >
+                <param name="input_scores_file" value="scores.csv" />
+            </section>
+            <output name="out_rules" file="rules_scores.csv" ftype="csv" compare="diff"/>
+        </test>
     </tests>
     <help><![CDATA[
 RRulesParser
@@ -93,7 +175,7 @@
 
 Retrieve the reaction rules from `RetroRules <https://retrorules.org/>`_ extracted from public databases and expressed in the community-standard SMARTS (SMILES arbitrary target specification) format, augmented by a rule representation at different levels of specificity (the atomic environment around the reaction center).
 
-The generated output is a file containing reaction rules which are generic descriptions of chemical reactions that can be used in retrosynthesis workflows (e.g. Retrosynthesis KNIME Workflow) in order to enumerate all possible biosynthetic routes connecting a target molecule to its precursors.
+The generated output is a file containing reaction rules which are generic descriptions of chemical reactions that can be used in retrosynthesis workflows (e.g. `Retrosynthesis KNIME Workflow <https://www.myexperiment.org/workflows/4987.html>`_) in order to enumerate all possible biosynthetic routes connecting a target molecule to its precursors.
 
 Input
 -----
@@ -102,36 +184,18 @@
 * **rules-file**: (string) Filename of reaction rules provided in csv or tsv format.
 * **input_format**: (string) input file format (csv: default, tsv)
 * **diameters**: (integer list) diameter of the sphere including the atoms around the reacting center (default is including all values: 2,4,6,8,10,12,14,16). The higher is the diameter, the more specific are the rules
+* **EC numbers to filter**: retain or remove some EC numbers. A file is expected containing EC numbers separated by a comma on the first line.
+* **Scores file**: file containing rules names and scores
 
 Ouput
 -----
 
 * **out_rules**: (string): file containing the parsed reactions rules (default=csv). It will be zipped if *Compress output* is set to yes.
-
-Version
--------
-
-v2.6.0
-
-Authors
--------
-
-* **Thomas Duigou**
-* Melchior du Lac
-* Joan Hérisson
-
-License
--------
-
-This project is licensed under the MIT License - see the `LICENSE <https://github.com/brsynth/RRParser/blob/master/LICENSE>`_ file for details
-
-Acknowledgments
----------------
-
-* Joan Hérisson
-
     ]]></help>
+    <creator>
+        <organization name="BioRetroSynth" url="https://github.com/brsynth"/>
+    </creator>
     <citations>
-        <citation type="doi">10.1093/nar/gky940 </citation>
+        <citation type="doi">10.1093/nar/gky940</citation>
     </citations>
-</tool>
\ No newline at end of file
+</tool>