view retropath2_wrapper.xml @ 12:da083c323f5c draft default tip

planemo upload for repository https://github.com/brsynth/retropath2_wrapper commit 96a30e92eab3144b924fdba7b63be10b218160a7
author tduigou
date Wed, 24 Jul 2024 08:41:51 +0000
parents 5f4a981d6bc3
children
line wrap: on
line source

<tool id="retropath2" name="RetroPath2.0" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="21.09" license="MIT">
    <description>Build a reaction network from a set of source compounds to a set of sink compounds</description>
    <macros>
        <token name="@VERSION_SUFFIX@">0</token>
        <token name="@TOOL_VERSION@">3.2.0</token>
    </macros>
    <requirements>
        <requirement type="package" version="@TOOL_VERSION@">retropath2_wrapper</requirement>
    </requirements>
    <stdio>
        <!-- Fatal -->
        <exit_code range="1" level="fatal" description="Cannot find source-in-sink file" />
        <regex match="It seems that the target product is already in the chassis" source="both" level="fatal" description="It seems that the target product is already in the chassis" />
        <exit_code range="2" level="fatal" description="Running the RetroPath2.0 Knime program produced an OSError" />
        <regex match="The following error occured" source="both" level="fatal" description="The following error occured" />
        <exit_code range="3" level="fatal" description="The InChI string is malformed" />
        <regex match="is not a valid InChI notation" source="both" level="fatal" description="is not a valid InChI notation" />
        <exit_code range="4" level="fatal" description="Sink file is malformed" />
        <regex match="The sink file is malformed" source="both" level="fatal" description="The sink file is malformed" />
        <!-- Warning -->
        <exit_code range="10" level="warning" description="Source has been found in the sink" />
        <regex match="Source has been found in the sink" source="both" level="warning" description="Source has been found in the sink" />
        <exit_code range="11" level="warning" description="RetroPath2.0 has found no solution" />
        <regex match="No solution has been found" source="both" level="warning" description="No solution has been found" />
    </stdio>
    <command detect_errors="exit_code"><![CDATA[
        python -m retropath2_wrapper
            '$sinkfile'
            '$rulesfile'
            out
            --source_inchi '$source_inchi'
            --source_name '$source_name'
            --rp2_version '$adv.version'
            --max_steps '$max_steps'
            --topx '$adv.topx'
            --dmin '$adv.dmin'
            --dmax '$adv.dmax'
            --mwmax_source '$adv.mwmax_source'
            --kinstall "\${TMPDIR:-.}"
            #if str($adv.network) == "true":
                --no-network
            #end if
            --msc_timeout '$adv.timeout' &&
        if compgen -G 'out/*_scope.csv' > /dev/null; then
            cp out/*_scope.csv '$Reaction_Network';
        else
            cp out/results.csv '$Reaction_Network';
        fi
    ]]></command>
    <inputs>
        <param name="rulesfile" type="data" format="csv,tar" label="Rules File" help="File containing reaction rules which reflect the enzymatic potential of the chassis organism."/>
        <param name="sinkfile" type="data" format="csv" label="Sink File" help=" Sink file which comprises all compounds that are considered as granted in your system."/>
        <param name="source_inchi" type="text" label="Source InChI" optional="false" help="InChI of compound to produce.">
            <validator type="empty_field" message="You must provide the InChI string"/>
        </param>
        <param name="max_steps" type="integer" value="3" min="1" max="10" label="Maximal Pathway length" help="The maximal number of metabolic steps (i.e. reactions) for exploring around the target."/>
        <param name="source_name" type="text" value="target" optional="true" label="Source name" help="Name of compound to produce.">
            <validator type="empty_field" message="Source name is required."/>
        </param>
        <section name="adv" title="Advanced Options" expanded="false">
            <param name="version" type="select" label="Workflow version" help="Retropath2.0 Workflow versions, formatted as 'r{year}{month}{day}' (the latest version 'r20220104' is used by default).">
                <option value="v9">v9</option>
                <option value="r20210127">r20210127</option>
                <option value="r20220104">r20220104</option>
                <option value="r20220224" selected="true">r20220224</option>
            </param>
            <param name="topx" type="integer" value="100" min="1" max="1000" label="TopX" help="The maximal number of intermediate compounds to use as new starting points for a next iteration of the retrosynthesis algorithm." />
            <param name="dmin" type="integer" value="0" min="0" max="1000" label="Minimum rule diameter" help="Minimum rule diameter of the sphere including the atoms around the reacting center. The higher is the diameter, the more specific are the rules." />
            <param name="dmax" type="integer" value="1000" min="0" max="1000" label="Maximum rule diameter" help="Maximum rule diameter of the sphere including the atoms around the reacting center. The higher is the diameter, the more specific are the rules."/>
            <param name="mwmax_source" type="integer" value="1000" min="0" max="2000" label="Molecular weight of source (Da)" help="The molecular weight cutoff (in Da), above which initial source (ie target) and intermediate compounds will be filtered out." />
            <param name="timeout" type="integer" value="60" min="30" max="600" label="Timeout (min)" help="Maximal time of RetroPath2.0 execution (60 minutes by default)." />
            <param name="network" type="boolean" checked="false" label="Do not use network" />
        </section>
    </inputs>
    <outputs>
        <data name="Reaction_Network" format="csv" label="${tool.name}" >
            <actions>
                <action name="column_names" type="metadata" default="Initial source,Transformation ID,Reaction SMILES,Substrate SMILES,Substrate InChI,Product SMILES,Product InChI,In Sink,Sink name,Diameter,Rule ID,EC number,Score,Starting Source SMILES,Iteration" />
            </actions>
        </data>
    </outputs>
    <tests>
        <test>
        <!-- test 1: check if identical outputs are produced with default parameters  -->
            <param name="rulesfile" value="rules.csv" />
            <param name="sinkfile" value="sink.csv" />
            <param name="source_inchi" value="InChI=1S/C40H56/c1-33(2)19-13-23-37(7)27-17-31-39(9)29-15-25-35(5)21-11-12-22-36(6)26-16-30-40(10)32-18-28-38(8)24-14-20-34(3)4/h11-12,15-22,25-32H,13-14,23-24H2,1-10H3/b12-11+,25-15+,26-16+,31-17+,32-18+,35-21+,36-22+,37-27+,38-28+,39-29+,40-30+" />
            <output name="Reaction_Network" file="results_retropath2.csv" ftype="csv" compare="diff"/>
        </test>
    </tests>
    <help><![CDATA[
Retropath2.0 wrapper
====================


Perform retrosynthesis search of possible metabolic routes between a source molecule and a collection of sink molecules. This tool is an implementation of the `KNIME retropath2.0 workflow <https://www.myexperiment.org/workflows/4987.html>`_. It takes for input the minimal (dmin) and maximal (dmax) diameter for the reaction rules and the maximal path length (maxSteps). The tool expects the following files: rules.csv, sink.csv and source.csv and produce a retrosynthesis network as a CSV file providing reactions in the reaction SMILES format and chemicals in both SMILES and InChI formats along with other information like the score for each reaction. Only a single source molecule is processed at this time.

Input
-----

Required:

* **Sink File**\ : (string) Sink file which comprises all compounds that are considered as granted in your system.
* **Source InChI**\ : (string) InChI of compound to produce.
* **Source name**\ : (string) Name of compound to produce.
* **Maximal Pathway length**\ : (integer) The maximal number of metabolic steps (i.e. reactions) for exploring around the target.
* **Rules File**\ : (string) File containing reaction rules which reflect the enzymatic potential of the chassis organism.


Advanced options:

* **TopX**\ : (integer, default: 100) The maximal number of intermediate compounds to use as new starting points for a next iteration of the retrosynthesis algorithm.
* **Minimum rule diameter**\ : (integer, default: 0) Minimum rule diameter of the sphere including the atoms around the reacting center. The higher is the diameter, the more specific are the rules.
* **Maximum rule diameter**\ : (integer, default: 1000) Maximum rule diameter of the sphere including the atoms around the reacting center. The higher is the diameter, the more specific are the rules.
* **Molecular weight of source (Da)**\ : (integer, default: 1000) The molecular weight cutoff (in Da), above which initial source (ie target) and intermediate compounds will be filtered out.
* **Timeout (min)**\ : (integer, default: 60) Maximal time of RetroPath2.0 execution (60 minutes by default)
* **Workflow version**\ : Retropath2.0 Workflow versions, formatted as r{year}{month}{day} (the latest version r20220104 is used by default)

Output
------

* **Reaction Network**\ : CSV file containing retrosynthesis network which provides reactions in the reaction SMILES format and chemicals in both SMILES and InChI formats along with other information like the score for each reaction.
    ]]></help>
    <citations>
        <citation type="doi">10.1016/j.ymben.2017.12.002 </citation>
    </citations>
</tool>