Open dhimmel opened 3 years ago
@dhimmel looking at the 3.11.0 release, the 1st release that contains those files there is some info:
For Open Targets, we have also generated an Open Targets profile (which contains all of EFO with the new Open Targets therapeutic areas) and slim file (which contains just Open Targets therapeutic areas). Both are also attached to this release.
I compared efo.owl
and efo_otar_profile.owl
from v3.25.0 and found that EFO-OTAR adds 10 nodes and removes 57 nodes from EFO.
Here are the nodes EFO-OTAR adds (in purple outline) and their ancestors:
identifier | name | depth | n_ancestors | n_descendants | ic_resnik | ic_sanchez | uri |
---|---|---|---|---|---|---|---|
MONDO:0018797 | None | 5 | 6 | 1 | 0.98 | 1.00 | http://purl.obolibrary.org/obo/MONDO_0018797 |
OTAR:0000010 | respiratory or thoracic disease | 4 | 5 | 1147 | 0.50 | 0.31 | http://www.ebi.ac.uk/efo/OTAR_0000010 |
OTAR:0000019 | familial disease | 5 | 6 | 1 | 0.98 | 1.00 | http://www.ebi.ac.uk/efo/OTAR_0000019 |
OTAR:0000008 | other | 4 | 5 | 1 | 0.98 | 1.00 | http://www.ebi.ac.uk/efo/OTAR_0000008 |
OTAR:0000018 | genetic, familial or congenital disease | 4 | 5 | 7927 | 0.29 | 0.12 | http://www.ebi.ac.uk/efo/OTAR_0000018 |
OTAR:0000003 | cyst | 5 | 6 | 1 | 0.98 | 1.00 | http://www.ebi.ac.uk/efo/OTAR_0000003 |
OTAR:0000014 | pregnancy or perinatal disease | 4 | 5 | 120 | 0.71 | 0.53 | http://www.ebi.ac.uk/efo/OTAR_0000014 |
OTAR:0000009 | injury, poisoning or other complication | 4 | 5 | 117 | 0.71 | 0.53 | http://www.ebi.ac.uk/efo/OTAR_0000009 |
OTAR:0000017 | reproductive system or breast disease | 4 | 5 | 859 | 0.53 | 0.34 | http://www.ebi.ac.uk/efo/OTAR_0000017 |
OTAR:0000006 | musculoskeletal or connective tissue disease | 4 | 5 | 3002 | 0.39 | 0.21 | http://www.ebi.ac.uk/efo/OTAR_0000006 |
One question I have is what is the purpose of adding "familial disease", "other", "cyst", since these are all leaf nodes? Are they actually a helpful way for OpenTargets to categorize disease? CC @d0choa. MONDO:0018797
also has no descendants, but appears to be a relic, soon to be removed, as per https://github.com/EBISPOT/efo/issues/938.
Here are the nodes EFO-OTAR removes (in purple outline) and their ancestors:
Code to produce these figures and tables is not yet available, but is based on nxontology. I hope to make the nxontology importer for EFO available soon.
Thanks @dhimmel for the analysis. It's really useful. @zoependlington can provide more details.
From the Open Targets perspective, the background story behind the slim was that we wanted to align EFO to a more clinical interpretation. EFO has a lot of high-level organisational nodes that attend to anatomical characteristics (many of them can be seen on your analysis). However, they have little or no clinical value (e.g. disease by anatomical system). Instead, the top-nodes of the slim resemble other clinical classifications like Meddra.
In the process of reorganising the terms, a few terms have to be removed, relocated or split. You can find the logic behind most of the changes in the respective tickets. For the ones that you raised I found the next:
Cyst
term was never populated with the many cyst-related diseases contained in EFO.@paolaroncaglia and @zoependlington can comment on these two.
Regarding Other
, it's a placeholder for newly introduced terms in EFO that have no parentage relationship in the slim. We aimed to have it empty, as all diseases should be children of other root level terms (therapeutic areas). You can consider it an artefact of the process and we should eventually remove it.
Quoting @zoependlington from https://github.com/EBISPOT/efo/issues/927#issuecomment-760762229 regarding forced relationships in EFO-OTAR:
The forced relationships are defined in the subclasses templates file found in the temporary/working home of OTAR_profiler here: https://github.com/EBISPOT/otar_profiler
Just a note that the "final" version for use by Open Targets is the slim file, which only contains the therapeutic areas that are useful for annotating their data. The profile is our master EFO with a few extra terms, which will eventually be added to the master EFO file once we have completed the ongoing work with our profile and slim files to be compatible with the Open Targets pipelines and their needs.
Great to know about EBISPOT/otar_profiler
. I see that otar_ta.sh
is the script that creates efo_otar_profile.owl
and efo_otar_slim.owl
. allTAs.txt
contains a list of therapeutic areas and newterms.tsv
contains nodes added by EFO-OTAR.
Based on otar_ta.sh
, it looks like efo_otar_slim.owl
is derived from efo_otar_profile.owl
by filtering to therapeutic areas and their descendants (via robot MIREOT --branch-from-terms
. So this is is useful for OpenTargets which wants a hierarchy of diseases only without other parts of the ontology?
Regarding "the profile is our master EFO with a few extra terms, which will eventually be added to the master EFO file", does that mean the eventual plan is to take all the modifications in efo_otar_profile.owl
and move them upstream to efo.owl
? If so, does that mean efo_otar_profile.owl
might eventually go away, because it would be the same as efo.owl
? And does this also mean EFO intends to remove the "organisational nodes that attend to anatomical characteristics" in favor of EFO-OTAR's "clinical interpretation"?
Getting back to the original documentation request, it would be nice to have guidance in the README regarding when to use efo-base.owl, efo.owl, efo_otar_profile.owl, versus efo_otar_slim.owl. My current understanding is:
efo-base.owl
: use if you only want terms from the EFO namespace (subClassOf relationships might be incomplete?)efo.owl
: use if you want the primary EFO release with terms from the EFO namespace and those imported from other ontologiesefo_otar_profile.owl
: use if you want the complete ontology, with modifications introduced by OpenTargets, which might eventually be adopted in efo.owl
.efo_otar_slim.owl
: use if you want an ontology of diseases rooted to therapeutic areas, as defined and used by OpenTargetsIs this understanding correct?
EFO Release v3.25.0 contains the following OWL files:
efo-base.owl
60.8 MBefo.owl
175 MBefo_otar_profile.owl
147 MBefo_otar_slim.owl
130 MBI am curious as to how these files differ and haven't been able to find much information.
From an OpenTargets blog post:
From
opentargets/OnToma
:Is there any other documentation I'm missing?