<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<tool id="met4j_PrecursorNetwork" name="PrecursorNetwork" version="2.0.0">
  <description>Perform a network expansion from a set of compound targets to create a precursor network.</description>
  <xrefs>
    <xref type="bio.tools">met4j</xref>
  </xrefs>
  <requirements>
    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:2.0.0</container>
  </requirements>
  <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh networkAnalysis.PrecursorNetwork -i "$sbmlFilePath"
 -t "$targetsFilePath"
#if str($sideCompoundFile) != 'None':
 -sc "$sideCompoundFile"
#end if
#if str($reactionToIgnoreFile) != 'None':
 -ir "$reactionToIgnoreFile"
#end if
#if str($format):
 -f "$format"
#end if
 -o "$output"
]]></command>
  <inputs>
    <param argument="-i" format="sbml" label="input SBML file: path to network used for computing scope, in sbml format." name="sbmlFilePath" optional="false" type="data" value=""/>
    <param argument="-t" format="txt" label="input target file: tabulated file containing node of interest ids" name="targetsFilePath" optional="false" type="data" value=""/>
    <param argument="-sc" format="txt" label="an optional file containing list of ubiquitous compounds to be considered already available" name="sideCompoundFile" optional="true" type="data" value=""/>
    <param argument="-ir" format="txt" label="an optional file containing list of reaction to ignore (forbid inclusion in scope)" name="reactionToIgnoreFile" optional="true" type="data" value=""/>
    <param argument="-f" label="Format of the exported graphTabulated edge list by default (source id &#9; edge type &#9; target id). Other options include GML, JsonGraph, and tabulated node list (label &#9; node id &#9; node type)." name="format" optional="true" type="select" value="tab">
      <option value="gml">gml</option>
      <option selected="true" value="tab">tab</option>
      <option value="nodeList">nodeList</option>
      <option value="json">json</option>
      <option value="matrix">matrix</option>
    </param>
  </inputs>
  <outputs>
    <data format="txt" name="output"/>
  </outputs>
  <tests>
    <test>
      <param name="sbmlFilePath" value="toy_model.xml"/>
      <param name="targetsFilePath" value="targets.txt"/>
      <param name="format" value="gml"/>
      <output ftype="txt" name="output">
        <assert_contents>
          <has_line_matching expression=".*node.*" n="13"/>
          <has_line_matching expression=".*edge.*" n="15"/>
        </assert_contents>
      </output>
    </test>
  </tests>
  <help><![CDATA[Perform a network expansion from a set of compound targets to create a precursor network.
The precursor network of a set of compounds (targets) refer to the sub-part of a metabolic network from which a target can be reachedThe network expansion process consist of adding a reaction to the network if any of its products are either a targets or a substrate of a previously added reaction]]></help>
  <citations/>
</tool>
