Remove Ontobio from the Build System
As discussed with Steve in 6/27/24 meeting, we would like to remove our dependency on ontobio in the build system. Per #379, we need to upgrade our Python version, but are having troubles doing this because of dependencies. This is the perfect opportunity to remove ontobio from the build system, thus removing many dependencies as well. It would also potentially help issues such as #367 (though this will require work of its own to do the current categorizing system for those nodes).
These are the different sections in the owl files we currently use:
{
"bfo.owl": [
"Annotation properties",
"Classes"
],
"bspo.owl": [
"Annotation properties",
"Object Properties",
"Classes",
"Individuals",
"General axioms",
"Rules"
],
"chebi.owl": [
"Annotation properties",
"Object Properties",
"Classes"
],
"cl.owl": [
"Annotation properties",
"Object Properties",
"Classes",
"Individuals",
"General axioms"
],
"ddanat.owl": [
"Annotation properties",
"Object Properties",
"Classes"
],
"doid.owl": [
"Annotation properties",
"Object Properties",
"Classes",
"Annotations",
"General axioms"
],
"efo.owl": [
"Annotation properties",
"Datatypes",
"Object Properties",
"Data properties",
"Classes",
"Annotations",
"General axioms"
],
"ehdaa2.owl": [
"Annotation properties",
"Object Properties",
"Classes"
],
"fma.owl": [
"Annotation properties",
"Object Properties",
"Classes"
],
"foodon.owl": [
"Annotation properties",
"Datatypes",
"Object Properties",
"Data properties",
"Classes",
"Individuals",
"Annotations",
"General axioms"
],
"genepio.owl": [
"Annotation properties",
"Datatypes",
"Object Properties",
"Data properties",
"Classes",
"Individuals",
"Annotations",
"General axioms"
],
"go-plus.owl": [
"Annotation properties",
"Object Properties",
"Classes",
"Individuals",
"Annotations",
"General axioms",
"Rules"
],
"hp.owl": [
"Annotation properties",
"Object Properties",
"Classes",
"General axioms",
"Rules"
],
"ino.owl": [
"Annotation properties",
"Object Properties",
"Data properties",
"Classes"
],
"mi.owl": [
"Annotation properties",
"Classes"
],
"mondo.owl": [
"Annotation properties",
"Object Properties",
"Classes",
"Individuals",
"General axioms"
],
"nbo.owl": [
"Annotation properties",
"Object Properties",
"Data properties",
"Classes",
"General axioms",
"Rules"
],
"ordo.owl": [
"Annotation properties",
"Object Properties",
"Data properties",
"Classes",
"Annotations"
],
"pato.owl": [
"Annotation properties",
"Object Properties",
"Classes",
"General axioms",
"Rules"
],
"pr.owl": [
"Annotation properties",
"Object Properties",
"Classes"
],
"ro.owl": [
"Annotation properties",
"Object Properties",
"Data properties",
"Classes",
"Individuals",
"Annotations",
"General axioms",
"Rules"
],
"taxslim.owl": [
"Annotation properties",
"Classes"
],
"uberon-ext.owl": [
"Annotation properties",
"Object Properties",
"Classes",
"Individuals",
"General axioms",
"Rules"
]
}
Here is that map pivoted to show which sources include each section:
{
"Annotation properties": [
"bfo.owl",
"bspo.owl",
"chebi.owl",
"cl.owl",
"ddanat.owl",
"doid.owl",
"efo.owl",
"ehdaa2.owl",
"fma.owl",
"foodon.owl",
"genepio.owl",
"go-plus.owl",
"hp.owl",
"ino.owl",
"mi.owl",
"mondo.owl",
"nbo.owl",
"ordo.owl",
"pato.owl",
"pr.owl",
"ro.owl",
"taxslim.owl",
"uberon-ext.owl"
],
"Classes": [
"bfo.owl",
"bspo.owl",
"chebi.owl",
"cl.owl",
"ddanat.owl",
"doid.owl",
"efo.owl",
"ehdaa2.owl",
"fma.owl",
"foodon.owl",
"genepio.owl",
"go-plus.owl",
"hp.owl",
"ino.owl",
"mi.owl",
"mondo.owl",
"nbo.owl",
"ordo.owl",
"pato.owl",
"pr.owl",
"ro.owl",
"taxslim.owl",
"uberon-ext.owl"
],
"Object Properties": [
"bspo.owl",
"chebi.owl",
"cl.owl",
"ddanat.owl",
"doid.owl",
"efo.owl",
"ehdaa2.owl",
"fma.owl",
"foodon.owl",
"genepio.owl",
"go-plus.owl",
"hp.owl",
"ino.owl",
"mondo.owl",
"nbo.owl",
"ordo.owl",
"pato.owl",
"pr.owl",
"ro.owl",
"uberon-ext.owl"
],
"Individuals": [
"bspo.owl",
"cl.owl",
"foodon.owl",
"genepio.owl",
"go-plus.owl",
"mondo.owl",
"ro.owl",
"uberon-ext.owl"
],
"General axioms": [
"bspo.owl",
"cl.owl",
"doid.owl",
"efo.owl",
"foodon.owl",
"genepio.owl",
"go-plus.owl",
"hp.owl",
"mondo.owl",
"nbo.owl",
"pato.owl",
"ro.owl",
"uberon-ext.owl"
],
"Rules": [
"bspo.owl",
"go-plus.owl",
"hp.owl",
"nbo.owl",
"pato.owl",
"ro.owl",
"uberon-ext.owl"
],
"Annotations": [
"doid.owl",
"efo.owl",
"foodon.owl",
"genepio.owl",
"go-plus.owl",
"ordo.owl",
"ro.owl"
],
"Datatypes": [
"efo.owl",
"foodon.owl",
"genepio.owl"
],
"Data properties": [
"efo.owl",
"foodon.owl",
"genepio.owl",
"ino.owl",
"nbo.owl",
"ordo.owl",
"ro.owl"
]
}
These are the keys in the owl:Class terms:
| Key | Percentage of owl:Class Terms with Key |
|---|---|
| rdf:about | 0.9973332283 |
| rdfs:label | 0.9730753518 |
| rdfs:subClassOf | 0.9541165642 |
| oboInOwl:id | 0.828054753 |
| oboInOwl:hasOBONamespace | 0.7700541919 |
| obo:IAO_0000115 | 0.6048541348 |
| oboInOwl:hasExactSynonym | 0.5293103703 |
| oboInOwl:hasDbXref | 0.4787549159 |
| rdfs:comment | 0.38822545 |
| oboInOwl:inSubset | 0.2699001314 |
| oboInOwl:hasRelatedSynonym | 0.2414102684 |
| owl:equivalentClass | 0.205951754 |
| chebi:formula | 0.1877056805 |
| chebi:charge | 0.1875718005 |
| chebi:mass | 0.1867517855 |
| chebi:monoisotopicmass | 0.1866996116 |
| chebi:smiles | 0.1854070789 |
| chebi:inchi | 0.1758454867 |
| chebi:inchikey | 0.1758454867 |
| owl:deprecated | 0.0515054118 |
| oboInOwl:hasNarrowSynonym | 0.04076941629 |
| obo:IAO_0100001 | 0.03761339194 |
| oboInOwl:creation_date | 0.03494465144 |
| ncbitaxon:has_rank | 0.02839043742 |
| oboInOwl:created_by | 0.02699847908 |
| obo:IAO_0000412 | 0.02638322168 |
| obo:IAO_0000231 | 0.02491054157 |
| obo:IAO_0000114 | 0.02431989447 |
| go:hasDbXref | 0.02200455783 |
| oboInOwl:hasAlternativeId | 0.02166887339 |
| terms:conformsTo | 0.01940078851 |
| skos:exactMatch | 0.01905722878 |
| obo:IAO_0000117 | 0.01861621228 |
| obo:IAO_0000233 | 0.0185601008 |
| mondo-base:exactMatch | 0.01369415309 |
| oboInOwl:hasBroadSynonym | 0.01249120182 |
| dcterms:creator | 0.01075371492 |
| efo1:gwas_trait | 0.009597031014 |
| terms:contributor | 0.009029025383 |
| dcterms:contributor | 0.007981611187 |
| go:hasExactSynonym | 0.006950931992 |
| dc:date | 0.00632878371 |
| rdfs:seeAlso | 0.005819842789 |
| go:hasSynonym | 0.005678087485 |
| efo1:reason_for_obsolescence | 0.005497940118 |
| efo1:obsoleted_in_version | 0.00547726747 |
| dcterms:date | 0.005451672762 |
| obo:RO_0002175 | 0.004723208001 |
| oboInOwl:consider | 0.003149133471 |
| obo:IAO_0000119 | 0.003005409343 |
| go:hasNarrowSynonym | 0.002591956371 |
| obo:UBPROP_0000004 | 0.002566361663 |
| efo1:definition_citation | 0.002438388124 |
| owl:disjointWith | 0.002343884588 |
| go:hasBroadSynonym | 0.002315336644 |
| foaf:depiction | 0.002203113695 |
| obo:IAO_0000116 | 0.00214700222 |
| rdf:nodeID | 0.002123376336 |
| owl:complementOf | 0.001948151028 |
| obo:IAO_0000118 | 0.00193830691 |
| mondo-base:excluded_subClassOf | 0.001769972486 |
| obo:RO_0002161 | 0.00151008776 |
| terms:creator | 0.001491383935 |
| efo1:organizational_class | 0.001394911575 |
| mondo:excluded_subClassOf | 0.001394911575 |
| skos:closeMatch | 0.001370301279 |
| obo:UBPROP_0000001 | 0.001346675395 |
| mondo:excluded_from_qc_check | 0.001233468034 |
| mondo-base:closeMatch | 0.001184247442 |
| go:id | 0.001118291849 |
| dc:creator | 0.0009027056559 |
| obo:UBPROP_0000008 | 0.0007540594683 |
| obo:UBPROP_0000003 | 0.0007048388764 |
| owl:intersectionOf | 0.0007048388764 |
| obo:IAO_0000589 | 0.0006733376976 |
| obo:UBPROP_0000012 | 0.0006595559318 |
| vocab:crossSpeciesExactMatch | 0.0005266603336 |
| mondo:should_conform_to | 0.0005010656258 |
| terms:date | 0.0004941747429 |
| obo:UBPROP_0000007 | 0.0004823618009 |
| obo:RO_0002604 | 0.0004646423878 |
| go:hasAlternativeId | 0.0004124685603 |
| obo:IAO_0000232 | 0.000347497379 |
| go:hasRelatedSynonym | 0.0003445441435 |
| foaf:depicted_by | 0.0003317467896 |
| obo:IAO_0000112 | 0.0002657911964 |
| obo:RO_0002171 | 0.0002549626662 |
| schema:image | 0.000225430311 |
| go:hasOBONamespace | 0.0002086953098 |
| go:inSubset | 0.0001978667795 |
| obo:UBPROP_0000011 | 0.0001939291322 |
| obo:UBPROP_0000009 | 0.000152583835 |
| dc:contributor | 0.0001486461876 |
| oboInOwl:xref | 0.0001407708929 |
| obo:UBPROP_0000006 | 0.0001200982443 |
| efo1:EFO_URI | 0.0001181294206 |
| go:creation_date | 0.0001181294206 |
| obo:IAO_0000111 | 0.0001171450088 |
| obo:UBPROP_0000010 | 0.0001171450088 |
| obo:IAO_0000600 | 0.0001122229496 |
| obo:UBPROP_0000002 | 0.0001073008904 |
| obo:INO_0000006 | 9.06E-05 |
| mondo-base:relatedMatch | 8.86E-05 |
| skos:broadMatch | 8.76E-05 |
| obo:GENEPIO_0000005 | 8.56E-05 |
| go:created_by | 8.17E-05 |
| skos:relatedMatch | 7.78E-05 |
| obo:GENEPIO_0000001 | 7.58E-05 |
| obo:UBPROP_0000013 | 7.58E-05 |
| obo:GENEPIO_0000006 | 7.38E-05 |
| obo:IAO_0006012 | 7.19E-05 |
| obo:BFO_0000179 | 6.69E-05 |
| obo:BFO_0000180 | 6.69E-05 |
| rdfs:isDefinedBy | 6.69E-05 |
| obo:UBPROP_0000202 | 6.50E-05 |
| obo:IAO_0000602 | 5.81E-05 |
| obo:GENEPIO_0000004 | 5.71E-05 |
| obo:GENEPIO_0001763 | 5.22E-05 |
| obo:IAO_0000028 | 5.12E-05 |
| obo:RO_0002174 | 5.02E-05 |
| efo1:ArrayExpress_label | 4.43E-05 |
| obo:UBPROP_0000108 | 3.74E-05 |
| obo:IAO_0000601 | 2.76E-05 |
| efo1:SRA_label | 2.56E-05 |
| obo:UBPROP_0000104 | 2.36E-05 |
| skos:narrowMatch | 2.26E-05 |
| obo:UBPROP_0000005 | 1.97E-05 |
| obo:INO_0000036 | 1.87E-05 |
| obo:UBPROP_0000103 | 1.77E-05 |
| obo:UBPROP_0000112 | 1.38E-05 |
| owl:unionOf | 1.38E-05 |
| obo:UBPROP_0000107 | 1.28E-05 |
| obo:UBPROP_0000106 | 1.18E-05 |
| efo1:source_definition | 9.84E-06 |
| obo:UBPROP_0000201 | 9.84E-06 |
| efo1:branch_class | 8.86E-06 |
| obo:UBPROP_0000015 | 8.86E-06 |
| obo:UBPROP_0000111 | 7.88E-06 |
| mondo-base:broadMatch | 6.89E-06 |
| obo:namespace | 6.89E-06 |
| oboInOwl:note | 6.89E-06 |
| patterns:createdBy | 6.89E-06 |
| mondo-base:excluded_synonym | 5.91E-06 |
| mondo:excluded_synonym | 5.91E-06 |
| obo:OBI_0001847 | 5.91E-06 |
| oboInOwl:source | 5.91E-06 |
| mondo-base:narrowMatch | 4.92E-06 |
| obo:INO_0000087 | 4.92E-06 |
| obo:OBI_9991118 | 4.92E-06 |
| pato:seeAlso | 4.92E-06 |
| mi:isDefinedBy | 3.94E-06 |
| obo:OBI_0001886 | 2.95E-06 |
| dc:source | 1.97E-06 |
| efo1:primary_source | 1.97E-06 |
| obo:COB_based_on | 1.97E-06 |
| obo:GENEPIO_0000162 | 1.97E-06 |
| obo:RO_0002475 | 1.97E-06 |
| obo:UBPROP_0000014 | 1.97E-06 |
| skos:prefLabel | 1.97E-06 |
| obo:IAO_0000598 | 9.84E-07 |
| obo:RO_0001900 | 9.84E-07 |
| obo:RO_0002581 | 9.84E-07 |
| obo:RO_0004050 | 9.84E-07 |
| obo:UBPROP_0000105 | 9.84E-07 |
| owl:incompatibleWith | 9.84E-07 |
KG.10.1pre successfully built without ontobio, so I am closing this issue.