PHI-base / phipo

Pathogen-Host Interaction Phenotype Ontology
Other
5 stars 5 forks source link

Difficult to view classes in Protege with 'equivalent to' logical definitions #47

Closed CuzickA closed 5 years ago

CuzickA commented 5 years ago

image

Is it possible to hide the display of the equivalence terms @jseager7 ?

ValWood commented 5 years ago

If you can't trouble shoot this I can ask.

jseager7 commented 5 years ago

I've done some research on this, and I think the answer is no, there doesn't seem to be an option to hide these classes in Protege. I think the feature has been requested in the past, but nothing happened with regards to it.

I think part of the problem with the hierarchy being so disordered is because the equivalence relations usually define child terms to be equivalent to their furthest common ancestor (plus some extra qualifiers), which is always going to push those equivalence classes near to the top of the hierarchy.

The only solution I can think of is to define the terms as equivalent to their nearest ancestor, but this could make the reasoning more unpredictable, and might only have the effect of pushing the problem somewhere else in the ontology. Otherwise, we probably just have to accept that this is an unfortunate side effect of working with classes rather than individuals. There might be other ontology editing applications that can do this, but they're probably commercial software (not free).

matentzn commented 5 years ago

Hey all, can you elaborate what you mean exactly by "difficult to view" and "hide these classes"? In the screenshot above, you want to not show 'abnormal transport' at all? The screenshot you provided looks relatively normal to mo, other than the fact that there are many classes on the same level.

If PHIPO phenotypes adhere to the normal phenotype patterns, the definitions do not include a root term at all; they are just defined in terms of classes from external ontologies. The only way to really view them properly is run the reasoner and use the inferred view! Is this what you mean?

jseager7 commented 5 years ago

can you elaborate what you mean exactly by "difficult to view" and "hide these classes"?

Having looked at the ontology, I'm not sure anymore. Maybe @CuzickA can clarify this? I think the problem was the lack of subclass organisation, but running the reasoner does seem to make this more sensible:

phipo-inferred-view

Unfortunately the reasoner takes a long time to run in Protege, so maybe we should just save the inferred closure using ROBOT and add the inferred classes to the ontology as assertions. Not sure if that's a good idea.


If PHIPO phenotypes adhere to the normal phenotype patterns, the definitions do not include a root term at all;

I'm not sure if our phenotypes adhere to the 'normal' phenotype patterns, since our equivalence relations are defined in terms of root classes or super-classes from PHIPO, plus some object properties and classes from PHIPO and other ontologies – for example:

phipo-term-eq

I think even our concept of a 'phenotype' is a class embedded in PHIPO; it doesn't refer to anything in an external ontology.

matentzn commented 5 years ago

Which reasoner are you using? You should be using ELK 0.5-snapshot (get it here, if you scroll down to the latest development snapshot); That should take no more than a few seconds even with a large ontology!

Regarding your phenotype definitions: We need to talk. We are currently trying to standardise the way phenotypes are represented across all ontologies, and your definitions look almost right, but not quite 100%. If you wish to stay compatible with the rest of the effort, we can set up a call if you want and i will explain how to go about this. :)

jseager7 commented 5 years ago

Which reasoner are you using?

I was using HermiT 1.3.8.413 on Protege 5.2.0. I tried running ELK 0.4.3 first, but it just complained a lot about unsupported or unimplemented methods, and nothing appeared in the Inferred view. It worked fine once I installed ELK 5.0, except now Protege only starts up by using run.bat – the Protege.exe executable no longer does anything. 😕 Thanks for the recommendation anyway, ELK 5 is a lot faster. 👍


we can set up a call if you want and i will explain how to go about this.

@CuzickA is the main developer of the ontology, so I'll defer to her about setting up the call. I think it would definitely be useful to have some standard way to structure this ontology though, since we want it to be useful to the entire pathogen–host interactions field eventually.

ValWood commented 5 years ago

@matentzn that would be great! @CuzickA is new to all the ontology stuff, but knows all the biology. We are getting together terms we need to curate the papers, but stalling on some of the logical defs, especially for pathogen host interactions which are tricky! Hopefully it will be a fairly limited set of terms. we are however running into problems with some because of open tickets on PATO and GO.

We are working through a set of example papers which cover the main types of experiements. Where you see any obvious mis-alignments let us know. Can we ping you in any of the new tickets when we are stuck?

We need help!

matentzn commented 5 years ago

@ValWood Sounds great! And of course :) You can always ping me!

CuzickA commented 5 years ago

Thanks. Sounds good @matentzn Hope to skype with you and @ValWood 11-12 Wed 6th March @jseager7 will you join us?

jseager7 commented 5 years ago

@CuzickA I'd be happy to join the meeting on Wednesday.

jseager7 commented 5 years ago

I think this issue is essentially fixed by using ELK 0.5 as a reasoner, so I'm going to close this now.