biopragmatics / bioregistry

📮 An integrative registry of biological databases, ontologies, and nomenclatures.
https://bioregistry.io
MIT License
114 stars 49 forks source link

Resolver for uniprot.isoform #856

Open bgyori opened 1 year ago

bgyori commented 1 year ago

Currently UniProt isoforms resolve to a fairly technical SPARQL endpoint. Example: uniprot.isoform:Q9H4X1-2 resolves to https://sparql.uniprot.org/sparql/?query=DESCRIBE%20%3chttp://purl.uniprot.org/isoforms/Q9H4X1-2%3e.

A more user-friendly and I think useful resolver would be to resolve it to https://www.uniprot.org/uniprotkb/Q9H4X1/entry#Q9H4X1-2 but even simpler to get to the same page is the https://www.uniprot.org/uniprotkb/Q9H4X1-2 pattern. Looks like this is what identifiers.org uses as well.

cthoyt commented 1 year ago

Right now, the Bioregistry is set up so there can't be two prefixes that share the same URI format pattern - if we set https://www.uniprot.org/uniprotkb/Q9H4X1-2 for uniprot.isoform then it would conflict with the standard protein namespace.

I see that this restriction isn't necessarily practical for resolving URLs, i'll need to think about this a bit more

cmungall commented 1 year ago

FWIW both GO and UniProt use the UniProtKB prefix for isoforms and main entries

JervenBolleman commented 3 months ago

I am sure that we can also improve this redirect for the HTML view on our side, was not aware there was demand for it.

JervenBolleman commented 3 months ago

The redirect for 'http://purl.uniprot.org/isoform/${isoformAcc}' now redirects to the website if an html accept header is set.