|
Hi Robert,
Robert Phair wrote:
> While we had invested significant time and resources coding to the L2
> spec and making use of SpeciesType, we acknowledge that our use of
> SpeciesType was basically a hack. Nevertheless, I believe the purpose
> for which we adopted SpeciesType is important and universal and I would
> like to propose a simple addition to the L3 core specification that will
> meet this important and universal need.
I believe most people agree with that position, that is the need to
identify the species of the "same type". And the grouping package proposed
by Mike is meant to address your need. A very important difference with
SpeciesType is that we will be able to build several inheritances.
>> but
>> having built mathematical models of biological systems for more than
>> 40 years, the SBML object Species is named and used in a way that
>> hides its true ontological character
I beg to disagree. I have not build models for 40 years, but the SBML
species is the core unit of any dynamic model. It is defined as the set of
all objects that are indistinguishable as far as the model is concerned.
This is the variable one describes the evolution of and for which one
reconstructs an ODE. Model of calcium signalling do not have a variable
called calcium, but a calcium in cytosol, calcium in ER etc.
>> and furthermore makes it
>> impossible to write an algorithm that extracts from a ListOfSpecies
>> the fundamental entities that define each Species.
If we are talking of automated extraction here, one should use controlled
annotations. Many groups developed algorithms to use those annotations,
such as SAINT, SemanticSBML, libAnnotationSBML etc. It is trivial to
extract all "ATP" from all compartments if they are annotated with the same
PubChem/ChEBI/KEGG entry.
> Here are some of the Species definitions from Alicia Smithâ??s justly
> famous model of Ran transport. These were copied from BioModels.net
> Model 164.
>
> <listOfSpecies> + <species metaid="metaid_0000034" id="Carrier_Cytosol"
> name="Carrier_Cytosol" compartment="Cytosol"
> initialConcentration="11.8952664327711" spatialSizeUnits="litre"> +
> A species is defined by an entity-Compartment pair.
But this is redundant right? This could be rewritten as
id Carrier_Cytosol
name Carrier
compartment Cytosol
id Carrier_Nucleus
name Carrier
compartment Nucleus
And here you go. You have your "entity" Carrier.
> I assert that this is currently impossible without annotations, and that
> it is so fundamental a concept that it should be possible in the L3
> Core.
I am not sure to understand. It is possible in L3 Core with annotations.
And without controlled annotations, any such effort is moot. How do-you
know that:
ATP
adenosine 5'-(tetrahydrogen triphosphate)
Adenosine 5'-triphosphate
Adenosine triphosphate
H4atp
ZKHQWZAMYRWXGA-FJYXAIENDD
Nc1ncnc2n(cnc12)[C@@H]1O[C@H]" target="_blank">>@H](COP(O)(=O)OP(O)(=O)OP(O)(O)=O)[C@@H](O)[C@H]1O
are the same.
Remember, SBML is an exchange format. We are not talking about using it for
your sole purpose. If this is the case, do whatever you want, event your
own variation of SBML. This does not concern this list.
> You can easily extract the Compartment. Why not the entity?
I would be tempted to say you can, from the name, if you have a consistent
naming scheme.
> There are no rules on the syntax of either that
> would, in the general case, permit a program to extract the identity of
> the entity (e.g. molecule or molecular complex) from the species id or
> the species name.
Exactly. This is why one should use annotations for that.
> The frequently heard proposal that entity information should be encoded
> in annotations suffers from multiple weaknesses, most of which were
> cited at the Forum
Which ones were cited at the forum?????
2. MIRIAM
> annotations rely on the presence, in some web resource, of exactly the
> molecule(s) you want to reference â?? including its post-translational
> modifications or its â??activeâ?? or â??inactiveâ?? state.
Of course not. Only if you want to do something with the annotations. But
if you just want to identify the species with an algorithm, which seems to
be your goal, you can just call "ATP" CHEBI:15422. And that's it. You do
not need any web resource.
> Most such
> annotations terminate at isVersionOf and simply fail to distinguish
> among related molecules.
This is just simply untrue. Not "most such annotations".
I am sorry, but I fail to see how a non-regulated "label" is better. How is
naming a species "Human-MAPK-P" better than two controlled annotations, one
to Uniprot and one to PSI-MOD?
3. Research work frequently involves molecules
> that are not yet in any database. SBML should support work on the
> cutting edge as well as it supports work on textbook pathways.
I simply never encounter the case where I could not annotate a specific
species. The only cases that are not annotated in BioModels DB is when the
species is completely generic ("shiff base"). And I am not sure any other
scheme would solve that. PubChem contains several millions compounds, and
UniProt contains all proteins. Do-you have a specific example?
> A Species is â??Entity in Compartment,â?? not just Entity. By saying
> that Species maps to material entity we are perpetuating the
> misconception that Species really does identify a molecule or a
> molecular complex.
I am sorry Robert but it is YOUR opinion that it is a misconception. For
MANY people an entity pool IS the type of molecule. This is definitively
the case for modelers. But even for biochemists, the location is sometimes
part of the identity. If only because different compartments have different
pH, and therefore the molecules have different protonation states.
> Indeed, I suspect that many people read Species and
> think chemical species.
Who? Who are those many people you are talking about. This is an arbitrary
statement, that is based on your apparent opinion that nobody else think
clearly. I personally rarely, if ever, met someone who made the mistake
(assuming that we are talking about your "ideal" chemical species, which
composition would not depends on the location) (I did in the BioPAX
community, but their aim is different).
> If you work with models that have only one compartment, you never
> encounter this difficulty because your Species name can be the name of
> the molecule/entity with no ambiguity. But as soon as you want to put
> the same molecule in multiple Compartments, the uniqueness requirement
> of Species id forces you to add some version of _Nucleus to your Species
> id.
But you are not forced to do that on names. And such a multi-compartment
model will be used by software able to use compartments would display them,
and there would not be any confusion.
> <ListOfEntities> <entity id=â??Arf1â?? name=ARF1_HUMAN â?¦ other
> attributes? /> <entity id=â??BFAâ?? name=Brefeldin A />
> </ListOfEntities>
>
> and insert an new required attribute in the Species element:
>
> <species id=â??Arf1_Golgiâ?? name=â??ARF1_HUMAN in Golgiâ??
> compartment=â??Golgiâ?? entity=â??Arf1â?? initialAmount=â??1e5â??
> boundaryCondition=â??falseâ?? constant=â??false />
But ... 1) this is completely redundant and 2) that information does not
give you any exchangeable information on the so-called "entity".
> A program reading an SBML file should not be left to guess the identity
> of the entity referred to in a Species element.
First of all, most programs reading an SBML do not need to know that
information. They are simulators. And for a simulator, it is sufficient to
have X in a compartment and Y in another, with transport in between. No
need to require an explanation that X and Y are the same (whatever the same
means).
But if those program need that: Either you just want to link the species,
and then you can use the groups, or you want to know something about the
biochemical identity of the species and you use annotations.
I am sorry, but your proposed attribute is redundant and uncontrolled. It
carried no semantic at all IMHO.
--
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(NOT email)
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
|