Source code for sbmlutils.examples.fbc.fbc_mass_charge

"""FBC mass and charge example."""
from sbmlutils.examples import templates
from sbmlutils.factory import *
from sbmlutils.metadata import *


[docs]class U(Units): """UnitsDefinitions."""
[docs] m2 = UnitDefinition("m2", "meter^2")
[docs] m3 = UnitDefinition("m3", "meter^3")
[docs] mole_per_s = UnitDefinition("mole_per_s", "mole/s")
[docs]model = Model( sid="fbc_mass_charge", name="fbc model with mass and charge balance", packages=[Package.FBC_V2], notes=""" # Model demonstrating mass and charge balance ## Description Test model demonstrating inline annotations. """ + templates.terms_of_use, creators=templates.creators, units=U, model_units=ModelUnits( time=U.second, extent=U.mole, substance=U.mole, length=U.meter, area=U.m2, volume=U.m3, ), compartments=[ Compartment( sid="cyto", value="1.0 m3", unit=U.m3, constant=False, name="cytosol", sboTerm=SBO.PHYSICAL_COMPARTMENT, annotations=[ (BQB.IS, "go/GO:0005829"), # cytosol (BQB.IS, "https://en.wikipedia.org/wiki/Cytosol"), # cytosol ], ) ], species=[ Species( sid="glc", compartment="cyto", initialConcentration=3.0, substanceUnit=U.mole, boundaryCondition=True, name="D-glucose", sboTerm=SBO.SIMPLE_CHEMICAL, charge=0.5, chemicalFormula="C6H12O6", annotations=[(BQB.IS, "vmhmetabolite/glc_D")], ), Species( sid="atp", compartment="cyto", initialConcentration=3.0, substanceUnit=U.mole, boundaryCondition=True, name="ATP", sboTerm=SBO.SIMPLE_CHEMICAL, charge=-4, chemicalFormula="C10H12N5O13P3", annotations=[(BQB.IS, "vmhmetabolite/atp")], ), Species( sid="glc6p", compartment="cyto", initialConcentration=3.0, substanceUnit=U.mole, boundaryCondition=True, name="glucose-6 phosphate", sboTerm=SBO.SIMPLE_CHEMICAL, charge=-2, chemicalFormula="C6H11O9P", annotations=[(BQB.IS, "vmhmetabolite/g6p")], ), Species( sid="adp", compartment="cyto", initialConcentration=3.0, substanceUnit=U.mole, boundaryCondition=True, name="ADP", sboTerm=SBO.SIMPLE_CHEMICAL, charge=-3, chemicalFormula="C10H12N5O10P2", annotations=[(BQB.IS, "vmhmetabolite/adp")], ), Species( sid="h", compartment="cyto", initialConcentration=3.0, substanceUnit=U.mole, boundaryCondition=True, name="H+", sboTerm=SBO.SIMPLE_CHEMICAL, charge=1, chemicalFormula="H", annotations=[(BQB.IS, "vmhmetabolite/h")], ), ], parameters=[ Parameter(sid="HEX1_v", value=1.0, unit=U.mole_per_s), ], reactions=[ Reaction( sid="HEX1", name="Hexokinase (D-Glucose:ATP)", equation="glc + atp -> glc6p + adp + h", sboTerm=SBO.BIOCHEMICAL_REACTION, compartment="cyto", pars=[], formula=("HEX1_v", U.mole_per_s), annotations=[ ( BQB.IS, "vmhreaction/HEX1", ) ], ) ], )
# write custom annotations: if model.species: for s in model.species: if s.sid == "glc": for item in [ "bigg.metabolite/glc__D", "kegg.compound/C00031", "hmdb/HMDB0000122", "chebi/CHEBI:0004167", ]: if s.annotations is None: s.annotations = [] s.annotations.append((BQB.IS, item)) if model.reactions: for r in model.reactions: if r.sid == "HEX1": for item in [ "ec-code/2.7.1.1", "ec-code/2.7.1.2", "kegg.reaction/R00299", "rhea/17828", ]: if r.annotations is None: r.annotations = [] r.annotations.append((BQB.IS, item)) if __name__ == "__main__": from sbmlutils.resources import EXAMPLES_DIR create_model(model=model, filepath=EXAMPLES_DIR / f"{model.sid}.xml")