Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement transitive reduction in hierarchy views and graph views #139

Open
cmungall opened this issue Aug 12, 2014 · 3 comments
Open

Implement transitive reduction in hierarchy views and graph views #139

cmungall opened this issue Aug 12, 2014 · 3 comments
Milestone

Comments

@cmungall
Copy link
Member

This is unintuitive to many users:

We can see a long list of direct subclasses.

Formally it's correct, these are all the most specific subclasses of [http://amigo.geneontology.org/amigo/term/GO:0044767](single-organism development). However, many of the classes are highly specific,, as be seen clearly if we click on a child like [http://amigo.geneontology.org/amigo/term/GO:0021694](cerebellar Purkinje cell layer formation):

See:

direct-sco

We should discuss using some kind of transitive reduction (e.g. same as what @fbastian implemented in owltools) to eliminate these. This should be custmizable, so best done on the client side.

@kltm
Copy link
Member

kltm commented Aug 12, 2014

If I'm understanding correctly, I'm skeptical of this taking place on the client side as things currently stand.

The current return is a transitivity graph (essentially the relation of the target node to its neighbors) and a topology graph (how its connected to its neighbors). They are then merged into the current view. To make this work we need different returns and calculations, that I believe would need to be done on the server to maintain our speed.

We should talk out of thread about the details and add the results when we want to implement.

@kltm
Copy link
Member

kltm commented Aug 12, 2014

After a talk, for the first iteration we'd likely do something along the lines of create a new field like topology_reduced_graph_json (or whatever) and populate it with the reduction. This would be a server-side solution. Possibly easy enough to implement when we start the Java/server-side work again.

@fbastian
Copy link

Hi, I run the fake relation reduction (considering is_a and part_of equivalent) over go-basic, it removed 2539 relations, result can be found here: http://bgee.unil.ch/download/go-basic-reduced.obo

The result for GO:0021694:
Before:

[Term]
id: GO:0021694
name: cerebellar Purkinje cell layer formation
...
is_a: GO:0044767 ! single-organism developmental process
is_a: GO:0048646 ! anatomical structure formation involved in morphogenesis
relationship: part_of GO:0021692 ! cerebellar Purkinje cell layer morphogenesis
relationship: part_of GO:0021697 ! cerebellar cortex formation

After:

[Term]
id: GO:0021694
name: cerebellar Purkinje cell layer formation
...
relationship: part_of GO:0021692 ! cerebellar Purkinje cell layer morphogenesis
relationship: part_of GO:0021697 ! cerebellar cortex formation

On a side note, the reduction over super-properties also removed 711 relations.

@kltm kltm modified the milestone: wishlist Jul 27, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants