EBISPOT / OLS

Ontology Lookup Service from SPOT at EBI
http://www.ebi.ac.uk/ols
Apache License 2.0
96 stars 40 forks source link

Rendering multiple parentage in tree #30

Open jmcmurry opened 8 years ago

jmcmurry commented 8 years ago

Here abnormality of the ear inherits from two parents, and each of those inherits from two parents. Ignore for a moment that this example isn't great as there are artefactual issues with the ontology itself. Nevertheless the challenge is a real one.

screen shot 2015-12-10 at 11 35 34 am

This is good information to have but cumbersome to digest visually. Have you considered anything more ... succinct? I don't have any brilliant ideas, but perhaps something like the below is enough to get a conversation started. @cmungall @helenp @mellybelly is this a (more) useful view?

image

To generate this, I started with the basic sankey d3 library, but I don't know if it is sufficiently configurable to do what we'd need it to; I edited the svg manually in illustrator. The advantage of sankey over say, fdg/hairball, is that hierarchy is maintained and consequently sibling relationships are easier to see.

@doctorbud @emepyc Thoughts? If there is a better way of visualizing this more simply, it would certainly be great if we EBI and Monarch could collaborate on spec and or development. Just a thought...

cc: @harryhoch

harryhoch commented 8 years ago

@jmcmurry, and others, good discussion to have.

I would like to suggest that any discussion start with consideration of what users need to see when browsing the ontology. As far as I can tell, "abnormal phenotype" is an anomaly that was introduced by UBERPHENO. As such, it probably shouldn't be shown at all. Frankly, I'd also argue that even "Phenotypic Abnormality" is somewhat useless.

That said, the general case does involve other multiple parentage/path challenges. The Sankey D3 view that you've tweaked is interesting, but, as with other approaches, it remains to be seen how well it could scale. Certainly happy to discuss, and to find ways to leverage our development efforts.

cmungall commented 8 years ago

@harryhoch is correct this is something we need to fix in the owl version of HPO.

But dual parentage is common in non-artefact situations. The Sankey visualization looks good, reminiscent of QuickGO, any way to use it with a bbop-graph object? cc @kltm

Text outside the boxes looks cute here but presumably won't work the moment your lattice becomes thicker than a ladder

matthiaskoenig commented 8 years ago

The second visualization is much more intuitive and avoids redundant information. A final representation of the term hierarchy does not have to look exactly like the provided example, but the underlying idea of creating a graph out of the tree, thereby avoiding double branches, is a very nice feature and should be implemented.

LLTommy commented 8 years ago

Dear people, thank you for your feedback. I am pleased to tell you that I worked intensely on a graph visualisation the past couple of months as alternative to the tree view. The "graphview" reached a somewhat mature level, is running on our test server and awaits to be published&pushed into the OLS beta and to go live. This might happen as soon as today or (more likely) at the beginning of next week. So, even though we always want to collaborate, we are a little bit ahead of this discussion (Having said that, of course everybody is welcome to contribute once it is released!).

The visualisation will work with all ontologies in OLS, is interactive and can easily be expanded to a couple of hundred nodes and edges, which should be scalable enough. To give you a preview I quickly reproduced the example posted above (no manual editing necessary):

everted antitragus

matthiaskoenig commented 8 years ago

Hi Tommy, looks great. Some small remarks

On Fri, Dec 11, 2015 at 11:16 AM, LLTommy notifications@github.com wrote:

Dear people, thank you for your feedback. I am pleased to tell you that I worked intensely on a graph visualisation the past couple of months as alternative to the tree view. The "graphview" reached a somewhat mature level, is running on our test server and awaits to be published&pushed into the OLS beta and to go live. This might happen as soon as today or (more likely) at the beginning of next week. So, even though we always want to collaborate, we are a little bit ahead of this discussion (Having said that, of course everybody is welcome to contribute once it is released!).

The visualisation will work with all ontologies in OLS, is interactive and can easily be expanded to a couple of hundred nodes and edges, which should be scalable enough. To give you a preview I quickly reproduced the example posted above (no manual editing necessary):

[image: everted antitragus] https://cloud.githubusercontent.com/assets/14835875/11741155/fb4f13a4-9fee-11e5-850a-ba6f6f75f0fe.png

— Reply to this email directly or view it on GitHub https://github.com/EBISPOT/OLS/issues/30#issuecomment-163901370.


Matthias König Computational Systems Biochemistry Institute of Biochemistry Charité - Universitätsmedizin Berlin http://www.charite.de/sysbio/people/koenig/ Tel: + 49 30 450528449

Tel: + 49 176 81168480

jmcmurry commented 8 years ago

@LLTommy Excellent! So glad to see progress on this front. +1 to all of @matthiaskoenig's suggestions

LLTommy commented 8 years ago

A new version of OLS is now online. It contains some minor changes (issue #28, #26, #24) as well as the new graphview. Look for the button 'visualisation' while browsing the 'treeview' and let us know what you think.

@matthiaskoenig Thank you for your suggestions. However, the screenshot does not do justice to the interactivity of the visualisation (e.g. labels for relationships are shown depending on zoom level). Please evaluate it now, I look forward to recieve more feedback.

cmungall commented 8 years ago

Fun, but it doesn't take long before I start getting a bit seasick. YMMV.

The paradigm here is like OLSVis, so you can perhaps close #5 as this gives similar functionality.

This is definitely the slickest visualization within this general category of ontology visualizations. But ultimately this paradigm has limitations that can't be addressed until we do something a bit more advanced with the axiomatization

jmcmurry commented 8 years ago

Related to https://github.com/cmungall/multi-axial-ontology-test, just FYI