Forums

F.A.Q. F.A.Q.    Register Register    Login Login    Home Home
Search Search
SBML Discussions » sbml-discuss » Ancillary equations in SBML models
Show: Today's Posts  :: Message Navigator
Switch to threaded view of this topic Create a new topic Submit Reply
AuthorTopic
Robert Phair


Posts: 33
Registered:
March 2007
Ancillary equations in SBML models 28 Jul '08 11:11 Go to next message

Has anyone encountered the following problem:

If an SBML model is defined using ancillary algebraic equations to specify a portion of a rate law, it appears that information on regulation is sometimes lost. I apologize that I don't have time to document this in detail, but here is a specific example.

The curated version of Kathy Chen's 2004 cell cycle model can be downloaded from biomodels.net. When I import this into our ProcessDB tool OR when I display it using the GIF tool on the biomodels.net site, there are two subsystems displayed with no connection to the main body of the model. This surprised me so I looked at the equations in the Chen/Tyson paper to see what might be the explanation.

The dephosphorylation of Net1-P, regulated by PPX, is clearly shown in the published equations. Similarly, the activation of Cdh1 by Cdc14 is explicitly shown in the published equations.

Nevertheless, these subsystems appear in the diagram of the curated SBML model as totally disconnected from the rest of the cell cycle machinery.

This could be just a curation problem, and if it is then there is no general SBML issue. My worry, however, is that because these modifiers appear in ancillary equations, rather than explicitly in the terms of the RHS of the ODEs, they are not recognized as modifiers by SBML. Computationally, this would present no difficulties, but it leads to incorrect or at least incomplete diagrams.

If you look at the ODE for Net1 in the Chen paper, you will see a term

+ Vpp,net [Net1P]

This is apparently interpreted as a mass action term, but Vpp,net is defined by a separate (ancillary) equation as:

Vpp,net = k'pp,net + k"pp,net [PPX]

In this way, the phosphatase reaction is correctly regulated by PPX.

The problem is that PPX is not recognized as a modifier of the Net1-P dephosphorylation reaction and so the PPX portion of the resulting diagram is misleadingly left dangling, unconnected to the appropriate reaction.

The same is true for the Cdc14 regulation of Cdh1 activation. I have not checked the other reactions defined in part by ancillary equations. I did check two of the modifiers that ARE coded in the SBML, and neither of them is defined by an ancillary equation.

So the question for the forum is: Is this really a problem and if so is it something we need to address at the level of the SBML specification or should it be handled at the time of curation?

      
Robert Phair


Posts: 33
Registered:
March 2007
Re: Ancillary equations in SBML models 29 Jul '08 08:14 Go to previous messageGo to next message

Lukas-

Thanks for your reply; you make good points. Perhaps a good solution would be to write out the rate law in all its complex detail by substituting any previously defined expressions into the rate law expression that appears in the ODE. Then if you want to preserve the intermediate results and thus retain the exact form of the published model, you can still include the separate (ancillary) equation as an assignment rule of the model. I would argue that the combined complex expression actually IS the rate law, and so any states (species) appearing in it must be recorded as reactants, products or modifiers. Treating ancillary equations in this way would yield correct diagrams.

      
Nicolas Le Novere


Posts: 469
Registered:
October 2003
Re: Ancillary equations in SBML models 01 Aug '08 05:30 Go to previous messageGo to next message

Lukas Endler wrote:

> It would of course be
> useful for the few cases in Biomodels DB, where the automatically
> generated interaction graphs do not match the wiring of the actual
> reaction network.

What is the "actual reaction network"? We are not talking about
biochemistry here, but modeling. We may want to put strange things in our
equations if it turns to be justifiable. Some of them would be misleading
if represented graphically. Now, if in the paper there is actually a graph,
this is different.

> Of course in many cases, all modifying species can be
> included in the rate law using functions for repetitive expressions
> rather than assignment rules as in the example from Chen 2004

> Robert Phair wrote:

>> The curated version of Kathy Chen's 2004 cell cycle model can be downloaded from biomodels.net. When I import this into our ProcessDB tool OR when I display it using the GIF tool on the biomodels.net site, there are two subsystems displayed with no connection to the main body of the model. This surprised me so I looked at the equations in the Chen/Tyson paper to see what might be the explanation.

Note: The model in BioModels DB comes initially from Katherine Chen's one,
encoded with JigCell.

I agree in general with the concern of dissociation. And the fix (adding
modifiers) may sometimes be useful if carefully done. But that is a bit
dangerous. In case of assignments, there is no way to relate the modifier
declarations to the ancillary equations. That may lead to inconsistencies.
Note that Lukas' solution, using function definition, avoids this problem.

--
Nicolas LE NOVERE, Computational Neurobiology,
EMBL-EBI, Wellcome-Trust Genome Campus, Hinxton, Cambridge, CB10 1SD, UK
Tel: +44(0)1223494521, Fax: 468, Mob: +44(0)7833147074 Skype:n.lenovere
http://www.ebi.ac.uk/~lenov, AIM: nlenovere, MSN: nlenovere@hotmail.com
____________________________________________________________
To manage your sbml-discuss list subscription, visit
https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss

For a web interface to the sbml-discuss mailing list, visit
http://sbml.org/Forums/

For questions or feedback about the sbml-discuss list,
contact sbml-team@caltech.edu

      
Robert Phair


Posts: 33
Registered:
March 2007
Re: Ancillary equations in SBML models 01 Aug '08 09:07 Go to previous messageGo to next message

Nicolas quotes Lukas:

> It would of course be
> useful for the few cases in Biomodels DB, where the automatically
> generated interaction graphs do not match the wiring of the actual
> reaction network.

and then asks:

"What is the "actual reaction network"? We are not talking about
biochemistry here, but modeling. We may want to put strange things in our
equations if it turns to be justifiable. Some of them would be misleading
if represented graphically."

Some SBML users would say that we ARE talking about biochemistry. In Katherine Chen's model, PPX is the phosphatase that catalyzes NET-1 dephosphorylation. The equations clearly define PPX as a modifier in the sense that changes in PPX clearly determine the flux on this pathway.

It would help us all if Nicolas could provide examples of "strange things in our equations" that would be misleading if represented graphically.

      
Robert Phair


Posts: 33
Registered:
March 2007
Re: Ancillary equations in SBML models 01 Aug '08 10:55 Go to previous messageGo to next message

Nicolas points out:

"In case of assignments, there is no way to relate the modifier
declarations to the ancillary equations. That may lead to inconsistencies. Note that Lukas' solution, using function definition, avoids this problem."

Does the SBML spec recommend that ancillary equations used in rate laws be encoded as function definitions rather than assignment rules? Should the ancillary equations in the Chen model in Biomodels DB be changed from assignments to functions?

It's not clear what you mean when you say that "Lukas' solution avoids this problem." Are you saying that encoding ancillary equations as function definitions (rather than assignments) will result in generation of modifier declarations for species that appear in the function definition?

      
Robert Phair


Posts: 33
Registered:
March 2007
Re: Ancillary equations in SBML models 01 Aug '08 11:42 Go to previous messageGo to next message

Nicolas notes:

"Now, if in the paper there is actually a graph, this is different."

In fact there is a diagram in the Chen/Tyson 2004 paper and it does show at least some of the modifiers that are not captured (as modifiers, per se) in the SBML because assignment rules were used to specify ancillary equations.

But the general point that I (and Lukas too, I think) am making is that encoding a model in SBML should not entail loss of information. Suppose the model to be encoded in SBML is supplied only as a system of equations. Here are two formulations of the same simple model:

FormulationOne:
d/dt(A) = Reaction1 - Reaction2
Reaction1 = k1*B
Reaction2 = k2*(C^n/(Km^n + C^n)) * A
d/dt(B) = Reaction2 - Reaction1
d/dt(C) = Input - Reaction3
Input = 6
Reaction3 = k3*C

FormulationTwo:
d/dt(A) = Reaction1 - Reaction2
Reaction1 = k1*B
Reaction2 = k2*HillTerm * A
d/dt(B) = Reaction2 - Reaction1
d/dt(C) = Input - Reaction3
Input = 6
Reaction3 = k3*C
HillTerm = C^n/(Km^n + C^n)

These are computationally identical. Does it make any sense that encoding one of these in SBML will result in a Reaction2 with C as a modifier, and the other will result in a Reaction2 with no modifiers?

I fully understand that, computationally, no information is lost. But in my view, the ListOfModifiers ought to be complete. If it is not, SBML becomes untrustworthy. If our only goal was to preserve the equations, MathML would have sufficed.

      
Nicolas Le Novere


Posts: 469
Registered:
October 2003
Re: Ancillary equations in SBML models 01 Aug '08 14:18 Go to previous messageGo to next message

Robert Phair wrote:

> "In case of assignments, there is no way to relate the modifier
> declarations to the ancillary equations. That may lead to inconsistencies. Note that Lukas' solution, using function definition, avoids this problem."
>
> Does the SBML spec recommend that ancillary equations used in rate laws be encoded as function definitions rather than assignment rules? Should the ancillary equations in the Chen model in Biomodels DB be changed from assignments to functions?

