Forums

F.A.Q. F.A.Q.    Register Register    Login Login    Home Home
Search Search
SBML Discussions » sbml-discuss » Did anyone care about SpeciesType?
Show: Today's Posts  :: Message Navigator
Switch to threaded view of this topic Create a new topic Submit Reply
AuthorTopic
Mike Hucka


Posts: 961
Registered:
October 2003
Did anyone care about SpeciesType? 25 Aug '09 17:11 Go to next message

I'm working on a proposal for a types package for Level 3
and am wondering about the following.

L2 provided the SpeciesType, and stipulated that you
couldn't put two different species with the same type in the
same compartment. But this was an imposed restriction: the
*meaning* of a species type was defined in such a way that it
mattered to the mathematical interpretation.

However, does it have to be that way? Did anyone ever have
to worry about preventing a modeler from putting two different
species of the same species type into the same compartment?
Has it ever been an issue, in anyone's experience? After
all, the "species" already represents a pool of entities of
the same kind. The meaning of the species is that the
entities in the pool are indistinguishable from each other.
Isn't it natural to avoid trying to put two entities of the
same type in one compartment?

To connect species types with species in L2's way ends up
transferring, in effect, some of the identity of a species
out of the species identifier and into the species type.

It seems to me it's up to us to define the sense in which
"type" is meant. So in the L3 types package, my current
thinking is, let's treat types as an orthogonal dimension to
identity. Then one could have two species of the same type
in the same compartment -- it wouldn't have the same meaning
as in L2, but I'm wondering, would anyone care?

MH

____________________________________________________________
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

      
Robert Phair


Posts: 33
Registered:
March 2007
Re: Did anyone care about SpeciesType? 25 Aug '09 19:13 Go to previous messageGo to next message

The example in the L2v3r2 spec is:

<model>
34 ...
35 <listOfSpeciesTypes>
36 <speciesType id="ATP"/>
37 </listOfSpeciesTypes>
38 <listOfCompartments>
39 <compartment id="cytosol"/>
40 <compartment id="mitochon"/>
41 </listOfCopartments>
42 <listOfSpecies>
43 <species id="ATPc" speciesType="ATP" compartment="cytosol" initialConcentration="1"/>
44 <species id="ATPm" speciesType="ATP" compartment="mitochon" initialConcentration="2"/>
45 </listOfSpecies>
46 ...
47 </model>

This illustrates nicely one of the principal motivations for SpeciesType. In some sense SpeciesType was invented to fix the non-normalized concept of Species. For example, ATPc and ATPm (above) require the subscripts c and m because the species id must be unique, but at the same time the information conveyed by the c and m subscripts is already present in the definition of the species because the compartment is explicitly specified in the compartment attribute.

Among other things, SpeciesType permits software to infer that one of these species is "ATP in cytosol" and the other is "ATP in mitochon" instead of the redundant/nonsense species, "ATPc in cytosol."

Less importantly, but still usefully, SpeciesType allows software to draw an icon representing a compartment and then place correctly labeled icons within that compartment corresponding to the molecules that are present there. Returning to the Spec example, the software could draw two containers, one labeled cytosol and one labeled mitochon, and then place an icon inside each labeled ATP. In the absence of SpeciesType these molecule icons would have to be labeled ATPc and ATPm.

From my perspective, it would be a mistake to allow two species in the same compartment with the same SpeciesType. Would SBML ask us to write two differential equations for the species "ATP in cytosol" if multiple species ids have the same SpeciesType (ATP) and the same Compartment (cytosol)?

Allowing two species with the same SpeciesType in the same compartment seems to me to demolish all the gains that we made by introducing SpeciesType in the first place.

      
Hugh Spence


Posts: 3
Registered:
March 2009
Re: Did anyone care about SpeciesType? 25 Aug '09 23:27 Go to previous messageGo to next message

I agree with Robert. Having two different identities for the same species in
the same compartment would surely be a mistake. The molecules are identical,
so you would introduce potential errors by not summing them and would have
to produce duplicate sets of equations for the reactions they were involved
in.
In a case like ATP the extra effort of duplicating all the equations would
needlesly inflate the size of the SBML files, the work taken to produce
them, and to process them. And any non-duplication would lead to errors in
the function of the model.

It would confuse matter if you introduced a different meaning to
speciestype.
e.g.
I could envisage a possible use for GenericSpecies

<GenericSpecies>FattyAcid
<SpeciesType>Stearic Acid</SpeciesType>
<SpeciesType>Palmitic Acid</SpeciesType>
<SpeciesType>Dodecanoic Acid</SpeciesType>
......
</GenericSpecies>

This would allow for generic reactions - which would be another can of worms
as it would be difficult to police triolein not hydrolysing to produce only
glycerol 1,2 dioleate and oleic acid if fed into a generic reaction and the
rate constants would be different for every specific instance of the generic
reaction.
But just because it could potentially cause problems, that is not a reason
not to do it.

