OK, great! What's the URI for has_role?
> We can add has_role to the chebi slim imported into cheminf?
That would be nice indeed!
Egon
--
Dr E.L. Willighagen
Post-doc @ Uppsala University (only until 2010-09-30)
Proteochemometrics / Bioclipse Group of Prof. Jarl Wikberg
Homepage: http://egonw.github.com/
LinkedIn: http://se.linkedin.com/in/egonw
Blog: http://chem-bla-ics.blogspot.com/
PubList: http://www.citeulike.org/user/egonw/tag/papers
This works for me for now...
The use case:
http://egonw.github.com/cheminformatics.classics/classic2.html
m.
--
Michel Dumontier
Associate Professor of Bioinformatics
Carleton University
http://dumontierlab.com
I was just looking at this, and I think I should use this one:
<owl:Class rdf:about="&resource;CHEMINF_000266">
<rdfs:label
>chemical substance</rdfs:label>
<rdfs:label>cycle</rdfs:label>
<rdfs:subClassOf rdf:resource="&resource;CHEMINF_000000"/>
<rdfs:comment
>Chemical substance constitutes matter of constant
composition, that may contain a collection of molecular entities.
[IUPAC: http://goldbook.iupac.o$
<dc:description
>A cycle is a part of a molecular entity that is cyclic,
that is, consists of a chain of atoms where each is reachable by a
bond connected to anothe$
</owl:Class>
But what should I make of the two labels? and the comment versus the
description?
Am I missing something, or is this a copy/paste artefact?
m.
On Fri, Sep 10, 2010 at 5:27 PM, Egon Willighagen
--
Hi Frank,
this problem is worked around by the roles in BFO being realizable entities -- kind of potentials. The has-role relation is thus annotating that the material has the potential to act as a solvent if it comes into the right circumstances.
m.
--
Hi Frank,
BFO is clear - entities bear their qualities/realizables at all
times, but they are *realized* under certain conditions (e.g.
processes)
From Barry on the BFO mailing list on June 29, 2007:
“The realizable entity (function)
must inhere in the catalyst even
when catalysis is not taking place -- otherwise it
is not there to be realized”
m.
From Barry on the BFO mailing list on June 29, 2007:
“The realizable entity (function) must inhere in the catalyst even
when catalysis is not taking place -- otherwise it is not there to be realized”
Hi Frank,
I can agree that the realizable entity branch of BFO needs work! Thanks for your input and we'll bear it in mind for the future. I think for now we won't make an explicit link to a process but this can certainly be added.
Do you havea suggestion for how you would you model this outside of the BFO sense of role?
the general idea for BFO roles is that they are ascribed because some
instances of the class have been demonstrated to have such roles. it
is informative. and as you suggest (and i have previously argued [1]),
it is more informative to know what process they are realized in.
[1] http://dumontierlab.com/pdf/2008_OWLEDEU_MR.pdf
>
>>
>> Do you havea suggestion for how you would you model this outside of the
>> BFO sense of role?
>
> My personal interpretation of realisable_entities are that they would be
> more appropriately modelled as verbs and that the classes under verb
> (realisable_entity) are a step to far in an upper ontology. For example
> "heat" can be a role, a function or a disposition or what ever else gets
> invented under there. Therefore by having the classes of role, function etc.
> asserted under realisable entity introduces multiple inheritance and these
> classes would be more appropriately represented as defined classes, with
> some re-working of the relations to this effect.
agreed, that is why i have been developing a new ontology, termed SIO
[2], which represents realizables as capabilities termed as verbs ('to
heat' [3])
[2] http://semanticscience.org/ontology/sio.owl
[3] http://semanticscience.org/resource/SIO_000346
> Anyway, that was not your question. I try to avoid the use of realisable
> entities as far as possible when building my ontologies, due to the issues
> above. I find it helpful to think of in terms of the requirements you are
> trying to satisfy rather than any modelling convention.
> My assumption would be that a possible query would be "What chemical
> entities are solvents?" in fact this is probably not a realistic question at
> all, as the information returned is actually not that useful,
it is useful.
> I assume that
> a question like "What chemical entities are solvents and what are they
> solvents for? would be more useful. In terms of what is a solvent, I am also
> making the assumption that what you require is a classification system that
> groups chemical entities that are solvents, therefore, on this assumption I
> would treat "solvent" as a material classification in the same way you would
> model beta-blockers or ace-inhibitors.
> I have limited chemistry background, which I am improving on, so I assume
> the following could be tightened up with appropriate chemistry terminology
> or labels, but hopefully it presents enough to provide a framework.
> A chemical entity is a solvent because it is capable of "dissolving" another
> material entity. I am ignoring form, such as solid liquid and gas, to keep
> the example simple (for me).
PATO qualifies these statements with "towards".
> Therefore, we should be able to introduce a "dissolves<->is_dissolved_by"
> relation between chemical enties (which would need a chemically correct
> definition). If we assert;
> CE1 dissolves CE2
> then the following would be defined classes;
> Solvent = A solvent is a material entity that dissolves some material
> entity (solute)
> and CE1 should infer under it
> Solute =A solute is a material entity that is_dissolved_by some material
> entity (solvent).
> and CE2 should infer under it
> I think this example allows you to avoid the notion of roles and realisation
> and add the important information of what it is an solvent for/what is
> dissolves. This way should still allow you to describe the event in terms of
> a process such that
> dissolving_process = has_particiapant (some CE1 and dissolves CE2) and
> has_participant_output some solution
i don't think you want to qualify CE1 with 'dissolves CE2'.
anyways, I would do it as follows:
dissolving_process
realizes some (solvent-role that inv(has_role) some CE1)
realizes some (solute-role that inv(has_role) some CE2)
along with a role chain
realizes o inv(has_role) -> has-participant
(as per my paper)
m.
--
OK, since my use case is a NMR measurement, the process is clear...
what construct should I use to annotate something as a process
(NMRMeasurement)?
That is, are processes reflected in CHEMINF?
Yes OBI
m.
From:
cheminf-...@googlegroups.com [mailto:cheminf-...@googlegroups.com] On
Behalf Of Janna Hastings
Sent: Tuesday, September 14, 2010 10:36 AM
To: cheminf-...@googlegroups.com
Subject: Re: how to annotate a molecular structure having a solvent
role?
cheminf, no, unless we find
there is a gap... doesn't OBI have these sort of things? Michel?
Janna
I think we will limit to processes involving the processing of chemical information J
m.
Oh - i just meant that one can make a class "solvent" equivalent to
"has_role some solvent_role" and infer the subclasses... right?
m.
> Frank
>
-
Yeah, make sense... so, my current use case is this:
define a substance, consisting of one molecular entity, with an InChI,
and the role solvent...
m.
> Frank
>
-