SBML does not recommend anything. And rightly so. SBML is a meant to encode
a model so that any software unambiguously interpret it the same way. Which
way is the modeler's choice. Assignment rules and function definitions play
entirely different role, but what you describe can in certain cases be
encoded by both.

> It's not clear what you mean when you say that "Lukas' solution avoids this problem." Are you saying that encoding ancillary equations as function definitions (rather than assignments) will result in generation of modifier declarations for species that appear in the function definition?

Yes, this is what I mean.

You need to pass variables to a function. In the present case, the modifiers.

--
Nicolas LE NOVERE, Computational Neurobiology,
EMBL-EBI, Wellcome-Trust Genome Campus, Hinxton, Cambridge, CB10 1SD, UK
Tel: +44(0)1223494521, Fax: 468, Mob: +44(0)7833147074 Skype:n.lenovere
http://www.ebi.ac.uk/~lenov, AIM: nlenovere, MSN: nlenovere@hotmail.com
____________________________________________________________
To manage your sbml-discuss list subscription, visit
https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss

For a web interface to the sbml-discuss mailing list, visit
http://sbml.org/Forums/

For questions or feedback about the sbml-discuss list,
contact sbml-team@caltech.edu

      
Nicolas Le Novere


Posts: 469
Registered:
October 2003
Re: Ancillary equations in SBML models 01 Aug '08 14:33 Go to previous messageGo to next message

Robert Phair wrote:
> Nicolas quotes Lukas:
>
>> It would of course be
>> useful for the few cases in Biomodels DB, where the automatically
>> generated interaction graphs do not match the wiring of the actual
>> reaction network.
>
> and then asks:
>
> "What is the "actual reaction network"? We are not talking about
> biochemistry here, but modeling. We may want to put strange things in our
> equations if it turns to be justifiable. Some of them would be misleading
> if represented graphically."
>
> Some SBML users would say that we ARE talking about biochemistry. In Katherine Chen's model, PPX is the phosphatase that catalyzes NET-1 dephosphorylation. The equations clearly define PPX as a modifier in the sense that changes in PPX clearly determine the flux on this pathway.

In this particular case this is true. But my point was to allow any
modeler's freedom, even if that does not make sense in a "biochemical"
point of view. A workshop in 2005 witnessed a surealistic battle where a
biochemist became beserk because modelers did not explicitely represent
protons in chemical reactions!

> It would help us all if Nicolas could provide examples of "strange things in our equations" that would be misleading if represented graphically.

If you define a species releasable phosphate P, that is defined as

P = AMP + 2*ADP +3*ATP

And then you have a reaction which kineticLaw is affected by the species P,
how do-you represent in the graph the link between P and AMP, ADP or ATP?

(assuming there are other reactions involving only AMP or ADP or ATP)

Should-we forbid the use of this kind of construct, and force the expansion
to be able to declare the three nucleotides as modifiers?

Other example are the pseudo-species that represent probabilities, or
frequencies, e.g. voltage-controlled channels, calcium/calmodulin etc.

--
Nicolas LE NOVERE, Computational Neurobiology,
EMBL-EBI, Wellcome-Trust Genome Campus, Hinxton, Cambridge, CB10 1SD, UK
Tel: +44(0)1223494521, Fax: 468, Mob: +44(0)7833147074 Skype:n.lenovere
http://www.ebi.ac.uk/~lenov, AIM: nlenovere, MSN: nlenovere@hotmail.com
____________________________________________________________
To manage your sbml-discuss list subscription, visit
https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss

For a web interface to the sbml-discuss mailing list, visit
http://sbml.org/Forums/

For questions or feedback about the sbml-discuss list,
contact sbml-team@caltech.edu

      
Mike Hucka


Posts: 961
Registered:
October 2003
Re: Ancillary equations in SBML models 01 Aug '08 16:43 Go to previous messageGo to next message

rphair> Does the SBML spec recommend that ancillary
rphair> equations used in rate laws be encoded as function
rphair> definitions rather than assignment rules? Should
rphair> the ancillary equations in the Chen model in
rphair> Biomodels DB be changed from assignments to
rphair> functions?

There is nothing there currently. But this could be food
for a Best Practices document.

MH

____________________________________________________________
To manage your sbml-discuss list subscription, visit
https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss

For a web interface to the sbml-discuss mailing list, visit
http://sbml.org/Forums/

For questions or feedback about the sbml-discuss list,
contact sbml-team@caltech.edu

      
Stefan.Hoops


Posts: 170
Registered:
December 2006
Re: Ancillary equations in SBML models 01 Aug '08 17:34 Go to previous messageGo to next message

Hello Robert,

I completely understand where you are coming from. Ideally the modeler
or even the tool should create an SBML document which captures exactly
what is in the paper corresponding to the SBML document.

Your requirement for capturing the model exactly is that some tool can
automatically generate the graph in the paper. You argue that because
some tool is not able to do that, SBML looses information. I must
disagree, SBML's main intend is to capture the dynamics of a model and
that it does completely. Thus I argue the tool is suboptimal because it
could add the modifiers you are missing in the diagram by analyzing the
mathematical dependencies. Additionally, I would say that if the author
would have added the diagram by using the layout extension we would not
have this discussion.

In my opinion SBML provides the means to capture what you want. However,
SBML can not enforce the modelers to encode the models in a specific
way. The most that we can do and what we should do is to create a
website (possibly wiki) so that the community can come up and evolve
best practice guidelines.

Thanks,
Stefan

--
Stefan Hoops, Ph.D.
Senior Project Associate
Virginia Bioinformatics Institute - 0477
Virginia Tech
Bioinformatics Facility I
Blacksburg, Va 24061, USA

Phone: (540) 231-1799
Fax: (540) 231-2606
Email: shoops@vbi.vt.edu

____________________________________________________________
To manage your sbml-discuss list subscription, visit
https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss

For a web interface to the sbml-discuss mailing list, visit
http://sbml.org/Forums/

For questions or feedback about the sbml-discuss list,
contact sbml-team@caltech.edu

      
Robert Phair


Posts: 33
Registered:
March 2007
Re: Ancillary equations in SBML models 02 Aug '08 00:09 Go to previous messageGo to next message

Stefan makes good points, but I am not persuaded that

"SBML's main intent is to capture the dynamics of a model..."

If that were so, we could have simply encoded the model's equations in MathML. I'm a cell physiologist, not a computer scientist, but the reason I'm excited about SBML is because it is a markup language, not because it completely captures the model's dynamics. I understand a markup language as a set of annotations that impart meaning. To me SBML has goals akin to the Semantic Web or OWL where the idea is to give stored information explicit meaning.

So I cannot agree with Stefan's assertion:

"...the tool is suboptimal because it could add the modifiers you are missing in the diagram by analyzing the mathematical dependencies."

If we are going to tell SBML users and tool builders that it is the job of the tool to infer the modifiers from an examination of the equations, why not just supply the equations and let the tools infer ALL the modifiers? In fact, why not require the tool to infer the reactants and products and species and reactions as well? To me the goal of a markup language like SBML is precisely to avoid the necessity for such inferences.

You are entirely correct that we cannot enforce particular ways of coding models, but we can and should, as you and Mike have said, promulgate best practices. In the meantime I think the potential user community expects that when a published model is translated to SBML and curated by the world's most experienced and knowledgeable SBML experts, the ListOfModifiers will be complete for every reaction. Leaving some of them as an exercise for the user or toolmaker feels to me like our work is not done.

      
Nicolas Le Novere


Posts: 469
Registered:
October 2003
Re: Ancillary equations in SBML models 02 Aug '08 15:59 Go to previous messageGo to next message

Robert Phair wrote:
> Stefan makes good points, but I am not persuaded that
>
> "SBML's main intent is to capture the dynamics of a model..."
>
> If that were so, we could have simply encoded the model's equations in
> MathML.

Well, there is a lot to say here. But I do not agree with Robert if by
"model's equations" he means the ODEs. Those are not so easily
exchangeable, and SBML is about exchange. Plus an ODE model cannot be
extended, merged with another one etc.

> but the reason I'm excited about SBML is because it is a markup language,
not because it completely captures the model's dynamics. I understand a
markup language as a set of annotations that impart meaning.

Yes ...

> To me SBML has
goals akin to the Semantic Web or OWL where the idea is to give stored
information explicit meaning.

No. SBML is akin HTML, not CSS neither RDF. We are developing other tools
for that (SBO, MIRIAM annotations etc.)

> "...the tool is suboptimal because it could add the modifiers you are
> missing in the diagram by analyzing the mathematical dependencies."
>
> If we are going to tell SBML users and tool builders that it is the job
> of the tool to infer the modifiers from an examination of the equations

Actually Stefan is right here. The point is that BioModels DB graph
generator is imperfect. The "modifiers" could actually have been inferred
from the ancillary equations. Robert's problem does not come from SBML, but
from the graph generated by BioModels DB.

> why not just supply the equations and let the tools infer ALL the
> modifiers?

