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

[Proposal] Merge back possible routes to master biolink-api #6

Open
lpalbou opened this issue Jan 17, 2020 · 1 comment
Open

[Proposal] Merge back possible routes to master biolink-api #6

lpalbou opened this issue Jan 17, 2020 · 1 comment

Comments

@lpalbou
Copy link

lpalbou commented Jan 17, 2020

Routes of the GO API are here: http://api.geneontology.org/api/

Proposal:
The two main routes to be merge back to master biolink-api:

  • /ontology/ribbon : fetch a ribbon summary (see ribbon data model) . This query requires the handling of several parameters currently not accepted by the GOLrAssociationQuery (eg exclude IBA, PB, cross aspect mapping)
  • /ontology/subset : return an ordered and hierarchical list of groups and subgroups (for GO: aspect + list of terms) . The hierarchy and order are important as they are driving the ribbon display. This query is used by /ontology/ribbon to fill the "category" field. A former implementation was previously integrated in the master biolink-api (https://api.monarchinitiative.org/api). To work properly, this would require the addition of an Annotation Property to ontology terms to specify its order/rank within a subset. For the moment, the order is hard coded within the API.

Also have to update the other non critical routes of /ontology/ in the master biolink-api that were merged a year ago.

If implementation allows, /ontol/subgraph/{ontology}/{node} and /ontology/subgraph/{ontology}/{node} should be merged together and the old /ontol/ route should be marked as deprecated (but kept for backward compatibility for a time).

Decide also of the fate of /ontology/term/{id} : simplified version and payload of /bioentity/{id}

Also /bioentityset/slimmer/function is only (and still) used by the ribbon to fill the association table. Do we want to relocate this route in /ontology/ribbon ? Alternatively, we could also move the ribbon route in /bioentityset/ as it essentially handle a list of genes. In any case, the /slimmer/function query should accept the same parameters as /ontology/ribbon (eg include evidence code, exclude IBA, PB, cross mapping). In addition, the slimmer route should also handle a "inverse" mapping parameter to ease the creation of the "other category" in ribbons. This would be done by providing the full list of terms to map to and stating inverse = true; then any annotated terms not mapped to the provided terms/slim will be mapped to a "other" category. This is manually created by two separate queries in the /ontology/ribbon route (https://github.com/geneontology/biolink-api/blob/master/biolink/api/ontol/endpoints/ontology_endpoint.py#L469)

In addition, a number of GO related queries do not use the GOLrAssociationQuery and we may want to redesign those we can to follow that model.

@deepakunni3
Copy link

Additional notes:
ribbon/slimmer/function - this might be useful for monarch too when we implement the GO ribbon for display.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants