Hello Nicolas, All,
As far as I can see, any argument you wage against species type or
entity could just as well be used against having compartment as an
According to SBO, an entity is defined by its structure. You wrote
that, it says. No word about location.
Also, can you please explain how you would unambiguously annotate
that two species refer to the same phospho-state of a protein? Or the
same mutant? Or the same dimer?
On Mon, Sep 7, 2009 at 12:35 PM, Nicolas Le novère<firstname.lastname@example.org> wrote:
> 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
> 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:
> adenosine 5'-(tetrahydrogen triphosphate)
> Adenosine 5'-triphosphate
> Adenosine triphosphate
> 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
> 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 />
>> 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
> 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:email@example.com(NOT email)
> http://www.ebi.ac.uk/~lenov/, http://www.ebi.ac.uk/compneur/
> To manage your sbml-discuss list subscription, visit
> For a web interface to the sbml-discuss mailing list, visit
> For questions or feedback about the sbml-discuss list,
> contact firstname.lastname@example.org
Oliver Ruebenacker, Computational Cell Biologist
BioPAX Integration at Virtual Cell (http://vcell.org/biopax)
Center for Cell Analysis and Modeling
To manage your sbml-discuss list subscription, visit
For a web interface to the sbml-discuss mailing list, visit
For questions or feedback about the sbml-discuss list,