<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<tool id="met4j_LoadPoint" name="LoadPoint" version="2.0.0">
  <description>Compute the Load points of a metabolic network. Load points constitute an indicator of lethality and can help identifying drug targets.</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.LoadPoint -i "$inputPath"
#if str($sideCompoundFile) != 'None':
 -s "$sideCompoundFile"
#end if
#if str($k):
 -k "$k"
#end if
 -o "$outputPath"
]]></command>
  <inputs>
    <param argument="-i" format="sbml" label="input SBML file" name="inputPath" optional="false" type="data" value=""/>
    <param argument="-s" format="txt" label="an optional file containing list of side compounds to ignore" name="sideCompoundFile" optional="true" type="data" value=""/>
    <param argument="-k" label="Number of alternative paths to consider between a pair of connected metabolites" name="k" optional="true" type="text" value="1">
      <sanitizer invalid_char="_">
        <valid initial="string.printable"/>
      </sanitizer>
    </param>
  </inputs>
  <outputs>
    <data format="tsv" name="outputPath"/>
  </outputs>
  <tests>
    <test>
      <param name="inputPath" value="toy_model.xml"/>
      <output ftype="tsv" name="outputPath">
        <assert_contents>
          <has_n_columns n="3"/>
          <has_n_lines n="8"/>
        </assert_contents>
      </output>
    </test>
  </tests>
  <help><![CDATA[Compute the Load points of a metabolic network. Load points constitute an indicator of lethality and can help identifying drug targets.
From Rahman et al. Observing local and global properties of metabolic pathways: ‘load points’ and ‘choke points’ in the metabolic networks. Bioinf. (2006):
For a given metabolic network, the load L on metabolite m can be defined as :
ln [(pm/km)/(∑Mi=1Pi)/(∑Mi=1Ki)]
p is the number of shortest paths passing through a metabolite m;
k is the number of nearest neighbour links for m in the network;
P is the total number of shortest paths;
K is the sum of links in the metabolic network of M metabolites (where M is the number of metabolites in the network).
Use of the logarithm makes the relevant values more distinguishable.]]></help>
  <citations>
    <citation type="doi">10.1093/bioinformatics/btl181</citation>
  </citations>
</tool>
