sbmlteam / sbml-specifications

The specification documents for SBML.
6 stars 3 forks source link

Models can be underdetermined and unsimulatable #117

Closed sbmlsecretary closed 2 years ago

sbmlsecretary commented 16 years ago

The L2 specs never mention that having a model be undetermined or unsimulatable is permitted. This should be mentioned somewhere. The spec currently only talks about how overdetermined models are disallowed, but never says anything about the other direction (i.e., incomplete models).

Reported by: mhucka

Original Ticket: "sbml/sbml-specifications//115":https://sourceforge.net/p/sbml/sbml-specifications//115

sbmlsecretary commented 16 years ago

Logged In: YES user_id=862059 Originator: NO

I think this is so basic that we overlooked to state it. After all the following is said to be legal SBML

<?xml version="1.0" encoding="UTF-8"?> <sbml xmlns="http://www.sbml.org/sbml/level2/version3" level="2" version="3"> <model id="My Model"> </model> </sbml>

Original comment by: shoops

sbmlsecretary commented 16 years ago

Logged In: YES user_id=862059 Originator: NO

I agree with the proposed change and that it should be done.

Original comment by: shoops

sbmlsecretary commented 16 years ago

Logged In: YES user_id=1045203 Originator: NO

I am accepting this issue as valid.

Original comment by: lenov

sbmlsecretary commented 16 years ago

Logged In: YES user_id=1045203 Originator: NO

Stefan, I think this is not an underdetermined model. The following is:

<?xml version="1.0" encoding="UTF-8"?> <sbml xmlns="http://www.sbml.org/sbml/level2/version3" level="2" version="3"> <model id="My Model"> <listOfCompartments> <compartment id="X" /> </listOfCompartments> <listOfSpecies> <species id="A" compartment="X"/> </listOfSpecies> <listOfReactions> <reaction> <listOfProducts> <speciesReference species="A" /> </listOfProducts> <kineticLaw> <math xmlns="http://www.w3.org/1998/Math/MathML"&gt; <ci> k </ci> </math> <listOfParameters> <parameter id="k" /> </listOfParameters> </kineticLaw> </reaction> </listOfReactions> </model> </sbml>

And this should be allowed. It is not MIRIAM compliant, but it is correct SBML.

Original comment by: lenov

sbmlsecretary commented 16 years ago

Original comment by: lenov

sbmlsecretary commented 16 years ago

Logged In: YES user_id=641982 Originator: NO

I agree with the proposed change and that it should be done.

Original comment by: sarahkeating

sbmlsecretary commented 16 years ago

Logged In: YES user_id=1045203 Originator: NO

I agree with the proposed change and that it should be done.

Original comment by: lenov

sbmlsecretary commented 16 years ago

Original comment by: mhucka

sbmlsecretary commented 16 years ago

Original comment by: lenov

sbmlsecretary commented 16 years ago

Original comment by: mhucka

sbmlsecretary commented 16 years ago

Original comment by: mhucka

sbmlsecretary commented 16 years ago

Original comment by: mhucka

sbmlsecretary commented 16 years ago

Original comment by: mhucka

sbmlsecretary commented 16 years ago

I'm reducing the priority of this because it's not a critical change.

Original comment by: mhucka

sbmlsecretary commented 16 years ago

Original comment by: mhucka

sbmlsecretary commented 16 years ago

Original comment by: mhucka

sbmlsecretary commented 16 years ago

We should perhaps state that there are different kinds of underdetermined models. One kind is explicitly missing parts (like in Nicolas´ exmample), like missing numbers or a missing kinetic law. The other kind would be missing structural information, e.g. if you have an algebraic rule A+B=1 and nothing in the model tells you wether A should be calculated from B or the other way round (if they both have const=false and boundaryCondition=true).

Original comment by: s_sahle

sbmlsecretary commented 16 years ago

I agree with the proposed change and that it should be done.

Original comment by: s_sahle

sbmlsecretary commented 16 years ago

I agree with the proposed change and that it should be done.

Original comment by: s_sahle

sbmlsecretary commented 16 years ago

We should perhaps state that there are different kinds of underdetermined models. One kind is explicitly missing parts (like in Nicolas´ exmample), like missing numbers or a missing kinetic law. The other kind would be missing structural information, e.g. if you have an algebraic rule A+B=1 and nothing in the model tells you wether A should be calculated from B or the other way round (if they both have const=false and boundaryCondition=true).

Original comment by: s_sahle

sbmlsecretary commented 16 years ago

We should perhaps state that there are different kinds of underdetermined models. One kind is explicitly missing parts (like in Nicolas´ exmample), like missing numbers or a missing kinetic law. The other kind would be missing structural information, e.g. if you have an algebraic rule A+B=1 and nothing in the model tells you wether A should be calculated from B or the other way round (if they both have const=false and boundaryCondition=true).

Original comment by: s_sahle

sbmlsecretary commented 16 years ago

I agree with the proposed change and that it should be done.

Original comment by: s_sahle

sbmlsecretary commented 16 years ago

I agree with the proposed change and that it should be done.

Original comment by: s_sahle

sbmlsecretary commented 16 years ago

We should perhaps state that there are different kinds of underdetermined models. One kind is explicitly missing parts (like in Nicolas´ exmample), like missing numbers or a missing kinetic law. The other kind would be missing structural information, e.g. if you have an algebraic rule A+B=1 and nothing in the model tells you wether A should be calculated from B or the other way round (if they both have const=false and boundaryCondition=true).