Hugh Spence

----- Original Message -----
From: "Robert Phair" <rphair@integrativebioinformatics.com>
To: <sbml-discuss@caltech.edu>
Sent: Wednesday, August 26, 2009 5:26 AM
Subject: Re: [sbml-discuss] Did anyone care about SpeciesType?


>
> The example in the L2v3r2 spec is:
>
> <model>
> 34 ...
> 35 <listOfSpeciesTypes>
> 36 <speciesType id="ATP"/>
> 37 </listOfSpeciesTypes>
> 38 <listOfCompartments>
> 39 <compartment id="cytosol"/>
> 40 <compartment id="mitochon"/>
> 41 </listOfCopartments>
> 42 <listOfSpecies>
> 43 <species id="ATPc" speciesType="ATP" compartment="cytosol"
> initialConcentration="1"/>
> 44 <species id="ATPm" speciesType="ATP" compartment="mitochon"
> initialConcentration="2"/>
> 45 </listOfSpecies>
> 46 ...
> 47 </model>
>
> This illustrates nicely one of the principal motivations for SpeciesType.
> In some sense SpeciesType was invented to fix the non-normalized concept
> of Species. For example, ATPc and ATPm (above) require the subscripts c
> and m because the species id must be unique, but at the same time the
> information conveyed by the c and m subscripts is already present in the
> definition of the species because the compartment is explicitly specified
> in the compartment attribute.
>
> Among other things, SpeciesType permits software to infer that one of
> these species is "ATP in cytosol" and the other is "ATP in mitochon"
> instead of the redundant/nonsense species, "ATPc in cytosol."
>
> Less importantly, but still usefully, SpeciesType allows software to draw
> an icon representing a compartment and then place correctly labeled icons
> within that compartment corresponding to the molecules that are present
> there. Returning to the Spec example, the software could draw two
> containers, one labeled cytosol and one labeled mitochon, and then place
> an icon inside each labeled ATP. In the absence of SpeciesType these
> molecule icons would have to be labeled ATPc and ATPm.
>
>>From my perspective, it would be a mistake to allow two species in the
>>same compartment with the same SpeciesType. Would SBML ask us to write two
>>differential equations for the species "ATP in cytosol" if multiple
>>species ids have the same SpeciesType (ATP) and the same Compartment
>>(cytosol)?
>
> Allowing two species with the same SpeciesType in the same compartment
> seems to me to demolish all the gains that we made by introducing
> SpeciesType in the first place.
> ____________________________________________________________
> 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
>

____________________________________________________________
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

      
Nicolas Le Novere


Posts: 469
Registered:
October 2003
Re: Did anyone care about SpeciesType? 26 Aug '09 00:48 Go to previous messageGo to next message

Hello,

Michael Hucka wrote:

> L2 provided the SpeciesType, and stipulated that you
> couldn't put two different species with the same type in the
> same compartment. But this was an imposed restriction: the
> *meaning* of a species type was defined in such a way that it
> mattered to the mathematical interpretation.

Indeed. I entirely agree with Robert and Hugh. However their historical
account is not true. Although SpeciesType is used in the L2 specification
as a "tag" for the "same" chemical species in different compartments, it
was not created for that reason. SpeciesType was created by Andrew Finney
to fill a need of the multi-component proposal. An entity pool belongs to a
given compartment. Therefore, it is not possible to define
trans-compartment species. For instance, in SBML we cannot cleanly defined
transmembrane receptors, where the binding site belongs to one compartment
- and reacts accordingly - and the transducing domain belongs to another -
and reacts accordingly. And if we define two species, they are not linked
together anymore. So we cannot control them together (e.g.
creation-degradation). This is a fundamental problem in modeling. This is
not specific to SBML. Multi-compartment entities are one of the biggest
headaches for SBGN.

So, we may decide that the typing in L3 will be different, just a way to
group things, but this is not what SpeciesType was designed for, and the
way it is used in the package "multi".

> To connect species types with species in L2's way ends up
> transferring, in effect, some of the identity of a species
> out of the species identifier and into the species type.

Yes.

> It seems to me it's up to us to define the sense in which
> "type" is meant. So in the L3 types package, my current
> thinking is, let's treat types as an orthogonal dimension to
> identity. Then one could have two species of the same type
> in the same compartment -- it wouldn't have the same meaning
> as in L2, but I'm wondering, would anyone care?

Yes. I do. Another consequence of what you propose, is that a species
should be instance of several SpeciesType. That does not fit with the
current concept.

If the purpose is to group things together for the sake of annotation,
reasoning or representation, and this is needed (think about another
headache of SBGN: the generics), I would propose to use the term "group".

The package would define groups for everything and we would have either:

<listOfSpeciesGroups>
<group id="groupA">
<group id="groupB">
</listOfSpeciesGroups>

