geneontology / minerva

BSD 3-Clause "New" or "Revised" License
6 stars 8 forks source link

Global date change when using the graph editor (x-hint-layout, etc.) #533

Open ukemi opened 1 year ago

ukemi commented 1 year ago

@LiNiMGI pointed out on the workbenches call that when she is required to move to the graph editor from the form. If she changes a single item in the graph and moves back to the form, all of the dates displayed on the form change.

@balhoff , this might actually be a minerva issue. Please move this ticket as appropriate.

I have set up test models to illustrate this:

  1. model 1 was created on July 13, not modified and is here: http://noctua.geneontology.org/workbench/noctua-form/?model_id=gomodel%3A6494e2e900001675. Note that all of the dates on the model show the July 13 date.
  2. model 2 was created on July 13 and before modification, looked exactly the same as model (with the exception of the individual identifiers) 1: http://noctua.geneontology.org/workbench/noctua-form/?model_id=gomodel%3A6494e2e900001751
  3. On July 14, I used the graph editor to change the 'transcription factor binding' annotation with this evidence code metadata: sequence alignment evidence used in manual assertion contributor: https://orcid.org/0000-0001-7476-6306 date: 2023-07-13 providedBy: (http://informatics.jax.org/) source: Biological clock in total darkness: the Clock/MOP3 circadian system of the blind subterranean mole rat with: EMBL:AJ318060
  4. To change the individual, I added a new GO term '[GO:0003712] transcription coregulator activity', and then deleted the old '[GO:0008134] transcription factor binding' term. Then I saved the model.
  5. Now, when I reload the form editor, every annotation has the new date of July 14th.
  6. Here is a snippet of the owl from before and after: Before:

    http://model.geneontology.org/6494e2e900001751/6494e2e900001761

    http://model.geneontology.org/6494e2e900001751/6494e2e900001761 rdf:type owl:NamedIndividual , http://identifiers.org/mgi/MGI:1096381 ; http://purl.obolibrary.org/obo/RO_0001025 http://model.geneontology.org/6494e2e900001751/6494e2e900001816 ; http://purl.org/dc/elements/1.1/contributor "https://orcid.org/0000-0001-7476-6306" ; http://purl.org/dc/elements/1.1/date "2023-07-13"^^xsd:string ; http://purl.org/pav/providedBy "http://informatics.jax.org" .

http://model.geneontology.org/6494e2e900001751/6494e2e900001762

http://model.geneontology.org/6494e2e900001751/6494e2e900001762 rdf:type owl:NamedIndividual , http://purl.obolibrary.org/obo/GO_0006606 ; http://purl.org/dc/elements/1.1/contributor "https://orcid.org/0000-0001-7476-6306" ; http://purl.org/dc/elements/1.1/date "2023-07-13"^^xsd:string ; http://purl.org/pav/providedBy "http://informatics.jax.org" .

http://model.geneontology.org/6494e2e900001751/6494e2e900001814

http://model.geneontology.org/6494e2e900001751/6494e2e900001814 rdf:type owl:NamedIndividual , http://purl.obolibrary.org/obo/GO_0008134 ; http://purl.obolibrary.org/obo/RO_0002333 http://model.geneontology.org/6494e2e900001751/6494e2e900001821 ; http://purl.org/dc/elements/1.1/contributor "https://orcid.org/0000-0001-7476-6306" ; http://purl.org/dc/elements/1.1/date "2023-07-13"^^xsd:string ; http://purl.org/pav/providedBy "http://informatics.jax.org" .

After: There are 24 places where the date has been changed to July 14th, for example:

http://model.geneontology.org/6494e2e900001751/6494e2e900001761

http://model.geneontology.org/6494e2e900001751/6494e2e900001761 rdf:type owl:NamedIndividual , http://identifiers.org/mgi/MGI:1096381 ; http://purl.obolibrary.org/obo/RO_0001025 http://model.geneontology.org/6494e2e900001751/6494e2e900001816 ; http://geneontology.org/lego/hint/layout/x "1453.125"^^xsd:string ; http://geneontology.org/lego/hint/layout/y "381.25"^^xsd:string ; http://purl.org/dc/elements/1.1/contributor "https://orcid.org/0000-0001-7476-6306" ; http://purl.org/dc/elements/1.1/date "2023-07-14"^^xsd:string ; http://purl.org/pav/providedBy "http://informatics.jax.org" .

