[Biojava-l] Gene Ontology

Matthew Pocock matthew_pocock@yahoo.co.uk
Tue, 3 Dec 2002 11:27:39 +0000 (GMT)


 --- Phillip Lord <p.lord@russet.org.uk> wrote: >
>>>>> "Matthew" == Matthew Pocock
> <matthew_pocock@yahoo.co.uk> writes:
> 
>   Matthew> Go terms have an ID and (possibly) a
> description. By the
>   Matthew> isa relationship, they have a (single?)
> parent and
>   Matthew> (possibly no) children. I'm assuming Go
> has a part-of
>   Matthew> relationship (or it's inverse, has-a).
> What else does a GO
>   Matthew> term have?
> 
> GO allows multiple parents along both is-a, and
> part-of. In the case
> of GO, there are only two relationship types, but
> some of the GOBO
> ontologies define others. It wouldn't really make
> sense to have an API
> supporting GO, but not other DAG ontologies. 

OK - so GO is potentialy a DAG, not a tree (for any
given relation). Can you represent part-whole
hierachies (i.e. partative with cycles)? I can think
of a simple meta-data one:

|-> biological_process has-a (biological_process as
sub_process)*

You can remove the apparent cycle here by saying:

|-> sub_process is-a biological_process
&&  biological_process has-a (sub_process)*

but now we have to symultaneously reason over is-a and
part-of/has-a to figue anything out. I know this is
being pedantic, but are there cases when something
with an equivalent structure to this could/have been
built in GO?

>         
> It's also worth mentioning that the GO database has
> transitive closure
> information pre-calculated, so you need methods for
> accessing paths,
> if you want to advantage of this. I know from
> experience that graphing
> around GO using the "get_parent" methods is very
> slow, over the SQL
> database. (I won't bore you with the details, but I
> couldn't use the
> path methods). If memory serves the GO perl API has
> first class Path
> objects to allow this sort of access.

OK - worth knowing. Thanks.

My 2p is that we should suck GO in using whatever API
because it's usefull, and do it with beauty in BioJava
V2. If someone posts javacoc for GO APIs, we will
plump for one.

Matthew

__________________________________________________
Do You Yahoo!?
Everything you'll ever need on one web page
from News and Sport to Email and Music Charts
http://uk.my.yahoo.com