geneontology / noctua-form

2 stars 0 forks source link

Add 'existence overlaps' and 'existence starts and ends during' as valid CC extension relations in the form #152

Closed vanaukenk closed 1 year ago

vanaukenk commented 2 years ago

We've updated the annotation extension relations that can be used to describe when a CC exists. We now use 'existence overlaps' and 'existence starts and ends during'. Curators would like to be able to add these extensions in the form (they are already available in the graph editor).

Here are the entries in gorel with the domain and range constraints:

id: existence_overlaps name: existence overlaps def: "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. Formally: x existence starts and ends during y iff (α(x) >= α(y) & α(x) <= ω(y)) OR (ω(x) <= ω(y) & ω(x) >= α(y))" [] comment: The relations here were created based on work originally by Fabian Neuhaus and David Osumi-Sutherland. The work has not yet been vetted and errors in definitions may have occurred during transcription. subset: AE_biological_process subset: AE_developmental_stages subset: display_for_curators subset: valid_for_annotation_extension xref: RO:0002490 property_value: IAO:0000117 "Chris Mungall" xsd:string property_value: local_domain BFO:0000004 xsd:string property_value: local_range "GO:0008150 WBls:0000075 ZFS:0100000" xsd:string property_value: usage "Identifies a process or life stage during which a cellular component is present" xsd:string is_a: go_annotation_extension_relation ! go annotation extension relation is_a: relation_between_physical_entity_and_a_process_or_stage ! relation between physical entity and a process or stage

[Typedef] id: existence_starts_and_ends_during name: existence starts and ends during def: "x exists during y if and only if: 1) the time point at which x begins to exist is after or equal to the time point at which y begins and 2) the time point at which x ceases to exist is before or equal to the point at which y ends. Formally: x existence starts and ends during y iff α(x) >= α(y) & α(x) <= ω(y) & ω(x) <= ω(y) & ω(x) >= α(y)" [] comment: The relations here were created based on work originally by Fabian Neuhaus and David Osumi-Sutherland. The work has not yet been vetted and errors in definitions may have occurred during transcription. subset: AE_biological_process subset: AE_developmental_stages subset: display_for_curators subset: valid_for_annotation_extension synonym: "exists during" EXACT [] xref: RO:0002491 property_value: IAO:0000117 "Chris Mungall" xsd:string property_value: local_domain BFO:0000004 xsd:string property_value: local_range "GO:0008150 WBls:0000075 ZFS:0100000" xsd:string property_value: usage "Identifies a process or life stage during which a cellular component is present" xsd:string is_a: existence_ends_during ! existence ends during is_a: existence_starts_during ! existence starts during is_a: go_annotation_extension_relation ! go annotation extension relation

tmushayahama commented 2 years ago

@vanaukenk what is the cardinality of these. Also these are extending CC node correct? Or extending MF node?

vanaukenk commented 2 years ago

@tmushayahama

These annotation extensions only extend CC nodes. Their parent relation in RO is: 'relation between physical entity and a process or stage'.

In theory, a curator could add more than one existence extension to a CC, e.g. a GO BP phase and an animal lifestage phase. In practice, I don't know how often that will happen, though.

I'll update the ShEx for these extensions, since they aren't there yet.

Let me know if you need more info or want to chat.

tmushayahama commented 2 years ago

Thanks @vanaukenk also, what will be the label of each of the object of (WBls:0000075 ZFS:0100000) i.e. CC existence_overlaps (BP, ?, ?) and CC existence_starts_and_ends_during (BP, ?, ?). As in what should be on the extension menu

image

vanaukenk commented 2 years ago

@tmushayahama Is this just for display? If so, we could just , for example, say: 'Add existence overlaps (BP, Phase, or Stage)'

vanaukenk commented 2 years ago

@tmushayahama Just confirming that these extensions can be used with all CC terms, including protein-containing complex and its children.

vanaukenk commented 2 years ago

This appears to be working fine in the Noctua form for the WB and ZFIN developmental stage terms, but I'm not sure it's working in the form for mouse or Xenopus developmental stage terms.

I can see the mouse and Xenopus terms in the graph editor. @tmushayahama

@ukemi - can you double-check for mouse when you have a minute? Thanks.

ukemi commented 2 years ago

It looks like the Theiler stages are not working. @balhoff if you have a minute at some point, we can look together or just try to use one, TS12.

balhoff commented 2 years ago

TS12 is now under 'life cycle stage' in go-lego. @tmushayahama are there some other constraints that might stop it from appearing? I also can't find 'adult frog stage' in the form editor, which is also in the right place in go-lego.

vanaukenk commented 2 years ago

That's right - we are missing mouse and frog life stages in the form, but we do have worm and fish.

vanaukenk commented 2 years ago

For Theiler stages, the top level 'Theiler stage' id is: TS:0 and for XAO, the top level developmental stage is: XAO:1000000

vanaukenk commented 2 years ago

Note that all of the top-level developmental stage terms from worm, fish, mouse, and frogs are typed as:

UBERON:0000105

so we can use that in the form for any developmental stage.

vanaukenk commented 2 years ago

2021-11-05 - noctua-dev will be updated with the fix to look for all children of UBERON:0000105. @ukemi - we tested on @tmushayahama local instance, but feel free to double-check on noctua-dev before we put onto production noctua.

ukemi commented 2 years ago

If I try to create a new CC annotation in the form, I still cannot add an existence overlaps annotation extension using a Theiler Stage. I tried Hoxa3 Mmus located_in nucleus existence_overlaps TS12 and the TS12 would not autocomplete.

In the graph if I try to add the TS12 it shows up in the add individual autocomplete, but when I click to add it, I get long error that essentially says it can't find the ID.

vanaukenk commented 2 years ago

@tmushayahama - Is there a PR for noctua-dev that addresses the missing XAO and TS stages? Thx.

vanaukenk commented 2 years ago

This looks to be working okay for WBls, UBERON, and XAO (leaving Theiler stage ids out of testing for the time being).

However, we seem to have lost ZFS terms. I don't see them in either dev or production noctua or noctua-amigo.

vanaukenk commented 2 years ago

ZFS terms have been added to GO-LEGO. Will need to test this on production after the 2022-02-10 Noctua maintenance outage.

vanaukenk commented 2 years ago

ZFS life stage terms are available on the Noctua form autocomplete for 'existence overlaps' and 'existence starts and ends during' for CC terms.

However, the resulting extensions don't show up on the Noctua table and the extensions show on the graph with no label, just an id.

Here is the test model: http://noctua-dev.berkeleybop.org/editor/graph/gomodel:6202e3b700000254

For now, I'll move this ticket back to testing-dev.

See also: https://github.com/geneontology/noctua/issues/749

We may just move any remaining work to that ticket.

vanaukenk commented 2 years ago

@tmushayahama I can add extensions for the 'existence' relations and they show up fine on the graph now (i.e. the term labels are showing), but they still don't show on the Noctua form table on production beta. They do appear in the table on noctua-dev, though, so I'm not sure why they aren't showing on production.

See rab-5 in this model: http://noctua.geneontology.org/workbench/noctua-form-beta/?model_id=gomodel%3A62183af000000728

vanaukenk commented 1 year ago

Checked on prod and okay.