http://model.geneontology.org/6494e2e900001751/6494e2e900001762

http://model.geneontology.org/6494e2e900001751/6494e2e900001762 rdf:type owl:NamedIndividual , http://purl.obolibrary.org/obo/GO_0006606 ; http://geneontology.org/lego/hint/layout/x "5193.75"^^xsd:string ; http://geneontology.org/lego/hint/layout/y "75"^^xsd:string ; http://purl.org/dc/elements/1.1/contributor "https://orcid.org/0000-0001-7476-6306" ; http://purl.org/dc/elements/1.1/date "2023-07-14"^^xsd:string ; http://purl.org/pav/providedBy "http://informatics.jax.org" .

http://model.geneontology.org/6494e2e900001751/6494e2e900001814

http://model.geneontology.org/6494e2e900001751/6494e2e900001814 rdf:type owl:NamedIndividual , http://purl.obolibrary.org/obo/GO_0003712 ; http://purl.obolibrary.org/obo/RO_0002333 http://model.geneontology.org/6494e2e900001751/6494e2e900001821 ; http://geneontology.org/lego/hint/layout/x "78.75"^^xsd:string ; http://geneontology.org/lego/hint/layout/y "296"^^xsd:string ; http://purl.org/dc/elements/1.1/contributor "https://orcid.org/0000-0001-7476-6306" ; http://purl.org/dc/elements/1.1/date "2023-07-14"^^xsd:string ; http://purl.org/pav/providedBy "http://informatics.jax.org" .

ukemi commented 1 year ago

I should also point out that this doesn't always happen. Yesterday when we were looking at a more 'conventional' GO-CAM model and performed a similar task, not all the dates displayed in the form changed. I'm not sure how to repeat that behavior.

kltm commented 1 year ago

As a simple quick cross-check, it might be worth checking the behavior in the graph editor, as that it closest the underlying communication with minerva.

ukemi commented 1 year ago

@kltm, this behavior was seen when we were using the graph editor. In some cases when things aren't available for editing in the form (CC annotations), curators are forced to use the graph. Trying to be clearer. The edits are done in the graph editor, but the issue is seen when the form editor is reloaded.

kltm commented 1 year ago

Hm. Very odd that it can't be done systematically. It does suggest the issue is with minerva however, as there is likely little code overlap with the different front ends that could this.

balhoff commented 1 year ago

If you look at the GPAD export, the dates are still 2023-07-13: http://noctua.geneontology.org/download/gomodel:6494e2e900001751/gpad

This CC annotation is in the GPAD:

MGI MGI:1096381 located_in  GO:0016604  PMID:18644859   ECO:0000314         20230713    MGI     contributor=https://orcid.org/0000-0001-7476-6306|noctua-model-id=gomodel:6494e2e900001751|model-state=development

But the form editor shows it with a 2023-07-14 date.

balhoff commented 1 year ago

Maybe @tmushayahama could comment on how the form editor determines the date. Because unfortunately it's a separate implementation from the Minerva GPAD export.

tmushayahama commented 1 year ago

@balhoff

from my research I am finding some things on owl file are getting new dates even if not related to that edge

I am using this algorithm and taking from date annotation

Procedure for each node inside an activity get its date _ if that date is more recent than the previous individual ____then update the activity date to this individual date

for each evidence inside an activity get its date _if that date is more recent than the previous individuals and evidences ____then update the activity date to this evidence data date

kltm commented 10 months ago

@balhoff After examination, it looks like the underlying issue is that changes to the x-hint and y-hint are triggering updates to contributor, group, and date. Ideally (and we thought this was true), changes to these specific annotations should cause no changes to other metadata.

vanaukenk commented 10 months ago

Noting here a general testing strategy that we used to de-bug this issue and that we should use as a fundamental testing strategy more often:

  1. Create a test model in the graph editor (as simple a model as possible to address the issue)
  2. Save the resulting OWL
  3. Systematically alter/change one thing about the model
  4. Save and compare the resulting OWL
  5. Repeat steps 3 and 4 as needed