Mercurial > repos > metexplore > met4j_distancematrix
changeset 0:bafffac56b4f draft
planemo upload for repository https://forgemia.inra.fr/metexplore/met4j-galaxy commit e28ca123295d50b85ba872e5a4720fd72697ecc3
| author | metexplore |
|---|---|
| date | Thu, 13 Mar 2025 15:41:50 +0000 |
| parents | |
| children | c5d875dc43ae |
| files | DistanceMatrix.xml macros.xml test-data/sides.txt test-data/toy_model.xml test-data/weights.tsv |
| diffstat | 5 files changed, 209 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DistanceMatrix.xml Thu Mar 13 15:41:50 2025 +0000 @@ -0,0 +1,68 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<tool id="met4j_DistanceMatrix" name="DistanceMatrix" version="@TOOL_VERSION@"> + <description>Create a compound to compound distance matrix.</description> + <macros> + <import>macros.xml</import> + </macros> + <expand macro="bio_tools"/> + <expand macro="requirements"/> + <command detect_errors="exit_code"><![CDATA[met4j fr.inrae.toulouse.metexplore.met4j_toolbox.networkAnalysis.DistanceMatrix -i "$inputPath" +#if str($sideCompoundFile) != 'None': + -sc "$sideCompoundFile" +#end if +#if str($seedFile) != 'None': + -s "$seedFile" +#end if + $degree +#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="-s" format="txt" label="an optional file containing list of compounds of interest. The returned distance matrix contains only the corresponding rows and columns" name="seedFile" 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="-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="9"/> + <has_line_matching expression="id,A,A_ext,B,C,D,D_ext,E,E_ext" n="1"/> + <has_line_matching expression="B,1.0,Infinity,0.0,2.0,1.0,2.0,Infinity,Infinity" n="1"/> + </assert_contents> + </output> + </test> + <test> + <param name="inputPath" value="toy_model.xml"/> + <param name="sideCompoundFile" value="sides.txt"/> + <param name="degree" value="true"/> + <param name="undirected" value="true"/> + <output ftype="csv" name="outputPath"> + <assert_contents> + <has_n_lines n="8"/> + <has_line_matching expression="id,A,B,C,D,D_ext,E,E_ext" n="1"/> + <has_line_matching expression="A,0.0,4.0,4.0,20.0,21.0,24.0,25.0" n="1"/> + <has_line_matching expression="B,4.0,0.0,8.0,16.0,17.0,20.0,21.0" n="1"/> + <has_line_matching expression="C,4.0,8.0,0.0,16.0,17.0,20.0,21.0" n="1"/> + <has_line_matching expression="D,8.0,4.0,4.0,0.0,1.0,4.0,5.0" n="1"/> + </assert_contents> + </output> + </test> + </tests> + <help><![CDATA[Create a compound to compound distance matrix. +The distance between two compounds is computed as the length of the shortest path connecting the two in the compound graph, where two compounds are linked if they are respectively substrate and product of the same reaction. +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. +@ATTRIBUTION@]]></help> + <citations/> +</tool>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/macros.xml Thu Mar 13 15:41:50 2025 +0000 @@ -0,0 +1,20 @@ +<?xml version="1.0"?> +<macros> + <xml name="requirements"> + <requirements> + <requirement type="package" version="2.0.1">met4j</requirement> + <yield/> + </requirements> + </xml> + <xml name="bio_tools"> + <xrefs> + <xref type="bio.tools">met4j</xref> + </xrefs> + </xml> + <token name="@TOOL_VERSION@">2.0.1</token> + <token name="@ATTRIBUTION@"><![CDATA[ +**Attribution** + +This Galaxy tool relies on the met4j toolkit which is dedicated to the structural analysis of metabolic networks (https://forgemia.inra.fr/metexplore/met4j) + ]]></token> +</macros> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/sides.txt Thu Mar 13 15:41:50 2025 +0000 @@ -0,0 +1,1 @@ +A_ext \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/toy_model.xml Thu Mar 13 15:41:50 2025 +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
