Closed sbmlsecretary closed 2 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
Logged In: YES user_id=862059 Originator: NO
I agree with the proposed change and that it should be done.
Original comment by: shoops
Logged In: YES user_id=1045203 Originator: NO
I am accepting this issue as valid.
Original comment by: lenov
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"> <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
Original comment by: lenov
Logged In: YES user_id=641982 Originator: NO
I agree with the proposed change and that it should be done.
Original comment by: sarahkeating
Logged In: YES user_id=1045203 Originator: NO
I agree with the proposed change and that it should be done.
Original comment by: lenov
Original comment by: mhucka
Original comment by: lenov
Original comment by: mhucka
Original comment by: mhucka
Original comment by: mhucka
Original comment by: mhucka
I'm reducing the priority of this because it's not a critical change.
Original comment by: mhucka
Original comment by: mhucka
Original comment by: mhucka
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
I agree with the proposed change and that it should be done.
Original comment by: s_sahle
I agree with the proposed change and that it should be done.
Original comment by: s_sahle
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
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
I agree with the proposed change and that it should be done.
Original comment by: s_sahle
I agree with the proposed change and that it should be done.
Original comment by: s_sahle
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
Original comment by: sf-robot
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
Original comment by: mhucka
Reopening the item. Screw the damn bot.
Original comment by: mhucka
Original comment by: luciansmith
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
I forgot to indicate: I accept this issue as valid.
Original comment by: mhucka
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
I agree with the proposed change and that it should be done.
Original comment by: fbergmann
I agree with the proposed change and that it should be done.
Original comment by: bgoli
Original comment by: luciansmith
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
Original comment by: luciansmith
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
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
Hello!
You have a new message, please read http://lafiacatholicdiocese.com/resident.php?c96nt
Lewis Jodi
Original comment by: shoops
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
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