ols4
ols4 copied to clipboard
OLS4 does not provice baseUris for GO
Describe the bug We have a pipeline which looks at the following endpoint: https://www.ebi.ac.uk/ols4/api/ontologies/GO
Comparing this to the OLS3 version (https://www.ebi.ac.uk/ols/api/ontologies/GO), the baseUris entry under the config is now empty, causing our pipeline to crash.
To Reproduce
- run
curl https://www.ebi.ac.uk/ols/api/ontologies/GO - run
curl https://www.ebi.ac.uk/ols4/api/ontologies/GO - compare the entries in
['config']['baseUris']
Expected behavior I expected the baseUris to be in the same place, but they don't appear to be anywhere in the returned JSON from OLS4
A quick check with some other ontologies (SO, UBERON, EFO) shows this is not across the board - SO and UBERON show the same problem as GO, but EFO has baseUris in the place I expected
There is no clear definition of what a baseUri is to be able to deterministically derive it. This is best implemented as a configuration, ideally in OBO. @udp is following up have this included in the OBO config.
@henrietteharmse this seems to be a breaking change. I am unable to get baseUris for duo, ncit and few more.
I have been using double encoded baseUri + code to fetch ancestors and descendents of terms in one of my tools.
Is this something that is being fixed, or do you suggest another approach? @afg1 how did you patch this at your end?
Thanks :)
@udp may I ask if you plan to fix this for other ontologies too (ncit, obo, obi, genepio, etc)? I could not find a way around because I need to use the double encoded IRI.
Thanks
@anuradhawick Sorry for the slow reply!
I just hardcoded what we needed to get a release out, it was a bit of a hack:
manual_lookup = {
"ECO": "http://purl.obolibrary.org/obo/ECO_",
"GO": "http://purl.obolibrary.org/obo/GO_",
"SO": "http://purl.obolibrary.org/obo/SO_",
}
Probably doesn't help you, sorry. This got us through the release process, but is on our to-do list to remove when the baseUris are available via OLS4.