obophenotype / upheno

The Unified Phenotype Ontology (uPheno) integrates multiple phenotype ontologies into a unified cross-species phenotype ontology.
https://obophenotype.github.io/upheno/
Creative Commons Zero v1.0 Universal
75 stars 17 forks source link

First review of pattern.owl #510

Open matentzn opened 4 years ago

matentzn commented 4 years ago

First official review of pattern.owl. First group of reviewers, if at all possible: @sbello @ybradford @Clare72 and @chris-grove

  1. Load https://raw.githubusercontent.com/obophenotype/upheno/master/src/patterns/pattern.owl into Protege
  2. Run reasoner
  3. Inspect inferred class hierarchy

This is the ontology reflecting the patterns we currently support. What we need to know is:

  1. Are there subsumptions that do not make sense
  2. Are there important subsumptions missing
  3. Any other observations that pertain to the hierarchy

Thank you very much!

chris-grove commented 4 years ago

@matentzn Here's my initial assessment:

Expected subsumptions missing:

1. abnormalAbsenceOfChemicalEntityInLocation.yaml SubClassOf abnormallyDecreasedLevelOfChemicalEntityInLocation.yaml
2. abnormalAbsenceOfChemicalEntity.yaml SubClassOf abnormallyDecreasedLevelOfChemicalEntity.yaml
3. abnormalShapeOfAnatomicalEntityByShapeType.yaml SubClassOf abnormalAnatomicalEntity.yaml (related to #11)
4. abnormalBehavior.yaml SubClassOf abnormalBiologicalProcess.yaml
5. abnormallyDecreasedRateOfBiologicalProcess.yaml SubClassOf abnormallyDecreasedQualityOfBiologicalProcessInLocation.yaml
6. abnormalAbsenceOfBiologicalProcess.yaml SubClassOf abnormallyDecreasedQualityOfBiologicalProcessInLocation.yaml (maybe?)
7. abnormallyArrestedBiologicalProcess.yaml SubClassOf abnormallyDecreasedQualityOfBiologicalProcessInLocation.yaml (maybe?)
8. abnormalAbsenceOfChemicalEntityInLocation.yaml SubClassOf abnormallyDecreasedLevelOfChemicalEntityInLocation.yaml
9. abnormalAbsenceOfChemicalEntity.yaml SubClassOf abnormallyDecreasedLevelOfChemicalEntity.yaml
10. abnormalPositionOfAnatomicalEntity.yaml SubClassOf abnormalAnatomicalEntity.yaml
11. abnormalMorphologyOfAnatomicalEntity.yaml SubClassOf abnormalAnatomicalEntity.yaml (related to #3)
12. abnormalAbsenceOfPigmentationOfAnatomicalEntity.yaml SubClassOf abnormallyDecreasedPigmentationOfAnatomicalEntity.yaml
13. abnormalQuantityOfAnatomicalEntity.yaml SubClassOf abnormalMorphologyOfAnatomicalEntity.yaml (maybe?)
14. abnormalFunctionalityOfAnatomicalEntity.yaml (with label "abnormality of 'anatomical entity' physiology") SubClassOf abnormalBiologicalProcess.yaml
15. abnormalWeightOfAnatomicalEntity.yaml SubClassOf abnormalAnatomicalEntity.yaml
16. abnormalAbsenceOfAnatomicalEntity.yaml SubClassOf abnormalQuantityOfAnatomicalEntity.yaml
17. abnormallyDecreasedDistanceBetweenAnatomicalEntities.yaml SubClassOf abnormalDistanceBetweenAnatomicalEntities.yaml
18. abnormallyDecreasedNumberOfAnatomicalEntity.yaml SubClassOf abnormalQuantityOfAnatomicalEntity.yaml
19. abnormallyDecreasedNumberOfCellularComponent.yaml SubClassOf abnormallyAlteredNumberOfCellularComponent.yaml
20. abnormallyDecreasedQualityOfBiologicalProcess.yaml SubClassOf abnormalBiologicalProcess.yaml
21. abnormallyIncreasedDistanceBetweenAnatomicalEntities.yaml SubClassOf abnormalDistanceBetweenAnatomicalEntities.yaml
22. abnormallyIncreasedNumberOfAnatomicalEntity.yaml SubClassOf abnormalQuantityOfAnatomicalEntity.yaml
23. abnormallyIncreasedNumberOfCellularComponent.yaml SubClassOf abnormallyAlteredNumberOfCellularComponent.yaml
24. lesionInAnatomicalEntity SubClassOf abnormalAnatomicalEntity.yaml

Existing subsumptions that seem wrong:

abnormallyIncreasedRateOfBiologicalProcessInLocation.yaml SubClassOf abnormallyDecreasedQualityOfBiologicalProcessInLocation.yaml
abnormalBiologicalProcessInLocation.yaml SubClassOf abnormallyDecreasedQualityOfBiologicalProcess.yaml
abnormalDevelopmentOfAnatomicalEntity.yaml SubClassOf abnormallyDecreasedQualityOfBiologicalProcess.yaml
abnormallyIncreasedRateOfBiologicalProcess.yaml SubClassOf abnormallyDecreasedQualityOfBiologicalProcess.yaml

I don't understand the difference between: 

'abnormalPositionOfAnatomicalEntity.yaml' and 'mislocalisedAnatomicalEntity.yaml'
'abnormalQuantityOfAnatomicalEntity.yaml' and 'abnormallyAlteredNumberOfAnatomicalEntities.yaml' (thus all statements above about 'abnormalQuantityOfAnatomicalEntity.yaml' also hold for 'abnormallyAlteredNumberOfAnatomicalEntities.yaml')
'abnormallyLackingAllPartsOfTypeAnatomicalEntity.yaml' and 'abnormalAbsenceOfAnatomicalEntity.yaml'

Same label, different entities:

abnormallyIncreasedHeightOfAnatomicalEntity.yaml and abnormallyIncreasedHeightOfAnatomicalEntityInLocation.yaml both have the same label "increased height of the 'anatomical entity'"; the latter should have a label like "increased height of the 'anatomical entity' in 'independent continuant'" or something

Some of the comments are about why 'absent' is not inferred to be a subclass of 'decreased', which I think is an ongoing discussion.

matentzn commented 4 years ago

This is amazing @chris-grove Thanks a lot, let me compose a response.

matentzn commented 4 years ago

@chris-grove Thank you for your amazing review. I structured it a bit and was able to fix some of the stuff you found already! Thanks!

Missing subsumption (problem with PATO):

Missing subsumptions that were missing because of imports (fixed now):

Missing because of missing alignment between reference ontologies:

Missing for logical reasons:

Missing because pattern was broken, now fixed:

Missing because pattern is broken, not (yet) fixed:

Existing subsumptions that seem wrong:

I don't understand the difference between:

Same label, different entities:

matentzn commented 4 years ago

@sbello @ybradford If you have not started yet with the review, hold off on it. I think it is better to get feedback one by one to avoid duplicate efforts. Thanks :)

@Clare72 are you cool with giving this a pass?

matentzn commented 4 years ago

(We only care about observations now beyond the ones @chris-grove has already made)

matentzn commented 4 years ago

By the way:

For classifying pattern.owl, use HermiT! That way, you get a full classification under 'specifically dependent continuant'.

Clare72 commented 4 years ago

Not that much to add (Chris was pretty thorough):

Missing:

Other comments:

matentzn commented 4 years ago

Awesome, thanks @Clare72

Missing:

abscessInLocation subClassOf abnormalAnatomicalEntity

Added to master list above. Thx.

abnormalCellularComponent subClassOf abnormalAnatomicalEntity (and similar for subclasses)

We have so far decided that cellular components are not anatomical entities; our trichotomy is cell and upwards for anatomical entity, cellular components and chemical entity, all of which we treat as distinct categories.

abnormalAbsenceOfMolecularFunction subClassOf abnormalMolecularFunction

Added to master list above. Thx.

abnormalNumberOfAnatomicalEntity -> uses 'increased amount', so doesn't get all expected subclasses, similar for abnormalNumberOfAnatomicalEntityInLocation

Whooops nice catch. Fixed.

XInLocation patterns -> should these use 'anatomical entity' rather than 'independant continuant'? aren't we always referring to biological locations?

We did this so we can have sub-anatomical locations which are important for some species (mitochondria, etc).

abnormalNumberOfAnatomicalEntity - what is the intended difference from abnormalQuantityOfAnatomicalEntity

None, forgot to deprecate. Now removed. Thanks!

matentzn commented 4 years ago

@ybradford Your turn! If you can still find anything.. Anything you find that is weird; Thank you!

ybradford commented 4 years ago

@matentzn Should absent molecular function be a child of decreased ‘molecular function', same idea for absent ‘biological process’ in ‘independent continuant’? It seems if something is absent it is inherently decreased, I think if not a child of decreased molecular function, then couldn't it be a child of abnormal 'molecular function'?

ybradford commented 4 years ago

@matentzn other than my previous question, I think the patterns look good in the hierarchy.

matentzn commented 4 years ago

@ybradford thank you very much! I added this very good observation to our main list above.

matentzn commented 4 years ago

@sbello your turn now if you are ok with it, else I will find someone else. We must have caught most of not all issues by now, but maybe you can see something. Thanks!

mah11 commented 4 years ago

@ybradford

Should absent molecular function be a child of decreased ‘molecular function', same idea for absent ‘biological process’ ...

We don't have these links in FYPO at present, but that's only because the PATO terms aren't connected (i.e. PATO doesn't have 'absent is_a decreased'). We'd be very happy to change that, because we have a strong impression that our biologist users intuitively expect "MF/BP doesn't happen at all" to be a special case of "MF/BP happens less than normal".