<species id="foo">
<listOfGroups>
<groupRef group="groupA">
<groupRef group="groupB">
</listOfGroups>
</species>


--
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

      
Mike Hucka


Posts: 961
Registered:
October 2003
Re: Did anyone care about SpeciesType? 26 Aug '09 14:48 Go to previous messageGo to next message

lenov> [...] if we define two species, they are not linked
lenov> together anymore. So we cannot control them
lenov> together (e.g. creation-degradation). This is a
lenov> fundamental problem in modeling. This is not
lenov> specific to SBML. [...]

The thing that's not clear to me is how the L2 SpeciesType
helped with this. Unless I'm badly mistaken, one would
still have to define two species, and the SpeciesType
construct wouldn't help link them mathematically. (That is,
unless the tool did something special -- and if it did, it
would actually be going against the specification, because
the spec says that SpeciesType has no effect on a model's
numerical interpretation.)

MH


____________________________________________________________
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

      
Mike Hucka


Posts: 961
Registered:
October 2003
Re: Did anyone care about SpeciesType? 26 Aug '09 15:07 Go to previous messageGo to next message

rphair> Among other things, SpeciesType permits software
rphair> to infer that one of these species is "ATP in
rphair> cytosol" and the other is "ATP in mitochon"
rphair> instead of the redundant/nonsense species, "ATPc
rphair> in cytosol."

Just to be clear: this would not be lost by an L3 package
for types/groups/whatever.

rphair> Less importantly, but still usefully, SpeciesType
rphair> allows software to draw an icon representing a
rphair> compartment and then place correctly labeled icons
rphair> within that compartment corresponding to the
rphair> molecules that are present there.

Again, this capability would be preserved (for software
tools that knew how to interpret the L3 package for
types/groups).

rphair> From my perspective, it would be a mistake to
rphair> allow two species in the same compartment with the
rphair> same SpeciesType. Would SBML ask us to write two
rphair> differential equations for the species "ATP in
rphair> cytosol" if multiple species ids have the same
rphair> SpeciesType (ATP) and the same Compartment
rphair> (cytosol)?

I agree with you you. But this is going in a different
direction from what I was trying to say. I think I wasn't
be clear enough, so let me try in a different tack:

The question of "what does a type mean" arises in defining
the semantics of an L3 types/group/whatever package. It
appears at first blush that species is the only case where
having a type would somehow impact interpretation of a
model, because (if it followed L2's approach) there would
have to be a semantic rule saying you couldn't have two
species of the same type in the same compartment. If the
typing package was generic enough to allow any SBML object
to have types (parameters, compartments, reactions -- heck,
even events), then it doesn't appear that this kind of
semantic rule would be needed anywhere *except* species.
And because this rule would be needed, a typing package
would have to be flagged as "required" for proper
interpretation of a model. Conversely, if no such semantic
rule were needed, then the package could be considered
optional, like layout/rendering.

But the truth is that even in L2, it doesn't *actually*
impact the mathematics of a model, because the types are
ignored anyway. If you have the "same" species in two
different compartments, you still have to have two different
SBML species for them. The only thing it does in L2 is say
that you can't have the same-specietype-different-species in
the same compartment.

So I'm trying to find out if this semantic rule could be
handled in some other way, or removed altogether.

MH

____________________________________________________________
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

      
Nicolas Le Novere


Posts: 469
Registered:
October 2003
Re: Did anyone care about SpeciesType? 26 Aug '09 15:09 Go to previous message

I was merely recapitulating the history of SpeciesType in L2. Of course the
whole purpose of SpeciesTypes collapsed as soon as we had the community
vote that after accepting SpeciesTypes and CompartmentTypes rejected the
generalised reactions. After that, the SpeciesType became effectively
rather useless. Except maybe as a way to annotate several species in one shot.

The hope is that the situation changes in L3, and that we finally are able
to use SpeciesTypes in a meaningful way.

Michael Hucka wrote:
> lenov> [...] if we define two species, they are not linked
> lenov> together anymore. So we cannot control them
> lenov> together (e.g. creation-degradation). This is a
> lenov> fundamental problem in modeling. This is not
> lenov> specific to SBML. [...]
>
> The thing that's not clear to me is how the L2 SpeciesType
> helped with this. Unless I'm badly mistaken, one would
> still have to define two species, and the SpeciesType
> construct wouldn't help link them mathematically. (That is,
> unless the tool did something special -- and if it did, it
> would actually be going against the specification, because
> the spec says that SpeciesType has no effect on a model's
> numerical interpretation.)
>
> MH
>
>
> ____________________________________________________________
> 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


--
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

      
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic:Infusions as events in SBML
Next Topic:Release of libSBML-4.0.0
Go to forum:
-=] Back to Top [=-

Powered by FUDforum. (Copyright Advanced Internet Designs Inc.)

Please use our issue tracking system for any questions or suggestions about this website.