C-CoMP-STC / GEM-mit1002

Creative Commons Attribution 4.0 International
0 stars 0 forks source link

Maintenance reaction #6

Closed hgscott closed 1 year ago

hgscott commented 1 year ago

Check if there is a maintenance reaction, if not add one, just like in https://github.com/C-CoMP-STC/GEM-mit1002-core/issues/1

hgscott commented 1 year ago

I used the find_maintenance_reaction function in GEM-utilities and got no reaction.

hgscott commented 1 year ago

I added the following reaction:

      <reaction metaid="meta_R_ATPM" sboTerm="SBO:0000176" id="R_ATPM" name="ATP maintenance requirement" reversible="false" fast="false" fbc:lowerFluxBound="R_ATPM_lower_bound" fbc:upperFluxBound="cobra_default_ub">
        <annotation>
          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
            <rdf:Description rdf:about="#R_ATPM">
              <bqbiol:is xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
                <rdf:Bag>
                  <rdf:li rdf:resource="http://identifiers.org/bigg.reaction/ATPM"/>
                  <rdf:li rdf:resource="http://identifiers.org/biocyc/META:ATPASE-RXN"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.1.5"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.34"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.20"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.53"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.8"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.32"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.4.12"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.48"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.40"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.9"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.23"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.22"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.54"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.1"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.1.8"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.29"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.17"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.50"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.39"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.19"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.4"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.35"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.16"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.4.4"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.37"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.4.8"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.31"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.6"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.4.5"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.52"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.2"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.14"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.51"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.25"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.38"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.33"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.43"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.4.10"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.4.13"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.3"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.10"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.24"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.44"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.15"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.5"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.1.3"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.1.15"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.4.2"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.4.3"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.42"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.11"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.28"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.30"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.4.1"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.4.11"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.47"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.4.6"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.36"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.21"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.12"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.18"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.26"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.27"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.7"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.4.9"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.4.7"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.46"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.41"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.49"/>
                  <rdf:li rdf:resource="http://identifiers.org/kegg.reaction/R00086"/>
                  <rdf:li rdf:resource="http://identifiers.org/metanetx.reaction/MNXR96131"/>
                  <rdf:li rdf:resource="http://identifiers.org/rhea/13066"/>
                  <rdf:li rdf:resource="http://identifiers.org/rhea/13065"/>
                  <rdf:li rdf:resource="http://identifiers.org/rhea/13068"/>
                  <rdf:li rdf:resource="http://identifiers.org/rhea/13067"/>
                  <rdf:li rdf:resource="http://identifiers.org/sabiork/75"/>
                  <rdf:li rdf:resource="http://identifiers.org/seed.reaction/rxn11300"/>
                  <rdf:li rdf:resource="http://identifiers.org/seed.reaction/rxn09694"/>
                  <rdf:li rdf:resource="http://identifiers.org/seed.reaction/rxn00062"/>
                </rdf:Bag>
              </bqbiol:is>
            </rdf:Description>
          </rdf:RDF>
        </annotation>
        <listOfReactants>
          <speciesReference species="M_cpd00002_c0" stoichiometry="1" constant="true"/>
          <speciesReference species="M_cpd00001_c0" stoichiometry="1" constant="true"/>
        </listOfReactants>
        <listOfProducts>
          <speciesReference species="M_cpd00008_c0" stoichiometry="1" constant="true"/>
          <speciesReference species="M_cpd00067_c0" stoichiometry="1" constant="true"/>
          <speciesReference species="M_cpd00009_c0" stoichiometry="1" constant="true"/>
        </listOfProducts>
        <fbc:geneProductAssociation>
        </fbc:geneProductAssociation>
      </reaction>

I got the annotations from the E. coli BiGG model.