tl;dr: PomBase would vote 'yes'

matentzn commented 4 years ago

Friendly ping to @sbello :P If you dont want to do it, just tell me and I will assign to someone else. :) Thaaaanks!

sbello commented 4 years ago

Starting to look through. Placement that seems wrong: prominent anatomical entity - being subsumed under abnormal location, I would not think of this as 'abnormal location' typically this is in the 'normal' location but sticks out farther. For example I would not consider 'prominent ears' or 'prominent lips' to be mislocalized.

sbello commented 4 years ago

Seems like there is an issue with the anatomical entity degeneration and anatomical entity degeneration in independent continuant patterns, the ELK 0.4.3 reasoner is inferring that these are equivalent rather than making anatomical entity degeneration a parent of anatomical entity degeneration in independent continuant This seems to be true for all the pairs of terms where we have abnormal x and abnormal x in Y

matentzn commented 4 years ago

@sbello WOW YES! :P Spot on your observations, incredible I never spotted this! The reason is that somehow every continuant (no matter whether it is stated explictly or not) is part of something.. I wonder whether this is also true for the multiverse!

matentzn commented 4 years ago

@sbello I have fixed the subsumption problem with the inLocation patterns now. Thanks for the feedback! If you are done, I will move on to someone else to take a look! Amazing catches. Thanks.

sbello commented 4 years ago

@matentzn I'll try to look a bit more before the end of the week.