Well, ... it could actually. A modifier is just another parameter. We can
design a simple algorithm that goes through all the symbols of a kineticLaw
and if one is the id of a species that is not declared as reactant or
product, it is a modifier. Extending the algorithm to analyse
assignmentRules would permit to do what you want (drawing all the
influencing arcs).

> You are entirely correct that we cannot enforce particular ways of
> coding models, but we can and should, as you and Mike have said,
> promulgate best practices. In the meantime I think the potential user
> community expects that when a published model is translated to SBML and
> curated by the world's most experienced and knowledgeable SBML experts,
> the ListOfModifiers will be complete for every reaction. Leaving some of
> them as an exercise for the user or toolmaker feels to me like our work
> is not done.

Yes. I agree. But again, this is beside the point. Chen's model is coming
from Tyson's group itself. We can correct the syntax, check that it is
MIRIAM compliant, but that is all. Who are-we to decide how best to write
it? It is correct XML, it is correct SBML, it provides correct results. So?

(plus we have enough work with incorrect models without "improving" correct
models. Our curation pipeline and non-curated branch contain 115 models...)

--
Nicolas LE NOVERE, Computational Neurobiology,
EMBL-EBI, Wellcome-Trust Genome Campus, Hinxton, Cambridge, CB10 1SD, UK
Tel: +44(0)1223494521, Fax: 468, Mob: +44(0)7833147074 Skype:n.lenovere
http://www.ebi.ac.uk/~lenov, AIM: nlenovere, MSN: nlenovere@hotmail.com
____________________________________________________________
To manage your sbml-discuss list subscription, visit
https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss

For a web interface to the sbml-discuss mailing list, visit
http://sbml.org/Forums/

For questions or feedback about the sbml-discuss list,
contact sbml-team@caltech.edu

      
Robert Phair


Posts: 33
Registered:
March 2007
Re: Ancillary equations in SBML models 03 Aug '08 21:17 Go to previous messageGo to next message

It would be great if we could get other SBML people, particularly John Tyson or Katherine Chen, to comment on this thread, but let me see if I can summarize what has been said to this point.

My initial question arose because there are species in the 2004 Chen/Tyson cell cycle model (as downloaded from BioModels DB) that act as modifiers (in the sense that they regulate reaction fluxes), but do not appear in the ListOfModifiers for reactions they modify.

This turns out to be because the missing modifier species appear in ancillary equations rather than explicitly in the kinetic law for the reaction. Since those ancillary equations are encoded as SBML assignment rules, the species involved do not appear in the ListOfModifiers for the reaction.

To me this was an important omission, not only because it leads to generation of incorrect (or at least incomplete) diagrams, but also because any tool that reads the ListOfModifiers for a reaction might incorrectly conclude that it knows all the modifiers of this reaction that Drs. Chen and Tyson included in their model.

Nicolas and Stefan defended the status quo very effectively. They argue that the problem is a tool problem. They suggest that a competent tool could examine the mathematical dependencies and recognize the additional modifiers hidden in assignment rules. They correctly point out that none of us is in a position to tell others how to write their models. If this were my model, however, I would be disappointed that a correct SBML instantiation of my model does not capture all the modifiers I worked so hard to include. Nicolas and Stefan both emphasize that the SBML is correct and the model solution is correct. Since SBML is all about exchanging models, there is really nothing to improve, or at least nothing that we, the larger SBML community, should have the temerity to improve ourselves, even as curators.

These assertions are all true, but I suspect there are more users than just me who thought that the ListOfModifiers for a reaction encoded in SBML is a COMPLETE list. Such users may wonder what else about the SBML file cannot be trusted to be complete. Are we guaranteed, for example, that lists of reactants and lists of products are complete? This is not just a rhetorical question. I hope someone will answer it.

Nevertheless, if this is the way we must leave the specification, then it seems important to me that we add a disclaimer acknowledging that it is possible to have a correct SBML model in which all the lists of modifiers are null, but in which there are actually hundreds of modifiers.

One thing on which Stefan, and Nicolas and Mike and I all agree, is that this topic should be included in a best-practices document. Both Lukas and I proposed alternative approaches to encoding a model in SBML that would lead to correct (and complete) lists of modifiers.

To me, the status quo represents a loophole in the SBML specification. I think the ListOfModifiers should be complete for every reaction before an SBML model is considered "correct."

But if the SBML community thinks we have no business legislating this by altering the specification, then we should at least RECOMMEND best practices that produce complete lists of modifiers. Moreover, if I were a curator, I would at least write to the authors and discuss this issue before finalizing the curation process.

      
Nicolas Le Novere


Posts: 469
Registered:
October 2003
Re: Ancillary equations in SBML models 04 Aug '08 08:20 Go to previous messageGo to next message

Robert Phair wrote:

> These assertions are all true, but I suspect there are more users
> than just me who thought that the ListOfModifiers for a reaction
> encoded in SBML is a COMPLETE list. Such users may wonder what else
> about the SBML file cannot be trusted to be complete. Are we
> guaranteed, for example, that lists of reactants and lists of
> products are complete?

But ... the users are not supposed to read the SBML file. I guess this is the big misunderstanding that stemmed from a time where more SBML users were modelers. Now SBML users should be software developers who are in charge of exchanging models. I wonder how many readers of this thread know how Microsoft Word encodes cross-references in OOXML? How many of you ever opened an OOXML file? Or and ODF file?

So I reiterate my earlier comment. What you uncovered is not an imperfection of SBML, but an imperfection of BioModels DB graph generator.

> Nevertheless, if this is the way we must leave the specification,
> then it seems important to me that we add a disclaimer acknowledging
> that it is possible to have a correct SBML model in which all the
> lists of modifiers are null, but in which there are actually hundreds
> of modifiers.

I think all that points to the problem of using meaningful english words as element's tags. You would not have any problem with voltage be declared as a global parameter. But you would have a problem with a concentration of a given species, am-i right? There is something in the name "modifier" that makes it special.

More subtle:

dx/dt = k * C * Y / (K + Y)
where C = [calcium/calmodulin]/[total calmodulin]

You would declare A as a modifier

but

dx/dt = k * P * Y / (K + Y)
where P = pH

You would not declare P as a modifier, but as a parameter

Even if pH is in fact proportional to the concentration of H+ ...

> To me, the status quo represents a loophole in the SBML
> specification. I think the ListOfModifiers should be complete for
> every reaction before an SBML model is considered "correct."

I would actually like that (if only because BioModels DB graph generator would be "fixed" ;-)
But I am not sure it is feasible (in terms of human effort) to do it.
Consider the following assignmentRule:

species A
parameter X (not an entity pool)
parameter Y

if CONDITION 1
then Y = A
else Y = X

What is Y?



--
Nicolas LE NOVERE, Computational Neurobiology, EMBL-EBI, Wellcome-Trust
Genome Campus, Hinxton CB101SD UK, Mob:+447833147074, Tel:+441223494521
Fax:468, Skype:n.lenovere, AIM:nlenovere, MSN:nlenovere@hotmail.com
http://www.ebi.ac.uk/~lenov/, http://www.ebi.ac.uk/compneur/
____________________________________________________________
To manage your sbml-discuss list subscription, visit
https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss

For a web interface to the sbml-discuss mailing list, visit
http://sbml.org/Forums/

For questions or feedback about the sbml-discuss list,
contact sbml-team@caltech.edu

      
Robert Phair


Posts: 33
Registered:
March 2007
Re: Ancillary equations in SBML models 04 Aug '08 12:22 Go to previous messageGo to next message

The L2v3r2 specification (p. 66) says:

"4.13.2 The SimpleSpeciesReference abstract type

As mentioned above, every species that enters into a given reaction must appear in that reaction’s lists of reactants, products and/or modifiers."

I thought I understood this. But apparently I don't. Maybe I am misinterpreting the meaning of "enters into a given reaction" or maybe I am misinterpreting the meaning of "every species."

      
Robert Phair


Posts: 33
Registered:
March 2007
Re: Ancillary equations in SBML models 04 Aug '08 12:45 Go to previous messageGo to next message

For Nicolas' particular cases:

"More subtle:

dx/dt = k * C * Y / (K + Y)
where C = [calcium/calmodulin]/[total calmodulin]

You would declare A as a modifier

but

dx/dt = k * P * Y / (K + Y)
where P = pH

You would not declare P as a modifier, but as a parameter

Even if pH is in fact proportional to the concentration of H+"

In the case of the reaction controlled by calcium:CaM, yes I would definitely expect calcium:CaM to be a species and to appear in the ListOfModifiers.

In the case of the pH-controlled reaction, if H+ is in the ListOfSpecies, but not in the lists of Reactants or Products for the reaction whose kinetic law you have written, then I WOULD declare H+ as a Modifier even if P were defined by

P = -log[H+]

If P is constant, then yes it could be a parameter, but I imagine most people would lump it into the rate coefficient, k.

In the case of the assignment rule:

"Consider the following assignmentRule:

species A
parameter X (not an entity pool)
parameter Y

if CONDITION 1
then Y = A
else Y = X

What is Y? "

I don't think Y can be identified as a reactant, a product or a modifier.

      
Rainer Machne


Posts: 30
Registered:
September 2004
Re: Ancillary equations in SBML models 05 Aug '08 08:51 Go to previous messageGo to next message

