Skip to content

Instantly share code, notes, and snippets.

@cthoyt
Created July 5, 2022 17:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cthoyt/8c14dd2d277126ff45409ed672a813e9 to your computer and use it in GitHub Desktop.
Save cthoyt/8c14dd2d277126ff45409ed672a813e9 to your computer and use it in GitHub Desktop.
Extract the dependencies of each OBO Foundry Ontology
"""Update the dependencies."""
import json
from pathlib import Path
from typing import Iterable, Optional
import bioontologies
import bioregistry
import click
from bioontologies.obograph import Graph
from rich import print
from tqdm import tqdm
from tqdm.contrib.logging import logging_redirect_tqdm
import pystow
OUTPUT_PATH = pystow.join("obo", name="obo_foundry_dependncies.json")
TEST_PREFIXES = {
"so",
}
SKIP_PREFIXES = {"CHEBI", "NCBITaxon", "PR", "GAZ"}
OBO_URI_PREFIX = "http://purl.obolibrary.org/obo/"
OBO_PREFIXES: set[str] = {
obo_prefix
for resource in bioregistry.read_registry().values()
if (obo_prefix := resource.get_obofoundry_prefix())
}
@click.command()
@click.option("--test", is_flag=True)
@click.option("--no-skip", is_flag=True)
def main(test: bool):
# test = True
if OUTPUT_PATH.is_file():
rv = json.loads(OUTPUT_PATH.read_text())
else:
rv = {}
with logging_redirect_tqdm():
it = tqdm(
_prefixes(test=test),
unit="prefix",
desc="Gathering OBO dependencies",
)
for prefix, obo_prefix in it:
if prefix in rv:
tqdm.write(click.style(f"[{prefix}] using cached", fg="green"))
continue
it.set_postfix(prefix=obo_prefix)
try:
dependencies = lookup_dependencies(prefix)
except ValueError as e:
tqdm.write(click.style(f"[{prefix}] error: {e}", fg="red"))
continue
if dependencies is None:
continue
dependencies = rv[obo_prefix] = sorted(dependencies - {obo_prefix})
OUTPUT_PATH.write_text(json.dumps(rv, indent=2, sort_keys=True))
if dependencies:
dependencies_str = ", ".join(dependencies)
tqdm.write(f"[{prefix}] depends on {dependencies_str}")
else:
tqdm.write(click.style(f"[{prefix}] has no dependencies", fg="yellow"))
def _prefixes(test: bool) -> list[tuple[str, str]]:
prefixes = sorted(
(prefix, obo_prefix)
for prefix, resource in bioregistry.read_registry().items()
if (obo_prefix := resource.get_obofoundry_prefix())
and not resource.is_deprecated()
and obo_prefix not in SKIP_PREFIXES
)
if test:
prefixes = [p for p in prefixes if p[0] in TEST_PREFIXES]
return prefixes
def lookup_dependencies(prefix: str) -> Optional[set[str]]:
"""Get a set of all dependencies for the ontology."""
rv: set[str] = set()
try:
parse_results = bioontologies.get_obograph_by_prefix(prefix)
except TypeError as e:
tqdm.write(click.style(f"[{prefix}] failure: {e}", fg="red"))
return None
if not parse_results.graph_document:
tqdm.write(click.style(f"[{prefix}] could not parse", fg="red"))
return None
for graph in parse_results.graph_document.graphs or []:
rv.update(iter_prefixes(graph=graph))
return rv.intersection(OBO_PREFIXES)
def iter_prefixes(*, graph: Graph) -> Iterable[str]:
"""Iterate over OBO prefixes used in the graph."""
for node in tqdm(graph.nodes, leave=False, desc="parsing nodes", unit_scale=True):
if prefix := get_obo_prefix(node.id):
yield prefix
for edge in tqdm(graph.edges, leave=False, desc="parsing edges", unit_scale=True):
for uri in edge.as_tuple():
if prefix := get_obo_prefix(uri):
yield prefix
def get_obo_prefix(uri: str) -> Optional[str]:
"""Parse the OBO prefix from a string, if it's a valid OBO PURL."""
if not uri.startswith(OBO_URI_PREFIX):
return None
return uri.removeprefix(OBO_URI_PREFIX).rsplit("_", maxsplit=1)[0]
if __name__ == "__main__":
main()
{
"ADO": [
"ADO",
"BFO",
"BTO",
"CHEBI",
"CL",
"CLO",
"CMO",
"CTO",
"DOID",
"DRON",
"EMAPA",
"ERO",
"ExO",
"FMA",
"FOODON",
"FYPO",
"GECKO",
"GENEPIO",
"GENO",
"GO",
"GSSO",
"HP",
"IAO",
"ICO",
"IDOMAL",
"INO",
"MAXO",
"MF",
"MFOMD",
"MI",
"MMO",
"MOD",
"MONDO",
"MOP",
"MP",
"MPATH",
"NBO",
"NCBITaxon",
"NCIT",
"OAE",
"OBA",
"OBCS",
"OBI",
"OGG",
"OGMS",
"OMIABIS",
"OMIT",
"ONS",
"OPMI",
"PATO",
"PLANA",
"PR",
"PW",
"REX",
"RO",
"SCDO",
"SO",
"STATO",
"SYMP",
"TXPO",
"UBERON",
"VO",
"XCO"
],
"AGRO": [
"AGRO",
"APOLLO_SV",
"BFO",
"CARO",
"CHEBI",
"ENVO",
"FOODON",
"GAZ",
"GO",
"IAO",
"NCBITaxon",
"OBI",
"OGMS",
"PATO",
"PCO",
"PECO",
"PO",
"RO",
"TO",
"UBERON",
"UO",
"XCO"
],
"AISM": [
"AISM",
"BFO",
"BSPO",
"CARO",
"CHEBI",
"CL",
"GO",
"IAO",
"NBO",
"NCBITaxon",
"OBI",
"PATO",
"PR",
"RO",
"SO",
"UBERON"
],
"AMPHX": [
"AMPHX",
"BFO",
"CL",
"GO",
"IAO",
"RO",
"UBERON"
],
"APO": [
"APO",
"IAO",
"YPO"
],
"APOLLO_SV": [
"APOLLO_SV",
"BFO",
"CHEBI",
"DOID",
"DRON",
"ENVO",
"ERO",
"FBcv",
"FMA",
"GAZ",
"GEO",
"GO",
"IAO",
"NBO",
"NCBITaxon",
"OAE",
"OBI",
"OGMS",
"OMIABIS",
"OMRSE",
"PATO",
"PCO",
"RO",
"STATO",
"UBERON",
"UO",
"VO"
],
"ARO": [
"ARO",
"DOID",
"HP",
"IAO",
"NCIT",
"RO",
"SYMP",
"UBERON"
],
"BCO": [
"BCO",
"BFO",
"CARO",
"CHEBI",
"CL",
"ENVO",
"GO",
"IAO",
"NCBITaxon",
"OBI",
"PCO",
"PR",
"RO",
"SO",
"UBERON"
],
"BFO": [
"BFO",
"IAO"
],
"BSPO": [
"BFO",
"BSPO",
"CARO",
"GO",
"IAO",
"PATO",
"RO"
],
"BTO": [
"BFO",
"BTO",
"IAO",
"RO"
],
"CARO": [
"BFO",
"CARO",
"CHEBI",
"FBbt",
"GO",
"IAO",
"PATO",
"RO"
],
"CDAO": [
"BFO",
"CDAO",
"IAO"
],
"CDNO": [
"BFO",
"CDNO",
"CHEBI",
"ENVO",
"IAO",
"PATO",
"RO"
],
"CHEMINF": [
"APOLLO_SV",
"BFO",
"CHEBI",
"GAZ",
"GO",
"IAO",
"OBI",
"PATO",
"PR",
"RO",
"UO"
],
"CHIRO": [
"BFO",
"CHEBI",
"ENVO",
"GO",
"HP",
"IAO",
"MP",
"NCBITaxon",
"PR",
"RO"
],
"CHMO": [
"BFO",
"CHEBI",
"CHMO",
"FIX",
"IAO",
"MS",
"OBCS",
"OBI",
"REX",
"RO"
],
"CIDO": [
"APOLLO_SV",
"BFO",
"CHEBI",
"CIDO",
"CL",
"CMO",
"DOID",
"DRON",
"ENVO",
"GAZ",
"GENO",
"GO",
"HP",
"IAO",
"ICO",
"IDO",
"MPATH",
"NCBITaxon",
"NCIT",
"OAE",
"OBCS",
"OBI",
"OBIB",
"OGG",
"OGMS",
"OMIABIS",
"OMRSE",
"OPMI",
"PATO",
"PR",
"RO",
"SO",
"SYMP",
"TRANS",
"UBERON",
"UO",
"VO",
"VariO"
],
"CIO": [
"CIO",
"IAO"
],
"CL": [
"BFO",
"BSPO",
"CARO",
"CHEBI",
"CL",
"GO",
"IAO",
"MOD",
"NBO",
"NCBITaxon",
"PATO",
"PR",
"RO",
"SO",
"UBERON"
],
"CLAO": [
"AISM",
"BFO",
"CLAO",
"IAO",
"PATO",
"RO"
],
"CLO": [
"BFO",
"BSPO",
"CARO",
"CHEBI",
"CL",
"CLO",
"DOID",
"FMA",
"GO",
"IAO",
"NCBITaxon",
"OBI",
"PATO",
"PR",
"RO",
"SO",
"UBERON"
],
"CLYH": [
"BFO",
"CL",
"CLYH",
"GO",
"IAO",
"RO",
"UBERON"
],
"CMO": [
"CMO"
],
"COB": [],
"COLAO": [
"AISM",
"BFO",
"BSPO",
"CARO",
"CL",
"COLAO",
"IAO",
"PATO",
"PR",
"RO",
"UBERON"
],
"CRO": [
"BFO",
"CRO",
"IAO",
"RO"
],
"CTENO": [
"BFO",
"BSPO",
"CARO",
"CHEBI",
"CL",
"CTENO",
"GO",
"IAO",
"NCBITaxon",
"PATO",
"PR",
"RO",
"UBERON"
],
"CTO": [
"BFO",
"CHEBI",
"CTO",
"DRON",
"ERO",
"IAO",
"MS",
"NCBITaxon",
"NCIT",
"OAE",
"OBI",
"OGMS",
"OMIABIS",
"OMRSE",
"OPMI",
"PATO",
"PDRO",
"RO",
"VO"
],
"CVDO": [
"BFO",
"CVDO",
"DOID",
"FMA",
"IAO",
"OGMS"
],
"DDANAT": [
"DDANAT",
"IAO"
],
"DDPHENO": [
"DDPHENO",
"IAO"
],
"DIDEO": [
"APOLLO_SV",
"BFO",
"CHEBI",
"CHMO",
"CL",
"CLO",
"DIDEO",
"DRON",
"ERO",
"FMA",
"GAZ",
"GO",
"IAO",
"IDO",
"INO",
"MOP",
"MPIO",
"NCBITaxon",
"OAE",
"OBI",
"OGMS",
"PATO",
"PR",
"RO",
"STATO",
"UBERON",
"UO"
],
"DISDRIV": [
"BFO",
"CHEBI",
"DISDRIV",
"ExO",
"FOODON",
"IAO",
"RO"
],
"DOID": [
"BFO",
"CHEBI",
"CL",
"DISDRIV",
"DOID",
"ECO",
"ExO",
"FOODON",
"GENO",
"HP",
"IAO",
"IDO",
"NCBITaxon",
"NCIT",
"OBI",
"RO",
"SO",
"SYMP",
"TRANS",
"UBERON",
"UPHENO"
],
"DRON": [
"APOLLO_SV",
"BFO",
"CHEBI",
"DRON",
"GO",
"IAO",
"NCBITaxon",
"OBI",
"OGMS",
"PATO",
"PR",
"RO",
"SO",
"UO"
],
"DUO": [
"APOLLO_SV",
"BFO",
"DUO",
"GAZ",
"IAO",
"MONDO",
"OBI",
"PATO",
"RO",
"UO"
],
"ECAO": [
"BFO",
"CARO",
"ECAO",
"GO",
"IAO",
"RO",
"UBERON"
],
"ECO": [
"BFO",
"CHEBI",
"CHMO",
"CL",
"COB",
"ECO",
"GO",
"IAO",
"IDO",
"NCBITaxon",
"OBI",
"PATO",
"PR",
"RO",
"SO",
"UBERON",
"UO"
],
"ECOCORE": [
"BFO",
"BSPO",
"CARO",
"CHEBI",
"CL",
"ECOCORE",
"ENVO",
"FAO",
"GO",
"IAO",
"NBO",
"NCBITaxon",
"OBI",
"PATO",
"PCO",
"PO",
"PR",
"RO",
"SO",
"UBERON"
],
"ECTO": [
"APOLLO_SV",
"BFO",
"BSPO",
"CARO",
"CDNO",
"CHEBI",
"CL",
"ECTO",
"ENVO",
"ExO",
"FOODON",
"GAZ",
"GEO",
"GO",
"HANCESTRO",
"HP",
"IAO",
"MAXO",
"NBO",
"NCBITaxon",
"NCIT",
"OBI",
"OMP",
"ONS",
"OPMI",
"PATO",
"PCO",
"PO",
"PR",
"RO",
"SO",
"UBERON",
"UO",
"XCO"
],
"EMAPA": [
"EMAPA",
"IAO"
],
"ENVO": [
"BFO",
"CARO",
"CHEBI",
"ENVO",
"FAO",
"FOODON",
"GO",
"IAO",
"NCBITaxon",
"OBI",
"PATO",
"PCO",
"PO",
"RO",
"UBERON"
],
"EPIO": [
"BFO",
"CLO",
"CMO",
"DOID",
"ERO",
"EUPATH",
"FMA",
"GO",
"HP",
"IAO",
"IDO",
"IDOMAL",
"MF",
"MFOEM",
"MFOMD",
"MMO",
"MONDO",
"MP",
"NBO",
"NCBITaxon",
"NCIT",
"OAE",
"OBA",
"OBI",
"OGMS",
"OMIABIS",
"OMIT",
"PATO",
"PW",
"RO",
"RS",
"SYMP",
"UBERON"
],
"EUPATH": [
"APOLLO_SV",
"ARO",
"BFO",
"BTO",
"CHEBI",
"CIDO",
"CL",
"CMO",
"COB",
"DOID",
"DRON",
"DUO",
"ECTO",
"ENVO",
"EUPATH",
"FOODON",
"GAZ",
"GENEPIO",
"GO",
"HP",
"IAO",
"IDO",
"MOD",
"NCBITaxon",
"NCIT",
"OAE",
"OBCS",
"OBI",
"OBIB",
"OGMS",
"OMO",
"OMP",
"OMRSE",
"ONS",
"ONTONEO",
"OPL",
"PATO",
"PCO",
"PDRO",
"PHIPO",
"PO",
"PR",
"RO",
"SO",
"STATO",
"SYMP",
"UBERON",
"UO",
"VO"
],
"ExO": [
"BFO",
"ExO",
"IAO",
"RO"
],
"FAO": [
"BFO",
"FAO",
"IAO",
"NCBITaxon",
"RO"
],
"FBbi": [
"BFO",
"CARO",
"FBbi",
"GO",
"IAO",
"RO"
],
"FBbt": [
"BFO",
"CARO",
"CL",
"FBbt",
"GO",
"IAO",
"NCBITaxon",
"PATO",
"RO",
"SO"
],
"FBcv": [
"BFO",
"CARO",
"CHEBI",
"FBcv",
"FBdv",
"GO",
"IAO",
"PATO",
"RO"
],
"FBdv": [
"BFO",
"CARO",
"FBdv",
"GO",
"IAO",
"PATO",
"RO"
],
"FIDEO": [
"BFO",
"CHEBI",
"DIDEO",
"FIDEO",
"FOODON",
"GO",
"IAO",
"PATO",
"RO"
],
"FLOPO": [
"BFO",
"BSPO",
"CARO",
"CHEBI",
"CL",
"FLOPO",
"GO",
"IAO",
"NBO",
"NCBITaxon",
"OBI",
"PATO",
"PCO",
"PO",
"PR",
"RO",
"UBERON"
],
"FOBI": [
"CHEBI",
"FOBI",
"FOODON",
"IAO",
"NCBITaxon",
"UBERON"
],
"FOODON": [
"AGRO",
"APOLLO_SV",
"BFO",
"BTO",
"CDNO",
"CEPH",
"CHEBI",
"COB",
"DRON",
"ECOCORE",
"ENVO",
"ERO",
"FAO",
"FLOPO",
"FOODON",
"GAZ",
"GENEPIO",
"GEO",
"GO",
"HANCESTRO",
"IAO",
"MOP",
"NCBITaxon",
"NCIT",
"OBI",
"PATO",
"PECO",
"PO",
"RO",
"STATO",
"UBERON",
"UO"
],
"FOVT": [],
"FYPO": [
"BFO",
"BSPO",
"BTO",
"CARO",
"CHEBI",
"CL",
"FYPO",
"GO",
"IAO",
"MOD",
"NBO",
"NCBITaxon",
"OBI",
"PATO",
"PR",
"RO",
"SO",
"UBERON"
],
"GECKO": [
"BFO",
"CMO",
"EUPATH",
"GECKO",
"GO",
"IAO",
"MF",
"MONDO",
"OBI",
"OGMS",
"OMRSE",
"PATO",
"PCO",
"PDRO",
"RO",
"STATO",
"UBERON"
],
"GENEPIO": [],
"GENO": [
"BFO",
"CHEBI",
"CL",
"CLO",
"ENVO",
"GENO",
"GO",
"HP",
"HsapDv",
"IAO",
"MP",
"NCBITaxon",
"OBI",
"PATO",
"PCO",
"RO",
"SO",
"UBERON",
"UPHENO",
"WBPhenotype",
"ZP"
],
"GEO": [
"BFO",
"GEO",
"IAO",
"OBI",
"PATO",
"RO",
"UO"
],
"GNO": [
"GNO",
"IAO"
],
"GO": [
"BFO",
"GO",
"IAO",
"RO"
],
"GSSO": [],
"HANCESTRO": [
"BFO",
"GEO",
"HANCESTRO",
"IAO",
"RO"
],
"HAO": [
"BFO",
"HAO",
"IAO",
"RO"
],
"HOM": [
"HOM",
"IAO"
],
"HP": [
"BFO",
"BSPO",
"CARO",
"CHEBI",
"CL",
"ENVO",
"GO",
"HP",
"HsapDv",
"IAO",
"MAXO",
"MPATH",
"NBO",
"NCBITaxon",
"OBI",
"PATO",
"PR",
"RO",
"SO",
"UBERON"
],
"HSO": [
"BFO",
"BSPO",
"CHMO",
"DOID",
"ENVO",
"GAZ",
"GENEPIO",
"HSO",
"IAO",
"IDO",
"NCBITaxon",
"NCIT",
"OBI",
"RO",
"UBERON"
],
"HTN": [
"BFO",
"CARO",
"DOID",
"ENVO",
"GAZ",
"GO",
"HP",
"HTN",
"IAO",
"IDO",
"NCBITaxon",
"OBI",
"OGMS",
"OMRSE",
"PATO",
"PR",
"RO",
"UO",
"UPHENO"
],
"HsapDv": [
"BFO",
"HsapDv",
"IAO",
"NCBITaxon",
"RO",
"UBERON"
],
"IAO": [
"APOLLO_SV",
"BFO",
"GAZ",
"IAO",
"OBI",
"PATO",
"RO",
"UO"
],
"ICEO": [
"ARO",
"BFO",
"CHEBI",
"GO",
"IAO",
"ICEO",
"IDO",
"MI",
"NCBITaxon",
"OBI",
"OGG",
"PR",
"RO"
],
"ICO": [],
"IDO": [
"BFO",
"CARO",
"CHEBI",
"CL",
"GO",
"IAO",
"IDO",
"NCBITaxon",
"OBI",
"OGMS",
"RO",
"TRANS",
"UBERON"
],
"INO": [
"BFO",
"CHEBI",
"CL",
"GO",
"IAO",
"IDO",
"INO",
"MI",
"NCBITaxon",
"OGG",
"PR",
"PW",
"RO"
],
"IPR": [],
"KISAO": [],
"LABO": [
"BFO",
"IAO",
"LABO",
"NCBITaxon",
"OBI",
"OGMS",
"OMIABIS",
"OPMI",
"PDRO",
"RO"
],
"LEPAO": [
"AISM",
"BFO",
"BSPO",
"CARO",
"CL",
"IAO",
"LEPAO",
"PATO",
"PR",
"RO",
"UBERON"
],
"MA": [
"MA"
],
"MAMO": [],
"MAXO": [
"APOLLO_SV",
"BFO",
"BSPO",
"CARO",
"CDNO",
"CHEBI",
"CL",
"ENVO",
"FOODON",
"GO",
"HP",
"IAO",
"MAXO",
"MPATH",
"NBO",
"NCBITaxon",
"OBI",
"PATO",
"PO",
"PR",
"RO",
"SO",
"UBERON",
"UO"
],
"MCO": [
"BFO",
"CHEBI",
"CL",
"CLO",
"GO",
"IAO",
"MCO",
"MICRO",
"NCBITaxon",
"NCIT",
"OBI",
"OMIT",
"OMP",
"PATO",
"PECO",
"RO",
"UBERON"
],
"MF": [
"BFO",
"GO",
"IAO",
"MF",
"NBO",
"OGMS"
],
"MFMO": [
"BFO",
"CARO",
"CHEBI",
"CL",
"ENVO",
"GO",
"IAO",
"MFMO",
"OGMS",
"PATO",
"RO",
"UBERON",
"UPHENO"
],
"MFOEM": [
"BFO",
"GO",
"IAO",
"MF",
"MFOEM",
"NBO",
"OGMS"
],
"MFOMD": [
"BFO",
"DOID",
"GO",
"IAO",
"IDO",
"MF",
"MFOMD",
"NBO",
"OBI",
"OGMS"
],
"MI": [
"IAO",
"MI"
],
"MIAPA": [
"BFO",
"CDAO",
"IAO",
"MIAPA"
],
"MICRO": [
"BFO",
"BSPO",
"CHEBI",
"CHMO",
"CL",
"DRON",
"ENVO",
"FMA",
"GO",
"IAO",
"IDO",
"MICRO",
"NCBITaxon",
"OBI",
"PATO",
"PO",
"PR",
"RO",
"UBERON"
],
"MMO": [
"IAO",
"MMO"
],
"MOD": [
"IAO",
"MOD"
],
"MONDO": [
"BFO",
"BSPO",
"CARO",
"CHEBI",
"CL",
"ECTO",
"ENVO",
"ExO",
"FOODON",
"GO",
"HP",
"HsapDv",
"IAO",
"MAXO",
"MF",
"MFOMD",
"MONDO",
"MPATH",
"NBO",
"NCBITaxon",
"NCIT",
"OBA",
"OBI",
"OGMS",
"PATO",
"PCO",
"PO",
"RO",
"SO",
"UBERON",
"UPHENO"
],
"MOP": [
"BFO",
"CHEBI",
"IAO",
"MOP",
"REX",
"RO",
"RXNO"
],
"MP": [
"BFO",
"BSPO",
"CARO",
"CHEBI",
"CL",
"ENVO",
"GO",
"IAO",
"MP",
"MPATH",
"NBO",
"NCBITaxon",
"OBI",
"PATO",
"PR",
"RO",
"SO",
"UBERON"
],
"MPATH": [
"IAO",
"MPATH"
],
"MPIO": [
"APOLLO_SV",
"BFO",
"DIDEO",
"DINTO",
"DRON",
"GO",
"IAO",
"MPIO",
"OBI",
"OGMS",
"PCO",
"RO"
],
"MRO": [
"BFO",
"ECO",
"GO",
"IAO",
"MRO",
"NCBITaxon",
"OBI",
"PR",
"RO",
"SO"
],
"MS": [
"BFO",
"BSPO",
"CHEBI",
"CL",
"GO",
"IAO",
"MS",
"NBO",
"NCBITaxon",
"NCIT",
"OBI",
"OGMS",
"PATO",
"PCO",
"PR",
"RO",
"SO",
"STATO",
"UBERON",
"UO"
],
"MmusDv": [
"BFO",
"IAO",
"MmusDv",
"RO"
],
"NBO": [
"BFO",
"BSPO",
"CARO",
"CHEBI",
"GO",
"IAO",
"NBO",
"PATO",
"RO",
"UBERON"
],
"NCIT": [
"IAO",
"NCIT"
],
"NCRO": [
"BFO",
"CHEBI",
"CLO",
"DOID",
"GO",
"IAO",
"NCRO",
"OBI",
"PR",
"RO",
"SO",
"UBERON"
],
"NOMEN": [
"IAO",
"NOMEN"
],
"OAE": [
"BFO",
"BSPO",
"CHEBI",
"DOID",
"FMA",
"GO",
"IAO",
"NCBITaxon",
"OAE",
"OBI",
"OGMS",
"PATO",
"RO",
"UBERON",
"VO"
],
"OARCS": [
"BFO",
"CARO",
"IAO",
"OARCS",
"RO"
],
"OBA": [
"BFO",
"BSPO",
"CARO",
"CHEBI",
"CL",
"ECTO",
"ENVO",
"ExO",
"FOODON",
"GO",
"HP",
"IAO",
"MF",
"MONDO",
"MPATH",
"NBO",
"NCBITaxon",
"NCIT",
"OBA",
"OBI",
"OGMS",
"PATO",
"PCO",
"PO",
"PR",
"RO",
"SO",
"UBERON",
"UPHENO"
],
"OBCS": [],
"OBI": [
"APOLLO_SV",
"BFO",
"CHEBI",
"CHMO",
"CL",
"CLO",
"COB",
"ENVO",
"GAZ",
"GO",
"HP",
"IAO",
"IDO",
"NCBITaxon",
"OBI",
"OGMS",
"OMIABIS",
"OMRSE",
"OPL",
"PATO",
"PR",
"RO",
"SO",
"UBERON",
"UO",
"VO"
],
"OBIB": [
"APOLLO_SV",
"BFO",
"CHEBI",
"CL",
"CLO",
"DOID",
"DRON",
"ENVO",
"ERO",
"FLU",
"FMA",
"GAZ",
"GEO",
"GO",
"HANCESTRO",
"IAO",
"ICO",
"IDO",
"NCBITaxon",
"NCIT",
"OAE",
"OBI",
"OBIB",
"OGMS",
"OMIABIS",
"OMRSE",
"PATO",
"PCO",
"PR",
"RO",
"SO",
"UBERON",
"UO"
],
"OGG": [
"BFO",
"IAO",
"NCBITaxon",
"OBI",
"OGG",
"RO"
],
"OGMS": [
"BFO",
"IAO",
"IDO",
"OBI",
"OGMS"
],
"OGSF": [
"BFO",
"CHEBI",
"ERO",
"GO",
"IAO",
"NCBITaxon",
"OAE",
"OBI",
"OGI",
"OGMS",
"OGSF",
"PATO",
"RO",
"SO",
"VO"
],
"OHD": [
"BFO",
"CARO",
"FMA",
"IAO",
"NCBITaxon",
"OBI",
"OGMS",
"OHD",
"OMRSE"
],
"OHMI": [
"BFO",
"CARO",
"CHEBI",
"CL",
"CMO",
"DOID",
"DRON",
"ENVO",
"GO",
"HP",
"IAO",
"IDO",
"INO",
"MONDO",
"NCBITaxon",
"OBI",
"OGG",
"OHMI",
"PATO",
"PCO",
"PR",
"RO",
"SO",
"UBERON",
"UO",
"UPHENO"
],
"OHPI": [
"BFO",
"BSPO",
"CARO",
"CHEBI",
"CL",
"CLO",
"DOID",
"GO",
"IAO",
"IDO",
"INO",
"NCBITaxon",
"OBI",
"OGG",
"OGMS",
"OHPI",
"PATO",
"RO",
"TRANS",
"UBERON",
"UO",
"VO"
],
"OMIT": [
"BFO",
"CHEBI",
"CLO",
"DOID",
"GO",
"IAO",
"NCRO",
"OBI",
"OMIT",
"PR",
"RO",
"SO",
"UBERON"
],
"OMO": [
"BFO",
"IAO",
"OMO"
],
"OMP": [
"BFO",
"CHEBI",
"GO",
"IAO",
"OMP",
"PATO",
"RO"
],
"OMRSE": [
"APOLLO_SV",
"BFO",
"FMA",
"GAZ",
"GO",
"IAO",
"NCBITaxon",
"OAE",
"OBI",
"OGMS",
"OMIABIS",
"OMRSE",
"OOSTT",
"PATO",
"PCO",
"RO",
"UO"
],
"ONE": [
"APOLLO_SV",
"BFO",
"CHEBI",
"CHMO",
"CL",
"CLO",
"ENVO",
"GAZ",
"GO",
"HP",
"IAO",
"IDO",
"NCBITaxon",
"OBI",
"OGMS",
"OMIABIS",
"OMRSE",
"ONE",
"ONS",
"PATO",
"PR",
"RO",
"SO",
"UBERON",
"UO",
"VO"
],
"ONS": [
"BFO",
"CHEBI",
"CL",
"CMO",
"ENVO",
"ERO",
"FOODON",
"GAZ",
"GENEPIO",
"GO",
"HP",
"IAO",
"ICO",
"NCBITaxon",
"NCIT",
"OBCS",
"OBI",
"OBIB",
"OGMS",
"OHMI",
"OMIABIS",
"OMP",
"OMRSE",
"ONS",
"PATO",
"PO",
"PR",
"RO",
"SO",
"STATO",
"UBERON",
"UO",
"VO"
],
"ONTOAVIDA": [
"FBcv",
"GSSO",
"NCIT",
"ONTOAVIDA",
"RO",
"STATO"
],
"ONTONEO": [
"BCGO",
"BFO",
"CL",
"CMO",
"CVDO",
"DOID",
"ERO",
"FMA",
"GO",
"HP",
"IAO",
"IDOMAL",
"MP",
"MPATH",
"NCBITaxon",
"OAE",
"OBI",
"OGMS",
"OMIABIS",
"OMRSE",
"ONTONEO",
"PATO",
"RO",
"SYMP",
"UBERON",
"UPHENO",
"VO"
],
"OOSTT": [
"APOLLO_SV",
"BFO",
"ERO",
"FMA",
"GAZ",
"GEO",
"IAO",
"NCBITaxon",
"OBI",
"OGMS",
"OMRSE",
"OOSTT",
"PATO",
"RO",
"UO"
],
"OPL": [
"BFO",
"BTO",
"CARO",
"CL",
"GO",
"IAO",
"IDO",
"NCBITaxon",
"OBI",
"OPL",
"RO",
"UBERON"
],
"OPMI": [
"BFO",
"BSPO",
"CARO",
"CHEBI",
"CL",
"CMO",
"DRON",
"ENVO",
"GAZ",
"GO",
"HP",
"IAO",
"ICO",
"MONDO",
"NCBITaxon",
"NCIT",
"OAE",
"OBI",
"OBIB",
"OGMS",
"OMRSE",
"OPMI",
"PATO",
"PCO",
"PO",
"PR",
"RO",
"SO",
"UBERON",
"UO",
"VO"
],
"ORNASEQ": [
"BFO",
"CHEBI",
"CL",
"GENEPIO",
"GO",
"IAO",
"NCBITaxon",
"NCIT",
"OBI",
"OGMS",
"OMIABIS",
"ORNASEQ",
"RO",
"SO",
"TAXRANK",
"UBERON"
],
"OVAE": [
"BFO",
"BSPO",
"CARO",
"CHEBI",
"IAO",
"NCBITaxon",
"OAE",
"OBI",
"OGG",
"OGMS",
"OVAE",
"PATO",
"RO",
"UBERON",
"VO"
],
"OlatDv": [
"BFO",
"IAO",
"OlatDv",
"RO"
],
"PATO": [
"BFO",
"BSPO",
"CHEBI",
"CL",
"GO",
"IAO",
"NBO",
"NCBITaxon",
"OBI",
"PATO",
"PCO",
"PR",
"RO",
"UBERON"
],
"PCL": [
"BFO",
"BSPO",
"CHEBI",
"CL",
"GO",
"IAO",
"NBO",
"NCBITaxon",
"PATO",
"PCL",
"PR",
"RO",
"SO",
"UBERON"
],
"PCO": [
"BFO",
"CARO",
"ECOCORE",
"ENVO",
"GO",
"IAO",
"NCBITaxon",
"PATO",
"PCO",
"RO",
"STATO"
],
"PDRO": [
"BFO",
"CHEBI",
"DRON",
"IAO",
"NCBITaxon",
"OBI",
"OGMS",
"OMIABIS",
"OMRSE",
"OPMI",
"PATO",
"PDRO",
"RO",
"UO"
],
"PECO": [
"BFO",
"CARO",
"CHEBI",
"ENVO",
"EO",
"FOODON",
"GO",
"IAO",
"NCBITaxon",
"PATO",
"PCO",
"PECO",
"RO"
],
"PHIPO": [
"BFO",
"CARO",
"CHEBI",
"CL",
"GO",
"IAO",
"IDO",
"OGMS",
"PATO",
"PHIPO",
"RO",
"UBERON"
],
"PLANA": [
"BFO",
"BSPO",
"CARO",
"GO",
"IAO",
"PATO",
"PLANA",
"RO",
"UBERON"
],
"PLANP": [
"BFO",
"BSPO",
"CARO",
"CL",
"ENVO",
"GO",
"IAO",
"OGMS",
"PATO",
"PLANA",
"PLANP",
"RO",
"UBERON",
"UPHENO"
],
"PO": [
"BFO",
"CARO",
"GO",
"IAO",
"NCBITaxon",
"PO",
"RO"
],
"PORO": [
"BFO",
"CARO",
"CHEBI",
"CL",
"GO",
"IAO",
"PATO",
"PORO",
"RO",
"UBERON"
],
"PPO": [
"BCO",
"BFO",
"GO",
"IAO",
"OBI",
"PATO",
"PO",
"PPO",
"RO",
"UBERON"
],
"PROCO": [
"BFO",
"CHEBI",
"CHMO",
"FIX",
"GO",
"IAO",
"OBI",
"PATO",
"PR",
"PROCO",
"RO"
],
"PSDO": [
"BFO",
"CHEBI",
"CL",
"GAZ",
"GO",
"IAO",
"NCBITaxon",
"OBI",
"OGMS",
"PATO",
"PR",
"PSDO",
"RO",
"SO",
"STATO",
"UBERON",
"UO"
],
"PSO": [
"BFO",
"CARO",
"CHEBI",
"GO",
"NCBITaxon",
"PATO",
"PECO",
"PO",
"PSO",
"RO"
],
"PW": [
"IAO",
"PW"
],
"PdumDv": [
"BFO",
"IAO",
"PdumDv",
"RO"
],
"RBO": [],
"RO": [
"BFO",
"CARO",
"CHEBI",
"CL",
"ENVO",
"GO",
"IAO",
"OGMS",
"PATO",
"RO",
"UPHENO"
],
"RS": [
"IAO",
"RS"
],
"RXNO": [
"BFO",
"CHEBI",
"IAO",
"MOP",
"OBI",
"RXNO"
],
"SBO": [],
"SCDO": [],
"SEPIO": [
"BFO",
"ERO",
"IAO",
"OBI",
"RO",
"SEPIO",
"STATO"
],
"SO": [
"IAO",
"SO"
],
"SPD": [
"IAO",
"SPD"
],
"STATO": [
"BFO",
"CHEBI",
"CL",
"GO",
"IAO",
"NCBITaxon",
"OBI",
"OGMS",
"PATO",
"PR",
"RO",
"SO",
"STATO",
"UBERON",
"UO"
],
"SWO": [],
"SYMP": [
"IAO",
"SYMP"
],
"TAXRANK": [
"IAO",
"TAXRANK"
],
"TO": [
"BFO",
"CARO",
"CHEBI",
"ENVO",
"FOODON",
"GO",
"IAO",
"NCBITaxon",
"OBI",
"PATO",
"PECO",
"PO",
"RO",
"TO"
],
"TRANS": [
"IAO",
"TRANS"
],
"TTO": [
"IAO",
"TTO"
],
"TXPO": [
"BFO",
"CHEBI",
"CL",
"CLO",
"DOID",
"ENVO",
"GO",
"HP",
"IAO",
"IDO",
"IMR",
"MP",
"NCBITaxon",
"NCIT",
"OBI",
"OGG",
"OGMS",
"OMIABIS",
"OMIT",
"PATO",
"PR",
"RO",
"SO",
"TXPO",
"UBERON",
"UO",
"VO"
],
"UBERON": [
"BFO",
"BSPO",
"CARO",
"CHEBI",
"CL",
"ENVO",
"FMA",
"GO",
"IAO",
"NBO",
"NCBITaxon",
"OBI",
"PATO",
"PCO",
"PO",
"PR",
"RO",
"SO",
"UBERON"
],
"UO": [
"UO"
],
"UPHENO": [],
"VO": [
"BFO",
"CARO",
"CHEBI",
"CL",
"DOID",
"ENVO",
"FMA",
"GO",
"IAO",
"IDO",
"NCBITaxon",
"OAE",
"OBI",
"OGG",
"OGMS",
"PATO",
"PR",
"RO",
"UBERON",
"UO",
"VO"
],
"VT": [
"IAO",
"VT"
],
"VTO": [
"ATO",
"IAO",
"TAXRANK",
"TTO",
"VTO"
],
"WBPhenotype": [
"BFO",
"BSPO",
"CARO",
"CHEBI",
"CL",
"GO",
"IAO",
"NBO",
"NCBITaxon",
"OBI",
"PATO",
"PR",
"RO",
"UBERON",
"WBPhenotype",
"WBbt",
"WBls"
],
"WBbt": [
"BFO",
"CARO",
"GO",
"IAO",
"PATO",
"RO",
"WBbt"
],
"WBls": [
"BFO",
"CARO",
"GO",
"IAO",
"PATO",
"RO",
"WBls"
],
"XAO": [
"BFO",
"IAO",
"RO",
"XAO"
],
"XCO": [
"BFO",
"CHEBI",
"IAO",
"RO",
"XCO"
],
"XLMOD": [
"IAO",
"XLMOD"
],
"XPO": [
"BFO",
"CARO",
"CHEBI",
"CL",
"GO",
"IAO",
"NBO",
"PATO",
"RO",
"UBERON",
"XAO",
"XPO"
],
"ZECO": [
"BFO",
"IAO",
"RO",
"ZECO"
],
"ZFA": [
"BFO",
"IAO",
"RO",
"ZFA",
"ZFS"
],
"ZFS": [
"BFO",
"IAO",
"RO",
"ZFS"
],
"ZP": [
"BFO",
"BSPO",
"CARO",
"CHEBI",
"CL",
"ENVO",
"GO",
"IAO",
"MPATH",
"NBO",
"NCBITaxon",
"OBI",
"PATO",
"PR",
"RO",
"UBERON",
"ZFA",
"ZP"
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment