sbml export does not appear to export modifiers
2 views (last 30 days)
Jim Bosley on 14 Jul 2022
In a description of the SBML standard, namely Hucka et al., The Systems Biology Markup Language (SBML): Language Specification for Level 3 Version 1 Core, J Integr Bioinform. ; 12(2): 266. doi:10.2390/biecoll-jib-2015-266, a point of the specification is stated:
"4.11.2 SimpleSpeciesReference As mentioned above, every species that enters into a given reaction must appear in that reaction’s lists of reactants, products and/or modifiers. "
One maddening element of this is that a species can apparently be all three things! A self growth of A to increase the amount A, self-catalyzed by A. Does anyone know if appearance of a species in one list is sufficient, or (for example) if I have a mass action expression of compound A, does A have to be in both the reactants AND the modifer list?
More to the point: As far as I can tell, sbmlexport does not export modifers. They're just not there. So if one has reactions like A->B, but the reaction rate expresssion is r=k*A*C, where C is a species, then sbml isn't conformal. Am I missing something? Improperly using sbmlexport?
If modifiers are NOT there, will modifers be included in a future release? Right now I have a python script that captures all of the species in reactions that are not reactants or products, but it would be nice to have.
This brings up a question. Suppose I have a function dependent upon species, but indirectly. For example,
A parameter defined by a repeat assignment:
Glut4 = f(Plasma.Insulin);
for a reaction of Plasma.Glucose --> muscle.Glucose I have the reaction rate
rp2m = k * Glut4 * Plasma.Glucose;
Given those equations, is Plasma.Insulin a modifier of the reaction defined by rp2m?
Florian Augustin on 15 Jul 2022
SimBiology interprets a list of modifier species in an SBML document as catalysts. When importing a reaction with species specified in listOfModifiers, then the modifier species are imported as catalysts. I.e. a reaction with reactant A, product B and modifier E will be imported as A + E -> B + E. If the modifier to the reaction rate is not involved in the reaction as a physical agent in the reaction string, I recommend using a SimBiology parameter. Otherwise, you can to add the modifier species to both sides of the reaction.
When adding a species that is defined by a repeated assignment rule to both sides of the reaction, then the species is a boundary condition for the reaction; i.e. the species' value is not changed by the reaction. In this case, the species' BoundaryCondition property should be set to true.
I hope this helps,
More Answers (0)
More Answers in the SimBiology Community