Robert Phair wrote:
> The L2v3r2 specification (p. 66) says:
>
> "4.13.2 The SimpleSpeciesReference abstract type
>
> As mentioned above, every species that enters into a given reaction must appear in that reaction�s lists of reactants, products and/or modifiers."
>

I agree that modifier definition is hanging loose a bit within the SBML
framework. But i might also not think across the whole range of purposes
of SBML. Please correct me here, I am not so familiar with other then
SBML->ODE uses.

SBML describes the chemical reaction network, for the main purpose (?)
to reproduce the construction of mathematical models from such networks.
Most SBML specifications and obligatory rules ensure that this
conversion is always possible without loss.

However, the modifiers are not required for e.g. conversion to
differential equation systems.

Are they required e.g. for other mathematical derivates of the SBML
reaction network, e.g. for constructing stochastic or mass-action models
from enzyme models? Otherwise, the obligatory list of modifiers exists
not for the construction of the math, but for construction of the graph
- would that be correct?
And in that it seems to be unique among SBML specifications.


In any case, the current obligatory listing of modifiers of a reaction
can always be easily circumvented by using - e.g. simple assignment
rules (M_rule = M) - a fact that somehow undermines the obligatory list
of modifiers. In principle, I would support to extend the obligation to
list modifiers to species in rules and function definitions used in the
kinetic law.


But maybe, it should first be clarified for what purpose the modifiers
are obligatory in the first place: math/kinetics, graph/structure or for
both?


Maybe it is worthwhile to distinguish these two requirements for an SBML
model: a) allow correct and easy conversion to math, but b) ALSO
represent the chemical reaction network in the best possible detail
(independent of both the graphical extension and the requirements for
unique math conversion).

The latter point is certainly a bit fluffier and highly dependend on the
scale and context of the model, considering e.g. biochemists urging for
inclusion of protons.

Rainer

____________________________________________________________
To manage your sbml-discuss list subscription, visit
https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss

For a web interface to the sbml-discuss mailing list, visit
http://sbml.org/Forums/

For questions or feedback about the sbml-discuss list,
contact sbml-team@caltech.edu

      
Ann Chasson


Posts: 3
Location:
Los Altos, California
Registered:
December 2003
 
Re: Ancillary equations in SBML models 05 Aug '08 10:37 Go to previous messageGo to next message

I'll jump in here from the perspective of a software developer who is in charge of exchanging models. I don't know the biology encoded in the equations; I just know that I have lists of
species, reactants, products, modifiers, etc; lists of reactions that relate reactants, products and modifiers; and the kinetic laws that describe corresponding reactions.

As Nicolas implies below, parsing equations is not the job of the developer. The developer doesn't have the information required to determine directly from an equation such as:

| dx/dt = k * C * Y / (K + Y)
| where C = [calcium/calmodulin]/[total calmodulin]

that C is a modifier rather than a parameter. Likewise, the developer also shouldn't have to assume that Y is a reactant. These should be in the species list, and pulled together in the reaction's modifier/reactant/product list.

As it stands now, if C is a modifier but is not in the listOfModifiers, then the only way a tool would know that it's a modifier would be to parse the kinetic law, and for every term in the MathML compare that term to the listOfSpecies; if a term is in the listOfSpecies but not in the lists of reactants and products, then we assume it's a modifier. It's clear that there's no guarantee that C will be in the list of modifiers. Is there also no guarantee that C will be in the list of species? What happens if there's no kinecticLaw? Since the kinetic law is optional per the spec, it seems that a reaction would be incompletely specified if it left out the modifier term.

I agree that best practices should include all products in the listOfProducts, all reactants in the listOfReactants, and all modifiers in the listOfModifiers. I would take this one step farther and argue that the reaction should be fully specified to include all products, reactants and modifiers. To count on the tool developer to parse the MathML seems to be risky and introduces errors in exchange of models among tools. The spec is complete in its definition of reactants/products/modifiers and reactions; as a software developer my goal is to code to the spec in order to minimize ambiguity when exchanging my models with other tools.

Ann Chasson
Integrative BioInformatics

      
Robert Phair


Posts: 33
Registered:
March 2007
Re: Ancillary equations in SBML models 05 Aug '08 16:12 Go to previous messageGo to next message

Hi Rainer. Thanks for joining in this discussion. Your point is well taken and both Nicolas and Stefan have made the same point in different ways. I agree that if you have the kinetic laws for the reactions, you do not need the ListOfModifiers to write the ODEs, whereas you DO need the ListOfReactants and the ListOfProducts. In this situation, one could argue that the ListOfModifiers is completely unnecessary.

You pose the important question as to what uses the ListOfModifiers has in the larger world of SBML models. So far in this thread only the ability to create accurate diagrams has been highlighted, and while I think this is important it's apparently not as compelling as the need to write correct ODEs.

But I think the ListOfModifiers much more. I think it is a vital communication link between the SBML community and the experimental biology community. If SBML has only the narrow parochial goal of exchanging models among investigators who have the training and experience to understand the mathematics of biological models, then clearly the ListOfModifiers is not even necessary. I would still argue that if it is present it should be complete, but I would have no grounds for arguing that it is essential.

If, however, we have a larger goal for SBML, one in which it serves as an interface between qualitative diagrams and quantitative models, then I think the ListOfModifiers is every bit as important as the ListOfReactants and the ListOfProducts.

To me there is an important reason that the SBML specification says the kinetic law is OPTIONAL and the ListOfModifiers is REQUIRED. That reason is that the vast majority of published models have no mathematics at all. They are published as paragraphs or diagrams characterized by all the required elements of an SBML model: SpeciesTypes, Compartments, Species, and Reactions with Reactants, Products, and Modifiers. We need to be able to exchange these qualitative models just as effectively as we exchange mathematical models.

Maybe I misread the goals of the SBML community, but I think SBML can be at the forefront of a new biology. This is just my own perspective, but I've never been satisfied with systems biology or computational cell biology as isolated disciplines with their own journals, their own meetings and little or no interaction with our compatriots in the experimental biology community. I think systems biology is the only set of tools that has a chance of comprehending biological complexity, but I also think that without the insight of investigators who have spent their professional lives at the bench or in the clinic, systems biology cannot succeed any better than experimental biology can succeed without our insight.

To me, the beauty of SBML is that it opens the door to fruitful cooperation between these two essential threads of scientific thought. It does so, in large measure, because it supports the exchange of models/hypotheses that have ONLY SpeciesTypes, Compartments, Species, and Reactions with Reactants, Products, and Modifiers and still need the insight of a smart systems biologist to make them quantitative and testable.

      
Nicolas Le Novere


Posts: 469
Registered:
October 2003
Re: Ancillary equations in SBML models 05 Aug '08 15:23 Go to previous messageGo to next message

Robert Phair wrote:
> The L2v3r2 specification (p. 66) says:
>
> "4.13.2 The SimpleSpeciesReference abstract type
>
> As mentioned above, every species that enters into a given reaction must
> appear in that reaction�s lists of reactants, products and/or
> modifiers."
>
> I thought I understood this. But apparently I don't. Maybe I am
> misinterpreting the meaning of "enters into a given reaction"

Yes and no. Yes, you misinterpret it. But it is the specification's fault.
That should read:


4.13.2 The SimpleSpeciesReference abstract type

As mentioned above, every species which id is mentioned in a reaction's
lineticLaw must appear in that reaction's lists of reactants, products
and/or modifiers."

Please, open a tracker issue.

Thanks
____________________________________________________________
To manage your sbml-discuss list subscription, visit
https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss

For a web interface to the sbml-discuss mailing list, visit
http://sbml.org/Forums/

For questions or feedback about the sbml-discuss list,
contact sbml-team@caltech.edu

      
Nicolas Le Novere


Posts: 469
Registered:
October 2003
Re: Ancillary equations in SBML models 05 Aug '08 15:20 Go to previous messageGo to next message

Robert Phair wrote:
> For Nicolas' particular cases:
>
> "More subtle:
>
> dx/dt = k * C * Y / (K + Y) where C = [calcium/calmodulin]/[total
> calmodulin]
>
> You would declare A as a modifier
>
> but
>
> dx/dt = k * P * Y / (K + Y) where P = pH
>
> You would not declare P as a modifier, but as a parameter
>
> Even if pH is in fact proportional to the concentration of H+"
>
> In the case of the reaction controlled by calcium:CaM, yes I would
> definitely expect calcium:CaM to be a species and to appear in the
> ListOfModifiers.

But the modifier is not calcium:CaM. It is the ratio between calcium:CaM
and total CaM. Therefore,
- either we define the ratio as a parameter and do not refer to it as a
modifier.
- or we declare both calcium:CaM AND total CaM as modifiers. Now, could-you
explain me how you draw a graph representing this situation?

> In the case of the pH-controlled reaction, if H+ is in the
> ListOfSpecies, but not in the lists of Reactants or Products for the
> reaction whose kinetic law you have written, then I WOULD declare H+ as
> a Modifier even if P were defined by
>
> P = -log[H+]

