- From: Gary Bader <bader@cbio.mskcc.org>
- Date: Wed, 12 Oct 2005 15:35:45 -0400
- To: wangxiao@musc.edu
- CC: public-semweb-lifesci@w3.org, biopax-discuss <biopax-discuss@biopax.org>
Hi Xiaoshu,
I work on the BioPAX project for biological pathway representation and
this discussion is very interesting. We are currently facing a problem
where we would like to import other commonly used bioinformatics
ontologies as controlled vocabularies for use in the core BioPAX ontology.
The types of vocabularies I'm talking about are:
Gene ontology (OBO format)
PSI-MI controlled vocabularies (OBO format)
http://cvs.sourceforge.net/viewcvs.py/psidev/psi/mi/rel25/data/
BioCyc evidence code ontology (ocelot format - I assume)
http://bioinformatics.ai.sri.com/ptools/evidence-ontology.html
INOH moleular role and event ontology (OBO format)
http://www.inoh.org/download.html
(maybe others)
Because we use OWL and none of the above ontologies are available
directly from the source in OWL, we are currently referencing external
controlled vocabularies using a custom pointer class (as almost all
bioinformatics systems currently do). Our pointer is (badly) named
"openControlledVocabulary" e.g.
<FEATURE-TYPE>
<openControlledVocabulary rdf:ID="openControlledVocabulary246">
<TERM>phosphorylation site</TERM>
<XREF>
<unificationXref rdf:ID="unificationXref201">
<DB>PSIMI</DB>
<ID>MI:0170</ID>
</unificationXref>
</XREF>
</openControlledVocabulary>
</FEATURE-TYPE>
We have been toying with the idea of converting the external ontologies
to OWL format and packaging them with our ontology, but that is
obviously non-optimal because of maintenance issues. Also, we're not
sure exactly what the best way to do this is, though we've tried a few
different ways - convert each term to a class, convert to instances of
our openControlledVocabulary class, etc. A partial discussion of this is
here:
http://biopaxwiki.org/cgi-bin/moin.cgi/Alanr_Level_2_or_3_Proposal/Undesirability_of_openControlledVocabularies
One requirement is that we maintain the namespace (e.g. PSI-MI) and
identifier (e.g. MI:0170) and not just rely on an RDF ID, so that we can
connect to existing systems which rely on these IDs to e.g. make
hyperlinks on a website that point to the definition of the term or
which genes the term is used to annotate, etc. This use will likely
continue for many, many years.
We will be discussing this in depth at our next meeting in November and
will likely have to come up with a solution in the near term, but maybe
the above could be used as a realistic use case for this discussion. We
would certainly appreciate any constructive help we can get.
Thanks,
Gary
wangxiao wrote:
> - Robert Stevens,
>
>
>>My point of substance was about modularisation. I hope that
>>someone will show me how to do it in OWL, after telling me
>>what the behaviour of a module is.
>
>
> I have came up to this idea. Please see
> http://www.charlestoncore.org/ont/2005/08/o3.html , the ontology's namespace
> URI is http://www.charlestoncore.org/ontology/2005/08/o3#.
>
> In short, a Profile is an ontology that only handles the merging of
> ontologies but do not create concepts under its own namespace. All
> ontologies shall be deployed as a local ontology, i.e, ontologies without
> using foreign concepts. And complext ontologies, i.e., those import foreign
> concepts should be normalized into local ontologies and profile. Such a
> separation will increase ontology reuse and system's robustness because all
> ontology is disjoint from each other. In addition, it maximize overall
> system expressiveness. Now, ontology creator shall try to develop ontology
> without thinking how it relates to others. On the other hand, using
> o3:Profile allows all ontologies be combined according to a users' viewpoint
> or an application profile. The separation, IMHO, is very important. And
> this is a concrete engineer principle that everyone can follow without
> subjective debate.
>
> Of course, how to partition content (not the engineer artifacts) into local
> ontologies is subjective. Detailed ontology needs a top ontology to help
> them. For instance, if when MGED is designed with a top experimental
> ontology in mind (something like BOSS.
> http://www.charlestoncore.org/ontology/boss#), content decomposition will be
> easier.
>
> If an ontology developer doesn't know what the system is supposed to run and
> what it can possibly achieve, how can they do things right. To help them
> "comprehend" is much more important than let them simply "know".
>
> Xiaoshu
>
>
Received on Wednesday, 12 October 2005 19:34:03 UTC