Original comment by: s_sahle

sbmlsecretary commented 14 years ago

Original comment by: sf-robot

sbmlsecretary commented 14 years ago

This Tracker item was closed automatically by the system. It was previously set to a Pending status, and the original submitter did not respond within 730 days (the time period specified by the administrator of this Tracker).

Original comment by: sf-robot

sbmlsecretary commented 14 years ago

Original comment by: mhucka

sbmlsecretary commented 14 years ago

Reopening the item. Screw the damn bot.

Original comment by: mhucka

sbmlsecretary commented 10 years ago

Original comment by: luciansmith

sbmlsecretary commented 10 years ago

This change seems to have been lost: I searched both the L2v4 and the L3v1 spec for 'underdetermined', 'undetermined' and 'unsimulatable' and came up blank. Either a different wording was used, or everyone agreed this would be a good idea, but forgot to put it in.

I think it'd be worth putting in somewhere, if someone had the energy to write something up for it. And at that point, we might as well put it in both L2v5 and L3v2...

Any other opinions?

Original comment by: luciansmith

sbmlsecretary commented 10 years ago

I forgot to indicate: I accept this issue as valid.

Original comment by: mhucka

sbmlsecretary commented 10 years ago

I accept this issue as valid.

I just want to note that FBA/constraint based models are usually underdetermined and thus not simulatable but optimizable.

Original comment by: bgoli

sbmlsecretary commented 10 years ago

I agree with the proposed change and that it should be done.

Original comment by: fbergmann

sbmlsecretary commented 10 years ago

I agree with the proposed change and that it should be done.

Original comment by: bgoli

sbmlsecretary commented 10 years ago

Original comment by: luciansmith

sbmlsecretary commented 10 years ago

OK, looks to me like we have enough editors agreeing to mark this 'accepted'. Here's some proposed text to add, which I tentatively placed as a new section 3.3.9, "Underdetermined models", right after "Initial conditions and special considerations":

SBML models may not be \emph{overdetermined}, that is, one cannot define a model with multiple constructs that each define their own way of establishing the value of a symbol. (The exception to this rule is that one may have one element with an attribute defining its initial value which is overruled by an InitialAssignment or \Rule.) Such models are inherently self-contradictory, and thus not valid. However, it is perfectly legal to define and exchange an \emph{underdetermined} model, that is, a model with one or more symbols that have no way of establishing their values (such as a model with a Parameter with no 'initialValue', no InitialAssignment, and no relevant Rule), or a model with multiple correct solutions (such as a model with an AlgebraicRule that could be used to determine either one but not both of two different symbols, or an AlgebraicRule with multiple solutions, like $0=x^2-4$). Such models cannot be simulated without extra information being added in some way, but they are \emph{incomplete}, not \emph{self-contradictory}, and therefore valid.

There are a number of reasons one may wish to create an underdetermined SBML model. At the most basic level, one may be in the process of creating a fully-determined model, but are not yet finished doing so, either as a work in progress on one tool, or as part of a model-creating pipeline across multiple tools. Similarly, one may be interested in creating a model that reflects the current state of knowledge about a biological system, and that knowledge itself may be incomplete. One may also be interested in performing a type of analysis other than simulation, such as a structural analysis, which does not require all symbols to be numerically defined.

It is also possible that the missing information is provided by an SBML package. For example, a model that uses the Flux Balance Constraints package will typically have one or more Reactions without a KineticLaw. The flux balance constraints provided in the package will typically provide enough information to \emph{optimize} the model, and thus make it 'complete', even though it remains underdetermined.

Different simulation software tools approach the problem of underdetermined models in different ways when asked to perform a simulation. Some simply refuse, requiring more information from the user before proceeding. Others provide defaults (typically telling the user they are doing so) for symbols whose values are not established by the model, using values of '1' or '0', depending on the element type. In the case of encountering an AlgebraicRule with multiple solutions, some software tools allow the use of Constraints to choose one solution over another ($0=x^2-4; x<0$). All of these approaches are valid responses to encountering an underdetermined SBML model, but no one solution is established cannonically as being 'correct', as different situations warrant different responses.

Original comment by: luciansmith

sbmlsecretary commented 10 years ago

Original comment by: luciansmith

sbmlsecretary commented 10 years ago

OK, made small changes to the above text based on comments from Mike. This is now incorporated into the SVN for the L3v2 version of SBML, and will be released with that specification. Still room for more comments and edits, but marking this as 'closed'.

(Also marking it as 'no conformance implications', as this merely clarifies a fact about SBML that has always been true and is generally known; it just makes it explicit.)

Original comment by: luciansmith

sbmlsecretary commented 10 years ago

Also added the text to L2v5, removing the bit about packages. Changes added to SVN, and will be incorporated into the upcoming release of SBML L2v5.

Original comment by: luciansmith

sbmlsecretary commented 8 years ago

Hello!

You have a new message, please read http://lafiacatholicdiocese.com/resident.php?c96nt

Lewis Jodi

Original comment by: shoops

sbmlsecretary commented 8 years ago

Dear friend!

We've recently vizited a very beautiful place and wanted to share that with you, check it out, it's amazing http://free.alrajeh.net/aeycwkd

Best regards, Lucian Smith

Original comment by: shoops