But modifiers are meant to correspond to the symbols in the kineticLaw. You
would end up with a modifier declaration pointing to H+ and a symbol in the
kineticLaw refering to P. 1) this is illegal SBML, 2) this is semantically
dodgy, 3) ... we go back to a situation where you have to analyse the
assignmentRule to fully understand the reaction! Which is precisely what
you criticised before.

> In the case of the assignment rule:
>
> "Consider the following assignmentRule:
>
> species A parameter X (not an entity pool) parameter Y
>
> if CONDITION 1 then Y = A else Y = X
>
> What is Y? "
>
> I don't think Y can be identified as a reactant, a product or a
> modifier.

Exactly. So if condition 1 is fulfiled, X represents a species, but you
would not declare it as a modifier.


____________________________________________________________
To manage your sbml-discuss list subscription, visit
https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss

For a web interface to the sbml-discuss mailing list, visit
http://sbml.org/Forums/

For questions or feedback about the sbml-discuss list,
contact sbml-team@caltech.edu

      
Nicolas Le Novere


Posts: 469
Registered:
October 2003
Re: Ancillary equations in SBML models 06 Aug '08 00:22 Go to previous messageGo to next message

Robert Phair wrote:

> But I think the ListOfModifiers much more. I think it is a vital
> communication link between the SBML community and the experimental
> biology community.

I won't convince you, but I entirely disagree. SBML is not supposed to be seen by anyone. Not modelers, and of course even less "experimentalists". The communication link between theoreticians and wet biologists is the scientific publishing at large: book, articles, webpages etc.

NB: "SBML community" and "experimental community" are not disjoint or complementary. "SBML community" does not mean "modeling community" or "theoretical biology community"

> If, however, we have a larger goal for SBML, one in which it serves
> as an interface between qualitative diagrams and quantitative models,
> then I think the ListOfModifiers is every bit as important as the
> ListOfReactants and the ListOfProducts.

If the purpose is to encode "pathways", SBML is not the way to go. There is another effort, with much higher semantics, that suits your needs. It is called BioPAX (http://www.biopax.org)

But formal models (logical networks, petri-net etc.) is the topic of an extension for L3. An initial spec will be presented at the next SBML forum.

> To me there is an important reason that the SBML specification says
> the kinetic law is OPTIONAL and the ListOfModifiers is REQUIRED.

No, it does not. See figure 21 page 64. ListOfReactants, ListOfProducts, and ListOfModifiers, are all optional.

--
Nicolas LE NOVERE, Computational Neurobiology, EMBL-EBI, Wellcome-Trust
Genome Campus, Hinxton CB101SD UK, Mob:+447833147074, Tel:+441223494521
Fax:468, Skype:n.lenovere, AIM:nlenovere, MSN:nlenovere@hotmail.com
http://www.ebi.ac.uk/~lenov/, http://www.ebi.ac.uk/compneur/
____________________________________________________________
To manage your sbml-discuss list subscription, visit
https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss

For a web interface to the sbml-discuss mailing list, visit
http://sbml.org/Forums/

For questions or feedback about the sbml-discuss list,
contact sbml-team@caltech.edu

      
Ion


Posts: 24
Registered:
October 2006
Re: Ancillary equations in SBML models 05 Aug '08 23:35 Go to previous messageGo to next message

Bob, Nicolas, Stefan, Rainer, Mike and other SBML afficionados:

Thank you all! I've been reading this thread with much interest and thought of jumping in a few times... with specific examples and arguments... and then decided against. This is a much deeper subject matter and should not be lost in technicalities.

This discussion brought up two crucial issues:

First, the need for "best practices" recommendations in addition to the SBML official specification. At this juncture, we really, really, need this. The spec is too "flexible" for its own good, even though it is often so for good reason... This is only going to get worse now that we approach the (still messy) evolution towards L3, and optional extensions, which will bring further splits and inconsistencies. It is great to allow (people/tools) to create "correct" SBML documents with the fewest restrictions possible. But we should also encourage SBML "writers" to choose thosee approaches that best capture information and meaning - whatever that is.

I believe that the above issue should be a major topic during the upcoming SBML forum. And it is inextricably related to the next issue, below.

Second, the need to decide what the goals are for SBML evolution in the future. Often, this subject has been scoffed at by many in the "community". The argument was that the "purpose" of SBML has been always clear: to create a formal encoding that allows kinetic models to be exchanged between tools with unequivocal consistency in generating the appropriate math and numerical results. This is all nice and groovy, but here is a reality check. The world of computational/systems biology is not driven by developers, but by scientists - modelers, experimentalists, etc. The tools and their developers are just serving the needs of the users. The users often find out that in real life, "exchange" of models works, but only in the sense of reproducing results. It often does not really work in the sense of the user being able to properly understand the model once it has been written by one tool and read by another. And before you all start flames... I am very well aware of the role of annotations, ontologies, MIRIAM, MIASE, and all other stuff related to this... I am not saying that SBML should supersede them. Drive them, embrace them, grow into them, whatever - just be pragmatic.

Ion


      
Pedro Mendes


Posts: 123
Registered:
September 2003
Re: Ancillary equations in SBML models 06 Aug '08 07:04 Go to previous messageGo to next message

There has been a lot of (electronic) ink spent on this thread already, but I
feel obliged to comment on a few things too.

I have to say that I mostly side with Bob Phair, though with some differences.
I understand the argument by Nicolas and Stefan that SBML is mostly for
programs to read and therefore SBML users are programmers. This is true, and
so it is true that Bob is a programmer (at least functions as such) and he
did not understand the Spec well. I have to say that COPASI has suffered from
this problem in the past as well, particularly we were identifying which
metabolites we needed to calculate elasticities based on the list of
modifiers, but it turns out that many substances affect reactions *hidden*
under other math expressions. We were producing incorrect results as such.

If there are already two toolmakers that were "fooled" by the specs I say this
is a reflection of a bad standard. I think we should enforce all modifiers to
be listed. Otherwise we should just go back to the original version in level
1 which is that no modifiers are listed explicitly.

There are good arguments why an explicit and complete list of modifiers is a
Good Thing: by not having it the SBML is not queryiable with respect to
modifiers (ie some tool like xquery cannot find all the modifiers because it
would have to understand maths and biochemistry to do so, but it only
understands XML). Another type of tools that are handicapped by the current
spec are tools who want to make sense of the network without having to know
about the kinetics. Currently there is no reliable way to detect the modifier
interactions if you do not parse the kinetics. So while we may say that it is
down to the tools to understand the SBML, we are unecessarily restricting
generic XML tools to access information, only to allow some specific
modellers bad habits (the word bad is arguable but not the rest). However,
the argument is that SBML is not for modellers but for tool makers! Well,
let's keep it that way.

I think we have made many mistakes in the past to support some specific ways
of expressing models and have transported to SBML things that have their
place in journals but not in proper well-behaved XML...

Personally I would prefer to see all modifiers stated explicitly just because
this opens up functionality to a lot more programs.

Now, to be fair, the argument of Stefan and Nicolas that the specific problem
mentioned about the Chen model in the is down to the tool that read the SBML
is correct, the tool is not working right. One could say that the problem was
with the previous tool that wrote the original SBML (JigCell in this case)
since that is the one that did not list the modifiers explicitly (though that
is not illegal according to the specs, so I feel badly about citing them, it
is SBML that is really at fault for being so permissive). Who we should not
blame are the modellers (Kathy, John, et al.) The tools should do the hard
work!

Pedro


--
Pedro Mendes
Chair in Computational Systems Biology
University of Manchester

School of Computer Science
Kilburn Building, Oxford Road,
Manchester, M13 9PL, UK

Manchester Centre for Integrative Systems Biology
Manchester Interdisciplinary Biocentre
131 Princess St., Manchester, M1 7DN, UK
____________________________________________________________
To manage your sbml-discuss list subscription, visit
https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss

For a web interface to the sbml-discuss mailing list, visit
http://sbml.org/Forums/

For questions or feedback about the sbml-discuss list,
contact sbml-team@caltech.edu

      
Rainer Machne


Posts: 30
Registered:
September 2004
Re: Ancillary equations in SBML models 06 Aug '08 03:14 Go to previous messageGo to next message

Nicolas Le Novere wrote:
> Robert Phair wrote:
>> If, however, we have a larger goal for SBML, one in which it serves
>> as an interface between qualitative diagrams and quantitative models,
>> then I think the ListOfModifiers is every bit as important as the
>> ListOfReactants and the ListOfProducts.
>
> If the purpose is to encode "pathways", SBML is not the way to go. There is another effort, with much higher semantics, that suits your needs. It is called BioPAX (http://www.biopax.org)
>

Right, SBML encodes chemical reaction networks, although it can as well
encode pure ODE systems (model only consisting of rate rules).

Actually, without SBO or other annotation there is nothing "bio" in SBML
currently, or am i wrong? It seems to represent merely chemical reaction
networks, and could have been developed in a sort of convergent
evolution by e.g. industrial chemists, who also work with different
"compartments".

And maybe this part - the reaction network structure - should be
captured correctly as well, independent of reproducing the math/kinetics.
This would be a different additional goal, i think. However, it would be
easy to achieve from current state of SBML.

Maybe on could even think about some kind of simple flags indicating the
level of chemical detail represented in a given model, e.g. "no kinetic
laws, but who cares because !yay! we have all the protons" ... just
brainstorming here :)

If the only main goal remains reproducibility of math/kinetics models,
then the chemical reaction network accuracy should probably become a big
"best practice" chapter.


Maybe on could even think about some kind of flag indicating the level
of chemical detail represented in a given model (e.g. are H20 and H+
included or not?) ... just brainstorming here :)
> But formal models (logical networks, petri-net etc.) is the topic of an extension for L3. An initial spec will be presented at the next SBML forum.
>

