Repository 'met4j'
hg clone https://toolshed.g2.bx.psu.edu/repos/metexplore/met4j

Changeset 8:1274e2a62479 (2023-07-26)
Previous changeset 7:1436e9cde9c9 (2023-07-04) Next changeset 9:0976a6257300 (2025-01-31)
Commit message:
planemo upload for repository https://forgemia.inra.fr/metexplore/met4j-galaxy commit e34acf0f51cafcf6ae7c97b4feb3188a39f17c32
modified:
build.sh
build/tools/BipartiteDistanceMatrix/BipartiteDistanceMatrix.xml
build/tools/CarbonSkeletonNet/CarbonSkeletonNet.xml
build/tools/ChemSimilarityWeighting/ChemSimilarityWeighting.xml
build/tools/ChokePoint/ChokePoint.xml
build/tools/CompoundNet/CompoundNet.xml
build/tools/DecomposeSBML/DecomposeSBML.xml
build/tools/DegreeWeighting/DegreeWeighting.xml
build/tools/DistanceMatrix/DistanceMatrix.xml
build/tools/ExtractPathways/ExtractPathways.xml
build/tools/ExtractSbmlAnnot/ExtractSbmlAnnot.xml
build/tools/ExtractSubBipNetwork/ExtractSubBipNetwork.xml
build/tools/ExtractSubNetwork/ExtractSubNetwork.xml
build/tools/ExtractSubReactionNetwork/ExtractSubReactionNetwork.xml
build/tools/FbcToNotes/FbcToNotes.xml
build/tools/GetGenesFromReactions/GetGenesFromReactions.xml
build/tools/GetModelProteome/GetModelProteome.xml
build/tools/GetReactantsFromReactions/GetReactantsFromReactions.xml
build/tools/Kegg2Sbml/Kegg2Sbml.xml
build/tools/LoadPoint/LoadPoint.xml
build/tools/MetaboRank/MetaboRank.xml
build/tools/NameMatcher/NameMatcher.xml
build/tools/NetworkSummary/NetworkSummary.xml
build/tools/PathwayNet/PathwayNet.xml
build/tools/PrecursorNetwork/PrecursorNetwork.xml
build/tools/SBMLwizard/SBMLwizard.xml
build/tools/Sbml2Graph/Sbml2Graph.xml
build/tools/Sbml2Tab/Sbml2Tab.xml
build/tools/SbmlCheckBalance/SbmlCheckBalance.xml
build/tools/SbmlSetChargesFromFile/SbmlSetChargesFromFile.xml
build/tools/SbmlSetEcsFromFile/SbmlSetEcsFromFile.xml
build/tools/SbmlSetFormulasFromFile/SbmlSetFormulasFromFile.xml
build/tools/SbmlSetGprsFromFile/SbmlSetGprsFromFile.xml
build/tools/SbmlSetIdsFromFile/SbmlSetIdsFromFile.xml
build/tools/SbmlSetNamesFromFile/SbmlSetNamesFromFile.xml
build/tools/SbmlSetPathwaysFromFile/SbmlSetPathwaysFromFile.xml
build/tools/SbmlSetRefsFromFile/SbmlSetRefsFromFile.xml
build/tools/SbmlToMetaboliteTable/SbmlToMetaboliteTable.xml
build/tools/ScopeNetwork/ScopeNetwork.xml
build/tools/SeedsAndTargets/SeedsAndTargets.xml
build/tools/SideCompoundsScan/SideCompoundsScan.xml
build/tools/Tab2Sbml/Tab2Sbml.xml
tests.html
tools/met4j.yml
tools/networkAnalysis/ExtractSubReactionNetwork/ExtractSubReactionNetwork.xml
tools/networkAnalysis/MetaboRank/MetaboRank.xml
tools/tool_conf.xml
added:
build/tools/ORApathwayEnrichment/ORApathwayEnrichment.xml
build/tools/ORApathwayEnrichment/test-data/XF_network.sbml
build/tools/ORApathwayEnrichment/test-data/XF_network_C_NOI.txt
build/tools/ReactionDistanceMatrix/ReactionDistanceMatrix.xml
build/tools/ReactionDistanceMatrix/test-data/rexclude.txt
build/tools/ReactionDistanceMatrix/test-data/sides.txt
build/tools/ReactionDistanceMatrix/test-data/toy_model.xml
build/tools/ReactionDistanceMatrix/test-data/weights.tsv
build/tools/TopologicalPathwayAnalysis/TopologicalPathwayAnalysis.xml
build/tools/TopologicalPathwayAnalysis/test-data/XF_network.sbml
build/tools/TopologicalPathwayAnalysis/test-data/XF_network_C_NOI.txt
build/tools/TopologicalPathwayAnalysis/test-data/XF_network_C_Side.tab
tools/mapping/ORApathwayEnrichment/ORApathwayEnrichment.xml
tools/mapping/ORApathwayEnrichment/test-data/XF_network.sbml
tools/mapping/ORApathwayEnrichment/test-data/XF_network_C_NOI.txt
tools/networkAnalysis/ReactionDistanceMatrix/ReactionDistanceMatrix.xml
tools/networkAnalysis/ReactionDistanceMatrix/test-data/rexclude.txt
tools/networkAnalysis/ReactionDistanceMatrix/test-data/sides.txt
tools/networkAnalysis/ReactionDistanceMatrix/test-data/toy_model.xml
tools/networkAnalysis/ReactionDistanceMatrix/test-data/weights.tsv
tools/networkAnalysis/TopologicalPathwayAnalysis/TopologicalPathwayAnalysis.xml
tools/networkAnalysis/TopologicalPathwayAnalysis/test-data/XF_network.sbml
tools/networkAnalysis/TopologicalPathwayAnalysis/test-data/XF_network_C_NOI.txt
tools/networkAnalysis/TopologicalPathwayAnalysis/test-data/XF_network_C_Side.tab
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/BipartiteDistanceMatrix/BipartiteDistanceMatrix.xml
--- a/build/tools/BipartiteDistanceMatrix/BipartiteDistanceMatrix.xml Tue Jul 04 10:21:26 2023 +0000
+++ b/build/tools/BipartiteDistanceMatrix/BipartiteDistanceMatrix.xml Wed Jul 26 15:33:45 2023 +0000
[
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<tool id="met4j_BipartiteDistanceMatrix" name="BipartiteDistanceMatrix" version="1.4.0">
+<tool id="met4j_BipartiteDistanceMatrix" name="BipartiteDistanceMatrix" version="1.5.0">
   <description>Create a compound to reactions distance matrix.</description>
   <xrefs>
     <xref type="bio.tools">met4j</xref>
   </xrefs>
   <requirements>
-    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.4.0</container>
+    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.5.0</container>
   </requirements>
   <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh networkAnalysis.BipartiteDistanceMatrix -i "$inputPath"
 #if str($sideCompoundFile) != 'None':
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/CarbonSkeletonNet/CarbonSkeletonNet.xml
--- a/build/tools/CarbonSkeletonNet/CarbonSkeletonNet.xml Tue Jul 04 10:21:26 2023 +0000
+++ b/build/tools/CarbonSkeletonNet/CarbonSkeletonNet.xml Wed Jul 26 15:33:45 2023 +0000
[
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<tool id="met4j_CarbonSkeletonNet" name="CarbonSkeletonNet" version="1.4.0">
+<tool id="met4j_CarbonSkeletonNet" name="CarbonSkeletonNet" version="1.5.0">
   <description>Create a carbon skeleton graph representation of a SBML file content, using GSAM atom-mapping file (see https://forgemia.inra.fr/metexplore/gsam)</description>
   <xrefs>
     <xref type="bio.tools">met4j</xref>
   </xrefs>
   <requirements>
-    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.4.0</container>
+    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.5.0</container>
   </requirements>
   <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh networkAnalysis.CarbonSkeletonNet -s "$inputPath"
  -g "$inputAAM"
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/ChemSimilarityWeighting/ChemSimilarityWeighting.xml
--- a/build/tools/ChemSimilarityWeighting/ChemSimilarityWeighting.xml Tue Jul 04 10:21:26 2023 +0000
+++ b/build/tools/ChemSimilarityWeighting/ChemSimilarityWeighting.xml Wed Jul 26 15:33:45 2023 +0000
[
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<tool id="met4j_ChemSimilarityWeighting" name="ChemSimilarityWeighting" version="1.4.0">
+<tool id="met4j_ChemSimilarityWeighting" name="ChemSimilarityWeighting" version="1.5.0">
   <description>Provides tabulated compound graph edge list, with one column with reactant pair's chemical similarity.</description>
   <xrefs>
     <xref type="bio.tools">met4j</xref>
   </xrefs>
   <requirements>
-    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.4.0</container>
+    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.5.0</container>
   </requirements>
   <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh networkAnalysis.ChemSimilarityWeighting#if str($type):
  -f "$type"
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/ChokePoint/ChokePoint.xml
--- a/build/tools/ChokePoint/ChokePoint.xml Tue Jul 04 10:21:26 2023 +0000
+++ b/build/tools/ChokePoint/ChokePoint.xml Wed Jul 26 15:33:45 2023 +0000
[
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<tool id="met4j_ChokePoint" name="ChokePoint" version="1.4.0">
+<tool id="met4j_ChokePoint" name="ChokePoint" version="1.5.0">
   <description>Compute the Choke points of a metabolic network.</description>
   <xrefs>
     <xref type="bio.tools">met4j</xref>
   </xrefs>
   <requirements>
-    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.4.0</container>
+    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.5.0</container>
   </requirements>
   <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh networkAnalysis.ChokePoint -i "$inputPath"
  -o "$outputPath"
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/CompoundNet/CompoundNet.xml
--- a/build/tools/CompoundNet/CompoundNet.xml Tue Jul 04 10:21:26 2023 +0000
+++ b/build/tools/CompoundNet/CompoundNet.xml Wed Jul 26 15:33:45 2023 +0000
[
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<tool id="met4j_CompoundNet" name="CompoundNet" version="1.4.0">
+<tool id="met4j_CompoundNet" name="CompoundNet" version="1.5.0">
   <description>Advanced creation of a compound graph representation of a SBML file content</description>
   <xrefs>
     <xref type="bio.tools">met4j</xref>
   </xrefs>
   <requirements>
-    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.4.0</container>
+    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.5.0</container>
   </requirements>
   <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh networkAnalysis.CompoundNet -s "$inputPath"
 #if str($inputSide) != 'None':
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/DecomposeSBML/DecomposeSBML.xml
--- a/build/tools/DecomposeSBML/DecomposeSBML.xml Tue Jul 04 10:21:26 2023 +0000
+++ b/build/tools/DecomposeSBML/DecomposeSBML.xml Wed Jul 26 15:33:45 2023 +0000
[
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<tool id="met4j_DecomposeSBML" name="DecomposeSBML" version="1.4.0">
+<tool id="met4j_DecomposeSBML" name="DecomposeSBML" version="1.5.0">
   <description>Parse SBML to render list of composing entities: metabolites, reactions, genes and others.</description>
   <xrefs>
     <xref type="bio.tools">met4j</xref>
   </xrefs>
   <requirements>
-    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.4.0</container>
+    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.5.0</container>
   </requirements>
   <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh attributes.DecomposeSBML -i "$sbml"
  $printMetabolites
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/DegreeWeighting/DegreeWeighting.xml
--- a/build/tools/DegreeWeighting/DegreeWeighting.xml Tue Jul 04 10:21:26 2023 +0000
+++ b/build/tools/DegreeWeighting/DegreeWeighting.xml Wed Jul 26 15:33:45 2023 +0000
[
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<tool id="met4j_DegreeWeighting" name="DegreeWeighting" version="1.4.0">
+<tool id="met4j_DegreeWeighting" name="DegreeWeighting" version="1.5.0">
   <description>Provides tabulated compound graph edge list, with one column with target's degree.</description>
   <xrefs>
     <xref type="bio.tools">met4j</xref>
   </xrefs>
   <requirements>
-    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.4.0</container>
+    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.5.0</container>
   </requirements>
   <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh networkAnalysis.DegreeWeighting#if str($pow):
  -pow "$pow"
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/DistanceMatrix/DistanceMatrix.xml
--- a/build/tools/DistanceMatrix/DistanceMatrix.xml Tue Jul 04 10:21:26 2023 +0000
+++ b/build/tools/DistanceMatrix/DistanceMatrix.xml Wed Jul 26 15:33:45 2023 +0000
[
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<tool id="met4j_DistanceMatrix" name="DistanceMatrix" version="1.4.0">
+<tool id="met4j_DistanceMatrix" name="DistanceMatrix" version="1.5.0">
   <description>Create a compound to compound distance matrix.</description>
   <xrefs>
     <xref type="bio.tools">met4j</xref>
   </xrefs>
   <requirements>
-    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.4.0</container>
+    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.5.0</container>
   </requirements>
   <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh networkAnalysis.DistanceMatrix -i "$inputPath"
 #if str($sideCompoundFile) != 'None':
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/ExtractPathways/ExtractPathways.xml
--- a/build/tools/ExtractPathways/ExtractPathways.xml Tue Jul 04 10:21:26 2023 +0000
+++ b/build/tools/ExtractPathways/ExtractPathways.xml Wed Jul 26 15:33:45 2023 +0000
[
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<tool id="met4j_ExtractPathways" name="ExtractPathways" version="1.4.0">
+<tool id="met4j_ExtractPathways" name="ExtractPathways" version="1.5.0">
   <description>Extract pathway(s) from GSMN</description>
   <xrefs>
     <xref type="bio.tools">met4j</xref>
   </xrefs>
   <requirements>
-    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.4.0</container>
+    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.5.0</container>
   </requirements>
   <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh attributes.ExtractPathways -i "$inputPath"
  -p "$pathwayId"
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/ExtractSbmlAnnot/ExtractSbmlAnnot.xml
--- a/build/tools/ExtractSbmlAnnot/ExtractSbmlAnnot.xml Tue Jul 04 10:21:26 2023 +0000
+++ b/build/tools/ExtractSbmlAnnot/ExtractSbmlAnnot.xml Wed Jul 26 15:33:45 2023 +0000
[
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<tool id="met4j_ExtractSbmlAnnot" name="ExtractSbmlAnnot" version="1.4.0">
+<tool id="met4j_ExtractSbmlAnnot" name="ExtractSbmlAnnot" version="1.5.0">
   <description>Extract databases' references from SBML annotations or notes.</description>
   <xrefs>
     <xref type="bio.tools">met4j</xref>
   </xrefs>
   <requirements>
-    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.4.0</container>
+    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.5.0</container>
   </requirements>
   <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh attributes.ExtractSbmlAnnot -i "$inputPath"
  -export "$export"
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/ExtractSubBipNetwork/ExtractSubBipNetwork.xml
--- a/build/tools/ExtractSubBipNetwork/ExtractSubBipNetwork.xml Tue Jul 04 10:21:26 2023 +0000
+++ b/build/tools/ExtractSubBipNetwork/ExtractSubBipNetwork.xml Wed Jul 26 15:33:45 2023 +0000
[
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<tool id="met4j_ExtractSubBipNetwork" name="ExtractSubBipNetwork" version="1.4.0">
+<tool id="met4j_ExtractSubBipNetwork" name="ExtractSubBipNetwork" version="1.5.0">
   <description>Create a subnetwork from a GSMN in SBML format, and two files containing lists of compounds and/or reactions of interests ids, one per row, plus one file of the same format containing side compounds ids.</description>
   <xrefs>
     <xref type="bio.tools">met4j</xref>
   </xrefs>
   <requirements>
-    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.4.0</container>
+    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.5.0</container>
   </requirements>
   <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh networkAnalysis.ExtractSubBipNetwork -i "$inputPath"
  -s "$sourcePath"
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/ExtractSubNetwork/ExtractSubNetwork.xml
--- a/build/tools/ExtractSubNetwork/ExtractSubNetwork.xml Tue Jul 04 10:21:26 2023 +0000
+++ b/build/tools/ExtractSubNetwork/ExtractSubNetwork.xml Wed Jul 26 15:33:45 2023 +0000
[
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<tool id="met4j_ExtractSubNetwork" name="ExtractSubNetwork" version="1.4.0">
+<tool id="met4j_ExtractSubNetwork" name="ExtractSubNetwork" version="1.5.0">
   <description>Create a subnetwork from a GSMN in SBML format, and two files containing lists of compounds of interests ids, one per row.</description>
   <xrefs>
     <xref type="bio.tools">met4j</xref>
   </xrefs>
   <requirements>
-    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.4.0</container>
+    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.5.0</container>
   </requirements>
   <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh networkAnalysis.ExtractSubNetwork -i "$inputPath"
  -s "$sourcePath"
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/ExtractSubReactionNetwork/ExtractSubReactionNetwork.xml
--- a/build/tools/ExtractSubReactionNetwork/ExtractSubReactionNetwork.xml Tue Jul 04 10:21:26 2023 +0000
+++ b/build/tools/ExtractSubReactionNetwork/ExtractSubReactionNetwork.xml Wed Jul 26 15:33:45 2023 +0000
[
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<tool id="met4j_ExtractSubReactionNetwork" name="ExtractSubReactionNetwork" version="1.4.0">
+<tool id="met4j_ExtractSubReactionNetwork" name="ExtractSubReactionNetwork" version="1.5.0">
   <description>Create a subnetwork from a GSMN in SBML format, and two files containing lists of reactions of interests ids, one per row, plus one file of the same format containing side compounds ids.</description>
   <xrefs>
     <xref type="bio.tools">met4j</xref>
   </xrefs>
   <requirements>
-    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.4.0</container>
+    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.5.0</container>
   </requirements>
   <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh networkAnalysis.ExtractSubReactionNetwork -i "$inputPath"
  -s "$sourcePath"
@@ -13,6 +13,9 @@
  $asTable
  -t "$targetPath"
  -sc "$sideCompoundFile"
+#if str($rExclude) != 'None':
+ -re "$rExclude"
+#end if
 #if str($weightFile) != 'None':
  -cw "$weightFile"
 #end if
@@ -29,6 +32,7 @@
     <param argument="-tab" checked="false" falsevalue="" label="Export in tabulated file instead of .GML" name="asTable" truevalue="-tab" type="boolean" value="false"/>
     <param argument="-t" format="txt" label="input targets txt file" name="targetPath" optional="false" type="data" value=""/>
     <param argument="-sc" format="txt" label="a file containing list of side compounds to ignore" name="sideCompoundFile" optional="false" type="data" value=""/>
+    <param argument="-re" format="txt" label="an optional file containing list of reactions to ignore" name="rExclude" optional="true" type="data" value=""/>
     <param argument="-cw" format="tsv" label="an optional file containing weights for reactions pairs" name="weightFile" optional="true" type="data" value=""/>
     <param argument="-k" label="Extract k-shortest paths" name="k" optional="true" type="text" value="1">
       <sanitizer invalid_char="_">
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/FbcToNotes/FbcToNotes.xml
--- a/build/tools/FbcToNotes/FbcToNotes.xml Tue Jul 04 10:21:26 2023 +0000
+++ b/build/tools/FbcToNotes/FbcToNotes.xml Wed Jul 26 15:33:45 2023 +0000
[
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<tool id="met4j_FbcToNotes" name="FbcToNotes" version="1.4.0">
+<tool id="met4j_FbcToNotes" name="FbcToNotes" version="1.5.0">
   <description>Convert FBC package annotations to sbml notes</description>
   <xrefs>
     <xref type="bio.tools">met4j</xref>
   </xrefs>
   <requirements>
-    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.4.0</container>
+    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.5.0</container>
   </requirements>
   <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh convert.FbcToNotes -i "$inputPath"
  -o "$outputPath"
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/GetGenesFromReactions/GetGenesFromReactions.xml
--- a/build/tools/GetGenesFromReactions/GetGenesFromReactions.xml Tue Jul 04 10:21:26 2023 +0000
+++ b/build/tools/GetGenesFromReactions/GetGenesFromReactions.xml Wed Jul 26 15:33:45 2023 +0000
[
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<tool id="met4j_GetGenesFromReactions" name="GetGenesFromReactions" version="1.4.0">
+<tool id="met4j_GetGenesFromReactions" name="GetGenesFromReactions" version="1.5.0">
   <description>Get gene lists from a list of reactions and a GSMN.</description>
   <xrefs>
     <xref type="bio.tools">met4j</xref>
   </xrefs>
   <requirements>
-    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.4.0</container>
+    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.5.0</container>
   </requirements>
   <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh attributes.GetGenesFromReactions -i "$sbml"
  -r "$reactionFile"
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/GetModelProteome/GetModelProteome.xml
--- a/build/tools/GetModelProteome/GetModelProteome.xml Tue Jul 04 10:21:26 2023 +0000
+++ b/build/tools/GetModelProteome/GetModelProteome.xml Wed Jul 26 15:33:45 2023 +0000
[
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<tool id="met4j_GetModelProteome" name="GetModelProteome" version="1.4.0">
+<tool id="met4j_GetModelProteome" name="GetModelProteome" version="1.5.0">
   <description>Get proteome in fasta format of a model present in BIGG</description>
   <xrefs>
     <xref type="bio.tools">met4j</xref>
   </xrefs>
   <requirements>
-    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.4.0</container>
+    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.5.0</container>
   </requirements>
   <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh bigg.GetModelProteome -m "$modelId"
  -o "$outputFile"
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/GetReactantsFromReactions/GetReactantsFromReactions.xml
--- a/build/tools/GetReactantsFromReactions/GetReactantsFromReactions.xml Tue Jul 04 10:21:26 2023 +0000
+++ b/build/tools/GetReactantsFromReactions/GetReactantsFromReactions.xml Wed Jul 26 15:33:45 2023 +0000
[
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<tool id="met4j_GetReactantsFromReactions" name="GetReactantsFromReactions" version="1.4.0">
+<tool id="met4j_GetReactantsFromReactions" name="GetReactantsFromReactions" version="1.5.0">
   <description>Get reactants lists from a list of reactions and a GSMN.</description>
   <xrefs>
     <xref type="bio.tools">met4j</xref>
   </xrefs>
   <requirements>
-    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.4.0</container>
+    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.5.0</container>
   </requirements>
   <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh attributes.GetReactantsFromReactions -i "$sbml"
  -r "$reactionFile"
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/Kegg2Sbml/Kegg2Sbml.xml
--- a/build/tools/Kegg2Sbml/Kegg2Sbml.xml Tue Jul 04 10:21:26 2023 +0000
+++ b/build/tools/Kegg2Sbml/Kegg2Sbml.xml Wed Jul 26 15:33:45 2023 +0000
[
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<tool id="met4j_Kegg2Sbml" name="Kegg2Sbml" version="1.4.0">
+<tool id="met4j_Kegg2Sbml" name="Kegg2Sbml" version="1.5.0">
   <description>Build a SBML file from KEGG organism-specific pathways. Uses Kegg API.</description>
   <xrefs>
     <xref type="bio.tools">met4j</xref>
   </xrefs>
   <requirements>
-    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.4.0</container>
+    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.5.0</container>
   </requirements>
   <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh convert.Kegg2Sbml#if str($org):
  -org "$org"
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/LoadPoint/LoadPoint.xml
--- a/build/tools/LoadPoint/LoadPoint.xml Tue Jul 04 10:21:26 2023 +0000
+++ b/build/tools/LoadPoint/LoadPoint.xml Wed Jul 26 15:33:45 2023 +0000
[
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<tool id="met4j_LoadPoint" name="LoadPoint" version="1.4.0">
+<tool id="met4j_LoadPoint" name="LoadPoint" version="1.5.0">
   <description>Compute the Load points of a metabolic network. Load points constitute an indicator of lethality and can help identifying drug target.</description>
   <xrefs>
     <xref type="bio.tools">met4j</xref>
   </xrefs>
   <requirements>
-    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.4.0</container>
+    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.5.0</container>
   </requirements>
   <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh networkAnalysis.LoadPoint -i "$inputPath"
 #if str($sideCompoundFile) != 'None':
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/MetaboRank/MetaboRank.xml
--- a/build/tools/MetaboRank/MetaboRank.xml Tue Jul 04 10:21:26 2023 +0000
+++ b/build/tools/MetaboRank/MetaboRank.xml Wed Jul 26 15:33:45 2023 +0000
[
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<tool id="met4j_MetaboRank" name="MetaboRank" version="1.4.0">
+<tool id="met4j_MetaboRank" name="MetaboRank" version="1.5.0">
   <description>Compute the MetaboRank, a custom personalized PageRank for metabolic network.</description>
   <xrefs>
     <xref type="bio.tools">met4j</xref>
   </xrefs>
   <requirements>
-    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.4.0</container>
+    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.5.0</container>
   </requirements>
   <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh networkAnalysis.MetaboRank -i "$sbmlFilePath"
  -s "$seedsFilePath"
@@ -59,6 +59,7 @@
 The MetaboRank takes a metabolic network and a list of compounds of interest, and provide a score of relevance for all of the other compounds in the network.
 The MetaboRank can, from metabolomics results, be used to fuel a recommender system highlighting interesting compounds to investigate, retrieve missing identification and drive literature mining.
 It is a two dimensional centrality computed from personalized PageRank and CheiRank, with special transition probability and normalization to handle the specificities of metabolic networks.
+For convenience, a one dimensional centrality rank is also computed from the highest rank from PageRank or CheiRank, and using lowest rank as tie-breaker.
 See publication for more information: Frainay et al. MetaboRank: network-based recommendation system to interpret and enrich metabolomics results, Bioinformatics (35-2), https://doi.org/10.1093/bioinformatics/bty577]]></help>
   <citations/>
 </tool>
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/NameMatcher/NameMatcher.xml
--- a/build/tools/NameMatcher/NameMatcher.xml Tue Jul 04 10:21:26 2023 +0000
+++ b/build/tools/NameMatcher/NameMatcher.xml Wed Jul 26 15:33:45 2023 +0000
[
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<tool id="met4j_NameMatcher" name="NameMatcher" version="1.4.0">
+<tool id="met4j_NameMatcher" name="NameMatcher" version="1.5.0">
   <description>This tool runs edit-distance based fuzzy matching to perform near-similar name matching between a metabolic model and a list of chemical names in a dataset. A harmonization processing is performed on chemical names with substitutions of common patterns among synonyms, in order to create aliases on which classical fuzzy matching can be run efficiently.</description>
   <xrefs>
     <xref type="bio.tools">met4j</xref>
   </xrefs>
   <requirements>
-    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.4.0</container>
+    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.5.0</container>
   </requirements>
   <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh mapping.NameMatcher#if str($n):
  -nMatch "$n"
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/NetworkSummary/NetworkSummary.xml
--- a/build/tools/NetworkSummary/NetworkSummary.xml Tue Jul 04 10:21:26 2023 +0000
+++ b/build/tools/NetworkSummary/NetworkSummary.xml Wed Jul 26 15:33:45 2023 +0000
[
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<tool id="met4j_NetworkSummary" name="NetworkSummary" version="1.4.0">
+<tool id="met4j_NetworkSummary" name="NetworkSummary" version="1.5.0">
   <description>Create a report summarizing several graph measures characterising the structure of the network.</description>
   <xrefs>
     <xref type="bio.tools">met4j</xref>
   </xrefs>
   <requirements>
-    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.4.0</container>
+    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.5.0</container>
   </requirements>
   <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh networkAnalysis.NetworkSummary -i "$inputPath"
 #if str($sideCompoundFile) != 'None':
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/ORApathwayEnrichment/ORApathwayEnrichment.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/build/tools/ORApathwayEnrichment/ORApathwayEnrichment.xml Wed Jul 26 15:33:45 2023 +0000
[
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<tool id="met4j_ORApathwayEnrichment" name="ORApathwayEnrichment" version="1.5.0">
+  <description>Perform Over Representation Analysis for Pathway Enrichment, using one-tailed exact Fisher Test.
+The fisher exact test compute the probability p to randomly get the given set of value. 
+This version compute the probability to get at least the given overlap between the given set and the given modality :
+Sum the hypergeometric probability with increasing target/query intersection cardinality.
+
+The hypergeometric probability is computed from the following contingency table entries.
+(value in cells correspond to the marginal totals of each intersection groups)
+ Query !Query
+ Target a b
+ !Target c d
+
+The probability of obtaining the set of value is computed as following:
+p = ((a+b)!(c+d)!(a+c)!(b+d)!)/(a!b!c!d!(a+b+c+d)!)
+
+The obtained p-value is then adjusted for multiple testing using one of the following methods:
+ - Bonferroni: adjusted p-value = p*n
+ - Benjamini-Hochberg: adjusted p-value = p*n/k
+ - Holm-Bonferroni: adjusted p-value = p*(n+1-k)
+n : number of tests; k : pvalue rank</description>
+  <xrefs>
+    <xref type="bio.tools">met4j</xref>
+  </xrefs>
+  <requirements>
+    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.5.0</container>
+  </requirements>
+  <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh mapping.ORApathwayEnrichment#if str($th) != 'nan':
+ -th "$th"
+#end if
+ -s "$sbml"
+ -i "$input"
+#if str($corr):
+ -c "$corr"
+#end if
+ -o "$outputFile"
+]]></command>
+  <inputs>
+    <param argument="-th" label="threshold to select significant pathways. No filtering if &lt;=0" name="th" optional="true" type="float" value="0.0"/>
+    <param argument="-s" format="sbml" label="Input model : SBML file with pathway annotation" name="sbml" optional="false" type="data" value=""/>
+    <param argument="-i" format="tsv" label="Input data : Compounds of interest file, as one SBML specie identifier per line" name="input" optional="false" type="data" value=""/>
+    <param argument="-c" label="Method for multiple testing p-value adjustment." name="corr" optional="true" type="select" value="BenjaminiHochberg">
+      <option value="Bonferroni">Bonferroni</option>
+      <option selected="true" value="BenjaminiHochberg">BenjaminiHochberg</option>
+      <option value="HolmBonferroni">HolmBonferroni</option>
+    </param>
+  </inputs>
+  <outputs>
+    <data format="tsv" name="outputFile"/>
+  </outputs>
+  <tests>
+  <test>
+      <param name="sbml" value="XF_network.sbml"/>
+      <param name="input" value="XF_network_C_NOI.txt"/>
+      <output name="outputFile">
+        <assert_contents>
+          <has_n_columns n="3"/>
+          <has_n_lines n="3"/>
+        </assert_contents>
+      </output>
+    </test>
+    <test>
+      <param name="sbml" value="XF_network.sbml"/>
+      <param name="input" value="XF_network_C_NOI.txt"/>
+      <param name="corr" value="HolmBonferroni"/>
+      <param name="th" value="0.005"/>
+      <output name="outputFile">
+        <assert_contents>
+          <has_n_columns n="3"/>
+          <has_n_lines n="2"/>
+        </assert_contents>
+      </output>
+    </test>
+    </tests>
+  <help><![CDATA[Perform Over Representation Analysis for Pathway Enrichment, using one-tailed exact Fisher Test.]]></help>
+  <citations/>
+</tool>
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/ORApathwayEnrichment/test-data/XF_network.sbml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/build/tools/ORApathwayEnrichment/test-data/XF_network.sbml Wed Jul 26 15:33:45 2023 +0000
b
b'@@ -0,0 +1,47267 @@\n+<?xml version="1.0" encoding="UTF-8"?>\n+<sbml fbc:required="false" groups:required="false" level="3" version="2" xmlns="http://www.sbml.org/sbml/level3/version2/core" xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="http://www.sbml.org/sbml/level3/version1/groups/version1">\n+  <model fbc:strict="true" id="Xfm1158" metaid="Xfm1158" name="Xfm1158">\n+    <fbc:listOfGeneProducts>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_007090" fbc:label="XFCFBP8418_007090" fbc:name="XFCFBP8418_007090" metaid="_8a7d7180-d79e-4dbb-86ed-f8d7eb60e698"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_005900" fbc:label="XFCFBP8418_005900" fbc:name="XFCFBP8418_005900" metaid="_867487dd-ff57-4e93-8de9-b5ecb805e0eb"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_011590" fbc:label="XFCFBP8418_011590" fbc:name="XFCFBP8418_011590" metaid="_44606760-936c-4585-b40c-650e953a5f73"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_014620" fbc:label="XFCFBP8418_014620" fbc:name="XFCFBP8418_014620" metaid="da273da9-0f84-4615-a464-2ab71416e8cc"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_015830" fbc:label="XFCFBP8418_015830" fbc:name="XFCFBP8418_015830" metaid="_3a9239a2-8e23-4834-99a8-a7dc15f6d906"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_014980" fbc:label="XFCFBP8418_014980" fbc:name="XFCFBP8418_014980" metaid="_7f26806b-e32e-4c5c-a78d-9e094c267bbf"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_020190" fbc:label="XFCFBP8418_020190" fbc:name="XFCFBP8418_020190" metaid="_31bbb514-1d52-4727-91cb-367af12e95ca"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_004940" fbc:label="XFCFBP8418_004940" fbc:name="XFCFBP8418_004940" metaid="a2f20753-c245-477e-8363-8f5e45c50f5d"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_021160" fbc:label="XFCFBP8418_021160" fbc:name="XFCFBP8418_021160" metaid="_844bdacc-d091-457d-9c4d-846cb9aab3c1"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_025760" fbc:label="XFCFBP8418_025760" fbc:name="XFCFBP8418_025760" metaid="fd8a601e-e56f-4263-9aa7-6ed9bf85f958"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_024670" fbc:label="XFCFBP8418_024670" fbc:name="XFCFBP8418_024670" metaid="_2bbe03ce-c814-417a-b9c0-e8a1f29f4106"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_004820" fbc:label="XFCFBP8418_004820" fbc:name="XFCFBP8418_004820" metaid="_41cb6d94-13d8-461e-a217-29a68e21cd2b"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_023580" fbc:label="XFCFBP8418_023580" fbc:name="XFCFBP8418_023580" metaid="_31ff72d7-4e30-4563-85aa-4afc58dd6bee"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_000460" fbc:label="XFCFBP8418_000460" fbc:name="XFCFBP8418_000460" metaid="d7ea14e6-cd6c-4404-b973-486ade662242"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_026730" fbc:label="XFCFBP8418_026730" fbc:name="XFCFBP8418_026730" metaid="e876348e-787e-4f2a-8904-e675c2589c17"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_025640" fbc:label="XFCFBP8418_025640" fbc:name="XFCFBP8418_025640" metaid="b5b93812-bd2e-4ca8-8328-e1d35e17ac3a"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_023100" fbc:label="XFCFBP8418_023100" fbc:name="XFCFBP8418_023100" metaid="f62e0096-7b12-4db3-a7b0-2e1cfa0302c6"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_027800" fbc:label="XFCFBP8418_027800" fbc:name="XFCFBP8418_027800" metaid="_8beb93ba-34a4-4330-86bf-2c47b1cb7f2e"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_004700" fbc:label="XFCFBP8418_004700" fbc:name="XFCFBP8418_004700" metaid="_2aceabe8-5294-42eb-9d3b-2506634c68d5"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_005910" fbc:label="XFCFBP8418_005910" fbc:name="XFCFBP8418_005910" metaid="a7b44241-024e-49c1-88af-1e1108cf09eb"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_013540" fbc:label="XFCFBP8418_013540" fbc:name="XFCFBP8418_013540" metaid="_83bdba7b-0eb0-4dfb-99ed-6e365240d870"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_011240" fbc:label="XFCFBP8418_011240" fbc:name="XFCFBP8418_011240" metaid="_568b9959-99b6-49bd-86d7-04e773d940da"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_012210" fbc:label="XFCFBP8418_01221'..b'     </annotation>\n+        <fbc:geneProductAssociation>\n+          <fbc:geneProductRef fbc:geneProduct="XFCFBP8418_010590"/>\n+        </fbc:geneProductAssociation>\n+        <listOfReactants>\n+          <speciesReference constant="true" species="M_cyst_L_c" stoichiometry="1"/>\n+          <speciesReference constant="true" species="M_h2o_c" stoichiometry="1"/>\n+        </listOfReactants>\n+        <listOfProducts>\n+          <speciesReference constant="true" species="M_2obut_c" stoichiometry="1"/>\n+          <speciesReference constant="true" species="M_cys_L_c" stoichiometry="1"/>\n+          <speciesReference constant="true" species="M_nh4_c" stoichiometry="1"/>\n+        </listOfProducts>\n+      </reaction>\n+      <reaction fbc:lowerFluxBound="LOWER_BOUND_99999_0" fbc:upperFluxBound="UPPER_BOUND_99999_0" id="R_FUCtpp" metaid="_34363cfc-fa7f-4df4-a073-49f5befcdf50" name="R_FUCtpp" reversible="true">\n+        <notes>\n+          <body xmlns="http://www.w3.org/1999/xhtml">\n+            <p>GENE_ASSOCIATION: XFCFBP8418_018650</p>\n+            <p>SUBSYSTEM: Transport__Inner_Membrane</p>\n+            <p>EC_NUMBER: No_Assignment</p>\n+          </body>\n+        </notes>\n+        <annotation>\n+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">\n+            <rdf:Description rdf:about="#_34363cfc-fa7f-4df4-a073-49f5befcdf50">\n+              <bqbiol:is>\n+                <rdf:Bag>\n+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/No_Assignment"/>\n+                </rdf:Bag>\n+              </bqbiol:is>\n+            </rdf:Description>\n+          </rdf:RDF>\n+        </annotation>\n+        <fbc:geneProductAssociation>\n+          <fbc:geneProductRef fbc:geneProduct="XFCFBP8418_018650"/>\n+        </fbc:geneProductAssociation>\n+        <listOfReactants>\n+          <speciesReference constant="true" species="M_h_p" stoichiometry="1"/>\n+          <speciesReference constant="true" species="M_fuc_L_p" stoichiometry="1"/>\n+        </listOfReactants>\n+        <listOfProducts>\n+          <speciesReference constant="true" species="M_fuc_L_c" stoichiometry="1"/>\n+          <speciesReference constant="true" species="M_h_c" stoichiometry="1"/>\n+        </listOfProducts>\n+      </reaction>\n+      <reaction fbc:lowerFluxBound="LOWER_BOUND_0_0" fbc:upperFluxBound="UPPER_BOUND_99999_0" id="R_FACOAE120" metaid="_2691931b-9cfe-40d9-95d9-13e4ed057413" name="R_FACOAE120" reversible="false">\n+        <notes>\n+          <body xmlns="http://www.w3.org/1999/xhtml">\n+            <p>GENE_ASSOCIATION: XFCFBP8418_025070</p>\n+            <p>SUBSYSTEM: Cell_Envelope_Biosynthesis</p>\n+            <p>EC_NUMBER: 3.1.2.20</p>\n+          </body>\n+        </notes>\n+        <annotation>\n+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">\n+            <rdf:Description rdf:about="#_2691931b-9cfe-40d9-95d9-13e4ed057413">\n+              <bqbiol:is>\n+                <rdf:Bag>\n+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.1.2.20"/>\n+                </rdf:Bag>\n+              </bqbiol:is>\n+            </rdf:Description>\n+          </rdf:RDF>\n+        </annotation>\n+        <fbc:geneProductAssociation>\n+          <fbc:geneProductRef fbc:geneProduct="XFCFBP8418_025070"/>\n+        </fbc:geneProductAssociation>\n+        <listOfReactants>\n+          <speciesReference constant="true" species="M_ddcacoa_c" stoichiometry="1"/>\n+          <speciesReference constant="true" species="M_h2o_c" stoichiometry="1"/>\n+        </listOfReactants>\n+        <listOfProducts>\n+          <speciesReference constant="true" species="M_ddca_c" stoichiometry="1"/>\n+          <speciesReference constant="true" species="M_h_c" stoichiometry="1"/>\n+          <speciesReference constant="true" species="M_coa_c" stoichiometry="1"/>\n+        </listOfProducts>\n+      </reaction>\n+    </listOfReactions>\n+  </model>\n+</sbml>\n'
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/ORApathwayEnrichment/test-data/XF_network_C_NOI.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/build/tools/ORApathwayEnrichment/test-data/XF_network_C_NOI.txt Wed Jul 26 15:33:45 2023 +0000
b
@@ -0,0 +1,3 @@
+M_histd_c
+M_prbatp_c
+M_xu5p_D_c
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/PathwayNet/PathwayNet.xml
--- a/build/tools/PathwayNet/PathwayNet.xml Tue Jul 04 10:21:26 2023 +0000
+++ b/build/tools/PathwayNet/PathwayNet.xml Wed Jul 26 15:33:45 2023 +0000
[
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<tool id="met4j_PathwayNet" name="PathwayNet" version="1.4.0">
+<tool id="met4j_PathwayNet" name="PathwayNet" version="1.5.0">
   <description>Creation of a Pathway Network representation of a SBML file content</description>
   <xrefs>
     <xref type="bio.tools">met4j</xref>
   </xrefs>
   <requirements>
-    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.4.0</container>
+    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.5.0</container>
   </requirements>
   <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh networkAnalysis.PathwayNet -s "$inputPath"
 #if str($inputSide) != 'None':
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/PrecursorNetwork/PrecursorNetwork.xml
--- a/build/tools/PrecursorNetwork/PrecursorNetwork.xml Tue Jul 04 10:21:26 2023 +0000
+++ b/build/tools/PrecursorNetwork/PrecursorNetwork.xml Wed Jul 26 15:33:45 2023 +0000
[
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<tool id="met4j_PrecursorNetwork" name="PrecursorNetwork" version="1.4.0">
+<tool id="met4j_PrecursorNetwork" name="PrecursorNetwork" version="1.5.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:1.4.0</container>
+    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.5.0</container>
   </requirements>
   <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh networkAnalysis.PrecursorNetwork -i "$sbmlFilePath"
  -t "$targetsFilePath"
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/ReactionDistanceMatrix/ReactionDistanceMatrix.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/build/tools/ReactionDistanceMatrix/ReactionDistanceMatrix.xml Wed Jul 26 15:33:45 2023 +0000
[
@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<tool id="met4j_ReactionDistanceMatrix" name="ReactionDistanceMatrix" version="1.5.0">
+  <description>Create a reaction to reaction distance matrix.</description>
+  <xrefs>
+    <xref type="bio.tools">met4j</xref>
+  </xrefs>
+  <requirements>
+    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.5.0</container>
+  </requirements>
+  <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh networkAnalysis.ReactionDistanceMatrix -i "$inputPath"
+#if str($sideCompoundFile) != 'None':
+ -sc "$sideCompoundFile"
+#end if
+ $degree
+#if str($rExclude) != 'None':
+ -re "$rExclude"
+#end if
+#if str($rxnFile) != 'None':
+ -s "$rxnFile"
+#end if
+#if str($weightFile) != 'None':
+ -w "$weightFile"
+#end if
+ $undirected
+ -o "$outputPath"
+]]></command>
+  <inputs>
+    <param argument="-i" format="sbml" label="input SBML file" name="inputPath" optional="false" type="data" value=""/>
+    <param argument="-sc" format="txt" label="an optional file containing list of side compounds to ignore" name="sideCompoundFile" optional="true" type="data" value=""/>
+    <param argument="-dw" checked="false" falsevalue="" label="penalize traversal of hubs by using degree square weighting (-w must not be set)" name="degree" truevalue="-dw" type="boolean" value="false"/>
+    <param argument="-re" format="txt" label="an optional file containing list of reactions to ignore" name="rExclude" optional="true" type="data" value=""/>
+    <param argument="-s" format="txt" label="an optional file containing list of reactions of interest." name="rxnFile" optional="true" type="data" value=""/>
+    <param argument="-w" format="tsv" label="an optional file containing weights for compound pairs" name="weightFile" optional="true" type="data" value=""/>
+    <param argument="-u" checked="false" falsevalue="" label="Ignore reaction direction" name="undirected" truevalue="-u" type="boolean" value="false"/>
+  </inputs>
+  <outputs>
+    <data format="csv" name="outputPath"/>
+  </outputs>
+  <tests>
+    <test>
+      <param name="inputPath" value="toy_model.xml"/>
+      <output ftype="csv" name="outputPath">
+        <assert_contents>
+          <has_n_lines n="8"/>
+          <has_line_matching expression="id,reac1,reac2,reac3,reac4,reac5,reac6,reac7" n="1"/>
+          <has_line_matching expression="reac1,0.0,1.0,1.0,2.0,3.0,Infinity,Infinity" n="1"/>
+          <has_line_matching expression="reac2,Infinity,0.0,1.0,1.0,2.0,Infinity,Infinity" n="1"/>
+        </assert_contents>
+      </output>
+    </test>
+    <test>
+      <param name="inputPath" value="toy_model.xml"/>
+      <param name="undirected" value="true"/>
+      <output ftype="csv" name="outputPath">
+        <assert_contents>
+          <has_n_lines n="8"/>
+          <has_line_matching expression="id,reac1,reac2,reac3,reac4,reac5,reac6,reac7" n="1"/>
+          <has_line_matching expression="reac1,0.0,1.0,1.0,2.0,3.0,5.0,4.0" n="1"/>
+          <has_line_matching expression="reac2,1.0,0.0,1.0,1.0,2.0,4.0,3.0" n="1"/>
+        </assert_contents>
+      </output>
+    </test>
+    <test>
+      <param name="inputPath" value="toy_model.xml"/>
+      <param name="undirected" value="true"/>
+      <param name="sideCompoundFile" value="sides.txt"/>
+      <output ftype="csv" name="outputPath">
+        <assert_contents>
+          <has_n_lines n="8"/>
+          <has_line_matching expression="id,reac1,reac2,reac3,reac4,reac5,reac6,reac7" n="1"/>
+          <has_line_matching expression="reac1,0.0,1.0,1.0,2.0,3.0,5.0,4.0" n="1"/>
+          <has_line_matching expression="reac2,1.0,0.0,1.0,2.0,3.0,5.0,4.0" n="1"/>
+          <has_line_matching expression="reac3,1.0,1.0,0.0,1.0,2.0,4.0,3.0" n="1"/>
+          <has_line_matching expression="reac4,2.0,2.0,1.0,0.0,1.0,3.0,2.0" n="1"/>
+        </assert_contents>
+      </output>
+    </test>
+    <test>
+      <param name="inputPath" value="toy_model.xml"/>
+      <param name="undirected" value="true"/>
+      <param name="rExclude" value="rexclude.txt"/>
+      <output ftype="csv" name="outputPath">
+        <assert_contents>
+          <has_n_lines n="6"/>
+          <has_line_matching expression="id,reac1,reac2,reac3,reac4,reac5" n="1"/>
+          <has_line_matching expression="reac1,0.0,1.0,1.0,2.0,3.0" n="1"/>
+          <has_line_matching expression="reac2,1.0,0.0,1.0,1.0,2.0" n="1"/>
+          <has_line_matching expression="reac3,1.0,1.0,0.0,1.0,2.0" n="1"/>
+          <has_line_matching expression="reac4,2.0,1.0,1.0,0.0,1.0" n="1"/>
+          <has_line_matching expression="reac5,3.0,2.0,2.0,1.0,0.0" n="1"/>
+        </assert_contents>
+      </output>
+    </test>
+    <test>
+      <param name="inputPath" value="toy_model.xml"/>
+      <param name="undirected" value="true"/>
+      <param name="sideCompoundFile" value="sides.txt"/>
+      <param name="rExclude" value="rexclude.txt"/>
+      <output ftype="csv" name="outputPath">
+        <assert_contents>
+          <has_n_lines n="6"/>
+          <has_line_matching expression="id,reac1,reac2,reac3,reac4,reac5" n="1"/>
+          <has_line_matching expression="reac1,0.0,1.0,1.0,2.0,3.0" n="1"/>
+          <has_line_matching expression="reac2,1.0,0.0,1.0,2.0,3.0" n="1"/>
+          <has_line_matching expression="reac3,1.0,1.0,0.0,1.0,2.0" n="1"/>
+          <has_line_matching expression="reac4,2.0,2.0,1.0,0.0,1.0" n="1"/>
+          <has_line_matching expression="reac5,3.0,3.0,2.0,1.0,0.0" n="1"/>
+        </assert_contents>
+      </output>
+    </test>
+    <test>
+      <param name="inputPath" value="toy_model.xml"/>
+      <param name="sideCompoundFile" value="sides.txt"/>
+      <param name="rExclude" value="rexclude.txt"/>
+      <output ftype="csv" name="outputPath">
+        <assert_contents>
+          <has_n_lines n="6"/>
+          <has_line_matching expression="id,reac1,reac2,reac3,reac4,reac5" n="1"/>
+          <has_line_matching expression="reac1,0.0,1.0,1.0,2.0,3.0" n="1"/>
+          <has_line_matching expression="reac2,Infinity,0.0,1.0,2.0,3.0" n="1"/>
+          <has_line_matching expression="reac3,Infinity,Infinity,0.0,1.0,2.0" n="1"/>
+          <has_line_matching expression="reac4,Infinity,Infinity,Infinity,0.0,1.0" n="1"/>
+          <has_line_matching expression="reac5,Infinity,Infinity,Infinity,Infinity,0.0" n="1"/>
+        </assert_contents>
+      </output>
+    </test>
+  </tests>
+  <help><![CDATA[Create a reaction to reaction distance matrix.
+The distance between two reactions is computed as the length of the shortest path connecting the two in the reaction graph, where two reactions are linked if they produce a metabolite consumed by the other or the other way around.
+An optional edge weighting can be used, turning the distances into the sum of edge weights in the lightest path, rather than the length of the shortest path.The default weighting use target's degree squared. Alternatively, custom weighting can be provided in a file. In that case, edges without weight are ignored during path search.
+If no edge weighting is set, it is recommended to provide a list of side compounds to ignore during network traversal.]]></help>
+  <citations/>
+</tool>
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/ReactionDistanceMatrix/test-data/rexclude.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/build/tools/ReactionDistanceMatrix/test-data/rexclude.txt Wed Jul 26 15:33:45 2023 +0000
b
@@ -0,0 +1,1 @@
+reac7
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/ReactionDistanceMatrix/test-data/sides.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/build/tools/ReactionDistanceMatrix/test-data/sides.txt Wed Jul 26 15:33:45 2023 +0000
b
@@ -0,0 +1,1 @@
+B
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/ReactionDistanceMatrix/test-data/toy_model.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/build/tools/ReactionDistanceMatrix/test-data/toy_model.xml Wed Jul 26 15:33:45 2023 +0000
[
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding='UTF-8' ?>
+<sbml fbc:required="false" groups:required="false" level="3" version="1"
+ xmlns="http://www.sbml.org/sbml/level3/version1/core"
+ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2"
+ xmlns:groups="http://www.sbml.org/sbml/level3/version1/groups/version1">
+ <model fbc:strict="true" name="toy model">
+ <listOfUnitDefinitions>
+ <unitDefinition id="mmol_per_gDW_per_hr" name="mmol_per_gDW_per_hr">
+ <listOfUnits>
+ <unit exponent="-1" kind="gram" multiplier="1" scale="0"/>
+ <unit exponent="1" kind="mole" multiplier="1" scale="-3"/>
+ <unit exponent="-1" kind="second" multiplier="0.00027777" scale="0"/>
+ </listOfUnits>
+ </unitDefinition>
+ </listOfUnitDefinitions>
+ <listOfCompartments>
+ <compartment constant="false" id="c" name="Cytosol"/>
+ <compartment constant="false" id="e" name="Extracellular"/>
+ </listOfCompartments>
+ <listOfSpecies>
+ <species boundaryCondition="false" compartment="e" constant="false" fbc:charge="0" hasOnlySubstanceUnits="false" id="A_ext" name="A_ext">
+ <notes>
+ <body xmlns="http://www.w3.org/1999/xhtml">
+ <p>SMILES: C[C@@H](C(=O)O)NC</p>
+ </body>
+ </notes>
+ <annotation>
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+ <rdf:Description rdf:about="#A_ext">
+ <bqbiol:is>
+ <in:inchi xmlns:in="https://biomodels.net/inchi">InChI=1S/C2H6O/c1-2-3/h3H,2H2,1H3</in:inchi>
+ </bqbiol:is>
+ </rdf:Description>
+ </rdf:RDF>
+ </annotation>
+
+ </species>
+ <species boundaryCondition="false" compartment="c" constant="false" fbc:charge="0" hasOnlySubstanceUnits="false" id="A" name="A"/>
+ <species boundaryCondition="false" compartment="c" constant="false" fbc:charge="0" hasOnlySubstanceUnits="false" id="B" name="B"/>
+ <species boundaryCondition="false" compartment="c" constant="false" fbc:charge="0" hasOnlySubstanceUnits="false" id="C" name="C"/>
+ <species boundaryCondition="false" compartment="c" constant="false" fbc:charge="0" hasOnlySubstanceUnits="false" id="D" name="D"/>
+ <species boundaryCondition="false" compartment="e" constant="false" fbc:charge="0" hasOnlySubstanceUnits="false" id="D_ext" name="D_ext"/>
+ <species boundaryCondition="false" compartment="e" constant="false" fbc:charge="0" hasOnlySubstanceUnits="false" id="E_ext" name="E_ext"/>
+ <species boundaryCondition="false" compartment="c" constant="false" fbc:charge="0" hasOnlySubstanceUnits="false" id="E" name="E"/>
+ </listOfSpecies>
+ <listOfParameters>
+ <parameter constant="true" id="cobra_default_lb" name="cobra default - lb" sboTerm="SBO:0000626" units="mmol_per_gDW_per_hr" value="-100000.0"/>
+ <parameter constant="true" id="cobra_default_ub" name="cobra default - ub" sboTerm="SBO:0000626" units="mmol_per_gDW_per_hr" value="100000.0"/>
+ <parameter constant="true" id="cobra_0_bound" name="cobra 0 - bound" sboTerm="SBO:0000625" units="mmol_per_gDW_per_hr" value="0.0"/>
+ <parameter constant="true" id="reac1_upper_bound" name="reac1 upper bound" sboTerm="SBO:0000625" units="mmol_per_gDW_per_hr" value="10.0"/>
+ <parameter constant="true" id="reac6_upper_bound" name="reac6 upper bound" sboTerm="SBO:0000625" units="mmol_per_gDW_per_hr" value="3.0"/>
+ <parameter constant="true" id="reac2_upper_bound" name="reac2 upper bound" sboTerm="SBO:0000625" units="mmol_per_gDW_per_hr" value="100000.0"/>
+ <parameter constant="true" id="reac3_upper_bound" name="reac3 upper bound" sboTerm="SBO:0000625" units="mmol_per_gDW_per_hr" value="100000.0"/>
+ <parameter constant="true" id="reac4_upper_bound" name="reac4 upper bound" sboTerm="SBO:0000625" units="mmol_per_gDW_per_hr" value="100000.0"/>
+ <parameter constant="true" id="reac5_upper_bound" name="reac5 upper bound" sboTerm="SBO:0000625" units="mmol_per_gDW_per_hr" value="100000.0"/>
+ <parameter constant="true" id="reac7_upper_bound" name="reac7 upper bound" sboTerm="SBO:0000625" units="mmol_per_gDW_per_hr" value="100000.0"/>
+ </listOfParameters>
+ <listOfReactions>
+ <reaction fast="false" fbc:lowerFluxBound="cobra_0_bound" fbc:upperFluxBound="reac1_upper_bound" id="reac1" name="reac1" reversible="false">
+ <listOfReactants>
+ <speciesReference constant="true" species="A_ext" stoichiometry="1.0"/>
+ </listOfReactants>
+ <listOfProducts>
+ <speciesReference constant="true" species="A" stoichiometry="1.0"/>
+ </listOfProducts>
+ </reaction>
+ <reaction fast="false" fbc:lowerFluxBound="cobra_default_lb" fbc:upperFluxBound="reac2_upper_bound" id="reac2" name="reac2" reversible="true">
+ <listOfReactants>
+ <speciesReference constant="true" species="A" stoichiometry="1.0"/>
+ </listOfReactants>
+ <listOfProducts>
+ <speciesReference constant="true" species="B" stoichiometry="1.0"/>
+ </listOfProducts>
+ </reaction>
+ <reaction fast="false" fbc:lowerFluxBound="cobra_0_bound" fbc:upperFluxBound="reac3_upper_bound" id="reac3" name="reac3" reversible="false">
+ <listOfReactants>
+ <speciesReference constant="true" species="A" stoichiometry="1.0"/>
+ </listOfReactants>
+ <listOfProducts>
+ <speciesReference constant="true" species="C" stoichiometry="1.0"/>
+ </listOfProducts>
+ </reaction>
+ <reaction fast="false" fbc:lowerFluxBound="cobra_0_bound" fbc:upperFluxBound="reac4_upper_bound" id="reac4" name="reac4" reversible="false">
+ <listOfReactants>
+ <speciesReference constant="true" species="B" stoichiometry="1.0"/>
+ <speciesReference constant="true" species="C" stoichiometry="1.0"/>
+ </listOfReactants>
+ <listOfProducts>
+ <speciesReference constant="true" species="D" stoichiometry="1.5"/>
+ </listOfProducts>
+ </reaction>
+ <reaction fast="false" fbc:lowerFluxBound="cobra_0_bound" fbc:upperFluxBound="reac5_upper_bound" id="reac5" name="reac5" reversible="false">
+ <listOfReactants>
+ <speciesReference constant="true" species="D" stoichiometry="1.0"/>
+ </listOfReactants>
+ <listOfProducts>
+ <speciesReference constant="true" species="D_ext" stoichiometry="1.0"/>
+ </listOfProducts>
+ </reaction>
+ <reaction fast="false" fbc:lowerFluxBound="cobra_0_bound" fbc:upperFluxBound="reac6_upper_bound" id="reac6" name="reac6" reversible="false">
+ <listOfReactants>
+ <speciesReference constant="true" species="E_ext" stoichiometry="1.0"/>
+ </listOfReactants>
+ <listOfProducts>
+ <speciesReference constant="true" species="E" stoichiometry="1.0"/>
+ </listOfProducts>
+ </reaction>
+ <reaction fast="false" fbc:lowerFluxBound="cobra_0_bound" fbc:upperFluxBound="reac7_upper_bound" id="reac7" name="reac7" reversible="false">
+ <listOfReactants>
+ <speciesReference constant="true" species="E" stoichiometry="2.0"/>
+ </listOfReactants>
+ <listOfProducts>
+ <speciesReference constant="true" species="D" stoichiometry="1.0"/>
+ </listOfProducts>
+ </reaction>
+ </listOfReactions>
+ </model>
+</sbml>
\ No newline at end of file
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/ReactionDistanceMatrix/test-data/weights.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/build/tools/ReactionDistanceMatrix/test-data/weights.tsv Wed Jul 26 15:33:45 2023 +0000
b
@@ -0,0 +1,1 @@
+A A_ext 1000
\ No newline at end of file
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/SBMLwizard/SBMLwizard.xml
--- a/build/tools/SBMLwizard/SBMLwizard.xml Tue Jul 04 10:21:26 2023 +0000
+++ b/build/tools/SBMLwizard/SBMLwizard.xml Wed Jul 26 15:33:45 2023 +0000
[
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<tool id="met4j_SBMLwizard" name="SBMLwizard" version="1.4.0">
+<tool id="met4j_SBMLwizard" name="SBMLwizard" version="1.5.0">
   <description>General SBML model processing</description>
   <xrefs>
     <xref type="bio.tools">met4j</xref>
   </xrefs>
   <requirements>
-    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.4.0</container>
+    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.5.0</container>
   </requirements>
   <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh convert.SBMLwizard -s "$inputPath"
 #if str($inputSide) != 'None':
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/Sbml2Graph/Sbml2Graph.xml
--- a/build/tools/Sbml2Graph/Sbml2Graph.xml Tue Jul 04 10:21:26 2023 +0000
+++ b/build/tools/Sbml2Graph/Sbml2Graph.xml Wed Jul 26 15:33:45 2023 +0000
[
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<tool id="met4j_Sbml2Graph" name="Sbml2Graph" version="1.4.0">
+<tool id="met4j_Sbml2Graph" name="Sbml2Graph" version="1.5.0">
   <description>Create a graph representation of a SBML file content, and export it in graph file format.</description>
   <xrefs>
     <xref type="bio.tools">met4j</xref>
   </xrefs>
   <requirements>
-    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.4.0</container>
+    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.5.0</container>
   </requirements>
   <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh convert.Sbml2Graph -i "$inputPath"
  $bipartite
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/Sbml2Tab/Sbml2Tab.xml
--- a/build/tools/Sbml2Tab/Sbml2Tab.xml Tue Jul 04 10:21:26 2023 +0000
+++ b/build/tools/Sbml2Tab/Sbml2Tab.xml Wed Jul 26 15:33:45 2023 +0000
[
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<tool id="met4j_Sbml2Tab" name="Sbml2Tab" version="1.4.0">
+<tool id="met4j_Sbml2Tab" name="Sbml2Tab" version="1.5.0">
   <description>Create a tabulated file from a SBML file</description>
   <xrefs>
     <xref type="bio.tools">met4j</xref>
   </xrefs>
   <requirements>
-    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.4.0</container>
+    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.5.0</container>
   </requirements>
   <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh convert.Sbml2Tab#if str($i):
  -i "$i"
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/SbmlCheckBalance/SbmlCheckBalance.xml
--- a/build/tools/SbmlCheckBalance/SbmlCheckBalance.xml Tue Jul 04 10:21:26 2023 +0000
+++ b/build/tools/SbmlCheckBalance/SbmlCheckBalance.xml Wed Jul 26 15:33:45 2023 +0000
[
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<tool id="met4j_SbmlCheckBalance" name="SbmlCheckBalance" version="1.4.0">
+<tool id="met4j_SbmlCheckBalance" name="SbmlCheckBalance" version="1.5.0">
   <description>Check balance of all the reactions in a SBML.</description>
   <xrefs>
     <xref type="bio.tools">met4j</xref>
   </xrefs>
   <requirements>
-    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.4.0</container>
+    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.5.0</container>
   </requirements>
   <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh reconstruction.SbmlCheckBalance -sbml "$sbml"
  -out "$out"
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/SbmlSetChargesFromFile/SbmlSetChargesFromFile.xml
--- a/build/tools/SbmlSetChargesFromFile/SbmlSetChargesFromFile.xml Tue Jul 04 10:21:26 2023 +0000
+++ b/build/tools/SbmlSetChargesFromFile/SbmlSetChargesFromFile.xml Wed Jul 26 15:33:45 2023 +0000
[
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<tool id="met4j_SbmlSetChargesFromFile" name="SbmlSetChargesFromFile" version="1.4.0">
+<tool id="met4j_SbmlSetChargesFromFile" name="SbmlSetChargesFromFile" version="1.5.0">
   <description>Set charge to network metabolites from a tabulated file containing the metabolite ids and the formulas</description>
   <xrefs>
     <xref type="bio.tools">met4j</xref>
   </xrefs>
   <requirements>
-    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.4.0</container>
+    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.5.0</container>
   </requirements>
   <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh attributes.SbmlSetChargesFromFile#if str($colcharge) != 'nan':
  -cc "$colcharge"
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/SbmlSetEcsFromFile/SbmlSetEcsFromFile.xml
--- a/build/tools/SbmlSetEcsFromFile/SbmlSetEcsFromFile.xml Tue Jul 04 10:21:26 2023 +0000
+++ b/build/tools/SbmlSetEcsFromFile/SbmlSetEcsFromFile.xml Wed Jul 26 15:33:45 2023 +0000
[
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<tool id="met4j_SbmlSetEcsFromFile" name="SbmlSetEcsFromFile" version="1.4.0">
+<tool id="met4j_SbmlSetEcsFromFile" name="SbmlSetEcsFromFile" version="1.5.0">
   <description>Set EC numbers to reactions from a tabulated file containing the reaction ids and the EC</description>
   <xrefs>
     <xref type="bio.tools">met4j</xref>
   </xrefs>
   <requirements>
-    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.4.0</container>
+    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.5.0</container>
   </requirements>
   <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh attributes.SbmlSetEcsFromFile#if str($colec) != 'nan':
  -cec "$colec"
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/SbmlSetFormulasFromFile/SbmlSetFormulasFromFile.xml
--- a/build/tools/SbmlSetFormulasFromFile/SbmlSetFormulasFromFile.xml Tue Jul 04 10:21:26 2023 +0000
+++ b/build/tools/SbmlSetFormulasFromFile/SbmlSetFormulasFromFile.xml Wed Jul 26 15:33:45 2023 +0000
[
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<tool id="met4j_SbmlSetFormulasFromFile" name="SbmlSetFormulasFromFile" version="1.4.0">
+<tool id="met4j_SbmlSetFormulasFromFile" name="SbmlSetFormulasFromFile" version="1.5.0">
   <description>Set Formula to network metabolites from a tabulated file containing the metabolite ids and the formulas</description>
   <xrefs>
     <xref type="bio.tools">met4j</xref>
   </xrefs>
   <requirements>
-    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.4.0</container>
+    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.5.0</container>
   </requirements>
   <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh attributes.SbmlSetFormulasFromFile#if str($colformula) != 'nan':
  -cf "$colformula"
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/SbmlSetGprsFromFile/SbmlSetGprsFromFile.xml
--- a/build/tools/SbmlSetGprsFromFile/SbmlSetGprsFromFile.xml Tue Jul 04 10:21:26 2023 +0000
+++ b/build/tools/SbmlSetGprsFromFile/SbmlSetGprsFromFile.xml Wed Jul 26 15:33:45 2023 +0000
[
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<tool id="met4j_SbmlSetGprsFromFile" name="SbmlSetGprsFromFile" version="1.4.0">
+<tool id="met4j_SbmlSetGprsFromFile" name="SbmlSetGprsFromFile" version="1.5.0">
   <description>Create a new SBML file from an original sbml file and a tabulated file containing reaction ids and Gene association written in a cobra way</description>
   <xrefs>
     <xref type="bio.tools">met4j</xref>
   </xrefs>
   <requirements>
-    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.4.0</container>
+    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.5.0</container>
   </requirements>
   <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh attributes.SbmlSetGprsFromFile#if str($colgpr) != 'nan':
  -cgpr "$colgpr"
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/SbmlSetIdsFromFile/SbmlSetIdsFromFile.xml
--- a/build/tools/SbmlSetIdsFromFile/SbmlSetIdsFromFile.xml Tue Jul 04 10:21:26 2023 +0000
+++ b/build/tools/SbmlSetIdsFromFile/SbmlSetIdsFromFile.xml Wed Jul 26 15:33:45 2023 +0000
[
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<tool id="met4j_SbmlSetIdsFromFile" name="SbmlSetIdsFromFile" version="1.4.0">
+<tool id="met4j_SbmlSetIdsFromFile" name="SbmlSetIdsFromFile" version="1.5.0">
   <description>Set new ids to network objects from a tabulated file containing the old ids and the new ids</description>
   <xrefs>
     <xref type="bio.tools">met4j</xref>
   </xrefs>
   <requirements>
-    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.4.0</container>
+    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.5.0</container>
   </requirements>
   <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh attributes.SbmlSetIdsFromFile#if str($colname) != 'nan':
  -cnew "$colname"
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/SbmlSetNamesFromFile/SbmlSetNamesFromFile.xml
--- a/build/tools/SbmlSetNamesFromFile/SbmlSetNamesFromFile.xml Tue Jul 04 10:21:26 2023 +0000
+++ b/build/tools/SbmlSetNamesFromFile/SbmlSetNamesFromFile.xml Wed Jul 26 15:33:45 2023 +0000
[
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<tool id="met4j_SbmlSetNamesFromFile" name="SbmlSetNamesFromFile" version="1.4.0">
+<tool id="met4j_SbmlSetNamesFromFile" name="SbmlSetNamesFromFile" version="1.5.0">
   <description>Set names to network objects from a tabulated file containing the object ids and the names</description>
   <xrefs>
     <xref type="bio.tools">met4j</xref>
   </xrefs>
   <requirements>
-    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.4.0</container>
+    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.5.0</container>
   </requirements>
   <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh attributes.SbmlSetNamesFromFile#if str($colname) != 'nan':
  -cname "$colname"
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/SbmlSetPathwaysFromFile/SbmlSetPathwaysFromFile.xml
--- a/build/tools/SbmlSetPathwaysFromFile/SbmlSetPathwaysFromFile.xml Tue Jul 04 10:21:26 2023 +0000
+++ b/build/tools/SbmlSetPathwaysFromFile/SbmlSetPathwaysFromFile.xml Wed Jul 26 15:33:45 2023 +0000
[
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<tool id="met4j_SbmlSetPathwaysFromFile" name="SbmlSetPathwaysFromFile" version="1.4.0">
+<tool id="met4j_SbmlSetPathwaysFromFile" name="SbmlSetPathwaysFromFile" version="1.5.0">
   <description>Set pathway to reactions in a network from a tabulated file containing the reaction ids and the pathways</description>
   <xrefs>
     <xref type="bio.tools">met4j</xref>
   </xrefs>
   <requirements>
-    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.4.0</container>
+    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.5.0</container>
   </requirements>
   <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh attributes.SbmlSetPathwaysFromFile#if str($colp) != 'nan':
  -cp "$colp"
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/SbmlSetRefsFromFile/SbmlSetRefsFromFile.xml
--- a/build/tools/SbmlSetRefsFromFile/SbmlSetRefsFromFile.xml Tue Jul 04 10:21:26 2023 +0000
+++ b/build/tools/SbmlSetRefsFromFile/SbmlSetRefsFromFile.xml Wed Jul 26 15:33:45 2023 +0000
[
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<tool id="met4j_SbmlSetRefsFromFile" name="SbmlSetRefsFromFile" version="1.4.0">
+<tool id="met4j_SbmlSetRefsFromFile" name="SbmlSetRefsFromFile" version="1.5.0">
   <description>Add refs to network objects from a tabulated file containing the metabolite ids and the formulas</description>
   <xrefs>
     <xref type="bio.tools">met4j</xref>
   </xrefs>
   <requirements>
-    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.4.0</container>
+    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.5.0</container>
   </requirements>
   <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh attributes.SbmlSetRefsFromFile#if str($colRef) != 'nan':
  -cr "$colRef"
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/SbmlToMetaboliteTable/SbmlToMetaboliteTable.xml
--- a/build/tools/SbmlToMetaboliteTable/SbmlToMetaboliteTable.xml Tue Jul 04 10:21:26 2023 +0000
+++ b/build/tools/SbmlToMetaboliteTable/SbmlToMetaboliteTable.xml Wed Jul 26 15:33:45 2023 +0000
[
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<tool id="met4j_SbmlToMetaboliteTable" name="SbmlToMetaboliteTable" version="1.4.0">
+<tool id="met4j_SbmlToMetaboliteTable" name="SbmlToMetaboliteTable" version="1.5.0">
   <description>Create a tabulated file with metabolite attributes from a SBML file</description>
   <xrefs>
     <xref type="bio.tools">met4j</xref>
   </xrefs>
   <requirements>
-    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.4.0</container>
+    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.5.0</container>
   </requirements>
   <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh attributes.SbmlToMetaboliteTable -s "$sbml"
  -o "$outputFile"
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/ScopeNetwork/ScopeNetwork.xml
--- a/build/tools/ScopeNetwork/ScopeNetwork.xml Tue Jul 04 10:21:26 2023 +0000
+++ b/build/tools/ScopeNetwork/ScopeNetwork.xml Wed Jul 26 15:33:45 2023 +0000
[
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<tool id="met4j_ScopeNetwork" name="ScopeNetwork" version="1.4.0">
+<tool id="met4j_ScopeNetwork" name="ScopeNetwork" version="1.5.0">
   <description>Perform a network expansion from a set of compound seeds to create a scope network</description>
   <xrefs>
     <xref type="bio.tools">met4j</xref>
   </xrefs>
   <requirements>
-    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.4.0</container>
+    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.5.0</container>
   </requirements>
   <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh networkAnalysis.ScopeNetwork -i "$sbmlFilePath"
  -s "$seedsFilePath"
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/SeedsAndTargets/SeedsAndTargets.xml
--- a/build/tools/SeedsAndTargets/SeedsAndTargets.xml Tue Jul 04 10:21:26 2023 +0000
+++ b/build/tools/SeedsAndTargets/SeedsAndTargets.xml Wed Jul 26 15:33:45 2023 +0000
[
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<tool id="met4j_SeedsAndTargets" name="SeedsAndTargets" version="1.4.0">
+<tool id="met4j_SeedsAndTargets" name="SeedsAndTargets" version="1.5.0">
   <description>Identify exogenously acquired compounds, producible compounds exogenously available and/or dead ends metabolites from metabolic network topology</description>
   <xrefs>
     <xref type="bio.tools">met4j</xref>
   </xrefs>
   <requirements>
-    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.4.0</container>
+    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.5.0</container>
   </requirements>
   <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh networkAnalysis.SeedsAndTargets -i "$inputPath"
 #if str($inputSide) != 'None':
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/SideCompoundsScan/SideCompoundsScan.xml
--- a/build/tools/SideCompoundsScan/SideCompoundsScan.xml Tue Jul 04 10:21:26 2023 +0000
+++ b/build/tools/SideCompoundsScan/SideCompoundsScan.xml Wed Jul 26 15:33:45 2023 +0000
[
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<tool id="met4j_SideCompoundsScan" name="SideCompoundsScan" version="1.4.0">
+<tool id="met4j_SideCompoundsScan" name="SideCompoundsScan" version="1.5.0">
   <description>Scan a network to identify side-compounds.</description>
   <xrefs>
     <xref type="bio.tools">met4j</xref>
   </xrefs>
   <requirements>
-    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.4.0</container>
+    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.5.0</container>
   </requirements>
   <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh networkAnalysis.SideCompoundsScan -i "$inputPath"
  $sideOnly
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/Tab2Sbml/Tab2Sbml.xml
--- a/build/tools/Tab2Sbml/Tab2Sbml.xml Tue Jul 04 10:21:26 2023 +0000
+++ b/build/tools/Tab2Sbml/Tab2Sbml.xml Wed Jul 26 15:33:45 2023 +0000
[
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<tool id="met4j_Tab2Sbml" name="Tab2Sbml" version="1.4.0">
+<tool id="met4j_Tab2Sbml" name="Tab2Sbml" version="1.5.0">
   <description>Create a Sbml File from a tabulated file that contains the reaction ids and the formulas</description>
   <xrefs>
     <xref type="bio.tools">met4j</xref>
   </xrefs>
   <requirements>
-    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.4.0</container>
+    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.5.0</container>
   </requirements>
   <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh convert.Tab2Sbml#if str($colid) != 'nan':
  -ci "$colid"
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/TopologicalPathwayAnalysis/TopologicalPathwayAnalysis.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/build/tools/TopologicalPathwayAnalysis/TopologicalPathwayAnalysis.xml Wed Jul 26 15:33:45 2023 +0000
[
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<tool id="met4j_TopologicalPathwayAnalysis" name="TopologicalPathwayAnalysis" version="1.5.0">
+  <description>Run a Topological Pathway Analysis to identify key pathways based on topological properties of its constituting compounds.</description>
+  <xrefs>
+    <xref type="bio.tools">met4j</xref>
+  </xrefs>
+  <requirements>
+    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:1.5.0</container>
+  </requirements>
+  <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh networkAnalysis.TopologicalPathwayAnalysis -s "$inputPath"
+#if str($inputSide) != 'None':
+ -sc "$inputSide"
+#end if
+#if str($mergingStrat):
+ -mc "$mergingStrat"
+#end if
+ $removeIsolated
+#if str($weightFile) != 'None':
+ -cw "$weightFile"
+#end if
+ $undirected
+ -noi "$dataPath"
+ $out
+ -o "$outputPath"
+]]></command>
+  <inputs>
+    <param argument="-s" format="sbml" label="input SBML file" name="inputPath" optional="false" type="data" value=""/>
+    <param argument="-sc" format="txt" label="input Side compound file (recommended)" name="inputSide" optional="true" type="data" value=""/>
+    <param argument="-mc" label="merge compartments. Use names if consistent and unambiguous across compartments, or identifiers if compartment suffix is present (id in form &quot;xxx_y&quot; with xxx as base identifier and y as compartment label)." name="mergingStrat" optional="true" type="select" value="no">
+      <option selected="true" value="no">no</option>
+      <option value="by_name">by_name</option>
+      <option value="by_id">by_id</option>
+    </param>
+    <param argument="-ri" checked="false" falsevalue="" label="remove isolated nodes" name="removeIsolated" truevalue="-ri" type="boolean" value="false"/>
+    <param argument="-cw" format="tsv" label="an optional file containing weights for compound pairs, taken into account for betweenness computation. Edges not found in file will be removed" name="weightFile" optional="true" type="data" value=""/>
+    <param argument="-un" checked="false" falsevalue="" label="the compound graph built from the metabolic network and used for computations will undirected, i.e. the reaction directions won't be taken into account" name="undirected" truevalue="-un" type="boolean" value="false"/>
+    <param argument="-noi" format="txt" label="file containing the list of metabolites of interests (one per line)" name="dataPath" optional="false" type="data" value=""/>
+    <param argument="-out" checked="false" falsevalue="" label="use out-degree as scoring function instead of betweenness (faster computation)" name="out" truevalue="-out" type="boolean" value="false"/>
+  </inputs>
+  <outputs>
+    <data format="tsv" name="outputPath"/>
+  </outputs>
+  <tests>
+    <test>
+      <param name="inputPath" value="XF_network.sbml"/>
+      <param name="dataPath" value="XF_network_C_NOI.txt"/>
+      <param name="inputSide" value="XF_network_C_Side.tab"/>
+      <output name="outputPath">
+        <assert_contents>
+          <has_n_columns n="3"/>
+          <has_n_lines n="3"/>
+        </assert_contents>
+      </output>
+    </test>
+    <test>
+      <param name="inputPath" value="XF_network.sbml"/>
+      <param name="dataPath" value="XF_network_C_NOI.txt"/>
+      <param name="inputSide" value="XF_network_C_Side.tab"/>
+      <param name="undirected" value="true"/>
+      <param name="removeIsolated" value="true"/>
+      <param name="out" value="true"/>
+      <param name="mergingStrat" value="by_id"/>
+      <output name="outputPath">
+        <assert_contents>
+          <has_n_columns n="3"/>
+          <has_n_lines n="3"/>
+        </assert_contents>
+      </output>
+    </test>
+  </tests>
+  <help><![CDATA[Run a Topological Pathway Analysis (TPA) to identify key pathways based on topological properties of its mapped compounds. From a list of compounds of interest, the app compute their betweenness centrality (which quantifies how often a compound acts as a intermediary along the shortest paths between pairs of other compounds in the network, which, if high, suggest a critical role in the overall flow within the network). Each pathway is scored according to the summed centrality of its metabolites found in the dataset. Alternatively to the betweenness, one can make use of the out-degree (the number of outgoing link, i.e. number of direct metabolic product) as a criterion of importance. TPA is complementary to statistical enrichment analysis to ensures a more meaningful interpretation of the data, by taking into account the influence of identified compounds on the structure of the pathways.]]></help>
+  <citations/>
+</tool>
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/TopologicalPathwayAnalysis/test-data/XF_network.sbml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/build/tools/TopologicalPathwayAnalysis/test-data/XF_network.sbml Wed Jul 26 15:33:45 2023 +0000
b
b'@@ -0,0 +1,47267 @@\n+<?xml version="1.0" encoding="UTF-8"?>\n+<sbml fbc:required="false" groups:required="false" level="3" version="2" xmlns="http://www.sbml.org/sbml/level3/version2/core" xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="http://www.sbml.org/sbml/level3/version1/groups/version1">\n+  <model fbc:strict="true" id="Xfm1158" metaid="Xfm1158" name="Xfm1158">\n+    <fbc:listOfGeneProducts>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_007090" fbc:label="XFCFBP8418_007090" fbc:name="XFCFBP8418_007090" metaid="_8a7d7180-d79e-4dbb-86ed-f8d7eb60e698"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_005900" fbc:label="XFCFBP8418_005900" fbc:name="XFCFBP8418_005900" metaid="_867487dd-ff57-4e93-8de9-b5ecb805e0eb"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_011590" fbc:label="XFCFBP8418_011590" fbc:name="XFCFBP8418_011590" metaid="_44606760-936c-4585-b40c-650e953a5f73"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_014620" fbc:label="XFCFBP8418_014620" fbc:name="XFCFBP8418_014620" metaid="da273da9-0f84-4615-a464-2ab71416e8cc"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_015830" fbc:label="XFCFBP8418_015830" fbc:name="XFCFBP8418_015830" metaid="_3a9239a2-8e23-4834-99a8-a7dc15f6d906"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_014980" fbc:label="XFCFBP8418_014980" fbc:name="XFCFBP8418_014980" metaid="_7f26806b-e32e-4c5c-a78d-9e094c267bbf"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_020190" fbc:label="XFCFBP8418_020190" fbc:name="XFCFBP8418_020190" metaid="_31bbb514-1d52-4727-91cb-367af12e95ca"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_004940" fbc:label="XFCFBP8418_004940" fbc:name="XFCFBP8418_004940" metaid="a2f20753-c245-477e-8363-8f5e45c50f5d"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_021160" fbc:label="XFCFBP8418_021160" fbc:name="XFCFBP8418_021160" metaid="_844bdacc-d091-457d-9c4d-846cb9aab3c1"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_025760" fbc:label="XFCFBP8418_025760" fbc:name="XFCFBP8418_025760" metaid="fd8a601e-e56f-4263-9aa7-6ed9bf85f958"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_024670" fbc:label="XFCFBP8418_024670" fbc:name="XFCFBP8418_024670" metaid="_2bbe03ce-c814-417a-b9c0-e8a1f29f4106"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_004820" fbc:label="XFCFBP8418_004820" fbc:name="XFCFBP8418_004820" metaid="_41cb6d94-13d8-461e-a217-29a68e21cd2b"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_023580" fbc:label="XFCFBP8418_023580" fbc:name="XFCFBP8418_023580" metaid="_31ff72d7-4e30-4563-85aa-4afc58dd6bee"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_000460" fbc:label="XFCFBP8418_000460" fbc:name="XFCFBP8418_000460" metaid="d7ea14e6-cd6c-4404-b973-486ade662242"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_026730" fbc:label="XFCFBP8418_026730" fbc:name="XFCFBP8418_026730" metaid="e876348e-787e-4f2a-8904-e675c2589c17"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_025640" fbc:label="XFCFBP8418_025640" fbc:name="XFCFBP8418_025640" metaid="b5b93812-bd2e-4ca8-8328-e1d35e17ac3a"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_023100" fbc:label="XFCFBP8418_023100" fbc:name="XFCFBP8418_023100" metaid="f62e0096-7b12-4db3-a7b0-2e1cfa0302c6"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_027800" fbc:label="XFCFBP8418_027800" fbc:name="XFCFBP8418_027800" metaid="_8beb93ba-34a4-4330-86bf-2c47b1cb7f2e"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_004700" fbc:label="XFCFBP8418_004700" fbc:name="XFCFBP8418_004700" metaid="_2aceabe8-5294-42eb-9d3b-2506634c68d5"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_005910" fbc:label="XFCFBP8418_005910" fbc:name="XFCFBP8418_005910" metaid="a7b44241-024e-49c1-88af-1e1108cf09eb"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_013540" fbc:label="XFCFBP8418_013540" fbc:name="XFCFBP8418_013540" metaid="_83bdba7b-0eb0-4dfb-99ed-6e365240d870"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_011240" fbc:label="XFCFBP8418_011240" fbc:name="XFCFBP8418_011240" metaid="_568b9959-99b6-49bd-86d7-04e773d940da"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_012210" fbc:label="XFCFBP8418_01221'..b'     </annotation>\n+        <fbc:geneProductAssociation>\n+          <fbc:geneProductRef fbc:geneProduct="XFCFBP8418_010590"/>\n+        </fbc:geneProductAssociation>\n+        <listOfReactants>\n+          <speciesReference constant="true" species="M_cyst_L_c" stoichiometry="1"/>\n+          <speciesReference constant="true" species="M_h2o_c" stoichiometry="1"/>\n+        </listOfReactants>\n+        <listOfProducts>\n+          <speciesReference constant="true" species="M_2obut_c" stoichiometry="1"/>\n+          <speciesReference constant="true" species="M_cys_L_c" stoichiometry="1"/>\n+          <speciesReference constant="true" species="M_nh4_c" stoichiometry="1"/>\n+        </listOfProducts>\n+      </reaction>\n+      <reaction fbc:lowerFluxBound="LOWER_BOUND_99999_0" fbc:upperFluxBound="UPPER_BOUND_99999_0" id="R_FUCtpp" metaid="_34363cfc-fa7f-4df4-a073-49f5befcdf50" name="R_FUCtpp" reversible="true">\n+        <notes>\n+          <body xmlns="http://www.w3.org/1999/xhtml">\n+            <p>GENE_ASSOCIATION: XFCFBP8418_018650</p>\n+            <p>SUBSYSTEM: Transport__Inner_Membrane</p>\n+            <p>EC_NUMBER: No_Assignment</p>\n+          </body>\n+        </notes>\n+        <annotation>\n+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">\n+            <rdf:Description rdf:about="#_34363cfc-fa7f-4df4-a073-49f5befcdf50">\n+              <bqbiol:is>\n+                <rdf:Bag>\n+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/No_Assignment"/>\n+                </rdf:Bag>\n+              </bqbiol:is>\n+            </rdf:Description>\n+          </rdf:RDF>\n+        </annotation>\n+        <fbc:geneProductAssociation>\n+          <fbc:geneProductRef fbc:geneProduct="XFCFBP8418_018650"/>\n+        </fbc:geneProductAssociation>\n+        <listOfReactants>\n+          <speciesReference constant="true" species="M_h_p" stoichiometry="1"/>\n+          <speciesReference constant="true" species="M_fuc_L_p" stoichiometry="1"/>\n+        </listOfReactants>\n+        <listOfProducts>\n+          <speciesReference constant="true" species="M_fuc_L_c" stoichiometry="1"/>\n+          <speciesReference constant="true" species="M_h_c" stoichiometry="1"/>\n+        </listOfProducts>\n+      </reaction>\n+      <reaction fbc:lowerFluxBound="LOWER_BOUND_0_0" fbc:upperFluxBound="UPPER_BOUND_99999_0" id="R_FACOAE120" metaid="_2691931b-9cfe-40d9-95d9-13e4ed057413" name="R_FACOAE120" reversible="false">\n+        <notes>\n+          <body xmlns="http://www.w3.org/1999/xhtml">\n+            <p>GENE_ASSOCIATION: XFCFBP8418_025070</p>\n+            <p>SUBSYSTEM: Cell_Envelope_Biosynthesis</p>\n+            <p>EC_NUMBER: 3.1.2.20</p>\n+          </body>\n+        </notes>\n+        <annotation>\n+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">\n+            <rdf:Description rdf:about="#_2691931b-9cfe-40d9-95d9-13e4ed057413">\n+              <bqbiol:is>\n+                <rdf:Bag>\n+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.1.2.20"/>\n+                </rdf:Bag>\n+              </bqbiol:is>\n+            </rdf:Description>\n+          </rdf:RDF>\n+        </annotation>\n+        <fbc:geneProductAssociation>\n+          <fbc:geneProductRef fbc:geneProduct="XFCFBP8418_025070"/>\n+        </fbc:geneProductAssociation>\n+        <listOfReactants>\n+          <speciesReference constant="true" species="M_ddcacoa_c" stoichiometry="1"/>\n+          <speciesReference constant="true" species="M_h2o_c" stoichiometry="1"/>\n+        </listOfReactants>\n+        <listOfProducts>\n+          <speciesReference constant="true" species="M_ddca_c" stoichiometry="1"/>\n+          <speciesReference constant="true" species="M_h_c" stoichiometry="1"/>\n+          <speciesReference constant="true" species="M_coa_c" stoichiometry="1"/>\n+        </listOfProducts>\n+      </reaction>\n+    </listOfReactions>\n+  </model>\n+</sbml>\n'
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/TopologicalPathwayAnalysis/test-data/XF_network_C_NOI.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/build/tools/TopologicalPathwayAnalysis/test-data/XF_network_C_NOI.txt Wed Jul 26 15:33:45 2023 +0000
b
@@ -0,0 +1,3 @@
+M_histd_c
+M_prbatp_c
+M_xu5p_D_c
b
diff -r 1436e9cde9c9 -r 1274e2a62479 build/tools/TopologicalPathwayAnalysis/test-data/XF_network_C_Side.tab
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/build/tools/TopologicalPathwayAnalysis/test-data/XF_network_C_Side.tab Wed Jul 26 15:33:45 2023 +0000
b
@@ -0,0 +1,6 @@
+M_atp_c
+M_h2o_c
+M_pi_c
+M_adp_c
+M_ppi_c
+M_h_c
b
diff -r 1436e9cde9c9 -r 1274e2a62479 tests.html
--- a/tests.html Tue Jul 04 10:21:26 2023 +0000
+++ b/tests.html Wed Jul 26 15:33:45 2023 +0000
b
b"@@ -285,7 +285,7 @@\n         var md = window.markdownit({\n           html: true,\n         });\n-        target.innerHTML = md.render(atob('IyMgVGVzdCBTdW1tYXJ5Cgo8ZGl2IGNsYXNzPSJwcm9ncmVzcyI+CiAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MtYmFyIHByb2dyZXNzLWJhci1zdWNjZXNzIiBzdHlsZT0id2lkdGg6IDEwMC4wJSIgYXJpYS12YWx1ZW5vdz0iNzMiIGFyaWEtdmFsdWVtaW49IjAiIGFyaWEtdmFsdWVtYXg9IjczIiBkYXRhLXRvZ2dsZT0idG9vbHRpcCIgdGl0bGU9IjczIFBhc3NlZCI+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MtYmFyIHByb2dyZXNzLWJhci13YXJuaW5nIiBzdHlsZT0id2lkdGg6IDAuMCUiIGFyaWEtdmFsdWVub3c9IjAiIGFyaWEtdmFsdWVtaW49IjAiIGFyaWEtdmFsdWVtYXg9IjczIiBkYXRhLXRvZ2dsZT0idG9vbHRpcCIgdGl0bGU9IjAgU2tpcHBlZCI+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MtYmFyIHByb2dyZXNzLWJhci1kYW5nZXIiIHN0eWxlPSJ3aWR0aDogMC4wJSIgYXJpYS12YWx1ZW5vdz0iMCIgYXJpYS12YWx1ZW1pbj0iMCIgYXJpYS12YWx1ZW1heD0iNzMiIHRpdGxlPSIwIEZhaWxlZCBvciBFcnJvcmVkIj4KICA8L2Rpdj4KPC9kaXY+Cgp8IFRlc3QgU3RhdGUgfCBDb3VudCB8CnwgLS0tLS0tLS0tLSB8IC0tLS0tIHwKfCBUb3RhbCAgICAgIHwgNzMgfAp8IFBhc3NlZCAgICAgfCA3MyB8CnwgRXJyb3IgICAgICB8IDAgfAp8IEZhaWx1cmUgICAgfCAwIHwKfCBTa2lwcGVkICAgIHwgMCB8CgoKPGRldGFpbHM+PHN1bW1hcnk+UGFzc2VkIFRlc3RzPC9zdW1tYXJ5PgoKKiA8ZGV0YWlscyBjbGFzcz0icmNvcm5lcnMgbGlnaHQtZ3JlZW4iPjxzdW1tYXJ5IGNsYXNzPSJsaWdodC1ncmVlbiI+JiM5OTg5OyBtZXQ0al9DYXJib25Ta2VsZXRvbk5ldCAoVGVzdCAjMSk8L3N1bW1hcnk+PGRpdiBjbGFzcz0icGFkZGVkIj4KCiAgICAqKkNvbW1hbmQgTGluZToqKgoKICAgICogYGBgY29uc29sZQogICAgICBzaCAvdXNyL2Jpbi9tZXQ0ai5zaCBuZXR3b3JrQW5hbHlzaXMuQ2FyYm9uU2tlbGV0b25OZXQgLXMgIi90bXAvdG1wYm5samkyczMvZmlsZXMvZi9lL2QvZGF0YXNldF9mZWQ2NDg3Mi1iMTI2LTQzMmEtOWVlOC04NDA1YTRjNWFlZGIuZGF0IiAtZyAiL3RtcC90bXBibmxqaTJzMy9maWxlcy84L2IvMi9kYXRhc2V0XzhiMjYyY2QzLWJmNWMtNDQ0MC05MWVjLTk4M2JhMGY5NDEzYS5kYXQiICAgICAgICAgIC1vICIvdG1wL3RtcGJubGppMnMzL2pvYl93b3JraW5nX2RpcmVjdG9yeS8wMDAvMy9vdXRwdXRzL2dhbGF4eV9kYXRhc2V0X2ZhZWI4NjZjLTA5NTktNDgwOS1iMTdkLTAxZWRhNmY5N2M4NC5kYXQiCiAgICAgIGBgYAogICAgKipFeGl0IENvZGU6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgMAogICAgICBgYGAKICAgICoqU3RhbmRhcmQgRXJyb3I6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgRVJST1IgU3RhdHVzTG9nZ2VyIFJlY29uZmlndXJhdGlvbiBmYWlsZWQ6IE5vIGNvbmZpZ3VyYXRpb24gZm91bmQgZm9yICc1Y2IwZDkwMicgYXQgJ251bGwnIGluICdudWxsJwogICAgICBWZXJpZnlpbmcgZW5hYmxlZCBQbHVnaW5zLi4uCiAgICAgIFBhcnNpbmcgbW9kZWwgSHVtYW5HRU0KICAgICAgU3RhcnRpbmcgZmJjIHZlcnNpb24gMiBwbHVnaW4uLi4KICAgICAgU3RhcnRpbmcgZ3JvdXBzIHBsdWdpbi4uLgogICAgICBTdGFydGluZyBub3RlIHBsdWdpbi4uLgogICAgICBFbmQgUGFyc2luZyBtb2RlbCBIdW1hbkdFTQogICAgICAwIGVkZ2VzIGluIGZpbGUgbm90IGZvdW5kIGluIHRoZSBncmFwaAogICAgICAyMDUgd2VpZ2h0cyBzZXQgYW1vbmcgNTAyIGVkZ2VzIGluIGdyYXBoCgogICAgICBXQVJOSU5HOmdhbGF4eS5tb2RlbDpEYXRhdHlwZSBjbGFzcyBub3QgZm91bmQgZm9yIGV4dGVuc2lvbiAnZ21sJwogICAgICBXQVJOSU5HOmdhbGF4eS5tb2RlbDpEYXRhdHlwZSBjbGFzcyBub3QgZm91bmQgZm9yIGV4dGVuc2lvbiAnZ21sJwogICAgICBXQVJOSU5HOmdhbGF4eS5tb2RlbDpEYXRhdHlwZSBjbGFzcyBub3QgZm91bmQgZm9yIGV4dGVuc2lvbiAnZ21sJwogICAgICBXQVJOSU5HOmdhbGF4eS5tb2RlbDpEYXRhdHlwZSBjbGFzcyBub3QgZm91bmQgZm9yIGV4dGVuc2lvbiAnZ21sJwogICAgICBXQVJOSU5HOmdhbGF4eS5tb2RlbDpEYXRhdHlwZSBjbGFzcyBub3QgZm91bmQgZm9yIGV4dGVuc2lvbiAnZ21sJwogICAgICBXQVJOSU5HOmdhbGF4eS5tb2RlbDpEYXRhdHlwZSBjbGFzcyBub3QgZm91bmQgZm9yIGV4dGVuc2lvbiAnZ21sJwoKICAgICAgYGBgCiAgICAqKlN0YW5kYXJkIE91dHB1dDoqKgoKICAgICogYGBgY29uc29sZQogICAgICBMYXVuY2ggbWV0NGotdG9vbGJveAogICAgICBSZWFkaW5nIFNCTUwuLi4gRG9uZS4KICAgICAgQnVpbGRpbmlnIE5ldHdvcmsuLi4gRG9uZS4KICAgICAgUHJvY2Vzc2luZyBhdG9tIG1hcHBpbmdzLi4uRG9uZS4KICAgICAgU2tpcCBjb21wb3VuZHMgd2l0aCBsZXNzIHRoYW4gdHdvIGNhcmJvbnMgZGV0ZWN0ZWQuLi4KICAgICAgCWRpc2Nvbm5lY3RpbmcgQ08yCiAgICAgIAlkaXNjb25uZWN0aW5nIENPMgogICAgICAgRG9uZS4KICAgICAgRXhwb3J0aW5nLi4uL3RtcC90bXBibmxqaTJzMy9qb2Jfd29ya2luZ19kaXJlY3RvcnkvMDAwLzMvb3V0cHV0cy9nYWxheHlfZGF0YXNldF9mYWViODY2Yy0wOTU5LTQ4MDktYjE3ZC0wMWVkYTZmOTdjODQuZGF0IGNyZWF0ZWQuCiAgICAgICBEb25lLgoKICAgICAgYGBgCiAgICoqSm9iIFBhcmFtZXRlcnM6KioKCiAgICogICB8IEpvYiBwYXJhbWV0ZXIgfCBQYXJhbWV0ZXIgdmFsdWUgfAogICAgICAgfCAtLS0tLS0tLS0tLS0tIHwgLS0tLS0tLS0tLS0tLS0tIHwKICAgICAgIHwga2VlcFNpbmdsZUNhcmJvbiB8IGAgZmFsc2UgYCB8CiAgICAgICB8IG1lcmdlQ29tcCB8IGAgZmFsc2UgYCB8CiAgICAgICB8IG1lcmdlRWRnZXMgfCBgIGZhbHNlIGAgf"..b"iAgICoqSm9iIFBhcmFtZXRlcnM6KioKCiAgICogICB8IEpvYiBwYXJhbWV0ZXIgfCBQYXJhbWV0ZXIgdmFsdWUgfAogICAgICAgfCAtLS0tLS0tLS0tLS0tIHwgLS0tLS0tLS0tLS0tLS0tIHwKICAgICAgIHwgbWVyZ2luZ1N0cmF0IHwgYCAibm8iIGAgfAogICAgICAgfCByZW1vdmVJc29sYXRlZCB8IGAgZmFsc2UgYCB8CiAgICAgICB8IHdlaWdodEZpbGUgfCBgIE5vbmUgYCB8CiAgICAgICB8IHVuZGlyZWN0ZWQgfCBgIGZhbHNlIGAgfAogICAgICAgfCBvdXQgfCBgIGZhbHNlIGAgfAogICAgICAgfCBjaHJvbUluZm8gfCBgICIvdG1wL3RtcDBkMnM1a19sL2dhbGF4eS1kZXYvdG9vbC1kYXRhL3NoYXJlZC91Y3NjL2Nocm9tLz8ubGVuIiBgIHwKICAgICAgIHwgZGJrZXkgfCBgICI/IiBgIHwKICAgICAgIHwgXF9cX2lucHV0XF9leHQgfCBgICJyZGYiIGAgfAoKCgogIDwvZGl2PjwvZGV0YWlscz4KCgoqIDxkZXRhaWxzIGNsYXNzPSJyY29ybmVycyBsaWdodC1ncmVlbiI+PHN1bW1hcnkgY2xhc3M9ImxpZ2h0LWdyZWVuIj4mIzk5ODk7IG1ldDRqX1RvcG9sb2dpY2FsUGF0aHdheUFuYWx5c2lzIChUZXN0ICMyKTwvc3VtbWFyeT48ZGl2IGNsYXNzPSJwYWRkZWQiPgoKICAgICoqQ29tbWFuZCBMaW5lOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIHNoIC91c3IvYmluL21ldDRqLnNoIG5ldHdvcmtBbmFseXNpcy5Ub3BvbG9naWNhbFBhdGh3YXlBbmFseXNpcyAtcyAiL3RtcC90bXAwZDJzNWtfbC9maWxlcy8xLzkvZS9kYXRhc2V0XzE5ZTY3YzkyLWNhMGItNDU3YS04NDM4LTAwMjUzYjIxMDcyZC5kYXQiIC1zYyAiL3RtcC90bXAwZDJzNWtfbC9maWxlcy80L2EvZS9kYXRhc2V0XzRhZTc1MjJjLWIyMGQtNGViZC05Mzg0LTA4MTNkOGZlMzIzNy5kYXQiIC1tYyAiYnlfaWQiIC1yaSAtdW4gLW5vaSAiL3RtcC90bXAwZDJzNWtfbC9maWxlcy82LzQvNy9kYXRhc2V0XzY0NzVlNzAxLTJiODctNGQzMi1iNzFkLTY1OTdmNDcyMWE4NC5kYXQiIC1vdXQgLW8gIi90bXAvdG1wMGQyczVrX2wvam9iX3dvcmtpbmdfZGlyZWN0b3J5LzAwMC8yMjkvb3V0cHV0cy9nYWxheHlfZGF0YXNldF9mZmU3YjI3OC1jMjRmLTRjYmQtYTRlZC1kZjFhZGM2OGQzMWQuZGF0IgogICAgICBgYGAKICAgICoqRXhpdCBDb2RlOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIDAKICAgICAgYGBgCiAgICAqKlN0YW5kYXJkIEVycm9yOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIEVSUk9SIFN0YXR1c0xvZ2dlciBSZWNvbmZpZ3VyYXRpb24gZmFpbGVkOiBObyBjb25maWd1cmF0aW9uIGZvdW5kIGZvciAnNWNiMGQ5MDInIGF0ICdudWxsJyBpbiAnbnVsbCcKICAgICAgVmVyaWZ5aW5nIGVuYWJsZWQgUGx1Z2lucy4uLgogICAgICBQYXJzaW5nIG1vZGVsIFhmbTExNTgKICAgICAgU3RhcnRpbmcgZ3JvdXBzIHBsdWdpbi4uLgogICAgICBTdGFydGluZyBub3RlIHBsdWdpbi4uLgogICAgICBFbmQgUGFyc2luZyBtb2RlbCBYZm0xMTU4CiAgICAgIDEyIGlzb2xhdGVkIG5vZGVzIHJlbW92ZWQgCgogICAgICBgYGAKICAgICoqU3RhbmRhcmQgT3V0cHV0OioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIExhdW5jaCBtZXQ0ai10b29sYm94CiAgICAgIFJlYWRpbmcgU0JNTC4uLiBEb25lLgoKCiAgICAgIEJ1aWxkaW5nIE5ldHdvcmsuLi5SZW1vdmluZyBzaWRlIGNvbXBvdW5kcy4uLgogICAgICA2IGNvbXBvdW5kcyByZW1vdmVkLgogICAgICBDcmVhdGUgVW5kaXJlY3RlZC4uLiBEb25lLgogICAgICBNZXJnaW5nIGNvbXBhcnRtZW50cy4uLiBEb25lLgogICAgICBSZW1vdmUgaXNvbGF0ZWQgbm9kZXMuLi4KICAgICAgCXJlbW92aW5nIEdseWNlcm9waG9zcGhvc2VyaW5lCiAgICAgIAlyZW1vdmluZyBtZXRoYW5lc3VsZm9uYXRlCiAgICAgIAlyZW1vdmluZyBzbl9HbHljZXJvXzNfcGhvc3Bob2Nob2xpbmUKICAgICAgCXJlbW92aW5nIFAxX1A1X0Jpc181X19hZGVub3N5bF9fcGVudGFwaG9zcGhhdGUKICAgICAgCXJlbW92aW5nIE1fc19jCiAgICAgIAlyZW1vdmluZyBNX2N5c19EX2MKICAgICAgCXJlbW92aW5nIE1fbWV0X0RfYwogICAgICAJcmVtb3ZpbmcgRF9HbHljZXJhbGRlaHlkZQogICAgICAJcmVtb3Zpbmcgc25fR2x5Y2Vyb18zX3Bob3NwaG9fMV9pbm9zaXRvbAogICAgICAJcmVtb3Zpbmcgc25fR2x5Y2Vyb18zX3Bob3NwaG9ldGhhbm9sYW1pbmUKICAgICAgCXJlbW92aW5nIEdseWNlcm9waG9zcGhvZ2x5Y2Vyb2wKICAgICAgCXJlbW92aW5nIFAxX1A0X0Jpc181X19hZGVub3N5bF9fdGV0cmFwaG9zcGhhdGUKICAgICAgIERvbmUuCiAgICAgICBOZXR3b3JrIHN1Y2Nlc3NmdWxseSBjcmVhdGVkLgoKCiAgICAgIEltcG9ydGluZyBub2RlcyBvZiBpbnRlcmVzdAogICAgICBEb25lLgogICAgICBDb21wdXRpbmcgUGF0aHdheSB0b3BvbG9neSBBbmFseXNpcy4uLiAobWF5IHRha2UgYSB3aGlsZSkKICAgICAgRG9uZS4KICAgICAgRXhwb3J0aW5nLi4uRG9uZS4KCiAgICAgIGBgYAogICAqKkpvYiBQYXJhbWV0ZXJzOioqCgogICAqICAgfCBKb2IgcGFyYW1ldGVyIHwgUGFyYW1ldGVyIHZhbHVlIHwKICAgICAgIHwgLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0tLSB8CiAgICAgICB8IG1lcmdpbmdTdHJhdCB8IGAgImJ5X2lkIiBgIHwKICAgICAgIHwgcmVtb3ZlSXNvbGF0ZWQgfCBgIHRydWUgYCB8CiAgICAgICB8IHdlaWdodEZpbGUgfCBgIE5vbmUgYCB8CiAgICAgICB8IHVuZGlyZWN0ZWQgfCBgIHRydWUgYCB8CiAgICAgICB8IG91dCB8IGAgdHJ1ZSBgIHwKICAgICAgIHwgY2hyb21JbmZvIHwgYCAiL3RtcC90bXAwZDJzNWtfbC9nYWxheHktZGV2L3Rvb2wtZGF0YS9zaGFyZWQvdWNzYy9jaHJvbS8/LmxlbiIgYCB8CiAgICAgICB8IGRia2V5IHwgYCAiPyIgYCB8CiAgICAgICB8IFxfXF9pbnB1dFxfZXh0IHwgYCAicmRmIiBgIHwKCgoKICA8L2Rpdj48L2RldGFpbHM+CgoKPC9kZXRhaWxzPgo='));\n     </script>\n   </body>\n </html>\n\\ No newline at end of file\n"
b
diff -r 1436e9cde9c9 -r 1274e2a62479 tools/mapping/ORApathwayEnrichment/ORApathwayEnrichment.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/mapping/ORApathwayEnrichment/ORApathwayEnrichment.xml Wed Jul 26 15:33:45 2023 +0000
[
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<tool id="met4j_ORApathwayEnrichment" name="ORApathwayEnrichment" version="MET4J_VERSION_TEST">
+  <description>Perform Over Representation Analysis for Pathway Enrichment, using one-tailed exact Fisher Test.
+The fisher exact test compute the probability p to randomly get the given set of value. 
+This version compute the probability to get at least the given overlap between the given set and the given modality :
+Sum the hypergeometric probability with increasing target/query intersection cardinality.
+
+The hypergeometric probability is computed from the following contingency table entries.
+(value in cells correspond to the marginal totals of each intersection groups)
+ Query !Query
+ Target a b
+ !Target c d
+
+The probability of obtaining the set of value is computed as following:
+p = ((a+b)!(c+d)!(a+c)!(b+d)!)/(a!b!c!d!(a+b+c+d)!)
+
+The obtained p-value is then adjusted for multiple testing using one of the following methods:
+ - Bonferroni: adjusted p-value = p*n
+ - Benjamini-Hochberg: adjusted p-value = p*n/k
+ - Holm-Bonferroni: adjusted p-value = p*(n+1-k)
+n : number of tests; k : pvalue rank</description>
+  <xrefs>
+    <xref type="bio.tools">met4j</xref>
+  </xrefs>
+  <requirements>
+    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:MET4J_VERSION_TEST</container>
+  </requirements>
+  <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh mapping.ORApathwayEnrichment#if str($th) != 'nan':
+ -th "$th"
+#end if
+ -s "$sbml"
+ -i "$input"
+#if str($corr):
+ -c "$corr"
+#end if
+ -o "$outputFile"
+]]></command>
+  <inputs>
+    <param argument="-th" label="threshold to select significant pathways. No filtering if &lt;=0" name="th" optional="true" type="float" value="0.0"/>
+    <param argument="-s" format="sbml" label="Input model : SBML file with pathway annotation" name="sbml" optional="false" type="data" value=""/>
+    <param argument="-i" format="tsv" label="Input data : Compounds of interest file, as one SBML specie identifier per line" name="input" optional="false" type="data" value=""/>
+    <param argument="-c" label="Method for multiple testing p-value adjustment." name="corr" optional="true" type="select" value="BenjaminiHochberg">
+      <option value="Bonferroni">Bonferroni</option>
+      <option selected="true" value="BenjaminiHochberg">BenjaminiHochberg</option>
+      <option value="HolmBonferroni">HolmBonferroni</option>
+    </param>
+  </inputs>
+  <outputs>
+    <data format="tsv" name="outputFile"/>
+  </outputs>
+  <tests>
+  <test>
+      <param name="sbml" value="XF_network.sbml"/>
+      <param name="input" value="XF_network_C_NOI.txt"/>
+      <output name="outputFile">
+        <assert_contents>
+          <has_n_columns n="3"/>
+          <has_n_lines n="3"/>
+        </assert_contents>
+      </output>
+    </test>
+    <test>
+      <param name="sbml" value="XF_network.sbml"/>
+      <param name="input" value="XF_network_C_NOI.txt"/>
+      <param name="corr" value="HolmBonferroni"/>
+      <param name="th" value="0.005"/>
+      <output name="outputFile">
+        <assert_contents>
+          <has_n_columns n="3"/>
+          <has_n_lines n="2"/>
+        </assert_contents>
+      </output>
+    </test>
+    </tests>
+  <help><![CDATA[Perform Over Representation Analysis for Pathway Enrichment, using one-tailed exact Fisher Test.]]></help>
+  <citations/>
+</tool>
b
diff -r 1436e9cde9c9 -r 1274e2a62479 tools/mapping/ORApathwayEnrichment/test-data/XF_network.sbml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/mapping/ORApathwayEnrichment/test-data/XF_network.sbml Wed Jul 26 15:33:45 2023 +0000
b
b'@@ -0,0 +1,47267 @@\n+<?xml version="1.0" encoding="UTF-8"?>\n+<sbml fbc:required="false" groups:required="false" level="3" version="2" xmlns="http://www.sbml.org/sbml/level3/version2/core" xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="http://www.sbml.org/sbml/level3/version1/groups/version1">\n+  <model fbc:strict="true" id="Xfm1158" metaid="Xfm1158" name="Xfm1158">\n+    <fbc:listOfGeneProducts>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_007090" fbc:label="XFCFBP8418_007090" fbc:name="XFCFBP8418_007090" metaid="_8a7d7180-d79e-4dbb-86ed-f8d7eb60e698"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_005900" fbc:label="XFCFBP8418_005900" fbc:name="XFCFBP8418_005900" metaid="_867487dd-ff57-4e93-8de9-b5ecb805e0eb"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_011590" fbc:label="XFCFBP8418_011590" fbc:name="XFCFBP8418_011590" metaid="_44606760-936c-4585-b40c-650e953a5f73"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_014620" fbc:label="XFCFBP8418_014620" fbc:name="XFCFBP8418_014620" metaid="da273da9-0f84-4615-a464-2ab71416e8cc"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_015830" fbc:label="XFCFBP8418_015830" fbc:name="XFCFBP8418_015830" metaid="_3a9239a2-8e23-4834-99a8-a7dc15f6d906"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_014980" fbc:label="XFCFBP8418_014980" fbc:name="XFCFBP8418_014980" metaid="_7f26806b-e32e-4c5c-a78d-9e094c267bbf"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_020190" fbc:label="XFCFBP8418_020190" fbc:name="XFCFBP8418_020190" metaid="_31bbb514-1d52-4727-91cb-367af12e95ca"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_004940" fbc:label="XFCFBP8418_004940" fbc:name="XFCFBP8418_004940" metaid="a2f20753-c245-477e-8363-8f5e45c50f5d"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_021160" fbc:label="XFCFBP8418_021160" fbc:name="XFCFBP8418_021160" metaid="_844bdacc-d091-457d-9c4d-846cb9aab3c1"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_025760" fbc:label="XFCFBP8418_025760" fbc:name="XFCFBP8418_025760" metaid="fd8a601e-e56f-4263-9aa7-6ed9bf85f958"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_024670" fbc:label="XFCFBP8418_024670" fbc:name="XFCFBP8418_024670" metaid="_2bbe03ce-c814-417a-b9c0-e8a1f29f4106"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_004820" fbc:label="XFCFBP8418_004820" fbc:name="XFCFBP8418_004820" metaid="_41cb6d94-13d8-461e-a217-29a68e21cd2b"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_023580" fbc:label="XFCFBP8418_023580" fbc:name="XFCFBP8418_023580" metaid="_31ff72d7-4e30-4563-85aa-4afc58dd6bee"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_000460" fbc:label="XFCFBP8418_000460" fbc:name="XFCFBP8418_000460" metaid="d7ea14e6-cd6c-4404-b973-486ade662242"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_026730" fbc:label="XFCFBP8418_026730" fbc:name="XFCFBP8418_026730" metaid="e876348e-787e-4f2a-8904-e675c2589c17"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_025640" fbc:label="XFCFBP8418_025640" fbc:name="XFCFBP8418_025640" metaid="b5b93812-bd2e-4ca8-8328-e1d35e17ac3a"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_023100" fbc:label="XFCFBP8418_023100" fbc:name="XFCFBP8418_023100" metaid="f62e0096-7b12-4db3-a7b0-2e1cfa0302c6"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_027800" fbc:label="XFCFBP8418_027800" fbc:name="XFCFBP8418_027800" metaid="_8beb93ba-34a4-4330-86bf-2c47b1cb7f2e"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_004700" fbc:label="XFCFBP8418_004700" fbc:name="XFCFBP8418_004700" metaid="_2aceabe8-5294-42eb-9d3b-2506634c68d5"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_005910" fbc:label="XFCFBP8418_005910" fbc:name="XFCFBP8418_005910" metaid="a7b44241-024e-49c1-88af-1e1108cf09eb"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_013540" fbc:label="XFCFBP8418_013540" fbc:name="XFCFBP8418_013540" metaid="_83bdba7b-0eb0-4dfb-99ed-6e365240d870"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_011240" fbc:label="XFCFBP8418_011240" fbc:name="XFCFBP8418_011240" metaid="_568b9959-99b6-49bd-86d7-04e773d940da"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_012210" fbc:label="XFCFBP8418_01221'..b'     </annotation>\n+        <fbc:geneProductAssociation>\n+          <fbc:geneProductRef fbc:geneProduct="XFCFBP8418_010590"/>\n+        </fbc:geneProductAssociation>\n+        <listOfReactants>\n+          <speciesReference constant="true" species="M_cyst_L_c" stoichiometry="1"/>\n+          <speciesReference constant="true" species="M_h2o_c" stoichiometry="1"/>\n+        </listOfReactants>\n+        <listOfProducts>\n+          <speciesReference constant="true" species="M_2obut_c" stoichiometry="1"/>\n+          <speciesReference constant="true" species="M_cys_L_c" stoichiometry="1"/>\n+          <speciesReference constant="true" species="M_nh4_c" stoichiometry="1"/>\n+        </listOfProducts>\n+      </reaction>\n+      <reaction fbc:lowerFluxBound="LOWER_BOUND_99999_0" fbc:upperFluxBound="UPPER_BOUND_99999_0" id="R_FUCtpp" metaid="_34363cfc-fa7f-4df4-a073-49f5befcdf50" name="R_FUCtpp" reversible="true">\n+        <notes>\n+          <body xmlns="http://www.w3.org/1999/xhtml">\n+            <p>GENE_ASSOCIATION: XFCFBP8418_018650</p>\n+            <p>SUBSYSTEM: Transport__Inner_Membrane</p>\n+            <p>EC_NUMBER: No_Assignment</p>\n+          </body>\n+        </notes>\n+        <annotation>\n+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">\n+            <rdf:Description rdf:about="#_34363cfc-fa7f-4df4-a073-49f5befcdf50">\n+              <bqbiol:is>\n+                <rdf:Bag>\n+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/No_Assignment"/>\n+                </rdf:Bag>\n+              </bqbiol:is>\n+            </rdf:Description>\n+          </rdf:RDF>\n+        </annotation>\n+        <fbc:geneProductAssociation>\n+          <fbc:geneProductRef fbc:geneProduct="XFCFBP8418_018650"/>\n+        </fbc:geneProductAssociation>\n+        <listOfReactants>\n+          <speciesReference constant="true" species="M_h_p" stoichiometry="1"/>\n+          <speciesReference constant="true" species="M_fuc_L_p" stoichiometry="1"/>\n+        </listOfReactants>\n+        <listOfProducts>\n+          <speciesReference constant="true" species="M_fuc_L_c" stoichiometry="1"/>\n+          <speciesReference constant="true" species="M_h_c" stoichiometry="1"/>\n+        </listOfProducts>\n+      </reaction>\n+      <reaction fbc:lowerFluxBound="LOWER_BOUND_0_0" fbc:upperFluxBound="UPPER_BOUND_99999_0" id="R_FACOAE120" metaid="_2691931b-9cfe-40d9-95d9-13e4ed057413" name="R_FACOAE120" reversible="false">\n+        <notes>\n+          <body xmlns="http://www.w3.org/1999/xhtml">\n+            <p>GENE_ASSOCIATION: XFCFBP8418_025070</p>\n+            <p>SUBSYSTEM: Cell_Envelope_Biosynthesis</p>\n+            <p>EC_NUMBER: 3.1.2.20</p>\n+          </body>\n+        </notes>\n+        <annotation>\n+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">\n+            <rdf:Description rdf:about="#_2691931b-9cfe-40d9-95d9-13e4ed057413">\n+              <bqbiol:is>\n+                <rdf:Bag>\n+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.1.2.20"/>\n+                </rdf:Bag>\n+              </bqbiol:is>\n+            </rdf:Description>\n+          </rdf:RDF>\n+        </annotation>\n+        <fbc:geneProductAssociation>\n+          <fbc:geneProductRef fbc:geneProduct="XFCFBP8418_025070"/>\n+        </fbc:geneProductAssociation>\n+        <listOfReactants>\n+          <speciesReference constant="true" species="M_ddcacoa_c" stoichiometry="1"/>\n+          <speciesReference constant="true" species="M_h2o_c" stoichiometry="1"/>\n+        </listOfReactants>\n+        <listOfProducts>\n+          <speciesReference constant="true" species="M_ddca_c" stoichiometry="1"/>\n+          <speciesReference constant="true" species="M_h_c" stoichiometry="1"/>\n+          <speciesReference constant="true" species="M_coa_c" stoichiometry="1"/>\n+        </listOfProducts>\n+      </reaction>\n+    </listOfReactions>\n+  </model>\n+</sbml>\n'
b
diff -r 1436e9cde9c9 -r 1274e2a62479 tools/mapping/ORApathwayEnrichment/test-data/XF_network_C_NOI.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/mapping/ORApathwayEnrichment/test-data/XF_network_C_NOI.txt Wed Jul 26 15:33:45 2023 +0000
b
@@ -0,0 +1,3 @@
+M_histd_c
+M_prbatp_c
+M_xu5p_D_c
b
diff -r 1436e9cde9c9 -r 1274e2a62479 tools/met4j.yml
--- a/tools/met4j.yml Tue Jul 04 10:21:26 2023 +0000
+++ b/tools/met4j.yml Wed Jul 26 15:33:45 2023 +0000
b
@@ -69,6 +69,9 @@
   - name: NameMatcher
     owner: metexplore
     tool_panel_section_id: met4j_mapping
+  - name: ORApathwayEnrichment
+    owner: metexplore
+    tool_panel_section_id: met4j_mapping
   - name: BipartiteDistanceMatrix
     owner: metexplore
     tool_panel_section_id: met4j_networkanalysis
@@ -114,6 +117,9 @@
   - name: PrecursorNetwork
     owner: metexplore
     tool_panel_section_id: met4j_networkanalysis
+  - name: ReactionDistanceMatrix
+    owner: metexplore
+    tool_panel_section_id: met4j_networkanalysis
   - name: ScopeNetwork
     owner: metexplore
     tool_panel_section_id: met4j_networkanalysis
@@ -123,6 +129,9 @@
   - name: SideCompoundsScan
     owner: metexplore
     tool_panel_section_id: met4j_networkanalysis
+  - name: TopologicalPathwayAnalysis
+    owner: metexplore
+    tool_panel_section_id: met4j_networkanalysis
   - name: SbmlCheckBalance
     owner: metexplore
     tool_panel_section_id: met4j_reconstruction
b
diff -r 1436e9cde9c9 -r 1274e2a62479 tools/networkAnalysis/ExtractSubReactionNetwork/ExtractSubReactionNetwork.xml
--- a/tools/networkAnalysis/ExtractSubReactionNetwork/ExtractSubReactionNetwork.xml Tue Jul 04 10:21:26 2023 +0000
+++ b/tools/networkAnalysis/ExtractSubReactionNetwork/ExtractSubReactionNetwork.xml Wed Jul 26 15:33:45 2023 +0000
b
@@ -13,6 +13,9 @@
  $asTable
  -t "$targetPath"
  -sc "$sideCompoundFile"
+#if str($rExclude) != 'None':
+ -re "$rExclude"
+#end if
 #if str($weightFile) != 'None':
  -cw "$weightFile"
 #end if
@@ -29,6 +32,7 @@
     <param argument="-tab" checked="false" falsevalue="" label="Export in tabulated file instead of .GML" name="asTable" truevalue="-tab" type="boolean" value="false"/>
     <param argument="-t" format="txt" label="input targets txt file" name="targetPath" optional="false" type="data" value=""/>
     <param argument="-sc" format="txt" label="a file containing list of side compounds to ignore" name="sideCompoundFile" optional="false" type="data" value=""/>
+    <param argument="-re" format="txt" label="an optional file containing list of reactions to ignore" name="rExclude" optional="true" type="data" value=""/>
     <param argument="-cw" format="tsv" label="an optional file containing weights for reactions pairs" name="weightFile" optional="true" type="data" value=""/>
     <param argument="-k" label="Extract k-shortest paths" name="k" optional="true" type="text" value="1">
       <sanitizer invalid_char="_">
b
diff -r 1436e9cde9c9 -r 1274e2a62479 tools/networkAnalysis/MetaboRank/MetaboRank.xml
--- a/tools/networkAnalysis/MetaboRank/MetaboRank.xml Tue Jul 04 10:21:26 2023 +0000
+++ b/tools/networkAnalysis/MetaboRank/MetaboRank.xml Wed Jul 26 15:33:45 2023 +0000
b
@@ -59,6 +59,7 @@
 The MetaboRank takes a metabolic network and a list of compounds of interest, and provide a score of relevance for all of the other compounds in the network.
 The MetaboRank can, from metabolomics results, be used to fuel a recommender system highlighting interesting compounds to investigate, retrieve missing identification and drive literature mining.
 It is a two dimensional centrality computed from personalized PageRank and CheiRank, with special transition probability and normalization to handle the specificities of metabolic networks.
+For convenience, a one dimensional centrality rank is also computed from the highest rank from PageRank or CheiRank, and using lowest rank as tie-breaker.
 See publication for more information: Frainay et al. MetaboRank: network-based recommendation system to interpret and enrich metabolomics results, Bioinformatics (35-2), https://doi.org/10.1093/bioinformatics/bty577]]></help>
   <citations/>
 </tool>
b
diff -r 1436e9cde9c9 -r 1274e2a62479 tools/networkAnalysis/ReactionDistanceMatrix/ReactionDistanceMatrix.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/networkAnalysis/ReactionDistanceMatrix/ReactionDistanceMatrix.xml Wed Jul 26 15:33:45 2023 +0000
[
@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<tool id="met4j_ReactionDistanceMatrix" name="ReactionDistanceMatrix" version="MET4J_VERSION_TEST">
+  <description>Create a reaction to reaction distance matrix.</description>
+  <xrefs>
+    <xref type="bio.tools">met4j</xref>
+  </xrefs>
+  <requirements>
+    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:MET4J_VERSION_TEST</container>
+  </requirements>
+  <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh networkAnalysis.ReactionDistanceMatrix -i "$inputPath"
+#if str($sideCompoundFile) != 'None':
+ -sc "$sideCompoundFile"
+#end if
+ $degree
+#if str($rExclude) != 'None':
+ -re "$rExclude"
+#end if
+#if str($rxnFile) != 'None':
+ -s "$rxnFile"
+#end if
+#if str($weightFile) != 'None':
+ -w "$weightFile"
+#end if
+ $undirected
+ -o "$outputPath"
+]]></command>
+  <inputs>
+    <param argument="-i" format="sbml" label="input SBML file" name="inputPath" optional="false" type="data" value=""/>
+    <param argument="-sc" format="txt" label="an optional file containing list of side compounds to ignore" name="sideCompoundFile" optional="true" type="data" value=""/>
+    <param argument="-dw" checked="false" falsevalue="" label="penalize traversal of hubs by using degree square weighting (-w must not be set)" name="degree" truevalue="-dw" type="boolean" value="false"/>
+    <param argument="-re" format="txt" label="an optional file containing list of reactions to ignore" name="rExclude" optional="true" type="data" value=""/>
+    <param argument="-s" format="txt" label="an optional file containing list of reactions of interest." name="rxnFile" optional="true" type="data" value=""/>
+    <param argument="-w" format="tsv" label="an optional file containing weights for compound pairs" name="weightFile" optional="true" type="data" value=""/>
+    <param argument="-u" checked="false" falsevalue="" label="Ignore reaction direction" name="undirected" truevalue="-u" type="boolean" value="false"/>
+  </inputs>
+  <outputs>
+    <data format="csv" name="outputPath"/>
+  </outputs>
+  <tests>
+    <test>
+      <param name="inputPath" value="toy_model.xml"/>
+      <output ftype="csv" name="outputPath">
+        <assert_contents>
+          <has_n_lines n="8"/>
+          <has_line_matching expression="id,reac1,reac2,reac3,reac4,reac5,reac6,reac7" n="1"/>
+          <has_line_matching expression="reac1,0.0,1.0,1.0,2.0,3.0,Infinity,Infinity" n="1"/>
+          <has_line_matching expression="reac2,Infinity,0.0,1.0,1.0,2.0,Infinity,Infinity" n="1"/>
+        </assert_contents>
+      </output>
+    </test>
+    <test>
+      <param name="inputPath" value="toy_model.xml"/>
+      <param name="undirected" value="true"/>
+      <output ftype="csv" name="outputPath">
+        <assert_contents>
+          <has_n_lines n="8"/>
+          <has_line_matching expression="id,reac1,reac2,reac3,reac4,reac5,reac6,reac7" n="1"/>
+          <has_line_matching expression="reac1,0.0,1.0,1.0,2.0,3.0,5.0,4.0" n="1"/>
+          <has_line_matching expression="reac2,1.0,0.0,1.0,1.0,2.0,4.0,3.0" n="1"/>
+        </assert_contents>
+      </output>
+    </test>
+    <test>
+      <param name="inputPath" value="toy_model.xml"/>
+      <param name="undirected" value="true"/>
+      <param name="sideCompoundFile" value="sides.txt"/>
+      <output ftype="csv" name="outputPath">
+        <assert_contents>
+          <has_n_lines n="8"/>
+          <has_line_matching expression="id,reac1,reac2,reac3,reac4,reac5,reac6,reac7" n="1"/>
+          <has_line_matching expression="reac1,0.0,1.0,1.0,2.0,3.0,5.0,4.0" n="1"/>
+          <has_line_matching expression="reac2,1.0,0.0,1.0,2.0,3.0,5.0,4.0" n="1"/>
+          <has_line_matching expression="reac3,1.0,1.0,0.0,1.0,2.0,4.0,3.0" n="1"/>
+          <has_line_matching expression="reac4,2.0,2.0,1.0,0.0,1.0,3.0,2.0" n="1"/>
+        </assert_contents>
+      </output>
+    </test>
+    <test>
+      <param name="inputPath" value="toy_model.xml"/>
+      <param name="undirected" value="true"/>
+      <param name="rExclude" value="rexclude.txt"/>
+      <output ftype="csv" name="outputPath">
+        <assert_contents>
+          <has_n_lines n="6"/>
+          <has_line_matching expression="id,reac1,reac2,reac3,reac4,reac5" n="1"/>
+          <has_line_matching expression="reac1,0.0,1.0,1.0,2.0,3.0" n="1"/>
+          <has_line_matching expression="reac2,1.0,0.0,1.0,1.0,2.0" n="1"/>
+          <has_line_matching expression="reac3,1.0,1.0,0.0,1.0,2.0" n="1"/>
+          <has_line_matching expression="reac4,2.0,1.0,1.0,0.0,1.0" n="1"/>
+          <has_line_matching expression="reac5,3.0,2.0,2.0,1.0,0.0" n="1"/>
+        </assert_contents>
+      </output>
+    </test>
+    <test>
+      <param name="inputPath" value="toy_model.xml"/>
+      <param name="undirected" value="true"/>
+      <param name="sideCompoundFile" value="sides.txt"/>
+      <param name="rExclude" value="rexclude.txt"/>
+      <output ftype="csv" name="outputPath">
+        <assert_contents>
+          <has_n_lines n="6"/>
+          <has_line_matching expression="id,reac1,reac2,reac3,reac4,reac5" n="1"/>
+          <has_line_matching expression="reac1,0.0,1.0,1.0,2.0,3.0" n="1"/>
+          <has_line_matching expression="reac2,1.0,0.0,1.0,2.0,3.0" n="1"/>
+          <has_line_matching expression="reac3,1.0,1.0,0.0,1.0,2.0" n="1"/>
+          <has_line_matching expression="reac4,2.0,2.0,1.0,0.0,1.0" n="1"/>
+          <has_line_matching expression="reac5,3.0,3.0,2.0,1.0,0.0" n="1"/>
+        </assert_contents>
+      </output>
+    </test>
+    <test>
+      <param name="inputPath" value="toy_model.xml"/>
+      <param name="sideCompoundFile" value="sides.txt"/>
+      <param name="rExclude" value="rexclude.txt"/>
+      <output ftype="csv" name="outputPath">
+        <assert_contents>
+          <has_n_lines n="6"/>
+          <has_line_matching expression="id,reac1,reac2,reac3,reac4,reac5" n="1"/>
+          <has_line_matching expression="reac1,0.0,1.0,1.0,2.0,3.0" n="1"/>
+          <has_line_matching expression="reac2,Infinity,0.0,1.0,2.0,3.0" n="1"/>
+          <has_line_matching expression="reac3,Infinity,Infinity,0.0,1.0,2.0" n="1"/>
+          <has_line_matching expression="reac4,Infinity,Infinity,Infinity,0.0,1.0" n="1"/>
+          <has_line_matching expression="reac5,Infinity,Infinity,Infinity,Infinity,0.0" n="1"/>
+        </assert_contents>
+      </output>
+    </test>
+  </tests>
+  <help><![CDATA[Create a reaction to reaction distance matrix.
+The distance between two reactions is computed as the length of the shortest path connecting the two in the reaction graph, where two reactions are linked if they produce a metabolite consumed by the other or the other way around.
+An optional edge weighting can be used, turning the distances into the sum of edge weights in the lightest path, rather than the length of the shortest path.The default weighting use target's degree squared. Alternatively, custom weighting can be provided in a file. In that case, edges without weight are ignored during path search.
+If no edge weighting is set, it is recommended to provide a list of side compounds to ignore during network traversal.]]></help>
+  <citations/>
+</tool>
b
diff -r 1436e9cde9c9 -r 1274e2a62479 tools/networkAnalysis/ReactionDistanceMatrix/test-data/rexclude.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/networkAnalysis/ReactionDistanceMatrix/test-data/rexclude.txt Wed Jul 26 15:33:45 2023 +0000
b
@@ -0,0 +1,1 @@
+reac7
b
diff -r 1436e9cde9c9 -r 1274e2a62479 tools/networkAnalysis/ReactionDistanceMatrix/test-data/sides.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/networkAnalysis/ReactionDistanceMatrix/test-data/sides.txt Wed Jul 26 15:33:45 2023 +0000
b
@@ -0,0 +1,1 @@
+B
b
diff -r 1436e9cde9c9 -r 1274e2a62479 tools/networkAnalysis/ReactionDistanceMatrix/test-data/toy_model.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/networkAnalysis/ReactionDistanceMatrix/test-data/toy_model.xml Wed Jul 26 15:33:45 2023 +0000
[
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding='UTF-8' ?>
+<sbml fbc:required="false" groups:required="false" level="3" version="1"
+ xmlns="http://www.sbml.org/sbml/level3/version1/core"
+ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2"
+ xmlns:groups="http://www.sbml.org/sbml/level3/version1/groups/version1">
+ <model fbc:strict="true" name="toy model">
+ <listOfUnitDefinitions>
+ <unitDefinition id="mmol_per_gDW_per_hr" name="mmol_per_gDW_per_hr">
+ <listOfUnits>
+ <unit exponent="-1" kind="gram" multiplier="1" scale="0"/>
+ <unit exponent="1" kind="mole" multiplier="1" scale="-3"/>
+ <unit exponent="-1" kind="second" multiplier="0.00027777" scale="0"/>
+ </listOfUnits>
+ </unitDefinition>
+ </listOfUnitDefinitions>
+ <listOfCompartments>
+ <compartment constant="false" id="c" name="Cytosol"/>
+ <compartment constant="false" id="e" name="Extracellular"/>
+ </listOfCompartments>
+ <listOfSpecies>
+ <species boundaryCondition="false" compartment="e" constant="false" fbc:charge="0" hasOnlySubstanceUnits="false" id="A_ext" name="A_ext">
+ <notes>
+ <body xmlns="http://www.w3.org/1999/xhtml">
+ <p>SMILES: C[C@@H](C(=O)O)NC</p>
+ </body>
+ </notes>
+ <annotation>
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
+ <rdf:Description rdf:about="#A_ext">
+ <bqbiol:is>
+ <in:inchi xmlns:in="https://biomodels.net/inchi">InChI=1S/C2H6O/c1-2-3/h3H,2H2,1H3</in:inchi>
+ </bqbiol:is>
+ </rdf:Description>
+ </rdf:RDF>
+ </annotation>
+
+ </species>
+ <species boundaryCondition="false" compartment="c" constant="false" fbc:charge="0" hasOnlySubstanceUnits="false" id="A" name="A"/>
+ <species boundaryCondition="false" compartment="c" constant="false" fbc:charge="0" hasOnlySubstanceUnits="false" id="B" name="B"/>
+ <species boundaryCondition="false" compartment="c" constant="false" fbc:charge="0" hasOnlySubstanceUnits="false" id="C" name="C"/>
+ <species boundaryCondition="false" compartment="c" constant="false" fbc:charge="0" hasOnlySubstanceUnits="false" id="D" name="D"/>
+ <species boundaryCondition="false" compartment="e" constant="false" fbc:charge="0" hasOnlySubstanceUnits="false" id="D_ext" name="D_ext"/>
+ <species boundaryCondition="false" compartment="e" constant="false" fbc:charge="0" hasOnlySubstanceUnits="false" id="E_ext" name="E_ext"/>
+ <species boundaryCondition="false" compartment="c" constant="false" fbc:charge="0" hasOnlySubstanceUnits="false" id="E" name="E"/>
+ </listOfSpecies>
+ <listOfParameters>
+ <parameter constant="true" id="cobra_default_lb" name="cobra default - lb" sboTerm="SBO:0000626" units="mmol_per_gDW_per_hr" value="-100000.0"/>
+ <parameter constant="true" id="cobra_default_ub" name="cobra default - ub" sboTerm="SBO:0000626" units="mmol_per_gDW_per_hr" value="100000.0"/>
+ <parameter constant="true" id="cobra_0_bound" name="cobra 0 - bound" sboTerm="SBO:0000625" units="mmol_per_gDW_per_hr" value="0.0"/>
+ <parameter constant="true" id="reac1_upper_bound" name="reac1 upper bound" sboTerm="SBO:0000625" units="mmol_per_gDW_per_hr" value="10.0"/>
+ <parameter constant="true" id="reac6_upper_bound" name="reac6 upper bound" sboTerm="SBO:0000625" units="mmol_per_gDW_per_hr" value="3.0"/>
+ <parameter constant="true" id="reac2_upper_bound" name="reac2 upper bound" sboTerm="SBO:0000625" units="mmol_per_gDW_per_hr" value="100000.0"/>
+ <parameter constant="true" id="reac3_upper_bound" name="reac3 upper bound" sboTerm="SBO:0000625" units="mmol_per_gDW_per_hr" value="100000.0"/>
+ <parameter constant="true" id="reac4_upper_bound" name="reac4 upper bound" sboTerm="SBO:0000625" units="mmol_per_gDW_per_hr" value="100000.0"/>
+ <parameter constant="true" id="reac5_upper_bound" name="reac5 upper bound" sboTerm="SBO:0000625" units="mmol_per_gDW_per_hr" value="100000.0"/>
+ <parameter constant="true" id="reac7_upper_bound" name="reac7 upper bound" sboTerm="SBO:0000625" units="mmol_per_gDW_per_hr" value="100000.0"/>
+ </listOfParameters>
+ <listOfReactions>
+ <reaction fast="false" fbc:lowerFluxBound="cobra_0_bound" fbc:upperFluxBound="reac1_upper_bound" id="reac1" name="reac1" reversible="false">
+ <listOfReactants>
+ <speciesReference constant="true" species="A_ext" stoichiometry="1.0"/>
+ </listOfReactants>
+ <listOfProducts>
+ <speciesReference constant="true" species="A" stoichiometry="1.0"/>
+ </listOfProducts>
+ </reaction>
+ <reaction fast="false" fbc:lowerFluxBound="cobra_default_lb" fbc:upperFluxBound="reac2_upper_bound" id="reac2" name="reac2" reversible="true">
+ <listOfReactants>
+ <speciesReference constant="true" species="A" stoichiometry="1.0"/>
+ </listOfReactants>
+ <listOfProducts>
+ <speciesReference constant="true" species="B" stoichiometry="1.0"/>
+ </listOfProducts>
+ </reaction>
+ <reaction fast="false" fbc:lowerFluxBound="cobra_0_bound" fbc:upperFluxBound="reac3_upper_bound" id="reac3" name="reac3" reversible="false">
+ <listOfReactants>
+ <speciesReference constant="true" species="A" stoichiometry="1.0"/>
+ </listOfReactants>
+ <listOfProducts>
+ <speciesReference constant="true" species="C" stoichiometry="1.0"/>
+ </listOfProducts>
+ </reaction>
+ <reaction fast="false" fbc:lowerFluxBound="cobra_0_bound" fbc:upperFluxBound="reac4_upper_bound" id="reac4" name="reac4" reversible="false">
+ <listOfReactants>
+ <speciesReference constant="true" species="B" stoichiometry="1.0"/>
+ <speciesReference constant="true" species="C" stoichiometry="1.0"/>
+ </listOfReactants>
+ <listOfProducts>
+ <speciesReference constant="true" species="D" stoichiometry="1.5"/>
+ </listOfProducts>
+ </reaction>
+ <reaction fast="false" fbc:lowerFluxBound="cobra_0_bound" fbc:upperFluxBound="reac5_upper_bound" id="reac5" name="reac5" reversible="false">
+ <listOfReactants>
+ <speciesReference constant="true" species="D" stoichiometry="1.0"/>
+ </listOfReactants>
+ <listOfProducts>
+ <speciesReference constant="true" species="D_ext" stoichiometry="1.0"/>
+ </listOfProducts>
+ </reaction>
+ <reaction fast="false" fbc:lowerFluxBound="cobra_0_bound" fbc:upperFluxBound="reac6_upper_bound" id="reac6" name="reac6" reversible="false">
+ <listOfReactants>
+ <speciesReference constant="true" species="E_ext" stoichiometry="1.0"/>
+ </listOfReactants>
+ <listOfProducts>
+ <speciesReference constant="true" species="E" stoichiometry="1.0"/>
+ </listOfProducts>
+ </reaction>
+ <reaction fast="false" fbc:lowerFluxBound="cobra_0_bound" fbc:upperFluxBound="reac7_upper_bound" id="reac7" name="reac7" reversible="false">
+ <listOfReactants>
+ <speciesReference constant="true" species="E" stoichiometry="2.0"/>
+ </listOfReactants>
+ <listOfProducts>
+ <speciesReference constant="true" species="D" stoichiometry="1.0"/>
+ </listOfProducts>
+ </reaction>
+ </listOfReactions>
+ </model>
+</sbml>
\ No newline at end of file
b
diff -r 1436e9cde9c9 -r 1274e2a62479 tools/networkAnalysis/ReactionDistanceMatrix/test-data/weights.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/networkAnalysis/ReactionDistanceMatrix/test-data/weights.tsv Wed Jul 26 15:33:45 2023 +0000
b
@@ -0,0 +1,1 @@
+A A_ext 1000
\ No newline at end of file
b
diff -r 1436e9cde9c9 -r 1274e2a62479 tools/networkAnalysis/TopologicalPathwayAnalysis/TopologicalPathwayAnalysis.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/networkAnalysis/TopologicalPathwayAnalysis/TopologicalPathwayAnalysis.xml Wed Jul 26 15:33:45 2023 +0000
[
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<tool id="met4j_TopologicalPathwayAnalysis" name="TopologicalPathwayAnalysis" version="MET4J_VERSION_TEST">
+  <description>Run a Topological Pathway Analysis to identify key pathways based on topological properties of its constituting compounds.</description>
+  <xrefs>
+    <xref type="bio.tools">met4j</xref>
+  </xrefs>
+  <requirements>
+    <container type="singularity">oras://registry.forgemia.inra.fr/metexplore/met4j/met4j-singularity:MET4J_VERSION_TEST</container>
+  </requirements>
+  <command detect_errors="exit_code"><![CDATA[sh /usr/bin/met4j.sh networkAnalysis.TopologicalPathwayAnalysis -s "$inputPath"
+#if str($inputSide) != 'None':
+ -sc "$inputSide"
+#end if
+#if str($mergingStrat):
+ -mc "$mergingStrat"
+#end if
+ $removeIsolated
+#if str($weightFile) != 'None':
+ -cw "$weightFile"
+#end if
+ $undirected
+ -noi "$dataPath"
+ $out
+ -o "$outputPath"
+]]></command>
+  <inputs>
+    <param argument="-s" format="sbml" label="input SBML file" name="inputPath" optional="false" type="data" value=""/>
+    <param argument="-sc" format="txt" label="input Side compound file (recommended)" name="inputSide" optional="true" type="data" value=""/>
+    <param argument="-mc" label="merge compartments. Use names if consistent and unambiguous across compartments, or identifiers if compartment suffix is present (id in form &quot;xxx_y&quot; with xxx as base identifier and y as compartment label)." name="mergingStrat" optional="true" type="select" value="no">
+      <option selected="true" value="no">no</option>
+      <option value="by_name">by_name</option>
+      <option value="by_id">by_id</option>
+    </param>
+    <param argument="-ri" checked="false" falsevalue="" label="remove isolated nodes" name="removeIsolated" truevalue="-ri" type="boolean" value="false"/>
+    <param argument="-cw" format="tsv" label="an optional file containing weights for compound pairs, taken into account for betweenness computation. Edges not found in file will be removed" name="weightFile" optional="true" type="data" value=""/>
+    <param argument="-un" checked="false" falsevalue="" label="the compound graph built from the metabolic network and used for computations will undirected, i.e. the reaction directions won't be taken into account" name="undirected" truevalue="-un" type="boolean" value="false"/>
+    <param argument="-noi" format="txt" label="file containing the list of metabolites of interests (one per line)" name="dataPath" optional="false" type="data" value=""/>
+    <param argument="-out" checked="false" falsevalue="" label="use out-degree as scoring function instead of betweenness (faster computation)" name="out" truevalue="-out" type="boolean" value="false"/>
+  </inputs>
+  <outputs>
+    <data format="tsv" name="outputPath"/>
+  </outputs>
+  <tests>
+    <test>
+      <param name="inputPath" value="XF_network.sbml"/>
+      <param name="dataPath" value="XF_network_C_NOI.txt"/>
+      <param name="inputSide" value="XF_network_C_Side.tab"/>
+      <output name="outputPath">
+        <assert_contents>
+          <has_n_columns n="3"/>
+          <has_n_lines n="3"/>
+        </assert_contents>
+      </output>
+    </test>
+    <test>
+      <param name="inputPath" value="XF_network.sbml"/>
+      <param name="dataPath" value="XF_network_C_NOI.txt"/>
+      <param name="inputSide" value="XF_network_C_Side.tab"/>
+      <param name="undirected" value="true"/>
+      <param name="removeIsolated" value="true"/>
+      <param name="out" value="true"/>
+      <param name="mergingStrat" value="by_id"/>
+      <output name="outputPath">
+        <assert_contents>
+          <has_n_columns n="3"/>
+          <has_n_lines n="3"/>
+        </assert_contents>
+      </output>
+    </test>
+  </tests>
+  <help><![CDATA[Run a Topological Pathway Analysis (TPA) to identify key pathways based on topological properties of its mapped compounds. From a list of compounds of interest, the app compute their betweenness centrality (which quantifies how often a compound acts as a intermediary along the shortest paths between pairs of other compounds in the network, which, if high, suggest a critical role in the overall flow within the network). Each pathway is scored according to the summed centrality of its metabolites found in the dataset. Alternatively to the betweenness, one can make use of the out-degree (the number of outgoing link, i.e. number of direct metabolic product) as a criterion of importance. TPA is complementary to statistical enrichment analysis to ensures a more meaningful interpretation of the data, by taking into account the influence of identified compounds on the structure of the pathways.]]></help>
+  <citations/>
+</tool>
b
diff -r 1436e9cde9c9 -r 1274e2a62479 tools/networkAnalysis/TopologicalPathwayAnalysis/test-data/XF_network.sbml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/networkAnalysis/TopologicalPathwayAnalysis/test-data/XF_network.sbml Wed Jul 26 15:33:45 2023 +0000
b
b'@@ -0,0 +1,47267 @@\n+<?xml version="1.0" encoding="UTF-8"?>\n+<sbml fbc:required="false" groups:required="false" level="3" version="2" xmlns="http://www.sbml.org/sbml/level3/version2/core" xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="http://www.sbml.org/sbml/level3/version1/groups/version1">\n+  <model fbc:strict="true" id="Xfm1158" metaid="Xfm1158" name="Xfm1158">\n+    <fbc:listOfGeneProducts>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_007090" fbc:label="XFCFBP8418_007090" fbc:name="XFCFBP8418_007090" metaid="_8a7d7180-d79e-4dbb-86ed-f8d7eb60e698"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_005900" fbc:label="XFCFBP8418_005900" fbc:name="XFCFBP8418_005900" metaid="_867487dd-ff57-4e93-8de9-b5ecb805e0eb"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_011590" fbc:label="XFCFBP8418_011590" fbc:name="XFCFBP8418_011590" metaid="_44606760-936c-4585-b40c-650e953a5f73"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_014620" fbc:label="XFCFBP8418_014620" fbc:name="XFCFBP8418_014620" metaid="da273da9-0f84-4615-a464-2ab71416e8cc"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_015830" fbc:label="XFCFBP8418_015830" fbc:name="XFCFBP8418_015830" metaid="_3a9239a2-8e23-4834-99a8-a7dc15f6d906"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_014980" fbc:label="XFCFBP8418_014980" fbc:name="XFCFBP8418_014980" metaid="_7f26806b-e32e-4c5c-a78d-9e094c267bbf"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_020190" fbc:label="XFCFBP8418_020190" fbc:name="XFCFBP8418_020190" metaid="_31bbb514-1d52-4727-91cb-367af12e95ca"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_004940" fbc:label="XFCFBP8418_004940" fbc:name="XFCFBP8418_004940" metaid="a2f20753-c245-477e-8363-8f5e45c50f5d"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_021160" fbc:label="XFCFBP8418_021160" fbc:name="XFCFBP8418_021160" metaid="_844bdacc-d091-457d-9c4d-846cb9aab3c1"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_025760" fbc:label="XFCFBP8418_025760" fbc:name="XFCFBP8418_025760" metaid="fd8a601e-e56f-4263-9aa7-6ed9bf85f958"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_024670" fbc:label="XFCFBP8418_024670" fbc:name="XFCFBP8418_024670" metaid="_2bbe03ce-c814-417a-b9c0-e8a1f29f4106"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_004820" fbc:label="XFCFBP8418_004820" fbc:name="XFCFBP8418_004820" metaid="_41cb6d94-13d8-461e-a217-29a68e21cd2b"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_023580" fbc:label="XFCFBP8418_023580" fbc:name="XFCFBP8418_023580" metaid="_31ff72d7-4e30-4563-85aa-4afc58dd6bee"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_000460" fbc:label="XFCFBP8418_000460" fbc:name="XFCFBP8418_000460" metaid="d7ea14e6-cd6c-4404-b973-486ade662242"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_026730" fbc:label="XFCFBP8418_026730" fbc:name="XFCFBP8418_026730" metaid="e876348e-787e-4f2a-8904-e675c2589c17"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_025640" fbc:label="XFCFBP8418_025640" fbc:name="XFCFBP8418_025640" metaid="b5b93812-bd2e-4ca8-8328-e1d35e17ac3a"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_023100" fbc:label="XFCFBP8418_023100" fbc:name="XFCFBP8418_023100" metaid="f62e0096-7b12-4db3-a7b0-2e1cfa0302c6"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_027800" fbc:label="XFCFBP8418_027800" fbc:name="XFCFBP8418_027800" metaid="_8beb93ba-34a4-4330-86bf-2c47b1cb7f2e"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_004700" fbc:label="XFCFBP8418_004700" fbc:name="XFCFBP8418_004700" metaid="_2aceabe8-5294-42eb-9d3b-2506634c68d5"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_005910" fbc:label="XFCFBP8418_005910" fbc:name="XFCFBP8418_005910" metaid="a7b44241-024e-49c1-88af-1e1108cf09eb"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_013540" fbc:label="XFCFBP8418_013540" fbc:name="XFCFBP8418_013540" metaid="_83bdba7b-0eb0-4dfb-99ed-6e365240d870"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_011240" fbc:label="XFCFBP8418_011240" fbc:name="XFCFBP8418_011240" metaid="_568b9959-99b6-49bd-86d7-04e773d940da"/>\n+      <fbc:geneProduct fbc:id="XFCFBP8418_012210" fbc:label="XFCFBP8418_01221'..b'     </annotation>\n+        <fbc:geneProductAssociation>\n+          <fbc:geneProductRef fbc:geneProduct="XFCFBP8418_010590"/>\n+        </fbc:geneProductAssociation>\n+        <listOfReactants>\n+          <speciesReference constant="true" species="M_cyst_L_c" stoichiometry="1"/>\n+          <speciesReference constant="true" species="M_h2o_c" stoichiometry="1"/>\n+        </listOfReactants>\n+        <listOfProducts>\n+          <speciesReference constant="true" species="M_2obut_c" stoichiometry="1"/>\n+          <speciesReference constant="true" species="M_cys_L_c" stoichiometry="1"/>\n+          <speciesReference constant="true" species="M_nh4_c" stoichiometry="1"/>\n+        </listOfProducts>\n+      </reaction>\n+      <reaction fbc:lowerFluxBound="LOWER_BOUND_99999_0" fbc:upperFluxBound="UPPER_BOUND_99999_0" id="R_FUCtpp" metaid="_34363cfc-fa7f-4df4-a073-49f5befcdf50" name="R_FUCtpp" reversible="true">\n+        <notes>\n+          <body xmlns="http://www.w3.org/1999/xhtml">\n+            <p>GENE_ASSOCIATION: XFCFBP8418_018650</p>\n+            <p>SUBSYSTEM: Transport__Inner_Membrane</p>\n+            <p>EC_NUMBER: No_Assignment</p>\n+          </body>\n+        </notes>\n+        <annotation>\n+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">\n+            <rdf:Description rdf:about="#_34363cfc-fa7f-4df4-a073-49f5befcdf50">\n+              <bqbiol:is>\n+                <rdf:Bag>\n+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/No_Assignment"/>\n+                </rdf:Bag>\n+              </bqbiol:is>\n+            </rdf:Description>\n+          </rdf:RDF>\n+        </annotation>\n+        <fbc:geneProductAssociation>\n+          <fbc:geneProductRef fbc:geneProduct="XFCFBP8418_018650"/>\n+        </fbc:geneProductAssociation>\n+        <listOfReactants>\n+          <speciesReference constant="true" species="M_h_p" stoichiometry="1"/>\n+          <speciesReference constant="true" species="M_fuc_L_p" stoichiometry="1"/>\n+        </listOfReactants>\n+        <listOfProducts>\n+          <speciesReference constant="true" species="M_fuc_L_c" stoichiometry="1"/>\n+          <speciesReference constant="true" species="M_h_c" stoichiometry="1"/>\n+        </listOfProducts>\n+      </reaction>\n+      <reaction fbc:lowerFluxBound="LOWER_BOUND_0_0" fbc:upperFluxBound="UPPER_BOUND_99999_0" id="R_FACOAE120" metaid="_2691931b-9cfe-40d9-95d9-13e4ed057413" name="R_FACOAE120" reversible="false">\n+        <notes>\n+          <body xmlns="http://www.w3.org/1999/xhtml">\n+            <p>GENE_ASSOCIATION: XFCFBP8418_025070</p>\n+            <p>SUBSYSTEM: Cell_Envelope_Biosynthesis</p>\n+            <p>EC_NUMBER: 3.1.2.20</p>\n+          </body>\n+        </notes>\n+        <annotation>\n+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">\n+            <rdf:Description rdf:about="#_2691931b-9cfe-40d9-95d9-13e4ed057413">\n+              <bqbiol:is>\n+                <rdf:Bag>\n+                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.1.2.20"/>\n+                </rdf:Bag>\n+              </bqbiol:is>\n+            </rdf:Description>\n+          </rdf:RDF>\n+        </annotation>\n+        <fbc:geneProductAssociation>\n+          <fbc:geneProductRef fbc:geneProduct="XFCFBP8418_025070"/>\n+        </fbc:geneProductAssociation>\n+        <listOfReactants>\n+          <speciesReference constant="true" species="M_ddcacoa_c" stoichiometry="1"/>\n+          <speciesReference constant="true" species="M_h2o_c" stoichiometry="1"/>\n+        </listOfReactants>\n+        <listOfProducts>\n+          <speciesReference constant="true" species="M_ddca_c" stoichiometry="1"/>\n+          <speciesReference constant="true" species="M_h_c" stoichiometry="1"/>\n+          <speciesReference constant="true" species="M_coa_c" stoichiometry="1"/>\n+        </listOfProducts>\n+      </reaction>\n+    </listOfReactions>\n+  </model>\n+</sbml>\n'
b
diff -r 1436e9cde9c9 -r 1274e2a62479 tools/networkAnalysis/TopologicalPathwayAnalysis/test-data/XF_network_C_NOI.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/networkAnalysis/TopologicalPathwayAnalysis/test-data/XF_network_C_NOI.txt Wed Jul 26 15:33:45 2023 +0000
b
@@ -0,0 +1,3 @@
+M_histd_c
+M_prbatp_c
+M_xu5p_D_c
b
diff -r 1436e9cde9c9 -r 1274e2a62479 tools/networkAnalysis/TopologicalPathwayAnalysis/test-data/XF_network_C_Side.tab
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/networkAnalysis/TopologicalPathwayAnalysis/test-data/XF_network_C_Side.tab Wed Jul 26 15:33:45 2023 +0000
b
@@ -0,0 +1,6 @@
+M_atp_c
+M_h2o_c
+M_pi_c
+M_adp_c
+M_ppi_c
+M_h_c
b
diff -r 1436e9cde9c9 -r 1274e2a62479 tools/tool_conf.xml
--- a/tools/tool_conf.xml Tue Jul 04 10:21:26 2023 +0000
+++ b/tools/tool_conf.xml Wed Jul 26 15:33:45 2023 +0000
b
@@ -27,6 +27,7 @@
   <tool file="met4j/convert/Tab2Sbml/Tab2Sbml.xml"/>
   <section id="met4j_mapping" name="Met4J - mapping"/>
   <tool file="met4j/mapping/NameMatcher/NameMatcher.xml"/>
+  <tool file="met4j/mapping/ORApathwayEnrichment/ORApathwayEnrichment.xml"/>
   <section id="met4j_networkanalysis" name="Met4J - networkAnalysis"/>
   <tool file="met4j/networkAnalysis/BipartiteDistanceMatrix/BipartiteDistanceMatrix.xml"/>
   <tool file="met4j/networkAnalysis/CarbonSkeletonNet/CarbonSkeletonNet.xml"/>
@@ -43,9 +44,11 @@
   <tool file="met4j/networkAnalysis/NetworkSummary/NetworkSummary.xml"/>
   <tool file="met4j/networkAnalysis/PathwayNet/PathwayNet.xml"/>
   <tool file="met4j/networkAnalysis/PrecursorNetwork/PrecursorNetwork.xml"/>
+  <tool file="met4j/networkAnalysis/ReactionDistanceMatrix/ReactionDistanceMatrix.xml"/>
   <tool file="met4j/networkAnalysis/ScopeNetwork/ScopeNetwork.xml"/>
   <tool file="met4j/networkAnalysis/SeedsAndTargets/SeedsAndTargets.xml"/>
   <tool file="met4j/networkAnalysis/SideCompoundsScan/SideCompoundsScan.xml"/>
+  <tool file="met4j/networkAnalysis/TopologicalPathwayAnalysis/TopologicalPathwayAnalysis.xml"/>
   <section id="met4j_reconstruction" name="Met4J - reconstruction"/>
   <tool file="met4j/reconstruction/SbmlCheckBalance/SbmlCheckBalance.xml"/>
 </toolbox>