Repository 'straindesign_simulate_deletion'
hg clone https://toolshed.g2.bx.psu.edu/repos/iuc/straindesign_simulate_deletion

Changeset 0:33c6ffbd098f (2022-10-02)
Next changeset 1:1128f1e17c37 (2023-02-20)
Commit message:
planemo upload for repository https://github.com/brsynth/straindesign commit 593e182e67109bd8649ddec5bf5b97d1a4531b3f
added:
macros.xml
simulate-deletion.xml
test-data/butanol.tsv
test-data/butanol.xml
test-data/iAF1260.xml.gz
test-data/simulate_deletion.butanol.iAF1260.tsv
b
diff -r 000000000000 -r 33c6ffbd098f macros.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/macros.xml Sun Oct 02 19:26:40 2022 +0000
[
@@ -0,0 +1,97 @@
+<macros>
+    <!--  GLOBAL  -->
+    <token name="@TOOL_VERSION@">3.1.0</token>
+    <token name="@VERSION_SUFFIX@">1</token>
+    <token name="@LICENSE@">MIT</token>
+    <xml name="requirements">
+        <requirements>
+            <requirement type="package" version="@TOOL_VERSION@">straindesign</requirement>
+            <yield/>
+        </requirements>
+    </xml>
+    <xml name="stdio">
+        <stdio>
+            <regex match="WARNING" level="warning" />
+            <regex match="ERROR" level="fatal" />
+        </stdio>
+    </xml>
+    <xml name="citation">
+        <citations>
+            <citation type="doi">10.1038/s41467-022-32661-x</citation>
+        </citations>
+    </xml>
+    <xml name="creator">
+        <creator>
+            <organization name="BioRetroSynth" url="https://github.com/brsynth"/>
+        </creator>
+    </xml>
+    <xml name="env_variables">
+        <environment_variables>
+            <environment_variable name="XDG_CACHE_HOME">\$_GALAXY_JOB_TMP_DIR</environment_variable>
+            <environment_variable name="USERNAME">\$__user_email__</environment_variable>
+        </environment_variables>
+    </xml>
+
+    <!--  CMDLINE  -->
+<token name="@CMD_INPUT_MODEL@"><![CDATA[
+--input-model-file '$model'
+]]></token>
+<token name="@CMD_INPUT_PATHWAY@"><![CDATA[
+#if $pathway
+--input-pathway-file '$pathway'
+#end if
+]]></token>
+<token name="@CMD_INPUT_MEDIUM@"><![CDATA[
+#if $medium
+    --input-medium-file '$medium'
+#end if
+]]></token>
+<token name="@CMD_BIOMASS_RXN_ID@"><![CDATA[
+--biomass-rxn-id '$biomass_rxn_id'
+]]></token>
+<token name="@CMD_TARGET_RXN_ID@"><![CDATA[
+--target-rxn-id '$target_rxn_id'
+]]></token>
+
+    <!--  INPUT  -->
+    <xml name="input_model_sbml">
+        <param name="model" type="data" format="sbml" label="Model" help="SBML input file, model"/>
+    </xml>
+    <xml name="input_pathway_sbml">
+        <param name="pathway" type="data" format="sbml" optional="True" label="Pathway" help="SBML input file, containing heterologous pathway"/>
+    </xml>
+    <xml name="input_medium_tsv">
+        <param name="medium" type="data" format="tabular" optional="True" label="Medium file" help="TSV input file, no header, with three columns: reaction_id, lower_bound, upper_bound"/>
+    </xml>
+    <xml name="input_biomass_rxn_id">
+        <param name="biomass_rxn_id" type="text" value="" label="Biomass reaction ID" help="Reaction ID contains no special characters">
+            <validator type="empty_field" message="Biomass reaction ID is required"/>
+            <validator type="regex" message="No special characters allowed">^(?:[a-zA-Z_])(?:[\w.-])*$</validator>
+        </param>
+    </xml>
+    <xml name="input_target_rxn_id">
+        <param name="target_rxn_id" type="text" value="" label="Target reaction ID" help="Reaction ID contains no special characters">
+            <validator type="empty_field" message="Target reaction ID is required"/>
+            <validator type="regex" message="No special characters allowed">^(?:[a-zA-Z_])(?:[\w.-])*$</validator>
+        </param>
+    </xml>
+    <xml name="input_substrate_rxn_id">
+        <param name="substrate_rxn_id" type="text" value="" label="Substrate reaction ID" help="Reaction ID contains no special characters">
+            <validator type="empty_field" message="Target reaction ID is required"/>
+            <validator type="regex" message="No special characters allowed">^(?:[a-zA-Z_])(?:[\w.-])*$</validator>
+        </param>
+    </xml>
+
+    <!--  HELP -->
+<token name="@HELP_TITLE@"><![CDATA[
+StrainDesign
+============
+]]></token>
+<token name="@HELP_LINK@"><![CDATA[
+Project Links
+-------------
+
+* `straindesign <https://github.com/brsynth/straindesign>`_
+* `cameo <https://github.com/biosustain/cameo>`_
+]]></token>
+</macros>
b
diff -r 000000000000 -r 33c6ffbd098f simulate-deletion.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/simulate-deletion.xml Sun Oct 02 19:26:40 2022 +0000
[
@@ -0,0 +1,96 @@
+<tool id="straindesign_simulate_deletion" name="StrainDesign simulate-deletion" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" license="@LICENCE@">
+    <description>Search genes to delete in a biological model</description>
+    <macros>
+        <import>macros.xml</import>
+    </macros>
+    <expand macro="requirements"/>
+    <expand macro="stdio"/>
+    <command detect_errors="exit_code"><![CDATA[
+        python -m straindesign simulate-deletion
+            @CMD_INPUT_MODEL@
+            @CMD_INPUT_PATHWAY@
+            @CMD_INPUT_MEDIUM@
+            @CMD_BIOMASS_RXN_ID@
+            @CMD_TARGET_RXN_ID@
+            --strategy '$input_strategy.strategy'
+            #if str($input_strategy.strategy) == 'ko':
+                --substrate-rxn-id '$input_strategy.substrate_rxn_id'
+                #if $input_strategy.annotate:
+                    --email '$__user_email__'
+                #end if
+            #end if
+            #if str($max_time_cond.max_time_param) == 'yes':
+                --max-time '$max_time_cond.max_time'
+            #end if
+            --max-knockouts '$max_knockouts'
+            --output-file-tsv '$output_tsv'
+    ]]></command>
+    <expand macro="env_variables"/>
+    <inputs>
+        <expand macro="input_model_sbml"/>
+        <expand macro="input_pathway_sbml"/>
+        <expand macro="input_medium_tsv"/>
+        <expand macro="input_biomass_rxn_id"/>
+        <expand macro="input_target_rxn_id"/>
+        <conditional name="input_strategy">
+            <param name="strategy" type="select" label="Strategy" help="Genes or Reactions to delete">
+                <option value="ko" selected="True">Gene knockouts</option>
+                <option value="ou" >Reaction knockouts</option>
+            </param>
+            <when value="ko">
+                <param name="substrate_rxn_id" type="text" value="" label="Substrate reaction ID" help="Reaction ID contains no special characters">
+                    <validator type="empty_field" message="Substrate reaction ID is required"/>
+                    <validator type="regex" message="No special characters allowed">^(?:[a-zA-Z_])(?:[\w.-])*$</validator>
+                </param>
+                <param name="annotate" type="boolean" label="Annotate the genes" checked="false" help="Please agree to use your email for query the NCBI website to annotate the genes"/>
+            </when>
+            <when value="ou">
+            </when>
+        </conditional>
+        <param name="max_knockouts" type="integer" min="1" max="10" value="3" label="Number of items deleted to consider"/>
+        <conditional name="max_time_cond">
+            <param name="max_time_param" type="select" label="Time out" help="Limit scan time">
+                <option value="no" selected="True">no</option>
+                <option value="yes" >yes</option>
+            </param>
+            <when value="yes">
+                <param name="max_time" type="integer" min="5" max="120" value="10" label="minutes"/>
+            </when>
+            <when value="no"/>
+        </conditional>
+    </inputs>
+    <outputs>
+        <data name="output_tsv" format="tabular" label="${tool.name}(${input_strategy.strategy})" />
+    </outputs>
+    <tests>
+        <test>
+            <!--   test 1   -->
+            <param name="model" ftype="sbml" value="iAF1260.xml.gz" />
+            <param name="pathway" ftype="sbml" value="butanol.xml" />
+            <param name="medium" ftype="tabular" value="butanol.tsv" />
+            <param name="biomass_rxn_id" value="BIOMASS_Ec_iAF1260_core_59p81M" />
+            <param name="target_rxn_id" value="EX_1btol_e" />
+            <param name="substrate_rxn_id" value="EX_glc__D_e" />
+            <param name="max_time_param" value="yes"/>
+            <param name="max_time" value="5"/>
+            <output name="output_tsv" ftype="tabular">
+                <assert_contents>
+                    <has_line_matching expression="^reactions\tgenes\tsize\tfva_min\tfva_max\ttarget_flux\tbiomass_flux\tyield\tfitness$"/>
+                </assert_contents>
+            </output>
+        </test>
+    </tests>
+    <help><![CDATA[
+@HELP_TITLE@
+
+This tool helps to identify gene's deletions in a biological model to optimize the reaction of a targeted compound.
+The medium composition can be modified with a TSV file formatted as following: no header, with these columns "reaction id, lower_bound, upper_bound".
+The strategies "ko" and "ou" find genes and reactions respectively to delete.
+
+Disclaimer: if you want to annotate the genes with their names, your email address will be used by the library Biopython to request the NCBI website.
+
+@HELP_LINK@
+    ]]></help>
+    <expand macro="creator"/>
+    <expand macro="citation"/>
+</tool>
b
diff -r 000000000000 -r 33c6ffbd098f test-data/butanol.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/butanol.tsv Sun Oct 02 19:26:40 2022 +0000
b
@@ -0,0 +1,2 @@
+EX_glc__D_e -10.0 10.0
+EX_o2_e -5.0 5.0
b
diff -r 000000000000 -r 33c6ffbd098f test-data/butanol.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/butanol.xml Sun Oct 02 19:26:40 2022 +0000
b
b'@@ -0,0 +1,496 @@\n+<?xml version="1.0" encoding="UTF-8"?>\n+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:groups="http://www.sbml.org/sbml/level3/version1/groups/version1" xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" level="3" version="1" groups:required="false" fbc:required="false">\n+  <model metaid="meta_butanol" id="butanol" fbc:strict="true">\n+    <listOfUnitDefinitions>\n+      <unitDefinition id="mmol_per_gDW_per_hr">\n+        <listOfUnits>\n+          <unit kind="mole" exponent="1" scale="-3" multiplier="1"/>\n+          <unit kind="gram" exponent="-1" scale="0" multiplier="1"/>\n+          <unit kind="second" exponent="-1" scale="0" multiplier="3600"/>\n+        </listOfUnits>\n+      </unitDefinition>\n+    </listOfUnitDefinitions>\n+    <fbc:listOfObjectives fbc:activeObjective="obj">\n+      <fbc:objective fbc:id="obj" fbc:type="maximize">\n+        <fbc:listOfFluxObjectives>\n+          <fbc:fluxObjective fbc:reaction="R_EX_1btol_e" fbc:coefficient="0.5"/>\n+        </fbc:listOfFluxObjectives>\n+      </fbc:objective>\n+    </fbc:listOfObjectives>\n+    <listOfCompartments>\n+      <compartment id="c" name="cytosol" constant="true"/>\n+      <compartment id="p" name="periplasm" constant="true"/>\n+      <compartment id="e" name="extracellular space" constant="true"/>\n+    </listOfCompartments>\n+    <listOfSpecies>\n+      <species metaid="meta_M_co2_e" sboTerm="SBO:0000247" id="M_co2_e" name="CO2 CO2" compartment="e" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="0" fbc:chemicalFormula="CO2">\n+        <annotation>\n+          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:vCard4="http://www.w3.org/2006/vcard/ns#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/">\n+            <rdf:Description rdf:about="#meta_M_co2_e">\n+              <bqbiol:is>\n+                <rdf:Bag>\n+                  <rdf:li rdf:resource="https://identifiers.org/bigg.metabolite/co2"/>\n+                  <rdf:li rdf:resource="https://identifiers.org/biocyc/META:CARBON-DIOXIDE"/>\n+                  <rdf:li rdf:resource="https://identifiers.org/chebi/CHEBI:23011"/>\n+                  <rdf:li rdf:resource="https://identifiers.org/chebi/CHEBI:3283"/>\n+                  <rdf:li rdf:resource="https://identifiers.org/chebi/CHEBI:48829"/>\n+                  <rdf:li rdf:resource="https://identifiers.org/chebi/CHEBI:16526"/>\n+                  <rdf:li rdf:resource="https://identifiers.org/chebi/CHEBI:13283"/>\n+                  <rdf:li rdf:resource="https://identifiers.org/chebi/CHEBI:13285"/>\n+                  <rdf:li rdf:resource="https://identifiers.org/chebi/CHEBI:13284"/>\n+                  <rdf:li rdf:resource="https://identifiers.org/chebi/CHEBI:13282"/>\n+                  <rdf:li rdf:resource="https://identifiers.org/envipath/650babc9-9d68-4b73-9332-11972ca26f7b/compound/2ec3da94-5f50-4525-81b1-5607c5c7a3d3"/>\n+                  <rdf:li rdf:resource="https://identifiers.org/envipath/32de3cf4-e3e6-4168-956e-32fa5ddb0ce1/compound/05f60af4-0a3f-4ead-9a29-33bb0f123379"/>\n+                  <rdf:li rdf:resource="https://identifiers.org/hmdb/HMDB01967"/>\n+                  <rdf:li rdf:resource="https://identifiers.org/inchi_key/CURLTUGMZLYLDI-UHFFFAOYSA-N"/>\n+                  <rdf:li rdf:resource="https://identifiers.org/kegg.compound/C00011"/>\n+                  <rdf:li rdf:resource="https://identifiers.org/kegg.drug/D00004"/>\n+                  <rdf:li rdf:resource="https://identifiers.org/metanetx.chemical/MNXM13"/>\n+                  <rdf:li rdf:resource="https://identifiers.org/reactome.compound/29376"/>\n+                  <rdf:li rdf:resource="https://identifiers.org/reactome.compound/5668565"/>\n+                  <rdf:li rdf:resource="https://identifiers.org/reactome.compound/189480"/>\n+                  <rd'..b'cies="M_b2coa_c" stoichiometry="1" constant="true"/>\n+          <speciesReference species="M_nadh_c" stoichiometry="1" constant="true"/>\n+          <speciesReference species="M_h_c" stoichiometry="1" constant="true"/>\n+        </listOfReactants>\n+        <listOfProducts>\n+          <speciesReference species="M_btcoa_c" stoichiometry="1" constant="true"/>\n+          <speciesReference species="M_nad_c" stoichiometry="1" constant="true"/>\n+        </listOfProducts>\n+      </reaction>\n+      <reaction id="R_ButanalDeh" name="Butanal dehydrogenase" reversible="false" fast="false" fbc:lowerFluxBound="cobra_0_bound" fbc:upperFluxBound="cobra_default_ub">\n+        <listOfReactants>\n+          <speciesReference species="M_btcoa_c" stoichiometry="1" constant="true"/>\n+          <speciesReference species="M_nadh_c" stoichiometry="1" constant="true"/>\n+          <speciesReference species="M_h_c" stoichiometry="1" constant="true"/>\n+        </listOfReactants>\n+        <listOfProducts>\n+          <speciesReference species="M_btal_c" stoichiometry="1" constant="true"/>\n+          <speciesReference species="M_nad_c" stoichiometry="1" constant="true"/>\n+        </listOfProducts>\n+      </reaction>\n+      <reaction id="R_ButanolDeh" name="Butanol dehydrogenase" reversible="false" fast="false" fbc:lowerFluxBound="cobra_0_bound" fbc:upperFluxBound="cobra_default_ub">\n+        <listOfReactants>\n+          <speciesReference species="M_btal_c" stoichiometry="1" constant="true"/>\n+          <speciesReference species="M_nadh_c" stoichiometry="1" constant="true"/>\n+          <speciesReference species="M_h_c" stoichiometry="1" constant="true"/>\n+        </listOfReactants>\n+        <listOfProducts>\n+          <speciesReference species="M_1btol_c" stoichiometry="1" constant="true"/>\n+          <speciesReference species="M_nad_c" stoichiometry="1" constant="true"/>\n+        </listOfProducts>\n+      </reaction>\n+      <reaction id="R_ButOlTrP" name="1-Butanol transporter (periplasm)" reversible="false" fast="false" fbc:lowerFluxBound="cobra_0_bound" fbc:upperFluxBound="cobra_default_ub">\n+        <listOfReactants>\n+          <speciesReference species="M_1btol_c" stoichiometry="1" constant="true"/>\n+          <speciesReference species="M_h_c" stoichiometry="1" constant="true"/>\n+        </listOfReactants>\n+        <listOfProducts>\n+          <speciesReference species="M_1btol_p" stoichiometry="1" constant="true"/>\n+          <speciesReference species="M_h_p" stoichiometry="1" constant="true"/>\n+        </listOfProducts>\n+      </reaction>\n+      <reaction id="R_ButOlTrE" name="1-Butanol transporter (extracellular)" reversible="false" fast="false" fbc:lowerFluxBound="cobra_0_bound" fbc:upperFluxBound="cobra_default_ub">\n+        <listOfReactants>\n+          <speciesReference species="M_1btol_p" stoichiometry="1" constant="true"/>\n+        </listOfReactants>\n+        <listOfProducts>\n+          <speciesReference species="M_1btol_e" stoichiometry="1" constant="true"/>\n+        </listOfProducts>\n+      </reaction>\n+    </listOfReactions>\n+    <groups:listOfGroups>\n+      <groups:group metaid="meta_rp_pathway" groups:id="rp_pathway" groups:kind="collection">\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:BRSynth rdf:about="meta_rp_pathway">\n+              <brsynth:brsynth xmlns:brsynth="http://brsynth.eu"/>\n+            </rdf:BRSynth>\n+          </rdf:RDF>\n+        </annotation>\n+        <groups:listOfMembers>\n+          <groups:member groups:idRef="R_ButCoaDeh"/>\n+          <groups:member groups:idRef="R_ButanalDeh"/>\n+          <groups:member groups:idRef="R_ButanolDeh"/>\n+          <groups:member groups:idRef="R_ButOlTrP"/>\n+          <groups:member groups:idRef="R_ButOlTrE"/>\n+          <groups:member groups:idRef="R_EX_1btol_e"/>\n+        </groups:listOfMembers>\n+      </groups:group>\n+    </groups:listOfGroups>\n+  </model>\n+</sbml>\n'
b
diff -r 000000000000 -r 33c6ffbd098f test-data/iAF1260.xml.gz
b
Binary file test-data/iAF1260.xml.gz has changed
b
diff -r 000000000000 -r 33c6ffbd098f test-data/simulate_deletion.butanol.iAF1260.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/simulate_deletion.butanol.iAF1260.tsv Sun Oct 02 19:26:40 2022 +0000
b
@@ -0,0 +1,6 @@
+reactions genes size fva_min fva_max target_flux biomass_flux yield fitness
+"('ATPS4rpp',)" "(('b3735',), ('b3734',), ('b3736',), ('b3731',), ('b3732',))" 1 0.0 0.00641204819277442 0.0 0.2199110076152308 0.0 0.0
+"('TPI',)" "(('b3919',),)" 1 0.0 0.006455168431418056 0.0 0.0 0.0 0.0
+"('ALAt2pp', 'DSERt2pp', 'DALAt2pp', 'BALAt2pp', 'TPI')" "(('b4208', 'b3919'),)" 2 0.0 0.006455167733784362 0.0 0.0 0.0 0.0
+"('OPHHX', 'TPI')" "(('b3835', 'b3919'),)" 2 0.0 0.006455168423924535 0.0 0.0 0.0 0.0
+"('TPI', 'MTHFC', 'MTHFD')" "(('b0529', 'b3919'),('b3919', 'b0529'))" 2 0.0 0.006455095014414326 0.0 0.0 1.2 0.0