embl-ebi-ols

Query the EMBL-EBI Ontology Lookup Service API for biomedical ontology terms and hierarchies.

1|Updated Mar 7, 2025
One-click install
npx skills add https://github.com/carmonalab/ECODA_paper --skill embl-ebi-ols-carmonalab
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: embl-ebi-ols
Source: https://github.com/carmonalab/ECODA_paper/tree/main/.agents/skills/embl_ebi_ols
Command: npx skills add https://github.com/carmonalab/ECODA_paper --skill embl-ebi-ols-carmonalab

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires polite-http, and includes scripts (resource) and references (resource) components.

What problem does it solve? Looking up standardized biomedical ontology terms, definitions, and hierarchical relationships across 250+ ontologies (GO, DOID, HP, ChEBI, CL, UBERON, and more) normally requires manual API calls and knowledge of OLS4 endpoints. This Skill provides ready-to-run scripts that search, resolve, and navigate ontology terms with built-in rate limiting and clean JSON output. ## Core Features & Use Cases - Term Search & Autocomplete: Search across all ontologies or filter by a specific one, with exact-match entity resolution, defining-ontology filtering, pagination, and autocomplete suggestions for partial names. - Term Details & Hierarchy Navigation: Retrieve definitions, synonyms, and annotations by OBO ID or IRI, and traverse parents, children, ancestors, descendants, plus hierarchical (part-of, develops-from) relations and full graphs. - Ontology Metadata & Statistics: List available ontologies, fetch ontology details, inspect properties and individuals, and check OLS index statistics. - Use Case: A user asks "What is the parent of myocardial infarction?" The Skill searches the Disease Ontology for the exact term, resolves its OBO ID (DOID:5844), and fetches its parent terms in two scripted steps. ## Quick Start Ask the assistant to find the definition and parent terms of a biomedical concept like "apoptosis" or "diabetes" using the EMBL-EBI Ontology Lookup Service.

Frequently Asked Questions about embl-ebi-ols

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I search for a biomedical ontology term in OLS?▼

Run search_ols.py with a --query string and optionally --ontology to filter by a specific ontology like go, doid, or hp. Use --exact for exact label matching when resolving a name to a specific OBO ID, and --output to save results as JSON.

How do I find the parent or children of an ontology term?▼

Use get_term.py with --obo_id and --relations parents,children for direct is-a relationships. For transitive relations like part-of or develops-from, use hierarchicalParents and hierarchicalChildren instead, which is important for anatomy ontologies like UBERON and CL.

Which ontology should I use for diseases, phenotypes, or chemicals?▼

Use doid for common human diseases, hp for phenotypes, go for gene functions, chebi for chemicals, uberon for anatomy, and cl for cell types. Use mondo only when cross-species disease context is explicitly needed.

Does the OLS API have rate limits?▼

Yes, EBI's Terms of Use allow a maximum of 5 requests per second. The provided utility scripts enforce this automatically through the polite-http client, so no manual throttling is needed.

What is the difference between parents and hierarchicalParents in OLS?▼

Regular relations like parents and children follow only subClassOf (is-a) links. Hierarchical variants also follow transitive properties such as part-of and develops-from, giving a more complete view of the ontology structure.