Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement querying OLS to update term status #31

Closed
tskir opened this issue Jun 6, 2020 · 4 comments · Fixed by #77
Closed

Implement querying OLS to update term status #31

tskir opened this issue Jun 6, 2020 · 4 comments · Fixed by #77
Labels
Priority: High Should be prioritised over other issues Scope: Backend Backend logic & data processing scripts
Milestone

Comments

@tskir
Copy link
Member

tskir commented Jun 6, 2020

Example of an OLS query through JSON API: https://www.ebi.ac.uk/ols/api/ontologies/efo/terms?iri=http://www.ebi.ac.uk/efo/EFO_0000612

This ticket only inlcudes developing the capability to do the query and update the data. Running it automatically or manually will be implemented in other tickets.

@tskir tskir added Priority: High Should be prioritised over other issues Scope: Backend Backend logic & data processing scripts labels Jun 6, 2020
@joj0s joj0s added this to To do in Project Progress Jun 7, 2020
@joj0s joj0s moved this from To do to Weekly Goals in Project Progress Jul 28, 2020
@joj0s joj0s moved this from Weekly Goals to To do in Project Progress Jul 28, 2020
@joj0s joj0s moved this from To do to Weekly Goals in Project Progress Jul 28, 2020
@joj0s
Copy link
Collaborator

joj0s commented Jul 28, 2020

So the way I see it, different kinds of status values require different handling of queries. In particular, OLS queries should:

  • Check whether terms with the "Awaiting Import" status are now in EFO and change them into "Current" if they are
  • Check in EFO whether "Current" terms are obsolete or deleted
  • Check in their parent ontology if "Needs Import" or "Awaiting Import" terms are obsolete or deleted

Please let me know If I missed something.

@tskir
Copy link
Member Author

tskir commented Jul 29, 2020

Yes, as far as I can see, everything you described is spot on. Actually, originally I only considered the first two cases, but the third one makes sense to include as well

@joj0s joj0s moved this from Weekly Goals to In progress in Project Progress Jul 30, 2020
@joj0s joj0s moved this from In progress to In review in Project Progress Aug 3, 2020
@joj0s
Copy link
Collaborator

joj0s commented Aug 5, 2020

In essence, I am running OLS updates only for current, awaiting_import and needs_import terms right?

Running it for terms that need or await creation is of course problematic, however how should we deal with deleted and obsolete terms, especially those that have been previously mapped to a trait? (The rest will be deleted automatically if they are not picked up in the next ZOOMA query)

Do we keep them in the db for reference, or do we delete them?

@tskir
Copy link
Member Author

tskir commented Aug 6, 2020

In essence, I am running OLS updates only for current, awaiting_import and needs_import terms right?

Yes, this looks correct to me.

Running it for terms that need or await creation is of course problematic

Correct. Since they don't yet have an ID, we can't run OLS for them.

how should we deal with deleted and obsolete terms, especially those that have been previously mapped to a trait? (The rest will be deleted automatically if they are not picked up in the next ZOOMA query)

Do we keep them in the db for reference, or do we delete them?

I would say, for provenance/history purposes, let's keep them (so that they can be displayed in the history section)

@tskir tskir added this to the 1.0 milestone Aug 27, 2020
@tskir tskir closed this as completed in #77 Aug 27, 2020
Project Progress automation moved this from In review to Done Aug 27, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Priority: High Should be prioritised over other issues Scope: Backend Backend logic & data processing scripts
Projects
Development

Successfully merging a pull request may close this issue.

2 participants