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

Review: absent.yaml #330

Open nicolevasilevsky opened 5 years ago

nicolevasilevsky commented 5 years ago

https://github.com/obophenotype/upheno/blob/master/src/patterns/dosdp-dev/absenceOfAnatomicalEntity.yaml

The variable is 'entity' but I think this should be restricted to 'anatomical entity', because absent biological processes use a different pattern.

Maybe this should be renamed to absentAnatomicalEntity?

nicolevasilevsky commented 5 years ago

there is a pattern for absent biological processes, but it is called missingProcess.yaml. I think this should be renamed to absentProcess, or absentBiologicalProcess.

ybradford commented 5 years ago

agreed. Entity will need to change from entity: BFO:0000001 which includes process and the yaml for missingProcess will need to exclude continuant as right now it currently is just entity.

matentzn commented 5 years ago

Yeah, best make a new ticket for missingProcess and add your suggestion. We can also then decide whether absent should in fact be absentAnatomicalStructure? That way we would reduce the ambiguity which pattern to use.

mah11 commented 5 years ago

whether absent should in fact be absentAnatomicalStructure

That does sound like it would help make the distinction from missingProcess clearer.

Tangentially related question: how do you decide whether to model a phenotype as entity X absent (PATO:0000462) versus saying the organism (or part of it) lacks all parts (PATO:0002000) of type X?

matentzn commented 5 years ago

Very good point @mah11 IMHO they should be different patterns (@sbello ?)

ybradford commented 5 years ago

@mah11 and @matentzn it seems this is a subtle difference. Previously it was argued that if an anatomical structure was absent, the preferred method of stating that was 'organism (or part of it) lacks all parts (PATO::0002000) of type X because it is a more specific and explicit statement than absent. In addition 'absent' is a qualitative term and it doesn't make logical sense to assign a quality to an entity that doesn't exist. If 'lacks all parts' is not the preferred method we should use aplastic or agenesis. Sometimes these terms are not used because it is not know why the structure is missing (failure to develop from a primordium vs. failure to develop). This logic was discussed at the original PATO workshops.

I believe curators have still relied on entity X absent because often that is what an author says, which may not necessarily be the best way to describe that an entity is absent semantically.

If we are to restrict to anatomical entity, then we will need a pattern for absentProcess that is restricted to phenotype of processes and it should use a qualitative process term like 'abolished' or 'decreased. occurence'

matentzn commented 5 years ago

I think we need the lacks all parts pattern in addition to the absentAnatomicalEntity. I always interpreted "absent" as something existential (some), so when I see: absent cell, absent kidney, I understood: (at least one) cell missing, (at least one) kidney missing. So probably the logic of this patterns should be, if I understand @ybradford suggestions correctly, split into these:

rendering the generic absent pattern obsolete. I do not quite like the abolished yet, and decreased is too weak. Anyone else has a better PATO quality to denote a process that does not happen? @ybradford @sbello

Also, what about absent chemicals, non-occurring behaviours? What is the general feeling there?

mah11 commented 5 years ago

re various comments on absentAnatomicalEntity vs. lacks-all-parts:

Thanks for the explanations, suggestions, etc. In FYPO we've only used the lacks-all-parts version, so far without problems. I'm happy to carry on doing so, and can leave working out details of absentAnatomicalEntity or refinements thereof to those who need them (we may be a bit spoiled in that both curators and researchers readily understand when we say "a cell doesn't have any of these").

Also, what about absent chemicals, non-occurring behaviours? What is the general feeling there?

At present FYPO uses the 'lacks all parts' model for chemicals, although the labels usually say 'x absent from cell' (or from a cell part such as an organelle). We don't have to worry about behavior ... ;)

mah11 commented 5 years ago
  • absentProcess (using abolished/absent and inheres in biological process)

  • absentProcessInALocation (using abolished/absent and inheres in biological process part of anatomical entity)

... I do not quite like the abolished yet, and decreased is too weak. Anyone else has a better PATO quality to denote a process that does not happen?

We don't, we wish we did, and we've been watching the obo phenotype space for years hoping the problem gets solved! Our stopgap in the meantime is to use PATO:0001558 lacking processual parts and GO BP terms.

One specific question that keeps coming up is whether "absentProcess" (by any design pattern) is an extreme case of "decreasedProcess". To date we haven't asserted such a link in FYPO because there's no corresponding link in PATO (and I have no desire to try to maintain such a structure manually in FYPO :P ).

matentzn commented 5 years ago

One specific question that keeps coming up is whether "absentProcess" (by any design pattern) is an extreme case of "decreasedProcess". To date we haven't asserted such a link in FYPO because there's no corresponding link in PATO (and I have no desire to try to maintain such a structure manually in FYPO :P ).

Okay, we will keep this in mind for the April workshop; Thanks.

I am not a fan of this lacking processual parts. Too weak. Sounds more like a degenerated process than one that is decreased or absent. Lets see whether any other suggestions come in.

matentzn commented 5 years ago

@sbello disregarding what MP is doing at the moment, what PATO quality do you suggest for a biogical process that should have, but didnt, happen?

I am against the latter (the formal definition requires to state lacking WHAT parts), but dont mind either one of the first two.

sbello commented 5 years ago

Note there is an old ticket related to this issue https://github.com/obophenotype/upheno/issues/110 which was in favor of option 3 (lacking processual parts). I would agree that the definition of lacking processual parts lacks specificity and just specifies lacking a part. The term linked from abolished has the primary label 'arrested' and that is not correct for what we want since it specifies that the process ends early and we need to cover cases where the process never starts as well. I would prefer to use absent but agree that it is helpful to separate absent anatomical entity from absent process.