And a parameter for the bound, so the full parameters for the model are:

    <listOfParameters>
      <parameter sboTerm="SBO:0000626" id="cobra_default_lb" value="-1000" constant="true"/>
      <parameter sboTerm="SBO:0000626" id="cobra_default_ub" value="1000" constant="true"/>
      <parameter sboTerm="SBO:0000626" id="cobra_0_bound" value="0" constant="true"/>
      <parameter sboTerm="SBO:0000626" id="minus_inf" value="-INF" constant="true"/>
      <parameter sboTerm="SBO:0000626" id="plus_inf" value="INF" constant="true"/>
      <parameter sboTerm="SBO:0000625" id="R_ATPM_lower_bound" value="3.15" constant="true" units="mmol_per_gDW_per_hr"/>
    </listOfParameters>
hgscott commented 1 year ago

That was not valid SBML (you can check using cobra.io.sbml.validate_sbml_model()), I fixed the reaction to be:

      <reaction metaid="meta_R_ATPM" sboTerm="SBO:0000176" id="R_ATPM" name="ATP maintenance requirement" reversible="false" fast="false" fbc:lowerFluxBound="R_ATPM_lower_bound" fbc:upperFluxBound="cobra_default_ub">
        <annotation>
          <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
            <rdf:Description rdf:about="#meta_R_ATPM">
              <bqbiol:is xmlns:bqbiol="http://biomodels.net/biology-qualifiers/">
                <rdf:Bag>
                  <rdf:li rdf:resource="http://identifiers.org/bigg.reaction/ATPM"/>
                  <rdf:li rdf:resource="http://identifiers.org/biocyc/META:ATPASE-RXN"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.1.5"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.34"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.20"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.53"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.8"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.32"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.4.12"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.48"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.40"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.9"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.23"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.22"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.54"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.1"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.1.8"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.29"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.17"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.50"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.39"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.19"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.4"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.35"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.16"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.4.4"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.37"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.4.8"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.31"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.6"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.4.5"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.52"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.2"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.14"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.51"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.25"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.38"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.33"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.43"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.4.10"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.4.13"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.3"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.10"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.24"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.44"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.15"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.5"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.1.3"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.1.15"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.4.2"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.4.3"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.42"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.11"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.28"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.30"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.4.1"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.4.11"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.47"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.4.6"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.36"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.21"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.12"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.18"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.26"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.27"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.7"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.4.9"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.4.7"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.46"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.41"/>
                  <rdf:li rdf:resource="http://identifiers.org/ec-code/3.6.3.49"/>
                  <rdf:li rdf:resource="http://identifiers.org/kegg.reaction/R00086"/>
                  <rdf:li rdf:resource="http://identifiers.org/metanetx.reaction/MNXR96131"/>
                  <rdf:li rdf:resource="http://identifiers.org/rhea/13066"/>
                  <rdf:li rdf:resource="http://identifiers.org/rhea/13065"/>
                  <rdf:li rdf:resource="http://identifiers.org/rhea/13068"/>
                  <rdf:li rdf:resource="http://identifiers.org/rhea/13067"/>
                  <rdf:li rdf:resource="http://identifiers.org/sabiork/75"/>
                  <rdf:li rdf:resource="http://identifiers.org/seed.reaction/rxn11300"/>
                  <rdf:li rdf:resource="http://identifiers.org/seed.reaction/rxn09694"/>
                  <rdf:li rdf:resource="http://identifiers.org/seed.reaction/rxn00062"/>
                </rdf:Bag>
              </bqbiol:is>
            </rdf:Description>
          </rdf:RDF>
        </annotation>
        <listOfReactants>
          <speciesReference species="M_cpd00002_c0" stoichiometry="1" constant="true"/>
          <speciesReference species="M_cpd00001_c0" stoichiometry="1" constant="true"/>
        </listOfReactants>
        <listOfProducts>
          <speciesReference species="M_cpd00008_c0" stoichiometry="1" constant="true"/>
          <speciesReference species="M_cpd00067_c0" stoichiometry="1" constant="true"/>
          <speciesReference species="M_cpd00009_c0" stoichiometry="1" constant="true"/>
        </listOfProducts>
      </reaction>

I had to rename the about the exactly match the meta ID, and remove the Gene Product Association field,