RE: Suggestion for new section in SBML
17 Feb '06 00:53
As other people have stated this issue is >only< about
the ability of humans to read SBML and to understand the SBML standard.
How to do it now
Specifically if you want a variable that's not a species or
compartment then you include a 'parameter' structure with the
'constant' field set to 'false'.
Why was it like that?
Well given that 'species' and 'compartment' structures have
the 'constant' attribute which determines whether they are a
variable or not it didn't seem illogical to have the same for
'parameter'. This also eliminated the need for an additional variables
section. Note that by default 'constant' is 'true' for 'parameter'
and 'compartment' structures. In a nut shell a parser that could
locate the variables amongst the species and compartments could
do that for parameters as well.
What is wrong with it?
Unfortunately as people have stated this is not very intuitive
for people encountering SBML for the first time or without the
time to read the specification in detail. It also means that for
these people the full capabilities of SBML are not initially obvious
when first encountering the standard.
Any change to SBML to deal with this issue would have to be introduced
into SBML Level 2 Version 2 (L2V2).
I strongly believe we should maintain as much backwards capability
between SBML L2V2 and Level 2 Version 1 (L2V1) as possible i.e. so that
a L2V1 model is a valid L2V2 model (with an appropriate change to the
document preamble). Therefore any solution we have for L2V2 should
include a 'constant' field on 'parameter' structures.
Possible Options for change
a) do nothing
Its kinda not broke so why fix it?
b) add 'listOfVariables' to 'model'
Add a list of 'variable' structures to the 'model' structure.
The 'variable' structure would have an identical structure to
that of 'parameter'. Best practice would be to never generate
entirely new models with 'constant' on 'parameter' structures set to
We have two options with respect to the 'constant' field on
the 'variable' structure:
i) have no 'constant' field i.e. 'variables' structures always
represent a variable. This is intuitive but asymmetric (inconsistent)
with species, compartments and parameters. In this case a 'variable' is
exactly synonymous to a 'parameter' structure with 'constant' set to
ii) have a 'constant' field with is 'false' by default.
Apart from this inversion of the default value of 'constant' a
'variable' structure is identical to a 'parameter' structure.
c) add 'listOfSymbols' to 'model'
Add a list of 'symbol' structures to the 'model' structure.
The 'symbol' structure would have an identical structure to
that of 'parameter'. The 'constant' field would not have a default.
In this case a 'symbol' structure is exactly synonymous to a 'parameter'.
Best practice would be to never generate entirely new models with
Should we vote on these options for L2V2?
> -----Original Message-----
> From: firstname.lastname@example.org
> [mailto:email@example.com] On Behalf Of Herbert Sauro
> Sent: 10 February 2006 07:52
> To: firstname.lastname@example.org
> Subject: [sbml-discuss] Suggestion for new section in SBML
> With the number of models growing in biomodels.net we are now able to
> see more variants of SBML than ever before. One thing that struck me
> today was model number 47 at biomodels.net, this has caused some
> problems for a number of simulators and was brought to my attention by
> some users.
> This model has a rateRule for a quantity called p3. However
> the rateRule
> is function of one of the species, it is therefore strictly a state
> variable just like a floating species. The trouble is, there
> is nowhere
> sensible to declare such a variable. It is obviously not a
> parameter and
> as some have noted, it is also not a species, so where should it go?
> Given that it is a state variable, and a rateRule at that, it should
> have an initial condition, so where does this go, into the list of
> global parameters? In fact, in the SBML p3 is initialized in
> the list of
> parameters even though it is not a parameter. Now I understand the
> confusion because where ever one puts it there would be disagreement.
> It would be convenient to have another section, called parhaps,
> listOfVariables (or something else) where one would list and
> all those state variables that are not species, species would then be
> things that appear on the left and right hand sides of reactions.
> What does the community think?
> Herbert Sauro
> Herbert M Sauro
> Assistant Professor
> Keck Graduate Institute
> 535 Watson Drive
> Claremont, CA, 91711
> Tel: 909 607 0377
> web site: www.sys-bio.org
> Trying to convice a believer of ID that ID isn't science is
> like trying
> to teach a pig to sing...it wastes your time and annoys the pig.
Powered by FUDforum. (Copyright Advanced Internet Designs Inc.)