upheno icon indicating copy to clipboard operation
upheno copied to clipboard

Review: absent.yaml

Open nicolevasilevsky opened this issue 6 years ago • 24 comments

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 avatar Feb 05 '19 18:02 nicolevasilevsky

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

nicolevasilevsky avatar Feb 05 '19 18:02 nicolevasilevsky

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.

ybradford avatar Feb 05 '19 19:02 ybradford

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.

matentzn avatar Feb 06 '19 11:02 matentzn

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?

mah11 avatar Feb 07 '19 10:02 mah11

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

matentzn avatar Feb 08 '19 13:02 matentzn

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

ybradford avatar Feb 08 '19 16:02 ybradford

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:

  • absentAnatomicalEntity (using absent and inheres in anatomical entity)
  • absentAnatomicalEntityInALocation (using absent and inheres in anatomical entity part of anatomical entity)
  • abentAllTypesOfAnatomicalEntity (using lacks all part of anatomical entity)
  • absentAllTypesOfAnatomicalEntityInALocation (using lacks all part of anatomical entity in a location)
  • absentProcess (using abolished/absent and inheres in biological process)
  • absentProcessInALocation (using abolished/absent and inheres in biological process part of anatomical entity)

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?

matentzn avatar Feb 11 '19 07:02 matentzn

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 avatar Feb 11 '19 10:02 mah11

  • 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 ).

mah11 avatar Feb 11 '19 10:02 mah11

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

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

matentzn avatar Feb 22 '19 13:02 matentzn

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.

sbello avatar Feb 22 '19 15:02 sbello

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!

matentzn avatar Feb 22 '19 15:02 matentzn

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:

  • anatomical_entity

annotations:

  • annotationProperty: exact_synonym text: "missing %s" vars:
    • anatomical_entity

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

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

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

nicolevasilevsky avatar Feb 27 '19 23:02 nicolevasilevsky

@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

cmungall avatar Feb 28 '19 15:02 cmungall

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

chris-grove avatar Mar 05 '19 19:03 chris-grove

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

LCCarmody avatar Mar 13 '19 12:03 LCCarmody

@LCCarmody I think we can add agenesis and aplasia patterns

nicolevasilevsky avatar Mar 13 '19 15:03 nicolevasilevsky

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'

dosumis avatar Mar 28 '19 16:03 dosumis

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)

balhoff avatar Mar 28 '19 16:03 balhoff

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.

dosumis avatar Mar 28 '19 16:03 dosumis

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

pnrobinson avatar Mar 28 '19 19:03 pnrobinson

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

cmungall avatar Mar 28 '19 20:03 cmungall

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.

ramonawalls avatar Apr 09 '19 02:04 ramonawalls