EBISPOT / OLS

Ontology Lookup Service from SPOT at EBI
http://www.ebi.ac.uk/ols
Apache License 2.0
95 stars 40 forks source link

ORDO ontology in OLS differs between EFO and ORDO trees #554

Closed fauman closed 2 years ago

fauman commented 2 years ago

The term "Orphanet_247511" has different parents in the EFO and ORDO trees. Only the entity in the EFO tree is correct.

Compare: https://www.ebi.ac.uk/ols/ontologies/efo/terms?iri=http%3A%2F%2Fwww.orpha.net%2FORDO%2FOrphanet_247511

to: https://www.ebi.ac.uk/ols/ontologies/ordo/terms?iri=http%3A%2F%2Fwww.orpha.net%2FORDO%2FOrphanet_247511

And from the original source: https://www.orpha.net/consor/cgi-bin/Disease_Classif.php?lng=EN&data_id=156&PatId=19522&search=Disease_Classif_Simple&new=1

henrietteharmse commented 2 years ago

Yes, as far as I know this is to be expected seeing as EFO imports terms from various other ontologies besides ORDO. But, I am not an expert in this. @zoependlington can you give some input in this regard?

zoependlington commented 2 years ago

EFO's import of Orphanet is historical and static (meaning it has not been updated since being imported into EFO many years ago). We are currently working to gradually replace old Orphanet terms, as many have been obsoleted in the source, with Mondo terms. The first step to this was during our transition to EFO version 3 a few years ago where we mapped all EFO and Orphanet terms in EFO to Mondo terms, created a dynamic import of Mondo in EFO and merged the mapped terms. Therefore, some of the hierarchy changed are inherited from Mondo as we map Orphanet_247511 to MONDO_0016599. Eventually this Orphanet term will be replaced by the Mondo term entirely with x-ref to the Orphanet term. I hope this makes things clearer!

jamesamcl commented 2 years ago

Thanks Zoe! Since this is not an OLS issue I will close it.

fauman commented 2 years ago

But the EFO tree is correct and the ORDO tree is incorrect. Looks like if I want the correct relationships I have to rely on orpha.net and not OLS, which is a shame

matentzn commented 2 years ago

Not sure wether this applies here @fauman but ORDO changed massively a few weeks ago.. the hierarchies appear much more flat as well. We didn't have time to look into this yet, but you should take a look at Ordo 4.0 on orphanet data and see wether this is what you would expect. OLS just reflects the hierarchy as it is supplied by ORDO afaik

fauman commented 2 years ago

The node I list above is "Autosomal dominant secondary polycythemia" This should be a child node of "Congenital secondary polycythemia", which is a child of "Secondary polycythemia" which is a child of "Genetic polycythemia" which is a child of "Rare genetic hematologic disease", which is a child of "Rare genetic disease". This is correctly represented in the EFO tree and on the orpha.net website.

But in the OLS version of the ORDO tree, "Autosomal dominant secondary polycythemia" has only one parent, "Disease", ignoring all the nodes listed above.

"Congenital secondary polycythemia" exists as a node in the OLS version of the ORDO tree. Somehow or somewhere in your ingestion process, the connection from "Autosomal dominant secondary polycythemia" was lost and replaced with some default link to "Disease"

zoependlington commented 2 years ago

@fauman I have downloaded and checked the latest version of ORDO from here: http://www.orphadata.org/cgi-bin/index.php#ontologies

In this you can see the file opened in Protege and that "Autosomal dominant secondary polycythemia" is only a child of disease and disorder and not the expected parentage. image

As OLS uses this file to create the browsable hierarchy, this is why you are seeing this on OLS. Meanwhile, in EFO this is combined with the Mondo term (https://www.ebi.ac.uk/ols/ontologies/mondo/terms?iri=http%3A%2F%2Fpurl.obolibrary.org%2Fobo%2FMONDO_0016599) which is the reason you are seeing the expected hierarchy as you can see the parentage you're expecting there. This seems to be an issue on the Orphanet side of things. Not sure why their browser doesn't seem to inherit the problem, but this is definitely an ORDO issue and not an OLS one. Hope this clears things up!

fauman commented 2 years ago

thank you - this is very helpful @zoependlington! Let me see if I can find folks over at orphanet that are as engaged as you all are!

zoependlington commented 2 years ago

No problem! Glad we could solve it (to some degree)! Hopefully you will be able to get some answers here: https://github.com/Orphanet/ORDO/issues

@henrietteharmse @udp I believe this can be closed again - definitely not an OLS issue! 😄

henrietteharmse commented 2 years ago

@fauman I have checked it in Protege as @zoependlington did. Protege does make use of the structural reasoner (or so I think) to render its display. To be 99.9999...% sure I checked the actual .owl file and here is the relevant bits:

<owl:Class rdf:about="http://www.orpha.net/ORDO/Orphanet_247511">
        <rdfs:subClassOf rdf:resource="http://www.orpha.net/ORDO/Orphanet_377788"/>
        <rdfs:subClassOf rdf:resource="http://www.orpha.net/ORDO/Orphanet_557493"/>
...

</owl:Class>

<owl:Class rdf:about="http://www.orpha.net/ORDO/Orphanet_377788">
        <rdfs:subClassOf rdf:resource="http://www.orpha.net/ORDO/Orphanet_557493"/>
...
</owl:Class>

Based on this, how it is rendered in OLS is correct.

I am closing this now, but feel free to let us know if you find information contradicting this.