Great! Looking forward to that.

For such formal models it might become even more important to think
about capturing the chemical reaction network structure as completely as
possible (for a given model scale/context).

>> To me there is an important reason that the SBML specification says
>> the kinetic law is OPTIONAL and the ListOfModifiers is REQUIRED.
>
> No, it does not. See figure 21 page 64. ListOfReactants, ListOfProducts, and ListOfModifiers, are all optional.
>

I guess the point was, that modifiers are required in the listOf if they
appear in the kinetic law, but are NOT required if they appear in a
rule, whose assigned parameter appears in the kinetic law.

While from (SBML->ODE) developer's point of view this is really no issue
for me, I agree that it seems a bit inconsistent.

It would really help to clarify what the initial reasoning was to a)
include listOfModifiers and b) to make it obligatory if a species
appears in the kinetic law.

If the reason is to ensure that the chemistry is captured correctly, ie.
that any species whose concentration modifies the rate should be in the
list, then the rule should definitely be extended to species in rules.
Although I agree that this can become complicated, when one rule refers
to another rule etc.

If it just serves to allow creation of reaction network graphs, without
caring for the real chemical relation, then it should probably be
completely up to the user/software(settings) to decide which species is
a modifier and which is not.

Or does it have some practical reason, like generation of kinetic laws
from SBO terms or something like that?

but i am starting to repeat myself here.

Anyways, the dual goal of capturing both independently, math/kinetics
and network/structure, might be worthwile to think about, especially
when going towards encoding of more formal models.


Rainer

____________________________________________________________
To manage your sbml-discuss list subscription, visit
https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss

For a web interface to the sbml-discuss mailing list, visit
http://sbml.org/Forums/

For questions or feedback about the sbml-discuss list,
contact sbml-team@caltech.edu

      
Stefan.Hoops


Posts: 170
Registered:
December 2006
Re: Ancillary equations in SBML models 06 Aug '08 09:12 Go to previous messageGo to next message

Hello Pedro,

I agree with you on all your points as I have with Bob :)

However I can not see a way that SBML and its supporting tools can
enforce that all MODIFIERS are listed. This is obvious for SBML models
which do not have any kinetic information. In such a model the
requirement is unenforceable and it is up to the modeller to provide a
complete list.

Even in the presence of kinetic information the examples in this thread
indicate that the meaning of the word modifier is not properly defined
and thus analysing the dependencies (including all indirect) of the
kinetic law will not suffice.

If we want to enforce a complete list of MODIFIERS for SBML models
where this is applicable (models with complete kinetic information) we
have some work to:

1) Define what is a MODIFIER in SBML terms.
2) Implement checks in tools which verify the completeness of the
MODIFIERS for applicable models.

Assuming we succeed in defining a MODIFIER in SBML e.g. based in the
definition in SBO:
Substance that changes the velocity of a chemical reaction without
itself being consumed or transformed by the reaction.

we will still be faced with ambiguous situations as in Nicolas' example:

Y -> X;
K is specified as modifier;
k is constant
v = k * C * Y / (K + Y)
C = [calcium/calmodulin]/[total calmodulin]

Under the assumption that we mapped substance in SBO to a species in
SBML, we have dependent on the choice of the modeler for the entities
calcium, calmodulin, and "total calmodulin" different list of
modifiers. This means we need to define rules which specify whether an
entity is a species or a parameter. Even if we succeed in defining
those I see no way to enforce them without further semantic information
(e.g. SBOterm) in SBML, which again is up to the modeller to provide.

If we remove all these ambiguities 2) becomes a trivial task and most
simulators must have already implemented them in some way to correctly
calculate the kinetic law.

We need to decide whether it is helpful to have rules which can not be
enforced. In my opinion a rule which can not be enforced is
meaningless since we can not rely on it. Thus the only way out is the
agreed upon best practise document.

Thanks,
Stefan


--
Stefan Hoops, Ph.D.
Senior Project Associate
Virginia Bioinformatics Institute - 0477
Virginia Tech
Bioinformatics Facility I
Blacksburg, Va 24061, USA

Phone: (540) 231-1799
Fax: (540) 231-2606
Email: shoops@vbi.vt.edu
____________________________________________________________
To manage your sbml-discuss list subscription, visit
https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss

For a web interface to the sbml-discuss mailing list, visit
http://sbml.org/Forums/

For questions or feedback about the sbml-discuss list,
contact sbml-team@caltech.edu

      
Nicolas Le Novere


Posts: 469
Registered:
October 2003
Re: Ancillary equations in SBML models 06 Aug '08 09:47 Go to previous messageGo to next message

OK, my last email in this thread because clearly there are two discussions
going on, one political and one technical. And they are orthogonal which is
a recipe for misunderstandings.

Ann Chasson wrote:

> The developer doesn't have the information required to
> determine directly from an equation such as:
>
> | dx/dt = k * C * Y / (K + Y) | where C = [calcium/calmodulin]/[total
> calmodulin]
>
> that C is a modifier rather than a parameter.

But ... C IS NOT A MODIFIER. C is not a species at all. This is the whole
point. The kinetic law does NOT contain any reference to either
calcium/calmodulin or total calmodulin. C IS a parameter. But it is true
that, as a result, if you graphically and automatically represent the
model, the reaction will not be affected by calcium or calmodulin (I still
wait for example of graph would do that).

We bumped in the problem for SBGN Process Diagram Level 1. And could not do
anything but postponing the issue.

> As it stands now, if C is a modifier but is not in the listOfModifiers,
> then the only way a tool would know that it's a modifier would be to
> parse the kinetic law, and for every term in the MathML compare that
> term to the listOfSpecies; if a term is in the listOfSpecies but not in
> the lists of reactants and products, then we assume it's a modifier.

Which will not provide C, since C is not a species.

> It's clear that there's no guarantee that C will be in the list of
> modifiers. Is there also no guarantee that C will be in the list of
> species?

If C was in the listOfSpecies, since it is in the kineticLaw, it would be
in the listOfModifiers.

> What happens if there's no kinecticLaw? Since the kinetic law
> is optional per the spec, it seems that a reaction would be incompletely
> specified if it left out the modifier term.

Sorry, but if there are no kineticLaw, the concept of modifier is moot.
Even if the modifier was listed, the reaction would be "incompletely
specified".

Reactant A
Product B
Modifier C and D

What does that mean? What is the effect of C and B? Are they stimulators?
Inhibitors? Neutral? Have opposite effect?

Semantic content = 0
Possibility to generate a graph = null

This would be completely different if we use SBO. But the spec is clear
that the model should be unambiguously understandable without SBO. In other
words, everything that requires SBO is not part of SBML mission. It is
useful, and will become even more in the future. But it relates to
side-issues (generating graphs, converting between formats etc.)


> I agree that best practices should include all products in the
> listOfProducts, all reactants in the listOfReactants, and all modifiers
> in the listOfModifiers.

And this is already the case. So the whole discussion is useless. Everyone
is advocating for what is actually the current situation.

Lukas and Robert agreed on the method to avoid the graph disruption that
caused the thread: functionDefinition instead of assignmentRule if the sole
role is to reuse an expression referring to species.

In all other examples used in the thread, the symbols were not those of
modifiers.



____________________________________________________________
To manage your sbml-discuss list subscription, visit
https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss

For a web interface to the sbml-discuss mailing list, visit
http://sbml.org/Forums/

For questions or feedback about the sbml-discuss list,
contact sbml-team@caltech.edu

      
Rainer Machne


Posts: 30
Registered:
September 2004
Re: Ancillary equations in SBML models 06 Aug '08 10:24 Go to previous messageGo to next message

Nicolas Le novère wrote:
>>
>> | dx/dt = k * C * Y / (K + Y) | where C = [calcium/calmodulin]/[total
>> calmodulin]
>>
.....
>
> If C was in the listOfSpecies, since it is in the kineticLaw, it would be
> in the listOfModifiers.
>

It might be better to move the currently existing modeler's or
software's choice of what is a modifier and what not, to exactly this
point:
define it as a parameter or a species. If defined as species, then it
should be in the modifier list, even if it just appears in a rule and
not explicitly in the kinetic law.

So for above example, one could choose both calcium and calmodulin as
species (and thus modifiers), while C and "total calmodulin" are derived
parameters.
They are all in concentration units though, and the derived entities
could as well be defined as "species" in another model's context: this
should be the modeler's choice.

