upheno icon indicating copy to clipboard operation
upheno copied to clipboard

First review of pattern.owl

Open matentzn opened this issue 5 years ago • 20 comments

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!

matentzn avatar Aug 05 '19 11:08 matentzn

@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.

chris-grove avatar Aug 05 '19 15:08 chris-grove

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

matentzn avatar Aug 05 '19 15:08 matentzn

@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

matentzn avatar Aug 06 '19 10:08 matentzn

@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 avatar Aug 06 '19 10:08 matentzn

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

matentzn avatar Aug 06 '19 10:08 matentzn

By the way:

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

matentzn avatar Aug 06 '19 10:08 matentzn

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

Clare72 avatar Aug 07 '19 09:08 Clare72

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 avatar Aug 07 '19 10:08 matentzn

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

matentzn avatar Aug 07 '19 16:08 matentzn

@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 avatar Aug 15 '19 20:08 ybradford

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

ybradford avatar Aug 15 '19 22:08 ybradford

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

matentzn avatar Aug 16 '19 10:08 matentzn

@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!

matentzn avatar Aug 16 '19 10:08 matentzn

@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'

mah11 avatar Aug 19 '19 10:08 mah11

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

matentzn avatar Sep 06 '19 13:09 matentzn

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 avatar Feb 10 '20 20:02 sbello

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 avatar Feb 10 '20 20:02 sbello

@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 avatar Feb 13 '20 12:02 matentzn

@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 avatar Feb 13 '20 13:02 matentzn

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

sbello avatar Feb 13 '20 14:02 sbello