Commit e48b2d7e authored by Peter Schubert's avatar Peter Schubert
Browse files

Initial commit

parents
*~
build/
dist/
__pycache__/
results/
*.so
*.lo
*.o
*.pyc
.idea/
.DS_Store
*.egg-info
docs/_build/
docs/_static/
docs/_templates/
log/
This diff is collapsed.
include LICENSE
## networkred - reduced metabolic network (SBML fbc model)
Network reduction is base on MATLAB of the **CellNetAnalyzer** [1].
Making use of functions provided by **COBRApy** [2] and **sbmlxdf**.
## Benefits
This ia a porting of the respective MATLAB code, mainly the functions
CNAreduceMFNetwork, CNAcompressMFNetwork, to Python with following
enhancements:
- significant speedup (e.g. network reduction of genome-scale E. coli network
30 h -> 1 h on a laptop)
- use of open software: Python, COBRApy, GNU glpk (CPLEX also supported)
- modifications can be implemented easier in Python compared to
MATLAB (fewer people program in MATLAB)
- direct interface to SBML coded models (import from SBML / export to SBML)
- due to COBRA integration, SBML identifiers, annotations,
gene-product-associations, genes and groups are taken over transparently
from original network to the reduced network, making integration
with external databases easier.
- protected reactions and metabolites can be configured using Python set or
list objects
- protected phenotypic functions and temporary flux bounds can be configured
via pandas Dataframes
Speed-up improvements mainly du to faster implementation of flux variability
function calls on COBRApy. Additional speed improvements achieved by
continually removing reactions and blocked metabolites during the network
reduction process. Essential reactions are identified earlier.
Peter Schubert, Computational Cell Biology, HHU Duesseldorf, November 2021
## Small Python examples
```python
>>> import networkred
>>> .... (yet to be filled)
```
## License
[GPLv3](LICENSE.txt)
Peter Schubert, October 2020
### References
[1]: Kamp A, Thiele S, Haedicke O, Klamt S. (2017) Use of CellNetAnalyzer
in biotechnology and metabolic engineering. Journal of Biotechnolgy 261: 221-228.
[2]: Ebrahim, A., Lerman, J.A., Palsson, B.O. et al. COBRApy: COnstraints-Based Reconstruction
and Analysis for Python. BMC Syst Biol 7, 74 (2013). https://doi.org/10.1186/1752-0509-7-74
# This is a sample Python script.
# Press ⌃R to execute it or replace it with your code.
# Press Double ⇧ to search everywhere for classes, files, tool windows, actions, and settings.
import sys
import os
import logging
import pandas as pd
import networkred
logfile = './log/nr.log'
logformat = '%(asctime)s %(levelname)s:%(name)s %(message)s'
logdir = os.path.dirname(logfile)
if not os.path.exists(logdir):
os.mkdir(logdir)
logging.basicConfig(filename=logfile, filemode='w', level=logging.INFO, format=logformat)
logging.info('Started')
print('Python Version:', sys.version_info)
print('Current working directory:', os.getcwd())
print('networkred verion:', networkred.__version__)
# file names and directories
#model_name = 'iJO1366_CS'
#protected_parts_file = 'iJO1366_CS_nr_protect.xlsx' # in data_dir
#model_name = 'iML1515_CS'
#protected_parts_file = 'iML1515_CS_pf1.xlsx' # in data_dir
model_name = 'Deniz_model_fba'
protected_parts_file = 'Deniz_model_fba_pf.xlsx' # in data_dir
sbml_dir = 'sample_data/SBML_models'
data_dir = 'sample_data/data'
# load the model
sbml_file = os.path.join(sbml_dir, model_name) + '.xml'
red_model = networkred.ReduceModel(sbml_file)
red_status = red_model.get_reduction_status()
print('Reduction status ' + ', '.join([k + ': ' + str(v) for k, v in red_status.items()]))
# set protected parts
protect_parts = {'reactions': set(), 'metabolites': set(),
'functions': pd.DataFrame(), 'bounds': pd.DataFrame()}
protect_name = os.path.join(data_dir, protected_parts_file)
print('Reading protected parts from ' + protect_name)
protect_rids = None
protect_mids = None
protect_funcs = None
with pd.ExcelFile(protect_name) as xlsx:
if 'reactions' in xlsx.sheet_names:
protect_rids = pd.read_excel(xlsx, sheet_name='reactions', index_col=0).index.tolist()
if 'metabolites' in xlsx.sheet_names:
protect_mids = pd.read_excel(xlsx, sheet_name='metabolites', index_col=0).index.tolist()
if 'functions' in xlsx.sheet_names:
protect_funcs = pd.read_excel(xlsx, sheet_name='functions', index_col=0)
if 'bounds' in xlsx.sheet_names:
temp_fbc_bounds = pd.read_excel(xlsx, sheet_name='bounds', index_col=0)
red_model.set_protection(protect_rids=protect_rids,
protect_mids=protect_mids,
protect_funcs=protect_funcs,
temp_fbc_bounds=temp_fbc_bounds,
reset=True)
# check feasibility:
print('feasibility check:', red_model.check_feasibility(feas=True))
# remove blocked reactions:
red_model.remove_blocked()
print('blocked reaction removal')
print('feasibility check:', red_model.check_feasibility(feas=True))
red_status = red_model.get_reduction_status()
print('Reduction status ' + ', '.join([k + ': ' + str(v) for k, v in red_status.items()]))
# remove isoenzymes
red_model.remove_parallel_rids()
print('parallel reactions removal')
print('feasibility check:', red_model.check_feasibility(feas=True))
red_status = red_model.get_reduction_status()
print('Reduction status ' + ', '.join([k + ': ' + str(v) for k, v in red_status.items()]))
# prune network (for specific dof, rmin)
print('---- network pruning -----')
red_model.reduce()
# write reduced model to sbml
reduced_name = os.path.join(sbml_dir, model_name) + '_reduced.xml'
red_model.write_sbml(reduced_name)
print('reduced model convered to SBML:', reduced_name)
logging.info('Finished')
# Press the green button in the gutter to run the script.
# if __name__ == '__main__':
# print_hi('PyCharm')
from networkred.reduce_model import ReduceModel
from networkred._version import __version__
__author__ = 'Peter Schubert'
\ No newline at end of file
"""
Definition of version string.
"""
__version__ = "0.1.0"
program_name = 'networkred'
This diff is collapsed.
[build-system]
requires = [
"setuptools>=42",
"wheel"
]
build-backend = "setuptools.build_meta"
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created by sbmlxdf version 0.2.3 on 2021-11-01 06:59 with libSBML version 5.19.0. -->
<sbml xmlns="http://www.sbml.org/sbml/level3/version2/core" xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" level="3" version="2" fbc:required="false">
<model metaid="Deniz_model_fba" id="Deniz_model_fba" name="Deniz_model_fba" substanceUnits="substance" timeUnits="time" extentUnits="substance" fbc:strict="true">
<notes>
<body xmlns="http://www.w3.org/1999/xhtml">
<h2>FBA model based on Deinz&apos;s model 11_12, presented Nov. 2020. </h2>
<p> including biomass reaction, external metabolites, ATPM maintenance reaction, oxidative and fermenative phenotypes</p>
<p>Based on Deniz Sezer </p>
</body>
</notes>
<annotation>
<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/">
<rdf:Description rdf:about="#Deniz_model_fba">
<dcterms:creator>
<rdf:Bag>
<rdf:li rdf:parseType="Resource">
<vCard4:hasName rdf:parseType="Resource">
<vCard4:family-name>Schubert</vCard4:family-name>
<vCard4:given-name>Peter</vCard4:given-name>
</vCard4:hasName>
<vCard4:hasEmail>Peter.Schubert@hhu.de</vCard4:hasEmail>
<vCard4:organization-name>HHU-CCB</vCard4:organization-name>
</rdf:li>
</rdf:Bag>
</dcterms:creator>
<dcterms:created rdf:parseType="Resource">
<dcterms:W3CDTF>2021-11-01T06:59:01+01:00</dcterms:W3CDTF>
</dcterms:created>
<dcterms:modified rdf:parseType="Resource">
<dcterms:W3CDTF>2021-11-01T06:59:01+01:00</dcterms:W3CDTF>
</dcterms:modified>
</rdf:Description>
</rdf:RDF>
</annotation>
<listOfUnitDefinitions>
<unitDefinition id="mmol_per_gDW_per_hr" name="Millimoles per gram (dry weight) per hour">
<listOfUnits>
<unit kind="mole" exponent="1" scale="-3" multiplier="1"/>
<unit kind="gram" exponent="-1" scale="0" multiplier="1"/>
<unit kind="second" exponent="-1" scale="0" multiplier="3600"/>
</listOfUnits>
</unitDefinition>
<unitDefinition id="substance" name="Millimoles per gram (dry weight)">
<listOfUnits>
<unit kind="mole" exponent="1" scale="-3" multiplier="1"/>
<unit kind="gram" exponent="-1" scale="0" multiplier="1"/>
</listOfUnits>
</unitDefinition>
<unitDefinition id="time" name="Hour">
<listOfUnits>
<unit kind="second" exponent="1" scale="0" multiplier="3600"/>
</listOfUnits>
</unitDefinition>
</listOfUnitDefinitions>
<listOfCompartments>
<compartment id="c" name="cytosol" spatialDimensions="3" size="1e-06" units="litre" constant="true"/>
<compartment id="e" name="extracellular space" spatialDimensions="3" size="1" units="litre" constant="true"/>
</listOfCompartments>
<listOfSpecies>
<species id="M_aa_c" name="M_aa_c" compartment="c" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
<species id="M_aapre_c" name="M_aapre_c" compartment="c" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
<species id="M_accoa_c" name="M_accoa_c" compartment="c" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
<species id="M_adp_c" name="M_adp_c" compartment="c" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
<species id="M_atp_c" name="M_atp_c" compartment="c" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
<species id="M_co2_c" name="M_co2_c" compartment="c" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
<species id="M_for_c" name="M_for_c" compartment="c" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
<species id="M_glc__D_c" name="M_glc__D_c" compartment="c" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
<species id="M_lac_c" name="M_lac_c" compartment="c" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
<species id="M_nh4_c" name="M_nh4_c" compartment="c" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
<species id="M_o2_c" name="M_o2_c" compartment="c" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
<species id="M_aa_e" name="M_aa_e" compartment="e" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
<species id="M_co2_e" name="M_co2_e" compartment="e" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
<species id="M_for_e" name="M_for_e" compartment="e" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
<species id="M_glc__D_e" name="M_glc__D_e" compartment="e" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false">
<notes>
<body xmlns="http://www.w3.org/1999/xhtml"> main carbon source </body>
</notes>
</species>
<species id="M_lac_e" name="M_lac_e" compartment="e" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
<species id="M_nh4_e" name="M_nh4_e" compartment="e" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
<species id="M_o2_e" name="M_o2_e" compartment="e" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
<species id="M_rib_c" name="M_rib_c" compartment="c" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
<species id="Biomass" name="Biomass" compartment="c" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false">
<notes>
<body xmlns="http://www.w3.org/1999/xhtml"> this is a note </body>
</notes>
</species>
</listOfSpecies>
<listOfParameters>
<parameter id="default_lb" name="default_lb" value="-1000" units="mmol_per_gDW_per_hr" constant="true"/>
<parameter id="default_ub" name="default_ub" value="1000" units="mmol_per_gDW_per_hr" constant="true"/>
<parameter id="zero_bound" name="zero_bound" value="0" units="mmol_per_gDW_per_hr" constant="true"/>
<parameter id="R_EX_glc__D_e_lb" name="R_EX_glc__D_e_lb" value="-10" units="mmol_per_gDW_per_hr" constant="true"/>
<parameter id="R_ATPM_lb" name="R_ATPM_lb" value="3.15" units="mmol_per_gDW_per_hr" constant="true"/>
</listOfParameters>
<listOfReactions>
<reaction id="R_EX_aa" name="R_EX_aa" reversible="true" fbc:lowerFluxBound="zero_bound" fbc:upperFluxBound="default_ub">
<listOfReactants>
<speciesReference species="M_aa_e" stoichiometry="1" constant="true"/>
</listOfReactants>
</reaction>
<reaction id="R_EX_co2" name="R_EX_co2" reversible="true" fbc:lowerFluxBound="default_lb" fbc:upperFluxBound="default_ub">
<listOfReactants>
<speciesReference species="M_co2_e" stoichiometry="1" constant="true"/>
</listOfReactants>
</reaction>
<reaction id="R_EX_for" name="R_EX_for" reversible="true" fbc:lowerFluxBound="default_lb" fbc:upperFluxBound="default_ub">
<listOfReactants>
<speciesReference species="M_for_e" stoichiometry="1" constant="true"/>
</listOfReactants>
</reaction>
<reaction id="R_EX_glc__D" name="R_EX_glc__D" reversible="true" fbc:lowerFluxBound="R_EX_glc__D_e_lb" fbc:upperFluxBound="default_ub">
<notes>
<body xmlns="http://www.w3.org/1999/xhtml"> carbon source transporter </body>
</notes>
<listOfReactants>
<speciesReference species="M_glc__D_e" stoichiometry="1" constant="true"/>
</listOfReactants>
</reaction>
<reaction id="R_EX_lac" name="R_EX_lac" reversible="true" fbc:lowerFluxBound="zero_bound" fbc:upperFluxBound="default_ub">
<listOfReactants>
<speciesReference species="M_lac_e" stoichiometry="1" constant="true"/>
</listOfReactants>
</reaction>
<reaction id="R_EX_nh4" name="R_EX_nh4" reversible="true" fbc:lowerFluxBound="default_lb" fbc:upperFluxBound="default_ub">
<listOfReactants>
<speciesReference species="M_nh4_e" stoichiometry="1" constant="true"/>
</listOfReactants>
</reaction>
<reaction id="R_EX_o2" name="R_EX_o2" reversible="true" fbc:lowerFluxBound="default_lb" fbc:upperFluxBound="default_ub">
<listOfReactants>
<speciesReference species="M_o2_e" stoichiometry="1" constant="true"/>
</listOfReactants>
</reaction>
<reaction id="R_DM_Biomass" name="R_DM_Biomass" reversible="false" fbc:lowerFluxBound="zero_bound" fbc:upperFluxBound="default_ub">
<listOfReactants>
<speciesReference species="Biomass" stoichiometry="1" constant="true"/>
</listOfReactants>
</reaction>
<reaction id="R_aa_imp" name="R_aa_imp" reversible="false" fbc:lowerFluxBound="zero_bound" fbc:upperFluxBound="default_ub">
<listOfReactants>
<speciesReference species="M_aa_e" stoichiometry="1" constant="true"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="M_aa_c" stoichiometry="1" constant="true"/>
</listOfProducts>
</reaction>
<reaction id="R_co2_tex" name="R_co2_tex" reversible="true" fbc:lowerFluxBound="default_lb" fbc:upperFluxBound="default_ub">
<listOfReactants>
<speciesReference species="M_co2_e" stoichiometry="1" constant="true"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="M_co2_c" stoichiometry="1" constant="true"/>
</listOfProducts>
</reaction>
<reaction id="R_for_tex" name="R_for_tex" reversible="true" fbc:lowerFluxBound="default_lb" fbc:upperFluxBound="default_ub">
<listOfReactants>
<speciesReference species="M_for_e" stoichiometry="1" constant="true"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="M_for_c" stoichiometry="1" constant="true"/>
</listOfProducts>
</reaction>
<reaction id="R_for_texi" name="R_for_texi" reversible="false" fbc:lowerFluxBound="zero_bound" fbc:upperFluxBound="default_ub">
<listOfReactants>
<speciesReference species="M_for_c" stoichiometry="1" constant="true"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="M_for_e" stoichiometry="1" constant="true"/>
</listOfProducts>
</reaction>
<reaction id="R_glc__D_tex" name="R_glc__D_tex" reversible="true" fbc:lowerFluxBound="default_lb" fbc:upperFluxBound="default_ub">
<listOfReactants>
<speciesReference species="M_glc__D_e" stoichiometry="1" constant="true"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="M_glc__D_c" stoichiometry="1" constant="true"/>
</listOfProducts>
</reaction>
<reaction id="R_lac_tex" name="R_lac_tex" reversible="true" fbc:lowerFluxBound="default_lb" fbc:upperFluxBound="default_ub">
<listOfReactants>
<speciesReference species="M_lac_e" stoichiometry="1" constant="true"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="M_lac_c" stoichiometry="1" constant="true"/>
</listOfProducts>
</reaction>
<reaction id="R_nh4_imp" name="R_nh4_imp" reversible="false" fbc:lowerFluxBound="zero_bound" fbc:upperFluxBound="default_ub">
<listOfReactants>
<speciesReference species="M_nh4_e" stoichiometry="1" constant="true"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="M_nh4_c" stoichiometry="1" constant="true"/>
</listOfProducts>
</reaction>
<reaction id="R_o2_tex" name="R_o2_tex" reversible="true" fbc:lowerFluxBound="default_lb" fbc:upperFluxBound="default_ub">
<listOfReactants>
<speciesReference species="M_o2_e" stoichiometry="1" constant="true"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="M_o2_c" stoichiometry="1" constant="true"/>
</listOfProducts>
</reaction>
<reaction id="R_mr2" name="R_mr2" reversible="false" fbc:lowerFluxBound="zero_bound" fbc:upperFluxBound="default_ub">
<listOfReactants>
<speciesReference species="M_glc__D_c" stoichiometry="1" constant="true"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="M_accoa_c" stoichiometry="3" constant="true"/>
</listOfProducts>
</reaction>
<reaction id="R_ppp1" name="R_ppp1" reversible="false" fbc:lowerFluxBound="zero_bound" fbc:upperFluxBound="default_ub">
<listOfReactants>
<speciesReference species="M_glc__D_c" stoichiometry="1" constant="true"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="M_rib_c" stoichiometry="1" constant="true"/>
</listOfProducts>
</reaction>
<reaction id="R_ppp2" name="R_ppp2" reversible="false" fbc:lowerFluxBound="zero_bound" fbc:upperFluxBound="default_ub">
<listOfReactants>
<speciesReference species="M_rib_c" stoichiometry="1" constant="true"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="M_accoa_c" stoichiometry="3" constant="true"/>
</listOfProducts>
</reaction>
<reaction id="R_mrOx" name="R_mrOx" reversible="false" fbc:lowerFluxBound="zero_bound" fbc:upperFluxBound="default_ub">
<listOfReactants>
<speciesReference species="M_accoa_c" stoichiometry="1" constant="true"/>
<speciesReference species="M_adp_c" stoichiometry="4" constant="true"/>
<speciesReference species="M_o2_c" stoichiometry="2" constant="true"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="M_atp_c" stoichiometry="4" constant="true"/>
<speciesReference species="M_co2_c" stoichiometry="2" constant="true"/>
</listOfProducts>
</reaction>
<reaction id="R_mrFerm" name="R_mrFerm" reversible="false" fbc:lowerFluxBound="zero_bound" fbc:upperFluxBound="default_ub">
<listOfReactants>
<speciesReference species="M_accoa_c" stoichiometry="1" constant="true"/>
<speciesReference species="M_adp_c" stoichiometry="2" constant="true"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="M_atp_c" stoichiometry="2" constant="true"/>
<speciesReference species="M_for_c" stoichiometry="1" constant="true"/>
</listOfProducts>
</reaction>
<reaction id="R_mr5" name="R_mr5" reversible="false" fbc:lowerFluxBound="zero_bound" fbc:upperFluxBound="default_ub">
<listOfReactants>
<speciesReference species="M_glc__D_c" stoichiometry="1" constant="true"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="M_aapre_c" stoichiometry="1" constant="true"/>
</listOfProducts>
</reaction>
<reaction id="R_mr7" name="R_mr7" reversible="false" fbc:lowerFluxBound="zero_bound" fbc:upperFluxBound="default_ub">
<listOfReactants>
<speciesReference species="M_aapre_c" stoichiometry="1" constant="true"/>
<speciesReference species="M_nh4_c" stoichiometry="1" constant="true"/>
<speciesReference species="M_atp_c" stoichiometry="1" constant="true"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="M_aa_c" stoichiometry="1" constant="true"/>
<speciesReference species="M_adp_c" stoichiometry="1" constant="true"/>
</listOfProducts>
</reaction>
<reaction id="R_mr9" name="R_mr9" reversible="false" fbc:lowerFluxBound="zero_bound" fbc:upperFluxBound="default_ub">
<listOfReactants>
<speciesReference species="M_lac_c" stoichiometry="1" constant="true"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="M_glc__D_c" stoichiometry="1" constant="true"/>
</listOfProducts>
</reaction>
<reaction id="R_mr11" name="R_mr11" reversible="true" fbc:lowerFluxBound="default_lb" fbc:upperFluxBound="default_ub">
<listOfReactants>
<speciesReference species="M_aa_c" stoichiometry="1" constant="true"/>
<speciesReference species="M_adp_c" stoichiometry="1" constant="true"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="M_accoa_c" stoichiometry="3" constant="true"/>
<speciesReference species="M_nh4_c" stoichiometry="1" constant="true"/>
<speciesReference species="M_atp_c" stoichiometry="1" constant="true"/>
</listOfProducts>
</reaction>
<reaction id="R_ATPM" name="R_ATPM" reversible="false" fbc:lowerFluxBound="R_ATPM_lb" fbc:upperFluxBound="default_ub">
<listOfReactants>
<speciesReference species="M_atp_c" stoichiometry="1" constant="true"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="M_adp_c" stoichiometry="1" constant="true"/>
</listOfProducts>
</reaction>
<reaction id="R_Biomass_core" name="R_Biomass_core" reversible="false" fbc:lowerFluxBound="zero_bound" fbc:upperFluxBound="default_ub">
<notes>
<body xmlns="http://www.w3.org/1999/xhtml"> biomass reaction </body>
</notes>
<listOfReactants>
<speciesReference species="M_aa_c" stoichiometry="1" constant="true"/>
<speciesReference species="M_atp_c" stoichiometry="3" constant="true"/>
</listOfReactants>
<listOfProducts>
<speciesReference species="M_adp_c" stoichiometry="3" constant="true"/>
<speciesReference species="Biomass" stoichiometry="1" constant="true"/>
</listOfProducts>
</reaction>
</listOfReactions>
<fbc:listOfObjectives fbc:activeObjective="obj">
<fbc:objective fbc:id="obj" fbc:type="maximize">
<fbc:listOfFluxObjectives>
<fbc:fluxObjective fbc:reaction="R_Biomass_core" fbc:coefficient="1"/>
</fbc:listOfFluxObjectives>
</fbc:objective>
</fbc:listOfObjectives>
</model>
</sbml>
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created by sbmlxdf version 0.2.3 on 2021-11-03 22:28 with libSBML version 5.19.0. -->
<sbml xmlns="http://www.sbml.org/sbml/level3/version2/core" xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" level="3" version="2" fbc:required="false">
<model metaid="Deniz_model_fba" id="Deniz_model_fba_reduced" name="Deniz_model_fba" substanceUnits="substance" timeUnits="time" extentUnits="substance" fbc:strict="true">
<notes>
<body xmlns="http://www.w3.org/1999/xhtml">
<h2>FBA model based on Deinz&apos;s model 11_12, presented Nov. 2020. </h2>
<p> including biomass reaction, external metabolites, ATPM maintenance reaction, oxidative and fermenative phenotypes</p>
<p>Based on Deniz Sezer </p>
</body>
</notes>
<annotation>
<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/">
<rdf:Description rdf:about="#Deniz_model_fba">
<dcterms:creator>
<rdf:Bag>
<rdf:li rdf:parseType="Resource">
<vCard4:hasName rdf:parseType="Resource">
<vCard4:family-name>Schubert</vCard4:family-name>
<vCard4:given-name>Peter</vCard4:given-name>
</vCard4:hasName>
<vCard4:hasEmail>Peter.Schubert@hhu.de</vCard4:hasEmail>
<vCard4:organization-name>HHU-CCB</vCard4:organization-name>
</rdf:li>
</rdf:Bag>
</dcterms:creator>
<dcterms:created rdf:parseType="Resource">
<dcterms:W3CDTF>2021-11-01T06:59:01+01:00</dcterms:W3CDTF>
</dcterms:created>
<dcterms:modified rdf:parseType="Resource">
<dcterms:W3CDTF>2021-11-01T06:59:01+01:00</dcterms:W3CDTF>
</dcterms:modified>
</rdf:Description>
</rdf:RDF>
</annotation>
<listOfUnitDefinitions>
<unitDefinition id="mmol_per_gDW_per_hr" name="Millimoles per gram (dry weight) per hour">
<listOfUnits>
<unit kind="mole" exponent="1" scale="-3" multiplier="1"/>
<unit kind="gram" exponent="-1" scale="0" multiplier="1"/>
<unit kind="second" exponent="-1" scale="0" multiplier="3600"/>
</listOfUnits>
</unitDefinition>
<unitDefinition id="substance" name="Millimoles per gram (dry weight)">
<listOfUnits>
<unit kind="mole" exponent="1" scale="-3" multiplier="1"/>
<unit kind="gram" exponent="-1" scale="0" multiplier="1"/>
</listOfUnits>
</unitDefinition>
<unitDefinition id="time" name="Hour">
<listOfUnits>
<unit kind="second" exponent="1" scale="0" multiplier="3600"/>
</listOfUnits>
</unitDefinition>
</listOfUnitDefinitions>
<listOfCompartments>
<compartment id="c" name="cytosol" spatialDimensions="3" size="1e-06" units="litre" constant="true"/>
<compartment id="e" name="extracellular space" spatialDimensions="3" size="1" units="litre" constant="true"/>
</listOfCompartments>
<listOfSpecies>
<species id="M_aa_c" name="M_aa_c" compartment="c" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="0"/>
<species id="M_aapre_c" name="M_aapre_c" compartment="c" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="0"/>
<species id="M_accoa_c" name="M_accoa_c" compartment="c" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="0"/>
<species id="M_adp_c" name="M_adp_c" compartment="c" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="0"/>
<species id="M_atp_c" name="M_atp_c" compartment="c" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="0"/>
<species id="M_co2_c" name="M_co2_c" compartment="c" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="0"/>
<species id="M_for_c" name="M_for_c" compartment="c" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="0"/>
<species id="M_glc__D_c" name="M_glc__D_c" compartment="c" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="0"/>
<species id="M_lac_c" name="M_lac_c" compartment="c" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="0"/>
<species id="M_nh4_c" name="M_nh4_c" compartment="c" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="0"/>
<species id="M_o2_c" name="M_o2_c" compartment="c" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="0"/>
<species id="M_co2_e" name="M_co2_e" compartment="e" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="0"/>
<species id="M_for_e" name="M_for_e" compartment="e" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="0"/>
<species id="M_glc__D_e" name="M_glc__D_e" compartment="e" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false" fbc:charge="0">
<notes>
<body xmlns="http://www.w3.org/1999/xhtml"> main carbon source </body>