I think this could be less ambiguous then the current state, where the
modeler might not even have control on whether a species will appear
explicitly in the kinetic law or not, depending on the software
generating the math (ok, then it's a software problem again ;).


> Sorry, but if there are no kineticLaw, the concept of modifier is moot.
> Even if the modifier was listed, the reaction would be "incompletely
> specified".
>
> Reactant A
> Product B
> Modifier C and D
>
> What does that mean? What is the effect of C and B? Are they stimulators?
> Inhibitors? Neutral? Have opposite effect?

Actually that could be quite common: the exact kinetics are not known
yet, but the modifiers are (is it competitive or non-competitive
inhibition e.g.). And thus the modeler leaves kinetic law empty, e.g.
for other software to infer the exact form of the kinetic law from
measurements.

Rainer
____________________________________________________________
To manage your sbml-discuss list subscription, visit
https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss

For a web interface to the sbml-discuss mailing list, visit
http://sbml.org/Forums/

For questions or feedback about the sbml-discuss list,
contact sbml-team@caltech.edu

      
Nicolas Le Novere


Posts: 469
Registered:
October 2003
Re: Ancillary equations in SBML models 06 Aug '08 10:45 Go to previous messageGo to next message

Rainer Machne wrote:
> Nicolas Le novère wrote:
>>> | dx/dt = k * C * Y / (K + Y) | where C = [calcium/calmodulin]/[total
>>> calmodulin]


> They are all in concentration units though, and the derived entities
> could as well be defined as "species" in another model's context: this
> should be the modeler's choice.

No they are not. C is dimensionless and can only take values from 0 to 1.

>> Sorry, but if there are no kineticLaw, the concept of modifier is moot.
>> Even if the modifier was listed, the reaction would be "incompletely
>> specified".
>>
>> Reactant A
>> Product B
>> Modifier C and D
>>
>> What does that mean? What is the effect of C and B? Are they stimulators?
>> Inhibitors? Neutral? Have opposite effect?
>
> Actually that could be quite common: the exact kinetics are not known
> yet, but the modifiers are (is it competitive or non-competitive
> inhibition e.g.). And thus the modeler leaves kinetic law empty, e.g.
> for other software to infer the exact form of the kinetic law from
> measurements.

I am not talking about mathematics. There is nothing that says "inhibitor".
____________________________________________________________
To manage your sbml-discuss list subscription, visit
https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss

For a web interface to the sbml-discuss mailing list, visit
http://sbml.org/Forums/

For questions or feedback about the sbml-discuss list,
contact sbml-team@caltech.edu

      
Mike Hucka


Posts: 961
Registered:
October 2003
Re: Ancillary equations in SBML models 08 Aug '08 18:30 Go to previous messageGo to next message

Sorry for rejoining the discussion so late.

raim> It would really help to clarify what the initial
raim> reasoning was to a) include listOfModifiers and b)
raim> to make it obligatory if a species appears in the
raim> kinetic law.

As I recall, the reason to require all species identifiers
appearing in a kinetic law to be listed in the list of
reactants/products/modifiers was simply the notion that this
would allow software tools to interpret the expressions
better. It's kind of the minimum sort of categorization
that can be done on species whose identifiers appear in an
expression.

(Aside, to reiterate what Nicolas already brought up: the
spec says the modifiers list should include all species
whose *identifiers* appear in the rate expression, not all
species that may affect the rate.)

raim> If the reason is to ensure that the chemistry is
raim> captured correctly, ie. that any species whose
raim> concentration modifies the rate should be in the
raim> list, then the rule should definitely be extended to
raim> species in rules. Although I agree that this can
raim> become complicated, when one rule refers to another
raim> rule etc.

I understand your point, and I think Pedro is arguing for
the same thing (if I understood Pedro's msg of August 6).
However, it's not immediately clear to me how you would do
it. Suppose a reaction R has a parameter A, whose value is
set by a rule A = f(B, C, ...) where B and C are species.
Should B and C be included in R's list of modifiers? If you
say yes, then where does this process stop? B and C, being
species, have their values determined by formulas which are
in effect rate rules, and *their* values may very well
depend on *other* species. It seems very possible that you
might end up with every species in the model listed as
modifiers of most reactions!

raim> Or does it have some practical reason, like
raim> generation of kinetic laws from SBO terms or
raim> something like that?

No, not that. SBO was invented after Level 2 Version 1 was
issued, where the list of modifiers was introduced.

MH

____________________________________________________________
To manage your sbml-discuss list subscription, visit
https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss

For a web interface to the sbml-discuss mailing list, visit
http://sbml.org/Forums/

For questions or feedback about the sbml-discuss list,
contact sbml-team@caltech.edu

      
Robert Phair


Posts: 33
Registered:
March 2007
Re: Ancillary equations in SBML models 08 Aug '08 22:42 Go to previous messageGo to next message

Mike Hucka notes:

"(Aside, to reiterate what Nicolas already brought up: the spec says the
modifiers list should include all species whose *identifiers* appear in the
rate expression, not all species that may affect the rate.)"

But the L2v3r2 specification (p. 66) says:

"4.13.2 The SimpleSpeciesReference abstract type

As mentioned above, every species that enters into a given reaction must
appear in that reaction's lists of reactants, products and/or modifiers."

I read this to mean that all the species that determine the rate of a given
reaction (and that are not reactants or products) must appear in the
ListOfModifiers. I infer from Pedro's post that he understood the
ListOfModifiers the same way. Nevertheless, Nicolas, and now Mike, tell us
the spec doesn't say this.

But it does.

How are we as developers supposed to know we cannot code to this statement?
This is the spec we all voted on. It says what I think it should say. So we
coded to it. But now Nicolas tells us it should read:

"4.13.2 The SimpleSpeciesReference abstract type

As mentioned above, every species which id is mentioned in a reaction's
lineticLaw must appear in that reaction's lists of reactants, products
and/or modifiers."

Why? I thought we were supposed to vote on changes to the spec.

The ListOfModifiers tag has already been taken seriously by Copasi
developers and ProcessDB developers, and who knows how many others. I don't
know how much time and resources were invested in this by the Copasi team,
but I do know we've invested many weeks. If the ListOfModifiers is
incomplete, I think it's broken. As Pedro says, a partial list is worse than
no list at all. If we knew we were going to have to parse the equations, we
would have invested those resources in parsing, not in processing the
ListOfModifiers.

I started this thread because it became painfully apparent to me that a
failure to include modifiers in the ListOfModifiers, just because they
appear in a kinetic law as "parameters" or assignment rules, causes a loss
of information. It's been argued that no information is lost because,
computationally, the models work as the modelers intended.

I claim this is too narrow a view. Just stop and consider that each time
someone visits BiomodelsDB and downloads Kathy Chen's cell cycle model,
translating from SBML to BioPaX, they will have obtained an official SBML
model that completely misrepresents the work of the Tyson lab by omitting at
least 2, and probably more like 10, important control points. This seems so
obviously unacceptable that I cannot imagine why there is resistance to
fixing it.

I'm not saying it's a problem that's easy to fix, I'm just saying a complete
ListOfModifiers should be required of a correct SBML model and we need to
find a way to implement this requirement.

OK. I've said what I had to say as clearly as I know how. I think it's a
vital issue that we ignore at our peril. But this is a community effort. A
lot of you have not yet posted to this thread. What do you think? Should I
just let this go?



-----Original Message-----
From: sbml-discuss-bounces@caltech.edu
[mailto:sbml-discuss-bounces@caltech.edu] On Behalf Of Michael Hucka
Sent: Friday, August 08, 2008 6:31 PM
To: SBML Discussion List
Subject: Re: [sbml-discuss] Ancillary equations in SBML models

Sorry for rejoining the discussion so late.

raim> It would really help to clarify what the initial
raim> reasoning was to a) include listOfModifiers and b)
raim> to make it obligatory if a species appears in the
raim> kinetic law.

As I recall, the reason to require all species identifiers
appearing in a kinetic law to be listed in the list of
reactants/products/modifiers was simply the notion that this
would allow software tools to interpret the expressions
better. It's kind of the minimum sort of categorization
that can be done on species whose identifiers appear in an
expression.

(Aside, to reiterate what Nicolas already brought up: the
spec says the modifiers list should include all species
whose *identifiers* appear in the rate expression, not all
species that may affect the rate.)

raim> If the reason is to ensure that the chemistry is
raim> captured correctly, ie. that any species whose
raim> concentration modifies the rate should be in the
raim> list, then the rule should definitely be extended to
raim> species in rules. Although I agree that this can
raim> become complicated, when one rule refers to another
raim> rule etc.

