Mercurial > repos > tduigou > rrparser
view rrparser.xml @ 8:d72f31975a06 draft
planemo upload for repository https://github.com/brsynth/rrparser commit fbd6dda00a593fe34e82585ad32cf99ce6a989c9
author | tduigou |
---|---|
date | Tue, 01 Apr 2025 12:40:26 +0000 |
parents | de7b4c226b02 |
children | eb8ee05a9b52 |
line wrap: on
line source
<tool id="rrparser" name="RRules Parser" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="21.09" license="MIT"> <description>Retrieve the reaction rules from RetroRules</description> <macros> <token name="@VERSION_SUFFIX@">0</token> <token name="@TOOL_VERSION@">2.7.0</token> </macros> <requirements> <requirement type="package" version="@TOOL_VERSION@">rrparser</requirement> </requirements> <stdio> <regex match="WARNING:" level="warning" /> <regex match="ERROR:" level="fatal" /> </stdio> <command detect_errors="exit_code"><![CDATA[ python -m rrparser #if str($rules.type) != "rules-file": --rules_file retrorules --rule-type '$rules.type' #else: --rules_file '$rules.file' --input-format '$rules.input_format' #end if --diameters '$diameters' --output-format csv --rules-dir "\${TMPDIR:-.}" #if str($compress) == "true": --outfile '$out_rules'.csv.gz && mv '$out_rules'.csv.gz '$out_rules' #else: --outfile '$out_rules' #end if #if str($input_conditional_ec.input_type) == "in" --ec '$input_conditional_ec.input_ec_in' #end if #if str($input_conditional_ec.input_type) == "out" --ecx '$input_conditional_ec.input_ec_out' #end if #if $input_scores_file --scores '$input_scores_file' #end if ]]></command> <inputs> <conditional name="rules"> <param name="type" type="select" label="Rule Type" help="Return the rules that are in reverse, forward, both direction or from an input user file"> <option value="retro" selected="True">RetroRules (retro)</option> <option value="forward">RetroRules (forward)</option> <option value="all">RetroRules (all)</option> <option value="rules-file">Other reaction rules...</option> </param> <when value="retro"/> <when value="forward"/> <when value="all"/> <when value="rules-file"> <param name="file" type="data" format="csv" optional="False" label="Rules File" help="Filename of reaction rules"/> <param name="input_format" type="select" optional="False" label="File format" help="Input file format (default: csv)"> <option value="csv" selected="True">csv</option> <option value="tsv">tsv</option> </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" /> <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="csv" label="File containing EC numbers" help="EC numbers on one line separted by a comma" /> </when> <when value="out"> <param name="input_ec_out" type="data" format="csv" label="File containing EC numbers" help="EC numbers on one line separted by a comma" /> </when> </conditional> </inputs> <outputs> <data name="out_rules" format="csv" label="${tool.name}(${rules.type}, d=$diameters)" > <change_format> <when input="compress" format="tar" value="true"/> </change_format> </data> </outputs> <tests> <test> <!-- test 1: check if identical outputs are produced with default parameters--> <output name="out_rules" md5="54806bd44f7a8414e78439e3bb99e6d8"/> </test> <test> <!-- test 2: check if identical outputs are produced with diameters=2,4,6--> <param name="diameters" value="2,4,6"/> <output name="out_rules" md5="12a55e1a3c7822a35ed799afa59b2aa2"/> </test> <test> <!-- test 3: check if identical outputs are produced with csv input rules file--> <conditional name="rules"> <param name="type" value="rules-file"/> <param name="file" value="rules_in.csv" /> </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> <conditional name="input_conditional_ec"> <param name="input_type" value="in"/> <param name="input_ec_in" value="ec.csv"/> </conditional> <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.csv -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> <conditional name="input_conditional_ec"> <param name="input_type" value="out"/> <param name="input_ec_out" value="ec.csv"/> </conditional> <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 -ec ec.csv -diameters 2,4,6,8,10,12,14,16 -output-format csv -outfile test.6.output.csv -scores scores.csv --> <conditional name="rules"> <param name="type" value="rules-file"/> <param name="file" value="rules_in.csv" /> </conditional> <conditional name="input_conditional_ec"> <param name="input_type" value="in"/> <param name="input_ec_in" value="ec.csv"/> </conditional> <param name="input_scores_file" value="scores.csv" /> <output name="out_rules" file="test.6.output.csv" ftype="csv" compare="diff"/> </test> </tests> <help><![CDATA[ RRulesParser ============ 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 <https://www.myexperiment.org/workflows/4987.html>`_) in order to enumerate all possible biosynthetic routes connecting a target molecule to its precursors. Input ----- * **Rule Type**: (string) Return the rules that are in reverse, forward, both direction or from an input user file * **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. ]]></help> <creator> <organization name="BioRetroSynth" url="https://github.com/brsynth"/> </creator> <citations> <citation type="doi">10.1093/nar/gky940</citation> </citations> </tool>