[MOBY-l] Request for BioMoby support letters
Mark Wilkinson
markw at illuminae.com
Thu Aug 9 22:17:42 UTC 2007
On Thu, 09 Aug 2007 15:02:56 -0700, Paul Gordon <gordonp at ucalgary.ca>
wrote:
> The MOBY 2.0 idea (Mark, correct if I'm wrong), is to load up the
> appropriate
> facts (propositions) from services as they are needed to check the truth
> of a
> statement (scientific hypothesis). These facts are not necessarily from
> a database,
> it could be that a service returns a proposition like "ing1 and yng1 are
> orthologs"
> based on a BLAST you did on your server. Such a service would be
> declared
> with a signature:
>
> "I return facts of the form 'X and Y are orthologs'"
more or less, that's what I'm saying, yes :-) It's a bit more than that...
Let's take this example. Say I start with a database of raw, unannotated
protein sequences.
As a biological researcher, I don't know (and don't care!) what
information is or is not in my database, I only care about the question I
am asking... so I ask it! I pose a SPARQL query over this database:
"Select 'Serine Threonine Kinase' where hasInhibitor 'Coumermycin A1'"
Somewhere in the world is an OWL ontology that states:
Class(Serine Threonine Kinase) is equivalent to
Class(Protein) that
hasFunctionalAnnotation 'serine-threonine kinase domain'
The Classes in my query are first looked-up against the OWL model and the
definition of "Serine Threonine Kinase" is determined. The Class
resrictions of that class are deconstructed, and the system looks up "what
Moby Services consume Protein and can provide a hasFunctionalAnnotation
property?". That service is discovered and executed in the same way Moby
works now. A DL reasoner then classifies these proteins into "Serine
Threonine Kinase" or "other", and we return to the SPARQL query with our
Serine Threonine Kinase's in-hand. The system then says "what services
consume Protein and provide a hasInhibitor property? This moby service is
auto-discovered and auto-invoked using the Serine Threonine Kinase's as
input, and they come back with the hasInhibitor property attached to
them. Now the SPARQL query can be completed, by returning those that have
the value "Coumermycin A1" attached to them.
so... starting from raw sequence, I was able to discover those sequences
that are inhibited by a molecule of interest... and I didn't have to
construct the workflow, I simply asked the question :-)
It sounds a bit like black magic, but I am convinced that we can get
something similar to this working in the next couple of years! the
details of *how* we're going to do it are in the grant, but I can't make
the grant proposal public at the moment...
M
--
--
Mark Wilkinson
Assistant Professor, Dept. Medical Genetics
University of British Columbia
PI Bioinformatics
iCAPTURE Centre, St. Paul's Hospital
Tel: 604 682 2344 x62129
Fax: 604 806 9274
***CONFIDENTIALITY NOTICE***
This electronic message is intended only for the use of the addressee and
may contain information that is privileged and confidential. Any
dissemination, distribution or copying of this communication by
unauthorized individuals is strictly prohibited. If you have received this
communication in error, please notify the sender immediately by reply
e-mail and delete the original and all copies from your system.
More information about the moby-l
mailing list