upheno icon indicating copy to clipboard operation
upheno copied to clipboard

patterns using RO_0002490 existence overlaps

Open mah11 opened this issue 4 years ago • 7 comments

We have a lot of phenotypes in FYPO that describe something physical (cell or cellular component morphology, level of chemical, etc.) and specify when the phenotype is observed. Usually the "when" is during a cell cycle phase or a response to a stimulus. We do this because some physical phenotypes only manifest in some temporally-definable circumstances (e.g. a level of chemical may be normal in vegetative growth but abnormal in meiosis, a cellular component may have abnormal morphology in some, but not all, cell cycle phases, etc.).

We've been using "exists_during" in logical defs for these phenotypes, but have intended for some time to convert the relation to something from RO for better interoperability. Inspired by discussions on another front (GO annotation extensions), we've settled on RO_0002490 existence overlaps.

On @matentzn's advice, I've created a few examples of patterns we would use:

abnormalCellularComponentDuringProcess.yaml
"'has_part' some ('quality' and ('inheres_in_part_of' some %s) and ('existence overlaps' some %s) and ('has_modifier' some 'abnormal'))"

abnormalMorphologyOfCellularComponentDuringProcess.yaml
"'has_part' some ('morphology' and ('inheres_in' some %s) and ('existence overlaps' some %s) and ('has_modifier' some 'abnormal'))"

abnormalConcentrationOfChemicalEntityDuringProcess.yaml
"'has_part' some ('concentration of' and ('inheres_in' some %s) and ('existence overlaps' some %s) and ('has_modifier' some 'abnormal'))"

... where the "process" variable would usually be a phase (i.e. a subclass of GO:0044848 ! biological phase), a life cycle stage, or a response (subclass of GO:0050896 ! response to stimulus)

This is far from a comprehensive set, so let me know if you need more of the list filled in, or if you want me to specify more of the pattern bits in the usual .yaml format. I'll also try to field questions to the best of my limited ability.

Also flagging @cmungall & @dosumis, and linking https://github.com/pombase/fypo/issues/4033

Thanks!

mah11 avatar Jul 15 '21 12:07 mah11

x existence overlaps y if and only if either (a) the start of x is part of y or (b) the end of x is part of y.

I think this is also intended to cover the case where both start and end are part of y (as 'existence starts and ends during' is a child).

This does not include the case where x begins before the start of y and ends after the end of y. This may be desirable if we don't want longer-term abnormalities being inferred as shorter-term abnormalities, however, this could happen anyway if the longer-term abnormality starts during the process specified for the shorter-term abnormality.

I think either a broader relationship (allowing existence to begin and end either side of the start and end of the process) or a narrower relationship (e.g. 'existence starts and ends during') might work better, depending on whether we want to say the phenotype is restricted to the process (starts and ends during) or not.

Clare72 avatar Jul 15 '21 13:07 Clare72

Thanks, @Clare72 ... despite leaving me more confused than before!

Looking in OLS and OntoBee, RO_0002490 seems to be a direct subclass of RO_0002487 'relation between physical entity and a process or stage', i.e. I didn't see anything broader than RO_0002490 but narrower than just any kind of connection between "stuff" and a process.

For FYPO, we thought it safer to use a narrower relation because we often don't know enough to claim 'existence starts and ends during'. But we could try it and see whether we get errors inferred ...?

I admit I'm also struggling to wrap my head around how a physical entity "starts" or "ends" ... I don't want to imply that the cells, CCs, or chemicals that we're observing just pop into or out of existence during phases or responses that we don't specify in a given phenotype term. So maybe RO_0002490 isn't optimal after all, but it is the closest match I've spotted for our needs so far. There's also the caveat in the comment accompanying RO_0002490 warning that "work has not yet been vetted " ... what to make of that?

mah11 avatar Jul 15 '21 13:07 mah11

Yeah, I wonder if 'existence overlaps' should be broadened to include the case where the entity starts before and finishes after the process - I think this might be what is needed here. It seems strange to stipulate that either the beginning or end of the phenotype (but not necessarily both) must be during the process.

Clare72 avatar Jul 15 '21 15:07 Clare72

I wonder if 'existence overlaps' should be broadened to include the case where the entity starts before and finishes after the process

I would certainly find that more intuitive -- not only is it what we can always safely say with our GO and phenotype stuff, it's much closer to the vernacular meaning of "overlap".

mah11 avatar Jul 15 '21 15:07 mah11

Thinking about it, there are a few ways we might want to represent these phenotypes:

  1. phenotype is present for at least part of the process (starts during or before and ends during or after)
  2. phenotype occurs only during the process (starts at start or during and ends at end or during)
  3. phenotype is present for the exact duration of the process (starts at start and finishes at end)
  4. phenotype is present for at least the duration of the process (starts at start or before and finishes at end or after)

1 is the most flexible and it sounds like this is what we want.

In the case of 1 and 2, a phenotype of a subprocess would also be a phenotype of the main process In the case of 4, a phenotype of a main process would also be a phenotype of a subprocess

Clare72 avatar Jul 15 '21 15:07 Clare72

We will wait until @dosumis has had the time to think this through.

matentzn avatar Jul 20 '21 12:07 matentzn

Sorry - will try to get to this later today.

dosumis avatar Jul 20 '21 13:07 dosumis