I understand your point, and I think Pedro is arguing for
the same thing (if I understood Pedro's msg of August 6).
However, it's not immediately clear to me how you would do
it. Suppose a reaction R has a parameter A, whose value is
set by a rule A = f(B, C, ...) where B and C are species.
Should B and C be included in R's list of modifiers? If you
say yes, then where does this process stop? B and C, being
species, have their values determined by formulas which are
in effect rate rules, and *their* values may very well
depend on *other* species. It seems very possible that you
might end up with every species in the model listed as
modifiers of most reactions!

raim> Or does it have some practical reason, like
raim> generation of kinetic laws from SBO terms or
raim> something like that?

No, not that. SBO was invented after Level 2 Version 1 was
issued, where the list of modifiers was introduced.

MH

____________________________________________________________
To manage your sbml-discuss list subscription, visit
https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss

For a web interface to the sbml-discuss mailing list, visit
http://sbml.org/Forums/

For questions or feedback about the sbml-discuss list,
contact sbml-team@caltech.edu

____________________________________________________________
To manage your sbml-discuss list subscription, visit
https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss

For a web interface to the sbml-discuss mailing list, visit
http://sbml.org/Forums/

For questions or feedback about the sbml-discuss list,
contact sbml-team@caltech.edu

      
Mike Hucka


Posts: 961
Registered:
October 2003
Re: Ancillary equations in SBML models 08 Aug '08 23:41 Go to previous messageGo to next message

rphair> I read this to mean that all the species that
rphair> determine the rate of a given reaction (and that
rphair> are not reactants or products) must appear in the
rphair> ListOfModifiers. I infer from Pedro's post that he
rphair> understood the ListOfModifiers the same
rphair> way. Nevertheless, Nicolas, and now Mike, tell us
rphair> the spec doesn't say this.
rphair>
rphair> But it does.
rphair>
rphair> How are we as developers supposed to know we
rphair> cannot code to this statement? This is the spec
rphair> we all voted on. It says what I think it should
rphair> say. So we coded to it. But now Nicolas tells us
rphair> it should read:
rphair>
rphair> "4.13.2 The SimpleSpeciesReference abstract type
rphair>
rphair> As mentioned above, every species which id is
rphair> mentioned in a reaction's lineticLaw must appear
rphair> in that reaction's lists of reactants, products
rphair> and/or modifiers."
rphair>
rphair> Why? I thought we were supposed to vote on changes
rphair> to the spec.

It's an ambiguity in the way the spec is worded, and Nicolas
was just trying to point out the originally-intended
interpretation. That's not a change to the spec! I'm
frankly confused by this line of argument.

However, I can understand your frustration and annoyance at
the situation. I'm sorry this has occurred. The editors
try hard to formulate the spec as clearly as possible, and
apparently we failed here, and this makes me sad.

Let me step back for a moment. Speaking just for myself, my
understanding of people's desire is/was that the SBML
reaction's list of reactants, products and modifiers should
(1) refer to identifiers that explicitly appear in the
kinetic law expressions, NOT (2) to an "extended set" (if
you will) of any species that may enter into the expression
through any means. When I read it, I still think (1) is the
natural interpretation, but I'm amazed this issue hasn't
come up before, because now that you bring it up, I have to
agree that the first sentence in section 4.13.2 (L2v3r2)
really can be read as meaning (2).

Now, a very good question is, how many other people
interpreted the lists of reactions, products and modifiers
according to (2)? Should we run a poll to ascertain this?

MH

____________________________________________________________
To manage your sbml-discuss list subscription, visit
https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss

For a web interface to the sbml-discuss mailing list, visit
http://sbml.org/Forums/

For questions or feedback about the sbml-discuss list,
contact sbml-team@caltech.edu

      
Frank Bergmann


Posts: 80
Registered:
August 2005
Re: Ancillary equations in SBML models 09 Aug '08 01:02 Go to previous messageGo to next message


On Aug 8, 2008, at 10:42 PM, <rphair@integrativebioinformatics.com> <rphair@integrativebioinformatics.com
> wrote:

>
> OK. I've said what I had to say as clearly as I know how. I think
> it's a
> vital issue that we ignore at our peril. But this is a community
> effort. A
> lot of you have not yet posted to this thread. What do you think?
> Should I
> just let this go?

As you ask for our opinion as part of the community, here is what we
do. For our visualizations we definitely wanted to display modifiers
for all SBML models that we get. as we

1) can not count on the list of modifiers to be available (or
complete) and
2) strongly disagree with the take that a missing modifier makes an
SBML model invalid to the point where some other software were to
refuse to read the model at all

we silently parse the kinetic laws and slip missing modifiers into the
ListOfModifiers. This solved the problem for us.

However we stop with the kinetic law. We do not go ahead and test
rules, whether they *might* contain additional modifiers. This might
very well lead to the problem that mike was thinking about that you
might end up with all species being included as modifiers. If that
were intended by a modeler the creating software should have put them
there in the first place.

Cheers
Frank
____________________________________________________________
To manage your sbml-discuss list subscription, visit
https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss

For a web interface to the sbml-discuss mailing list, visit
http://sbml.org/Forums/

For questions or feedback about the sbml-discuss list,
contact sbml-team@caltech.edu

      
Frank Bergmann


Posts: 80
Registered:
August 2005
Re: Ancillary equations in SBML models 09 Aug '08 01:06 Go to previous messageGo to next message

>
> Let me step back for a moment. Speaking just for myself, my
> understanding of people's desire is/was that the SBML
> reaction's list of reactants, products and modifiers should
> (1) refer to identifiers that explicitly appear in the
> kinetic law expressions, NOT (2) to an "extended set" (if
> you will) of any species that may enter into the expression
> through any means. When I read it, I still think (1) is the
> natural interpretation, but I'm amazed this issue hasn't
> come up before, because now that you bring it up, I have to
> agree that the first sentence in section 4.13.2 (L2v3r2)
> really can be read as meaning (2).
>
> Now, a very good question is, how many other people
> interpreted the lists of reactions, products and modifiers
> according to (2)? Should we run a poll to ascertain this?
>

I for one definitely read it to read as (1).

best
Frank
____________________________________________________________
To manage your sbml-discuss list subscription, visit
https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss

For a web interface to the sbml-discuss mailing list, visit
http://sbml.org/Forums/

For questions or feedback about the sbml-discuss list,
contact sbml-team@caltech.edu

      
Pedro Mendes


Posts: 123
Registered:
September 2003
Re: Ancillary equations in SBML models 09 Aug '08 03:32 Go to previous message

On Saturday 09 August 2008, Michael Hucka wrote:
> I understand your point, and I think Pedro is arguing for
> the same thing (if I understood Pedro's msg of August 6).

Yes, that was what I was arguing. In fact the core of my argument is that a
list of modifiers is an enabler of other type of uses of SBML through generic
XML tools. I think that the choice to use XML was because of all those other
goodies that we can immediately benefit from. Otherwise we would be better
off with something else (eg that would be more compact, etc.). This was also
the criterion that led the decision to move mathematical expressions from a
C-type infix to MathML.

> However, it's not immediately clear to me how you would do
> it.  Suppose a reaction R has a parameter A, whose value is
> set by a rule A = f(B, C, ...) where B and C are species.
> Should B and C be included in R's list of modifiers?  

Yes

> If you say yes, then where does this process stop?  B and C, being
> species, have their values determined by formulas which are
> in effect rate rules, and *their* values may very well
> depend on *other* species.  

Then the other species are modifiers of the reactions that produce or consume
B and C but not the original reaction in question (R in your example).
Modifiers means "directly affecting the rate of this reaction". The issue
that has come up is because rate laws rather than being defined completely in
the rate law field, instead use "abbreviation" terms that are defined
elsewhere. This is just a *technicality* that is essentially a choice of the
tool that wrote the SBML. Now, for some other tool to discover that B affects
reaction R it would have to be able to understand the complete semantics of
SBML, ie no longer at the reach of plain XML tools.

With the rate laws we had the same situation when we were using infix
notation, as this meant that tools would have to include a parser for
mathematical expressions to be able to understand them. We then moved to
MathML and thus these things can be parsed with any XML tool.

> It seems very possible that you
> might end up with every species in the model listed as
> modifiers of most reactions!

No, that would be a mistake. Modifier is only something that affects the rate
of a reaction directly. It must be part of the rate law.

The issue is that we are allowing the rate laws to be written in a way that
hides some portions of that rate law, thus it is not obvious that something
may be a modifier.

A solution to this problem would be to specify that rate laws have to be
completely specified in their appropriate field, and not be broken down in
pieces that are then defined in assignments.

An example of an SBML file where this is done (unnecessarily, I must say) is
BIOMD0000000064 in Biomodels.net.

Pedro

--
Pedro Mendes
Chair in Computational Systems Biology
University of Manchester

School of Computer Science
Kilburn Building, Oxford Road,
Manchester, M13 9PL, UK

Manchester Centre for Integrative Systems Biology
Manchester Interdisciplinary Biocentre
131 Princess St., Manchester, M1 7DN, UK
____________________________________________________________
To manage your sbml-discuss list subscription, visit
https://utils.its.caltech.edu/mailman/listinfo/sbml-discuss

For a web interface to the sbml-discuss mailing list, visit
http://sbml.org/Forums/

For questions or feedback about the sbml-discuss list,
contact sbml-team@caltech.edu

      
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic:Preliminary agenda for SBML Forum
Next Topic:SBMLeditor-1.3.2 released
Go to forum:
-=] Back to Top [=-

Powered by FUDforum. (Copyright Advanced Internet Designs Inc.)

Please use our issue tracking system for any questions or suggestions about this website.