upheno
upheno copied to clipboard
First review of pattern.owl
First official review of pattern.owl. First group of reviewers, if at all possible: @sbello @ybradford @Clare72 and @chris-grove
- Load https://raw.githubusercontent.com/obophenotype/upheno/master/src/patterns/pattern.owl into Protege
- Run reasoner
- Inspect inferred class hierarchy
This is the ontology reflecting the patterns we currently support. What we need to know is:
- Are there subsumptions that do not make sense
- Are there important subsumptions missing
- Any other observations that pertain to the hierarchy
Thank you very much!
@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.
This is amazing @chris-grove Thanks a lot, let me compose a response.
@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):
- [ ] abnormalAbsenceOfChemicalEntity.yaml SubClassOf abnormallyDecreasedLevelOfChemicalEntity.yaml
- [ ] abnormalAbsenceOfBiologicalProcess.yaml SubClassOf abnormallyDecreasedQualityOfBiologicalProcessInLocation.yaml (maybe?)
- [ ] abnormalAbsenceOfChemicalEntityInLocation.yaml SubClassOf abnormallyDecreasedLevelOfChemicalEntityInLocation.yaml
- [ ] abnormalAbsenceOfChemicalEntity.yaml SubClassOf abnormallyDecreasedLevelOfChemicalEntity.yaml
- [ ] abnormalAbsenceOfPigmentationOfAnatomicalEntity.yaml SubClassOf abnormallyDecreasedPigmentationOfAnatomicalEntity.yaml
- [ ] abnormalAbsenceOfAnatomicalEntity.yaml SubClassOf abnormalQuantityOfAnatomicalEntity.yaml
- [ ] abnormalAbsenceOfMolecularFunction subClassOf abnormalMolecularFunction
- [ ] abnormalQuantityOfAnatomicalEntity.yaml SubClassOf abnormalMorphologyOfAnatomicalEntity.yaml
- [ ] absentMolecularFunction SubClassOf decreasedMolecularFunction
Missing subsumptions that were missing because of imports (fixed now):
- [X] abnormalShapeOfAnatomicalEntityByShapeType.yaml SubClassOf abnormalAnatomicalEntity.yaml (related to #11)
- [X] abnormalMorphologyOfAnatomicalEntity.yaml SubClassOf abnormalAnatomicalEntity.yaml (related to #3)
- [X] abnormalWeightOfAnatomicalEntity.yaml SubClassOf abnormalAnatomicalEntity.yaml
Missing because of missing alignment between reference ontologies:
- [ ] abnormalBehavior.yaml SubClassOf abnormalBiologicalProcess.yaml
Missing for logical reasons:
- [X] abnormallyDecreasedRateOfBiologicalProcess.yaml SubClassOf abnormallyDecreasedQualityOfBiologicalProcessInLocation.yaml: You are right in that decreased rate is a sub-quality of process quality. However, unless there is an axiom statig somewhere (which maybe should?) that EVERY biological process occurs somewhere, the second pattern is more specific in that regard!
- [X] abnormallyArrestedBiologicalProcess.yaml SubClassOf abnormallyDecreasedQualityOfBiologicalProcessInLocation.yaml: Same as above. None of the two is a generalisation of the other.
- [X] abnormalFunctionalityOfAnatomicalEntity.yaml SubClassOf abnormalBiologicalProcess.yaml: This is not possible, as the former is a anatomical entity phenotype, while the latter is a biological process phenotype.
Missing because pattern was broken, now fixed:
- [X] abnormallyDecreasedDistanceBetweenAnatomicalEntities.yaml SubClassOf abnormalDistanceBetweenAnatomicalEntities.yaml
- [X] abnormallyIncreasedDistanceBetweenAnatomicalEntities.yaml SubClassOf abnormalDistanceBetweenAnatomicalEntities.yaml
- [X] abnormallyDecreasedQualityOfBiologicalProcess.yaml SubClassOf abnormalBiologicalProcess.yaml: decreased quality pattern used wrong PATO quality (process quality instead of decreased process quality)
- [X] abnormallyIncreasedRateOfBiologicalProcessInLocation.yaml SubClassOf abnormallyDecreasedQualityOfBiologicalProcessInLocation.yaml
- [X] abnormalBiologicalProcessInLocation.yaml SubClassOf abnormallyDecreasedQualityOfBiologicalProcess.yaml
- [X] abnormalDevelopmentOfAnatomicalEntity.yaml SubClassOf abnormallyDecreasedQualityOfBiologicalProcess.yaml
- [X] abnormallyIncreasedRateOfBiologicalProcess.yaml SubClassOf abnormallyDecreasedQualityOfBiologicalProcess.yaml
Missing because pattern is broken, not (yet) fixed:
- [ ] abnormallyDecreasedNumberOfAnatomicalEntity.yaml SubClassOf abnormalQuantityOfAnatomicalEntity.yaml: abnormalQuantityPattern needs to be changed to abnormalNumberOfAnatomicalEntity. Right now makes no sense.
- [ ] abnormallyDecreasedNumberOfCellularComponent.yaml SubClassOf abnormallyAlteredNumberOfCellularComponent.yaml
- [ ] abnormallyIncreasedNumberOfAnatomicalEntity.yaml SubClassOf abnormalQuantityOfAnatomicalEntity.yaml
- [ ] abnormallyIncreasedNumberOfCellularComponent.yaml SubClassOf abnormallyAlteredNumberOfCellularComponent.yaml
- [ ] lesionInAnatomicalEntity SubClassOf abnormalAnatomicalEntity.yaml: Broken EQ.
- [ ] abnormalCellProliferationInAnatomicalEntity: Broken EQ.
- [ ] abscessInLocation subClassOf abnormalAnatomicalEntity
Existing subsumptions that seem wrong:
- [ ] https://github.com/pato-ontology/pato/issues/297
- [ ] inLocation patterns are EQUIVALENT to there counterparts!
I don't understand the difference between:
- [ ] 'abnormalPositionOfAnatomicalEntity.yaml' and 'mislocalisedAnatomicalEntity.yaml': Will discuss at next phenotype call
- [ ] 'abnormalQuantityOfAnatomicalEntity.yaml' and 'abnormallyAlteredNumberOfAnatomicalEntities.yaml': Will discuss at next phenotype call
- [X] 'abnormallyLackingAllPartsOfTypeAnatomicalEntity.yaml' and 'abnormalAbsenceOfAnatomicalEntity.yaml': Former is now deprecated.
Same label, different entities:
- [X] abnormallyIncreasedHeightOfAnatomicalEntity.yaml and abnormallyIncreasedHeightOfAnatomicalEntityInLocation.yaml both have the same label "increased height of the 'anatomical entity'":
fixed
@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?
(We only care about observations now beyond the ones @chris-grove has already made)
By the way:
For classifying pattern.owl, use HermiT! That way, you get a full classification under 'specifically dependent continuant'.
Not that much to add (Chris was pretty thorough):
Missing:
- abscessInLocation subClassOf abnormalAnatomicalEntity abnormalCellularComponent subClassOf abnormalAnatomicalEntity (and similar for subclasses)
- abnormalAbsenceOfMolecularFunction subClassOf abnormalMolecularFunction
- abnormalNumberOfAnatomicalEntity -> uses 'increased amount', so doesn't get all expected subclasses, similar for abnormalNumberOfAnatomicalEntityInLocation
Other comments:
- XInLocation patterns -> should these use 'anatomical entity' rather than 'independant continuant'? aren't we always referring to biological locations?
- abnormalNumberOfAnatomicalEntity - what is the intended difference from abnormalQuantityOfAnatomicalEntity
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!
@ybradford Your turn! If you can still find anything.. Anything you find that is weird; Thank you!
@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'?
@matentzn other than my previous question, I think the patterns look good in the hierarchy.
@ybradford thank you very much! I added this very good observation to our main list above.
@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!
@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'
Friendly ping to @sbello :P If you dont want to do it, just tell me and I will assign to someone else. :) Thaaaanks!
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.
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
@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!
@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.
@matentzn I'll try to look a bit more before the end of the week.