Going back to @mah11 point "Tangentially related question: how do you decide whether to model a phenotype as entity X absent (PATO:0000462) versus saying the organism (or part of it) lacks all parts (PATO:0002000) of type X?" At some point we discussed this, I think in the context of PATO issues, as there is a known issue when reasoning over the MP where using the current axioms reasoning places absent incisors under absent teeth when the text definition of absent teeth is absence of ALL teeth. I believe we were going to discuss this when we talked about PATO. In the MP, we use absent X to mean all entities X are missing. In the case of entities with more than 1 instance in the organism we typically used decreased number to indicate absence of some but not necessarily all of instances of the entity. Absent X is a child of decreased number of X.

matentzn commented 5 years ago

Ok, thanks for the input. I think absent is generic enough to be used in both cases! We will have seperate patterns in any case, both using absent for now; until someone protests.

Second issue: yes, will be discussed in depth at workshop!

nicolevasilevsky commented 5 years ago

pattern_name: absenceOfAnatomicalEntity pattern_iri: http://purl.obolibrary.org/obo/upheno/patterns-dev/absenceOfAnatomicalEntity.yaml description: ""

classes: absent: PATO:0000462 abnormal: PATO:0000460 anatomical entity: UBERON:0001062

relations: inheres_in: RO:0000052 has_modifier: RO:0002573 has_part: BFO:0000051

annotationProperties: exact_synonym: oio:hasExactSynonym

vars: anatomical_entity: "'anatomical entity'"

name: text: "absent %s" vars:

annotations:

def: text: "Absence of %s." vars:

equivalentTo: text: "'has_part' some ('absent' and ('inheres_in' some %s) and ('has_modifier' some 'abnormal'))" vars:

@obophenotype/phenotype-editors could you all review this pattern above and sign off on it in the spreadsheet. Nico hopes to have these all reviewed by mid-March, in time for the workshop at Biocuration2019.

cmungall commented 5 years ago

@sbello

In the MP, we use absent X to mean all entities X are missing

but see:

https://www.ebi.ac.uk/ols/ontologies/mp/terms?iri=http%3A%2F%2Fpurl.obolibrary.org%2Fobo%2FMP_0030610

image

chris-grove commented 5 years ago

I'll sign off on this pattern as I think it looks good overall, but I think the name should not be "absent %s" but rather "absent %s phenotype" or "absence of %s". Likewise, the synonym I think should not be "missing %s" but rather "missing %s phenotype" or "absence of %s".

LCCarmody commented 5 years ago

I am pretty late to the party. I think the pattern is good, but still questioning what other patterns should be added. HPO has a lot of term labels with 'aplasia' or occasionally 'agenesis'.

nicolevasilevsky commented 5 years ago

@LCCarmody I think we can add agenesis and aplasia patterns

dosumis commented 5 years ago

This:

equivalentTo:
text: "'has_part' some ('absent' and ('inheres_in' some %s) and ('has_modifier' some 'abnormal'))"
vars:
- anatomical_entity

Leads inevitably to: absent lower incisors is_a absent incisors is_a absent teeth

So we'll need a different pattern if we want to record 'lacks all'

balhoff commented 5 years ago

https://github.com/obophenotype/upheno/wiki/Modeling-of-Absence

https://wiki.phenoscape.org/wiki/Absence_Phenotypes_in_OWL

https://arxiv.org/pdf/1410.3862.pdf (There are some small errors in that paper that I wish I could correct)

dosumis commented 5 years ago

Notes from Phentype call:

All agree that we should have a way to refer to absence of all. This will require a new pattern as the current one only refer to abence of some.

pnrobinson commented 5 years ago

About Leads inevitably to: absent lower incisors is_a absent incisors is_a absent teeth We should try to use singular forms in definitions -- then this is correct

cmungall commented 5 years ago

Looping in @ramonawalls and @stuckyb

All agree that we should have a way to refer to absence of all

Is the intent that this would be simple logical non-presence, or would it indicate a specific loss

E.g. would we expect to see "early embryonic lethal" has 1000s of subclasses superclasses, e.g. lacks-all-adult-teeth, lacks-all-femur

The PPO uses this semantics for absence, giving an inverted structure for the absence branch; they feel this is what their users want but I think this is confusing. It may be a difference between a genetic perspective and a phenological or strictly observational one.

Related ticket: https://github.com/PlantPhenoOntology/ppo/issues/62

ramonawalls commented 5 years ago

Our reverse hierarchy is confusing, but users never see it. They only care that they get the right results when they do queries, which they with this structure. For example, if I query for any records where there we no flowers present, I should also get results for any records where there were no open flowers present.

There are definitely some differences between data from observations versus those from phenotype/genetic studies, but I guess both still come down to the fact that someone looked at something and didn't see any of what they were looking for. In PPO, I think we are clear that our absence classes are for convenience, and they represent a count of zero in some observation. I am comfortable that any ecologist worth their salt will appreciate what that means, and not conflate it with absolute known absence. Remember that for phenology, we are not saying that a plant doesn't make flowers (as one might do with a mutant phenotype), simply that no flowers were observed on a particular individual at a particular time. We expect to use a similar pattern for, e.g., specifying that a survey did not yield the presence of an organism in an area.

I doubt if our ODP of saying that a count = 0 is equivalent to absent is appropriate for ontologies trying to capture mutant phenotypes, but it works well for us. I suppose we could relabel the classes something like "flowers absent based on observation", but I don't think that is necessary.