[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-google-deepmind-embl-ebi-ols":3,"mdc--oo4tkr-key":33,"related-repo-google-deepmind-embl-ebi-ols":2535,"related-org-google-deepmind-embl-ebi-ols":2644},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":22,"repoUrl":23,"updatedAt":24,"license":25,"forks":26,"topics":27,"repo":28,"sourceUrl":31,"mdContent":32},"embl-ebi-ols","search biomedical ontologies in EMBL-EBI OLS","Query and search the EMBL-EBI Ontology Lookup Service (OLS) for biomedical ontology terms, definitions, and hierarchies across 250+ ontologies (e.g., GO, DOID, HP). Use when the user asks to search for terms, retrieve details, navigate hierarchies (parents, children, ancestors), look up properties and individuals, get autocomplete suggestions, or access ontology metadata and statistics.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"google-deepmind","Google DeepMind","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fgoogle-deepmind.png",[12,16,19],{"name":13,"slug":14,"type":15},"Research","research","tag",{"name":17,"slug":18,"type":15},"Ontology","ontology",{"name":20,"slug":21,"type":15},"Bioinformatics","bioinformatics",2333,"https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Fscience-skills","2026-07-12T07:51:59.368324",null,234,[],{"repoUrl":23,"stars":22,"forks":26,"topics":29,"description":30},[],"GDM Science Skills to speed up agentic scientific workflows with better grounding and higher token efficiency. Integrate insights from AlphaGenome, AFDB, UniProt and 30+ other databases and tools.","https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Fscience-skills\u002Ftree\u002FHEAD\u002Fskills\u002Fembl_ebi_ols","---\nname: embl-ebi-ols\ndescription: >\n  Query and search the EMBL-EBI Ontology Lookup Service (OLS) for biomedical\n  ontology terms, definitions, and hierarchies across 250+ ontologies (e.g., GO,\n  DOID, HP). Use when the user asks to search for terms, retrieve details,\n  navigate hierarchies (parents, children, ancestors), look up properties and\n  individuals, get autocomplete suggestions, or access ontology metadata and\n  statistics.\n---\n\n# EMBL-EBI Ontology Lookup Service (OLS)\n\n## Prerequisites\n\n1.  **`uv`**: Read the `uv` skill and follow its Setup instructions to ensure\n    `uv` is installed and on PATH.\n2.  **User Notification**: If .licenses\u002Fembl_ebi_ols_LICENSE.txt does not\n    already exist in the workspace root directory then (1) prominently notify\n    the user to check the terms at https:\u002F\u002Fwww.ebi.ac.uk\u002Fols4\u002Fapi-docs, then (2)\n    create the file recording the notification text and timestamp.\n\n## Core Rules\n\n-   [!IMPORTANT] **Use the Utility Scripts**: You MUST ALWAYS use the provided\n    utility script under `scripts\u002F` for all API interactions, including checking\n    status. NEVER use `curl` or custom Python requests to query API directly.\n\n-   **Rate Limiting & Resilience**: You MUST respect EBI's Terms of Use with a\n    maximum 5 requests per second. The provided utility scripts automatically\n    enforce this.\n\n-   **Notification**: If this skill is used, ensure this is mentioned in the\n    output.\n\n## When to Use — Quick Recipes\n\nUse this skill whenever a user query matches one of these patterns:\n\n-   **Definition** of a disease, phenotype, or term → `get_term.py --obo_id \u003CID>\n    --summary`\n-   **Subtypes** or **children** of a term → `get_term.py --obo_id \u003CID>\n    --relations children`\n-   **Parent** of a term → `get_term.py --obo_id \u003CID> --relations parents`\n-   **Ancestors** \u002F disease **categories** \u002F **classified under** → `get_term.py\n    --obo_id \u003CID> --relations ancestors`\n-   **Root terms** of an ontology → `get_term.py --ontology \u003Cid> --roots`\n-   **Hierarchical** parents (is-a + part-of) → `get_term.py --obo_id \u003CID>\n    --relations hierarchicalParents`\n-   **Structures part of** \u002F hierarchical children → `get_term.py --obo_id \u003CID>\n    --relations hierarchicalChildren`\n-   **Compare** direct vs hierarchical parents → `get_term.py --obo_id \u003CID>\n    --relations parents,hierarchicalParents`\n-   Search for a term (e.g., \"apoptosis\" in GO) → `search_ols.py --query \"...\"\n    --ontology \u003Cid>`\n-   Find a **GO term** matching a function → `search_ols.py --query \"...\"\n    --ontology go --exact`\n-   Search in **MONDO**, **CHEBI**, **CL**, **UBERON** → `search_ols.py --query\n    \"...\" --ontology \u003Cid> --defining`\n-   **Paginate** search results \u002F next page → `search_ols.py --query \"...\"\n    --rows N --start \u003Coffset>`\n-   Autocomplete a partial name → `suggest_ols.py --query \"...\"`\n-   Ontology metadata (e.g., EFO info) → `get_ontology.py --id \u003Cid>`\n-   OLS index statistics → `get_stats.py`\n\n> **Multi-step queries** (e.g., \"What is the parent of myocardial infarction?\"):\n> When the user names a term but you don't know its OBO ID, complete in\n> **exactly 2 steps** — do NOT search across multiple ontologies:\n>\n> 1.  **Search** in the single most appropriate ontology: `search_ols.py --query\n>     \"myocardial infarction\" --ontology doid --exact --rows 1 --output\n>     \u002Ftmp\u002Fstep1.json`\n> 2.  **Get relations** using the OBO ID from step 1: `get_term.py --obo_id\n>     DOID:5844 --relations parents --output \u002Ftmp\u002Fstep2.json`\n>\n> **Ontology selection rule**: ALWAYS use `doid` for common human diseases\n> (e.g., diabetes, cancer), `hp` for phenotypes, `go` for gene functions,\n> `chebi` for chemicals, `uberon` for anatomy, `cl` for cell types. Use `mondo`\n> ONLY when cross-species context is explicitly mentioned or needed.\n\n## Utility Scripts\n\n**1. Search Terms Across Ontologies**\n\nSearch for ontology terms by keyword and return clean JSON.\n\n```bash\nuv run scripts\u002Fsearch_ols.py --query \"diabetes\" \\\n  --rows 5 --output \u002Ftmp\u002Fols_search_results.json 2>\u002Fdev\u002Fnull\n```\n\n> **Important**: `--output` is required for all scripts. Results are always\n> written to the specified file. For larger output, you can limit `--rows`\n> (e.g., 5-10) or paginate using `--start`.\n\n*Returned Fields:* JSON results include `iri`, `label`, `description`,\n`ontology_name`, `ontology_prefix`, `obo_id`, `short_form`, `type`,\n`is_defining_ontology`, and `exact_synonyms`.\n\n*Pagination:* Output includes a `pagination` block with `start`, `rows`, and\n`has_more` so you can decide whether to fetch more results.\n\n*Options:*\n\n-   `--query`: Search string (required). Searches labels, synonyms,\n    descriptions, and identifiers.\n-   `--ontology`: Filter by ontology ID (e.g., `go`, `doid`, `efo`, `hp`).\n    **Recommended** when you know which ontology to search — avoids noise from\n    250+ ontologies.\n-   `--type`: Filter by entity type: `class`, `property`, `individual`, or\n    `ontology`.\n-   `--exact`: Flag for exact label match only. **Use this for entity\n    resolution** when mapping a user's string to a specific ontology term ID.\n-   `--defining`: Only return terms from their defining (authoritative)\n    ontology. E.g., `GO:0005634` only from GO, not cross-referenced copies.\n-   `--obsolete`: Flag to include obsolete terms in results.\n-   `--local`: Only return terms in their defining ontology.\n-   `--childrenOf`: Restrict to children of given term IRI(s), comma-separated.\n-   `--allChildrenOf`: Restrict to all children including transitive relations\n    (part of, develops from), comma-separated IRIs.\n-   `--queryFields`: Comma-separated fields to search in (e.g.,\n    `label,synonym,description`).\n-   `--fieldList`: Comma-separated fields to return.\n-   `--groupField`: Group results by unique IRI.\n-   `--isLeaf`: Only return leaf terms (no children).\n-   `--rows`: Number of results to return (default 10).\n-   `--start`: Pagination offset (default 0).\n-   `--output`: File path to save results (**required**).\n\n**2. Autocomplete \u002F Suggest**\n\nGet autocomplete suggestions for partial term names.\n\n```bash\nuv run scripts\u002Fsuggest_ols.py --query \"diabet\" --rows 5 \\\n  --output \u002Ftmp\u002Fols_suggest.json 2>\u002Fdev\u002Fnull\n```\n\n*Options:*\n\n-   `--query`: Partial term to autocomplete (required).\n-   `--ontology`: Filter by ontology ID(s), comma-separated.\n-   `--rows`: Number of suggestions (default 10).\n-   `--start`: Pagination offset (default 0).\n-   `--output`: File path to save results (default: stdout).\n\n**3. Get Term Details**\n\nRetrieve full details for a specific ontology term by its OBO ID or IRI.\n\n```bash\nuv run scripts\u002Fget_term.py --obo_id \"GO:0005634\" \\\n  --output \u002Ftmp\u002Fols_term.json 2>\u002Fdev\u002Fnull\n```\n\n*Returned Fields:* JSON includes `iri`, `label`, `description`, `obo_id`,\n`synonyms`, `ontology_name`, `is_obsolete`, `is_defining_ontology`,\n`has_children`, `is_root`, `annotation`, `in_subset`, and any requested\nrelations.\n\n*Summary Mode:* Use `--summary` to get a clean, human-readable block on stdout\n(Label, OBO ID, Ontology, Definition, Synonyms). The full JSON is always saved\nto the `--output` file.\n\n```bash\nuv run scripts\u002Fget_term.py --obo_id \"GO:0005634\" --summary \\\n  --output \u002Ftmp\u002Fnucleus_full.json\n```\n\n*Options:*\n\n-   `--obo_id`: OBO-style identifier (e.g., `GO:0005634`, `DOID:9351`). Mutually\n    exclusive with `--iri`. Auto-converts to IRI with double encoding.\n-   `--iri`: Full IRI of the term. Mutually exclusive with `--obo_id`.\n-   `--ontology`: Ontology ID (auto-derived from `--obo_id` if not provided).\n-   `--relations`: Comma-separated list of relations to fetch.\n\n    -   **Direct (is-a only):** `parents`, `children`, `ancestors`,\n        `descendants`\n    -   **Hierarchical (is-a + transitive like \"part of\", \"develops from\"):**\n        `hierarchicalParents`, `hierarchicalChildren`, `hierarchicalAncestors`,\n        `hierarchicalDescendants`\n    -   **Graph:** `graph` — full graph JSON for a term\n\n    > **Note**: Use hierarchical variants for anatomical\u002Fdevelopmental\n    > ontologies (UBERON, CL) where transitive relations like \"part of\" and\n    > \"develops from\" are critical for navigating the hierarchy.\n\n-   `--roots`: List root terms of the ontology (requires `--ontology`).\n\n-   `--preferred_roots`: List preferred root terms (requires `--ontology`).\n\n-   `--summary`: Human-readable summary on stdout, full JSON to `--output`.\n\n-   `--output`: File path to save results (default: stdout).\n\n**4. Get Property Details**\n\nRetrieve details for an ontology property (relation type) with hierarchy.\n\n```bash\nuv run scripts\u002Fget_property.py --obo_id \"BFO:0000051\" --ontology go \\\n  --output \u002Ftmp\u002Fols_property.json 2>\u002Fdev\u002Fnull\n```\n\n*Options:*\n\n-   `--obo_id`: OBO-style ID of the property. Mutually exclusive with `--iri`.\n-   `--iri`: Full IRI of the property. Mutually exclusive with `--obo_id`.\n-   `--ontology`: Ontology ID (required with `--iri`).\n-   `--relations`: Comma-separated: `parents`, `children`, `ancestors`,\n    `descendants`.\n-   `--roots`: List root properties of the ontology (requires `--ontology`).\n-   `--output`: File path to save results (default: stdout).\n\n**5. Get Individual Details**\n\nRetrieve details for an ontology individual (instance).\n\n```bash\nuv run scripts\u002Fget_individual.py --obo_id \"IAO:0000103\" --ontology iao --types \\\n  --output \u002Ftmp\u002Fols_individual.json 2>\u002Fdev\u002Fnull\n```\n\n*Options:*\n\n-   `--obo_id`: OBO-style ID. Mutually exclusive with `--iri`.\n-   `--iri`: Full IRI. Mutually exclusive with `--obo_id`.\n-   `--ontology`: Ontology ID (required with `--iri`).\n-   `--types`: Fetch the direct types (classes) of this individual.\n-   `--alltypes`: Fetch all types including ancestor classes.\n-   `--output`: File path to save results (default: stdout).\n\n**6. Get Ontology Information**\n\nList available ontologies or retrieve details for a specific one.\n\n```bash\nuv run scripts\u002Fget_ontology.py --id go \\\n  --output \u002Ftmp\u002Fols_ontology.json 2>\u002Fdev\u002Fnull\n```\n\n*Options:*\n\n-   `--id`: Specific ontology ID (e.g., `go`, `efo`, `doid`). If omitted, lists\n    all ontologies.\n-   `--page`: Page number for pagination (default 0).\n-   `--size`: Number of ontologies per page (default 20).\n-   `--output`: File path to save results (default: stdout).\n\n**7. Get OLS Statistics**\n\nRetrieve index statistics (total ontologies, classes, properties, individuals).\n\n```bash\nuv run scripts\u002Fget_stats.py --output \u002Ftmp\u002Fols_stats.json 2>\u002Fdev\u002Fnull\n```\n\n*Options:*\n\n-   `--output`: File path to save results (default: stdout).\n\n## Reference\n\n-   **API Reference**: See\n    [references\u002Fapi_reference.md](references\u002Fapi_reference.md) for common ontology\n    IDs, OBO ID format, and key API endpoints.\n\n## Workflow\n\n1.  Use `suggest_ols.py` for autocomplete when you have a partial term name.\n2.  Search for terms using `search_ols.py`. Use `--defining` to prioritize\n    authoritative definitions. Use `--exact` for entity resolution.\n3.  If full details are needed, use `get_term.py` with the OBO ID or IRI. Use\n    `--summary` for a concise view.\n4.  To explore a term's hierarchy, use `get_term.py --relations\n    parents,children` for is-a only, or `--relations\n    hierarchicalParents,hierarchicalChildren` for \"part of\" etc.\n5.  To explore from the top down, use `get_term.py --ontology go --roots`.\n6.  For properties or individuals, use `get_property.py` or `get_individual.py`.\n7.  To discover available ontologies, use `get_ontology.py`.\n8.  To check OLS index status, use `get_stats.py`.\n",{"data":34,"body":35},{"name":4,"description":6},{"type":36,"children":37},"root",[38,47,54,109,115,173,179,185,450,572,578,586,591,685,722,805,846,854,1120,1128,1133,1207,1214,1266,1274,1279,1343,1431,1456,1515,1522,1764,1772,1777,1851,1858,1968,1976,1981,2059,2066,2147,2155,2160,2216,2223,2287,2295,2300,2340,2347,2359,2365,2385,2391,2529],{"type":39,"tag":40,"props":41,"children":43},"element","h1",{"id":42},"embl-ebi-ontology-lookup-service-ols",[44],{"type":45,"value":46},"text","EMBL-EBI Ontology Lookup Service (OLS)",{"type":39,"tag":48,"props":49,"children":51},"h2",{"id":50},"prerequisites",[52],{"type":45,"value":53},"Prerequisites",{"type":39,"tag":55,"props":56,"children":57},"ol",{},[58,89],{"type":39,"tag":59,"props":60,"children":61},"li",{},[62,73,75,80,82,87],{"type":39,"tag":63,"props":64,"children":65},"strong",{},[66],{"type":39,"tag":67,"props":68,"children":70},"code",{"className":69},[],[71],{"type":45,"value":72},"uv",{"type":45,"value":74},": Read the ",{"type":39,"tag":67,"props":76,"children":78},{"className":77},[],[79],{"type":45,"value":72},{"type":45,"value":81}," skill and follow its Setup instructions to ensure\n",{"type":39,"tag":67,"props":83,"children":85},{"className":84},[],[86],{"type":45,"value":72},{"type":45,"value":88}," is installed and on PATH.",{"type":39,"tag":59,"props":90,"children":91},{},[92,97,99,107],{"type":39,"tag":63,"props":93,"children":94},{},[95],{"type":45,"value":96},"User Notification",{"type":45,"value":98},": If .licenses\u002Fembl_ebi_ols_LICENSE.txt does not\nalready exist in the workspace root directory then (1) prominently notify\nthe user to check the terms at ",{"type":39,"tag":100,"props":101,"children":105},"a",{"href":102,"rel":103},"https:\u002F\u002Fwww.ebi.ac.uk\u002Fols4\u002Fapi-docs",[104],"nofollow",[106],{"type":45,"value":102},{"type":45,"value":108},", then (2)\ncreate the file recording the notification text and timestamp.",{"type":39,"tag":48,"props":110,"children":112},{"id":111},"core-rules",[113],{"type":45,"value":114},"Core Rules",{"type":39,"tag":116,"props":117,"children":118},"ul",{},[119,153,163],{"type":39,"tag":59,"props":120,"children":121},{},[122,128,130,135,137,143,145,151],{"type":39,"tag":123,"props":124,"children":125},"span",{},[126],{"type":45,"value":127},"!IMPORTANT",{"type":45,"value":129}," ",{"type":39,"tag":63,"props":131,"children":132},{},[133],{"type":45,"value":134},"Use the Utility Scripts",{"type":45,"value":136},": You MUST ALWAYS use the provided\nutility script under ",{"type":39,"tag":67,"props":138,"children":140},{"className":139},[],[141],{"type":45,"value":142},"scripts\u002F",{"type":45,"value":144}," for all API interactions, including checking\nstatus. NEVER use ",{"type":39,"tag":67,"props":146,"children":148},{"className":147},[],[149],{"type":45,"value":150},"curl",{"type":45,"value":152}," or custom Python requests to query API directly.",{"type":39,"tag":59,"props":154,"children":155},{},[156,161],{"type":39,"tag":63,"props":157,"children":158},{},[159],{"type":45,"value":160},"Rate Limiting & Resilience",{"type":45,"value":162},": You MUST respect EBI's Terms of Use with a\nmaximum 5 requests per second. The provided utility scripts automatically\nenforce this.",{"type":39,"tag":59,"props":164,"children":165},{},[166,171],{"type":39,"tag":63,"props":167,"children":168},{},[169],{"type":45,"value":170},"Notification",{"type":45,"value":172},": If this skill is used, ensure this is mentioned in the\noutput.",{"type":39,"tag":48,"props":174,"children":176},{"id":175},"when-to-use-quick-recipes",[177],{"type":45,"value":178},"When to Use — Quick Recipes",{"type":39,"tag":180,"props":181,"children":182},"p",{},[183],{"type":45,"value":184},"Use this skill whenever a user query matches one of these patterns:",{"type":39,"tag":116,"props":186,"children":187},{},[188,204,227,242,272,288,304,320,336,347,365,401,417,428,439],{"type":39,"tag":59,"props":189,"children":190},{},[191,196,198],{"type":39,"tag":63,"props":192,"children":193},{},[194],{"type":45,"value":195},"Definition",{"type":45,"value":197}," of a disease, phenotype, or term → ",{"type":39,"tag":67,"props":199,"children":201},{"className":200},[],[202],{"type":45,"value":203},"get_term.py --obo_id \u003CID> --summary",{"type":39,"tag":59,"props":205,"children":206},{},[207,212,214,219,221],{"type":39,"tag":63,"props":208,"children":209},{},[210],{"type":45,"value":211},"Subtypes",{"type":45,"value":213}," or ",{"type":39,"tag":63,"props":215,"children":216},{},[217],{"type":45,"value":218},"children",{"type":45,"value":220}," of a term → ",{"type":39,"tag":67,"props":222,"children":224},{"className":223},[],[225],{"type":45,"value":226},"get_term.py --obo_id \u003CID> --relations children",{"type":39,"tag":59,"props":228,"children":229},{},[230,235,236],{"type":39,"tag":63,"props":231,"children":232},{},[233],{"type":45,"value":234},"Parent",{"type":45,"value":220},{"type":39,"tag":67,"props":237,"children":239},{"className":238},[],[240],{"type":45,"value":241},"get_term.py --obo_id \u003CID> --relations parents",{"type":39,"tag":59,"props":243,"children":244},{},[245,250,252,257,259,264,266],{"type":39,"tag":63,"props":246,"children":247},{},[248],{"type":45,"value":249},"Ancestors",{"type":45,"value":251}," \u002F disease ",{"type":39,"tag":63,"props":253,"children":254},{},[255],{"type":45,"value":256},"categories",{"type":45,"value":258}," \u002F ",{"type":39,"tag":63,"props":260,"children":261},{},[262],{"type":45,"value":263},"classified under",{"type":45,"value":265}," → ",{"type":39,"tag":67,"props":267,"children":269},{"className":268},[],[270],{"type":45,"value":271},"get_term.py --obo_id \u003CID> --relations ancestors",{"type":39,"tag":59,"props":273,"children":274},{},[275,280,282],{"type":39,"tag":63,"props":276,"children":277},{},[278],{"type":45,"value":279},"Root terms",{"type":45,"value":281}," of an ontology → ",{"type":39,"tag":67,"props":283,"children":285},{"className":284},[],[286],{"type":45,"value":287},"get_term.py --ontology \u003Cid> --roots",{"type":39,"tag":59,"props":289,"children":290},{},[291,296,298],{"type":39,"tag":63,"props":292,"children":293},{},[294],{"type":45,"value":295},"Hierarchical",{"type":45,"value":297}," parents (is-a + part-of) → ",{"type":39,"tag":67,"props":299,"children":301},{"className":300},[],[302],{"type":45,"value":303},"get_term.py --obo_id \u003CID> --relations hierarchicalParents",{"type":39,"tag":59,"props":305,"children":306},{},[307,312,314],{"type":39,"tag":63,"props":308,"children":309},{},[310],{"type":45,"value":311},"Structures part of",{"type":45,"value":313}," \u002F hierarchical children → ",{"type":39,"tag":67,"props":315,"children":317},{"className":316},[],[318],{"type":45,"value":319},"get_term.py --obo_id \u003CID> --relations hierarchicalChildren",{"type":39,"tag":59,"props":321,"children":322},{},[323,328,330],{"type":39,"tag":63,"props":324,"children":325},{},[326],{"type":45,"value":327},"Compare",{"type":45,"value":329}," direct vs hierarchical parents → ",{"type":39,"tag":67,"props":331,"children":333},{"className":332},[],[334],{"type":45,"value":335},"get_term.py --obo_id \u003CID> --relations parents,hierarchicalParents",{"type":39,"tag":59,"props":337,"children":338},{},[339,341],{"type":45,"value":340},"Search for a term (e.g., \"apoptosis\" in GO) → ",{"type":39,"tag":67,"props":342,"children":344},{"className":343},[],[345],{"type":45,"value":346},"search_ols.py --query \"...\" --ontology \u003Cid>",{"type":39,"tag":59,"props":348,"children":349},{},[350,352,357,359],{"type":45,"value":351},"Find a ",{"type":39,"tag":63,"props":353,"children":354},{},[355],{"type":45,"value":356},"GO term",{"type":45,"value":358}," matching a function → ",{"type":39,"tag":67,"props":360,"children":362},{"className":361},[],[363],{"type":45,"value":364},"search_ols.py --query \"...\" --ontology go --exact",{"type":39,"tag":59,"props":366,"children":367},{},[368,370,375,377,382,383,388,389,394,395],{"type":45,"value":369},"Search in ",{"type":39,"tag":63,"props":371,"children":372},{},[373],{"type":45,"value":374},"MONDO",{"type":45,"value":376},", ",{"type":39,"tag":63,"props":378,"children":379},{},[380],{"type":45,"value":381},"CHEBI",{"type":45,"value":376},{"type":39,"tag":63,"props":384,"children":385},{},[386],{"type":45,"value":387},"CL",{"type":45,"value":376},{"type":39,"tag":63,"props":390,"children":391},{},[392],{"type":45,"value":393},"UBERON",{"type":45,"value":265},{"type":39,"tag":67,"props":396,"children":398},{"className":397},[],[399],{"type":45,"value":400},"search_ols.py --query \"...\" --ontology \u003Cid> --defining",{"type":39,"tag":59,"props":402,"children":403},{},[404,409,411],{"type":39,"tag":63,"props":405,"children":406},{},[407],{"type":45,"value":408},"Paginate",{"type":45,"value":410}," search results \u002F next page → ",{"type":39,"tag":67,"props":412,"children":414},{"className":413},[],[415],{"type":45,"value":416},"search_ols.py --query \"...\" --rows N --start \u003Coffset>",{"type":39,"tag":59,"props":418,"children":419},{},[420,422],{"type":45,"value":421},"Autocomplete a partial name → ",{"type":39,"tag":67,"props":423,"children":425},{"className":424},[],[426],{"type":45,"value":427},"suggest_ols.py --query \"...\"",{"type":39,"tag":59,"props":429,"children":430},{},[431,433],{"type":45,"value":432},"Ontology metadata (e.g., EFO info) → ",{"type":39,"tag":67,"props":434,"children":436},{"className":435},[],[437],{"type":45,"value":438},"get_ontology.py --id \u003Cid>",{"type":39,"tag":59,"props":440,"children":441},{},[442,444],{"type":45,"value":443},"OLS index statistics → ",{"type":39,"tag":67,"props":445,"children":447},{"className":446},[],[448],{"type":45,"value":449},"get_stats.py",{"type":39,"tag":451,"props":452,"children":453},"blockquote",{},[454,471,506],{"type":39,"tag":180,"props":455,"children":456},{},[457,462,464,469],{"type":39,"tag":63,"props":458,"children":459},{},[460],{"type":45,"value":461},"Multi-step queries",{"type":45,"value":463}," (e.g., \"What is the parent of myocardial infarction?\"):\nWhen the user names a term but you don't know its OBO ID, complete in\n",{"type":39,"tag":63,"props":465,"children":466},{},[467],{"type":45,"value":468},"exactly 2 steps",{"type":45,"value":470}," — do NOT search across multiple ontologies:",{"type":39,"tag":55,"props":472,"children":473},{},[474,490],{"type":39,"tag":59,"props":475,"children":476},{},[477,482,484],{"type":39,"tag":63,"props":478,"children":479},{},[480],{"type":45,"value":481},"Search",{"type":45,"value":483}," in the single most appropriate ontology: ",{"type":39,"tag":67,"props":485,"children":487},{"className":486},[],[488],{"type":45,"value":489},"search_ols.py --query \"myocardial infarction\" --ontology doid --exact --rows 1 --output \u002Ftmp\u002Fstep1.json",{"type":39,"tag":59,"props":491,"children":492},{},[493,498,500],{"type":39,"tag":63,"props":494,"children":495},{},[496],{"type":45,"value":497},"Get relations",{"type":45,"value":499}," using the OBO ID from step 1: ",{"type":39,"tag":67,"props":501,"children":503},{"className":502},[],[504],{"type":45,"value":505},"get_term.py --obo_id DOID:5844 --relations parents --output \u002Ftmp\u002Fstep2.json",{"type":39,"tag":180,"props":507,"children":508},{},[509,514,516,522,524,530,532,538,540,546,548,554,556,562,564,570],{"type":39,"tag":63,"props":510,"children":511},{},[512],{"type":45,"value":513},"Ontology selection rule",{"type":45,"value":515},": ALWAYS use ",{"type":39,"tag":67,"props":517,"children":519},{"className":518},[],[520],{"type":45,"value":521},"doid",{"type":45,"value":523}," for common human diseases\n(e.g., diabetes, cancer), ",{"type":39,"tag":67,"props":525,"children":527},{"className":526},[],[528],{"type":45,"value":529},"hp",{"type":45,"value":531}," for phenotypes, ",{"type":39,"tag":67,"props":533,"children":535},{"className":534},[],[536],{"type":45,"value":537},"go",{"type":45,"value":539}," for gene functions,\n",{"type":39,"tag":67,"props":541,"children":543},{"className":542},[],[544],{"type":45,"value":545},"chebi",{"type":45,"value":547}," for chemicals, ",{"type":39,"tag":67,"props":549,"children":551},{"className":550},[],[552],{"type":45,"value":553},"uberon",{"type":45,"value":555}," for anatomy, ",{"type":39,"tag":67,"props":557,"children":559},{"className":558},[],[560],{"type":45,"value":561},"cl",{"type":45,"value":563}," for cell types. Use ",{"type":39,"tag":67,"props":565,"children":567},{"className":566},[],[568],{"type":45,"value":569},"mondo",{"type":45,"value":571},"\nONLY when cross-species context is explicitly mentioned or needed.",{"type":39,"tag":48,"props":573,"children":575},{"id":574},"utility-scripts",[576],{"type":45,"value":577},"Utility Scripts",{"type":39,"tag":180,"props":579,"children":580},{},[581],{"type":39,"tag":63,"props":582,"children":583},{},[584],{"type":45,"value":585},"1. Search Terms Across Ontologies",{"type":39,"tag":180,"props":587,"children":588},{},[589],{"type":45,"value":590},"Search for ontology terms by keyword and return clean JSON.",{"type":39,"tag":592,"props":593,"children":598},"pre",{"className":594,"code":595,"language":596,"meta":597,"style":597},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","uv run scripts\u002Fsearch_ols.py --query \"diabetes\" \\\n  --rows 5 --output \u002Ftmp\u002Fols_search_results.json 2>\u002Fdev\u002Fnull\n","bash","",[599],{"type":39,"tag":67,"props":600,"children":601},{"__ignoreMap":597},[602,650],{"type":39,"tag":123,"props":603,"children":606},{"class":604,"line":605},"line",1,[607,612,618,623,628,634,639,644],{"type":39,"tag":123,"props":608,"children":610},{"style":609},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[611],{"type":45,"value":72},{"type":39,"tag":123,"props":613,"children":615},{"style":614},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[616],{"type":45,"value":617}," run",{"type":39,"tag":123,"props":619,"children":620},{"style":614},[621],{"type":45,"value":622}," scripts\u002Fsearch_ols.py",{"type":39,"tag":123,"props":624,"children":625},{"style":614},[626],{"type":45,"value":627}," --query",{"type":39,"tag":123,"props":629,"children":631},{"style":630},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[632],{"type":45,"value":633}," \"",{"type":39,"tag":123,"props":635,"children":636},{"style":614},[637],{"type":45,"value":638},"diabetes",{"type":39,"tag":123,"props":640,"children":641},{"style":630},[642],{"type":45,"value":643},"\"",{"type":39,"tag":123,"props":645,"children":647},{"style":646},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[648],{"type":45,"value":649}," \\\n",{"type":39,"tag":123,"props":651,"children":653},{"class":604,"line":652},2,[654,659,665,670,675,680],{"type":39,"tag":123,"props":655,"children":656},{"style":614},[657],{"type":45,"value":658},"  --rows",{"type":39,"tag":123,"props":660,"children":662},{"style":661},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[663],{"type":45,"value":664}," 5",{"type":39,"tag":123,"props":666,"children":667},{"style":614},[668],{"type":45,"value":669}," --output",{"type":39,"tag":123,"props":671,"children":672},{"style":614},[673],{"type":45,"value":674}," \u002Ftmp\u002Fols_search_results.json",{"type":39,"tag":123,"props":676,"children":677},{"style":630},[678],{"type":45,"value":679}," 2>",{"type":39,"tag":123,"props":681,"children":682},{"style":614},[683],{"type":45,"value":684},"\u002Fdev\u002Fnull\n",{"type":39,"tag":451,"props":686,"children":687},{},[688],{"type":39,"tag":180,"props":689,"children":690},{},[691,696,698,704,706,712,714,720],{"type":39,"tag":63,"props":692,"children":693},{},[694],{"type":45,"value":695},"Important",{"type":45,"value":697},": ",{"type":39,"tag":67,"props":699,"children":701},{"className":700},[],[702],{"type":45,"value":703},"--output",{"type":45,"value":705}," is required for all scripts. Results are always\nwritten to the specified file. For larger output, you can limit ",{"type":39,"tag":67,"props":707,"children":709},{"className":708},[],[710],{"type":45,"value":711},"--rows",{"type":45,"value":713},"\n(e.g., 5-10) or paginate using ",{"type":39,"tag":67,"props":715,"children":717},{"className":716},[],[718],{"type":45,"value":719},"--start",{"type":45,"value":721},".",{"type":39,"tag":180,"props":723,"children":724},{},[725,731,733,739,740,746,747,753,755,761,762,768,769,775,776,782,783,789,790,796,798,804],{"type":39,"tag":726,"props":727,"children":728},"em",{},[729],{"type":45,"value":730},"Returned Fields:",{"type":45,"value":732}," JSON results include ",{"type":39,"tag":67,"props":734,"children":736},{"className":735},[],[737],{"type":45,"value":738},"iri",{"type":45,"value":376},{"type":39,"tag":67,"props":741,"children":743},{"className":742},[],[744],{"type":45,"value":745},"label",{"type":45,"value":376},{"type":39,"tag":67,"props":748,"children":750},{"className":749},[],[751],{"type":45,"value":752},"description",{"type":45,"value":754},",\n",{"type":39,"tag":67,"props":756,"children":758},{"className":757},[],[759],{"type":45,"value":760},"ontology_name",{"type":45,"value":376},{"type":39,"tag":67,"props":763,"children":765},{"className":764},[],[766],{"type":45,"value":767},"ontology_prefix",{"type":45,"value":376},{"type":39,"tag":67,"props":770,"children":772},{"className":771},[],[773],{"type":45,"value":774},"obo_id",{"type":45,"value":376},{"type":39,"tag":67,"props":777,"children":779},{"className":778},[],[780],{"type":45,"value":781},"short_form",{"type":45,"value":376},{"type":39,"tag":67,"props":784,"children":786},{"className":785},[],[787],{"type":45,"value":788},"type",{"type":45,"value":754},{"type":39,"tag":67,"props":791,"children":793},{"className":792},[],[794],{"type":45,"value":795},"is_defining_ontology",{"type":45,"value":797},", and ",{"type":39,"tag":67,"props":799,"children":801},{"className":800},[],[802],{"type":45,"value":803},"exact_synonyms",{"type":45,"value":721},{"type":39,"tag":180,"props":806,"children":807},{},[808,813,815,821,823,829,830,836,838,844],{"type":39,"tag":726,"props":809,"children":810},{},[811],{"type":45,"value":812},"Pagination:",{"type":45,"value":814}," Output includes a ",{"type":39,"tag":67,"props":816,"children":818},{"className":817},[],[819],{"type":45,"value":820},"pagination",{"type":45,"value":822}," block with ",{"type":39,"tag":67,"props":824,"children":826},{"className":825},[],[827],{"type":45,"value":828},"start",{"type":45,"value":376},{"type":39,"tag":67,"props":831,"children":833},{"className":832},[],[834],{"type":45,"value":835},"rows",{"type":45,"value":837},", and\n",{"type":39,"tag":67,"props":839,"children":841},{"className":840},[],[842],{"type":45,"value":843},"has_more",{"type":45,"value":845}," so you can decide whether to fetch more results.",{"type":39,"tag":180,"props":847,"children":848},{},[849],{"type":39,"tag":726,"props":850,"children":851},{},[852],{"type":45,"value":853},"Options:",{"type":39,"tag":116,"props":855,"children":856},{},[857,868,912,951,969,988,999,1010,1021,1032,1051,1062,1073,1084,1094,1104],{"type":39,"tag":59,"props":858,"children":859},{},[860,866],{"type":39,"tag":67,"props":861,"children":863},{"className":862},[],[864],{"type":45,"value":865},"--query",{"type":45,"value":867},": Search string (required). Searches labels, synonyms,\ndescriptions, and identifiers.",{"type":39,"tag":59,"props":869,"children":870},{},[871,877,879,884,885,890,891,897,898,903,905,910],{"type":39,"tag":67,"props":872,"children":874},{"className":873},[],[875],{"type":45,"value":876},"--ontology",{"type":45,"value":878},": Filter by ontology ID (e.g., ",{"type":39,"tag":67,"props":880,"children":882},{"className":881},[],[883],{"type":45,"value":537},{"type":45,"value":376},{"type":39,"tag":67,"props":886,"children":888},{"className":887},[],[889],{"type":45,"value":521},{"type":45,"value":376},{"type":39,"tag":67,"props":892,"children":894},{"className":893},[],[895],{"type":45,"value":896},"efo",{"type":45,"value":376},{"type":39,"tag":67,"props":899,"children":901},{"className":900},[],[902],{"type":45,"value":529},{"type":45,"value":904},").\n",{"type":39,"tag":63,"props":906,"children":907},{},[908],{"type":45,"value":909},"Recommended",{"type":45,"value":911}," when you know which ontology to search — avoids noise from\n250+ ontologies.",{"type":39,"tag":59,"props":913,"children":914},{},[915,921,923,929,930,936,937,943,945,950],{"type":39,"tag":67,"props":916,"children":918},{"className":917},[],[919],{"type":45,"value":920},"--type",{"type":45,"value":922},": Filter by entity type: ",{"type":39,"tag":67,"props":924,"children":926},{"className":925},[],[927],{"type":45,"value":928},"class",{"type":45,"value":376},{"type":39,"tag":67,"props":931,"children":933},{"className":932},[],[934],{"type":45,"value":935},"property",{"type":45,"value":376},{"type":39,"tag":67,"props":938,"children":940},{"className":939},[],[941],{"type":45,"value":942},"individual",{"type":45,"value":944},", or\n",{"type":39,"tag":67,"props":946,"children":948},{"className":947},[],[949],{"type":45,"value":18},{"type":45,"value":721},{"type":39,"tag":59,"props":952,"children":953},{},[954,960,962,967],{"type":39,"tag":67,"props":955,"children":957},{"className":956},[],[958],{"type":45,"value":959},"--exact",{"type":45,"value":961},": Flag for exact label match only. ",{"type":39,"tag":63,"props":963,"children":964},{},[965],{"type":45,"value":966},"Use this for entity\nresolution",{"type":45,"value":968}," when mapping a user's string to a specific ontology term ID.",{"type":39,"tag":59,"props":970,"children":971},{},[972,978,980,986],{"type":39,"tag":67,"props":973,"children":975},{"className":974},[],[976],{"type":45,"value":977},"--defining",{"type":45,"value":979},": Only return terms from their defining (authoritative)\nontology. E.g., ",{"type":39,"tag":67,"props":981,"children":983},{"className":982},[],[984],{"type":45,"value":985},"GO:0005634",{"type":45,"value":987}," only from GO, not cross-referenced copies.",{"type":39,"tag":59,"props":989,"children":990},{},[991,997],{"type":39,"tag":67,"props":992,"children":994},{"className":993},[],[995],{"type":45,"value":996},"--obsolete",{"type":45,"value":998},": Flag to include obsolete terms in results.",{"type":39,"tag":59,"props":1000,"children":1001},{},[1002,1008],{"type":39,"tag":67,"props":1003,"children":1005},{"className":1004},[],[1006],{"type":45,"value":1007},"--local",{"type":45,"value":1009},": Only return terms in their defining ontology.",{"type":39,"tag":59,"props":1011,"children":1012},{},[1013,1019],{"type":39,"tag":67,"props":1014,"children":1016},{"className":1015},[],[1017],{"type":45,"value":1018},"--childrenOf",{"type":45,"value":1020},": Restrict to children of given term IRI(s), comma-separated.",{"type":39,"tag":59,"props":1022,"children":1023},{},[1024,1030],{"type":39,"tag":67,"props":1025,"children":1027},{"className":1026},[],[1028],{"type":45,"value":1029},"--allChildrenOf",{"type":45,"value":1031},": Restrict to all children including transitive relations\n(part of, develops from), comma-separated IRIs.",{"type":39,"tag":59,"props":1033,"children":1034},{},[1035,1041,1043,1049],{"type":39,"tag":67,"props":1036,"children":1038},{"className":1037},[],[1039],{"type":45,"value":1040},"--queryFields",{"type":45,"value":1042},": Comma-separated fields to search in (e.g.,\n",{"type":39,"tag":67,"props":1044,"children":1046},{"className":1045},[],[1047],{"type":45,"value":1048},"label,synonym,description",{"type":45,"value":1050},").",{"type":39,"tag":59,"props":1052,"children":1053},{},[1054,1060],{"type":39,"tag":67,"props":1055,"children":1057},{"className":1056},[],[1058],{"type":45,"value":1059},"--fieldList",{"type":45,"value":1061},": Comma-separated fields to return.",{"type":39,"tag":59,"props":1063,"children":1064},{},[1065,1071],{"type":39,"tag":67,"props":1066,"children":1068},{"className":1067},[],[1069],{"type":45,"value":1070},"--groupField",{"type":45,"value":1072},": Group results by unique IRI.",{"type":39,"tag":59,"props":1074,"children":1075},{},[1076,1082],{"type":39,"tag":67,"props":1077,"children":1079},{"className":1078},[],[1080],{"type":45,"value":1081},"--isLeaf",{"type":45,"value":1083},": Only return leaf terms (no children).",{"type":39,"tag":59,"props":1085,"children":1086},{},[1087,1092],{"type":39,"tag":67,"props":1088,"children":1090},{"className":1089},[],[1091],{"type":45,"value":711},{"type":45,"value":1093},": Number of results to return (default 10).",{"type":39,"tag":59,"props":1095,"children":1096},{},[1097,1102],{"type":39,"tag":67,"props":1098,"children":1100},{"className":1099},[],[1101],{"type":45,"value":719},{"type":45,"value":1103},": Pagination offset (default 0).",{"type":39,"tag":59,"props":1105,"children":1106},{},[1107,1112,1114,1119],{"type":39,"tag":67,"props":1108,"children":1110},{"className":1109},[],[1111],{"type":45,"value":703},{"type":45,"value":1113},": File path to save results (",{"type":39,"tag":63,"props":1115,"children":1116},{},[1117],{"type":45,"value":1118},"required",{"type":45,"value":1050},{"type":39,"tag":180,"props":1121,"children":1122},{},[1123],{"type":39,"tag":63,"props":1124,"children":1125},{},[1126],{"type":45,"value":1127},"2. Autocomplete \u002F Suggest",{"type":39,"tag":180,"props":1129,"children":1130},{},[1131],{"type":45,"value":1132},"Get autocomplete suggestions for partial term names.",{"type":39,"tag":592,"props":1134,"children":1136},{"className":594,"code":1135,"language":596,"meta":597,"style":597},"uv run scripts\u002Fsuggest_ols.py --query \"diabet\" --rows 5 \\\n  --output \u002Ftmp\u002Fols_suggest.json 2>\u002Fdev\u002Fnull\n",[1137],{"type":39,"tag":67,"props":1138,"children":1139},{"__ignoreMap":597},[1140,1186],{"type":39,"tag":123,"props":1141,"children":1142},{"class":604,"line":605},[1143,1147,1151,1156,1160,1164,1169,1173,1178,1182],{"type":39,"tag":123,"props":1144,"children":1145},{"style":609},[1146],{"type":45,"value":72},{"type":39,"tag":123,"props":1148,"children":1149},{"style":614},[1150],{"type":45,"value":617},{"type":39,"tag":123,"props":1152,"children":1153},{"style":614},[1154],{"type":45,"value":1155}," scripts\u002Fsuggest_ols.py",{"type":39,"tag":123,"props":1157,"children":1158},{"style":614},[1159],{"type":45,"value":627},{"type":39,"tag":123,"props":1161,"children":1162},{"style":630},[1163],{"type":45,"value":633},{"type":39,"tag":123,"props":1165,"children":1166},{"style":614},[1167],{"type":45,"value":1168},"diabet",{"type":39,"tag":123,"props":1170,"children":1171},{"style":630},[1172],{"type":45,"value":643},{"type":39,"tag":123,"props":1174,"children":1175},{"style":614},[1176],{"type":45,"value":1177}," --rows",{"type":39,"tag":123,"props":1179,"children":1180},{"style":661},[1181],{"type":45,"value":664},{"type":39,"tag":123,"props":1183,"children":1184},{"style":646},[1185],{"type":45,"value":649},{"type":39,"tag":123,"props":1187,"children":1188},{"class":604,"line":652},[1189,1194,1199,1203],{"type":39,"tag":123,"props":1190,"children":1191},{"style":614},[1192],{"type":45,"value":1193},"  --output",{"type":39,"tag":123,"props":1195,"children":1196},{"style":614},[1197],{"type":45,"value":1198}," \u002Ftmp\u002Fols_suggest.json",{"type":39,"tag":123,"props":1200,"children":1201},{"style":630},[1202],{"type":45,"value":679},{"type":39,"tag":123,"props":1204,"children":1205},{"style":614},[1206],{"type":45,"value":684},{"type":39,"tag":180,"props":1208,"children":1209},{},[1210],{"type":39,"tag":726,"props":1211,"children":1212},{},[1213],{"type":45,"value":853},{"type":39,"tag":116,"props":1215,"children":1216},{},[1217,1227,1237,1247,1256],{"type":39,"tag":59,"props":1218,"children":1219},{},[1220,1225],{"type":39,"tag":67,"props":1221,"children":1223},{"className":1222},[],[1224],{"type":45,"value":865},{"type":45,"value":1226},": Partial term to autocomplete (required).",{"type":39,"tag":59,"props":1228,"children":1229},{},[1230,1235],{"type":39,"tag":67,"props":1231,"children":1233},{"className":1232},[],[1234],{"type":45,"value":876},{"type":45,"value":1236},": Filter by ontology ID(s), comma-separated.",{"type":39,"tag":59,"props":1238,"children":1239},{},[1240,1245],{"type":39,"tag":67,"props":1241,"children":1243},{"className":1242},[],[1244],{"type":45,"value":711},{"type":45,"value":1246},": Number of suggestions (default 10).",{"type":39,"tag":59,"props":1248,"children":1249},{},[1250,1255],{"type":39,"tag":67,"props":1251,"children":1253},{"className":1252},[],[1254],{"type":45,"value":719},{"type":45,"value":1103},{"type":39,"tag":59,"props":1257,"children":1258},{},[1259,1264],{"type":39,"tag":67,"props":1260,"children":1262},{"className":1261},[],[1263],{"type":45,"value":703},{"type":45,"value":1265},": File path to save results (default: stdout).",{"type":39,"tag":180,"props":1267,"children":1268},{},[1269],{"type":39,"tag":63,"props":1270,"children":1271},{},[1272],{"type":45,"value":1273},"3. Get Term Details",{"type":39,"tag":180,"props":1275,"children":1276},{},[1277],{"type":45,"value":1278},"Retrieve full details for a specific ontology term by its OBO ID or IRI.",{"type":39,"tag":592,"props":1280,"children":1282},{"className":594,"code":1281,"language":596,"meta":597,"style":597},"uv run scripts\u002Fget_term.py --obo_id \"GO:0005634\" \\\n  --output \u002Ftmp\u002Fols_term.json 2>\u002Fdev\u002Fnull\n",[1283],{"type":39,"tag":67,"props":1284,"children":1285},{"__ignoreMap":597},[1286,1323],{"type":39,"tag":123,"props":1287,"children":1288},{"class":604,"line":605},[1289,1293,1297,1302,1307,1311,1315,1319],{"type":39,"tag":123,"props":1290,"children":1291},{"style":609},[1292],{"type":45,"value":72},{"type":39,"tag":123,"props":1294,"children":1295},{"style":614},[1296],{"type":45,"value":617},{"type":39,"tag":123,"props":1298,"children":1299},{"style":614},[1300],{"type":45,"value":1301}," scripts\u002Fget_term.py",{"type":39,"tag":123,"props":1303,"children":1304},{"style":614},[1305],{"type":45,"value":1306}," --obo_id",{"type":39,"tag":123,"props":1308,"children":1309},{"style":630},[1310],{"type":45,"value":633},{"type":39,"tag":123,"props":1312,"children":1313},{"style":614},[1314],{"type":45,"value":985},{"type":39,"tag":123,"props":1316,"children":1317},{"style":630},[1318],{"type":45,"value":643},{"type":39,"tag":123,"props":1320,"children":1321},{"style":646},[1322],{"type":45,"value":649},{"type":39,"tag":123,"props":1324,"children":1325},{"class":604,"line":652},[1326,1330,1335,1339],{"type":39,"tag":123,"props":1327,"children":1328},{"style":614},[1329],{"type":45,"value":1193},{"type":39,"tag":123,"props":1331,"children":1332},{"style":614},[1333],{"type":45,"value":1334}," \u002Ftmp\u002Fols_term.json",{"type":39,"tag":123,"props":1336,"children":1337},{"style":630},[1338],{"type":45,"value":679},{"type":39,"tag":123,"props":1340,"children":1341},{"style":614},[1342],{"type":45,"value":684},{"type":39,"tag":180,"props":1344,"children":1345},{},[1346,1350,1352,1357,1358,1363,1364,1369,1370,1375,1376,1382,1383,1388,1389,1395,1396,1401,1402,1408,1409,1415,1416,1422,1423,1429],{"type":39,"tag":726,"props":1347,"children":1348},{},[1349],{"type":45,"value":730},{"type":45,"value":1351}," JSON includes ",{"type":39,"tag":67,"props":1353,"children":1355},{"className":1354},[],[1356],{"type":45,"value":738},{"type":45,"value":376},{"type":39,"tag":67,"props":1359,"children":1361},{"className":1360},[],[1362],{"type":45,"value":745},{"type":45,"value":376},{"type":39,"tag":67,"props":1365,"children":1367},{"className":1366},[],[1368],{"type":45,"value":752},{"type":45,"value":376},{"type":39,"tag":67,"props":1371,"children":1373},{"className":1372},[],[1374],{"type":45,"value":774},{"type":45,"value":754},{"type":39,"tag":67,"props":1377,"children":1379},{"className":1378},[],[1380],{"type":45,"value":1381},"synonyms",{"type":45,"value":376},{"type":39,"tag":67,"props":1384,"children":1386},{"className":1385},[],[1387],{"type":45,"value":760},{"type":45,"value":376},{"type":39,"tag":67,"props":1390,"children":1392},{"className":1391},[],[1393],{"type":45,"value":1394},"is_obsolete",{"type":45,"value":376},{"type":39,"tag":67,"props":1397,"children":1399},{"className":1398},[],[1400],{"type":45,"value":795},{"type":45,"value":754},{"type":39,"tag":67,"props":1403,"children":1405},{"className":1404},[],[1406],{"type":45,"value":1407},"has_children",{"type":45,"value":376},{"type":39,"tag":67,"props":1410,"children":1412},{"className":1411},[],[1413],{"type":45,"value":1414},"is_root",{"type":45,"value":376},{"type":39,"tag":67,"props":1417,"children":1419},{"className":1418},[],[1420],{"type":45,"value":1421},"annotation",{"type":45,"value":376},{"type":39,"tag":67,"props":1424,"children":1426},{"className":1425},[],[1427],{"type":45,"value":1428},"in_subset",{"type":45,"value":1430},", and any requested\nrelations.",{"type":39,"tag":180,"props":1432,"children":1433},{},[1434,1439,1441,1447,1449,1454],{"type":39,"tag":726,"props":1435,"children":1436},{},[1437],{"type":45,"value":1438},"Summary Mode:",{"type":45,"value":1440}," Use ",{"type":39,"tag":67,"props":1442,"children":1444},{"className":1443},[],[1445],{"type":45,"value":1446},"--summary",{"type":45,"value":1448}," to get a clean, human-readable block on stdout\n(Label, OBO ID, Ontology, Definition, Synonyms). The full JSON is always saved\nto the ",{"type":39,"tag":67,"props":1450,"children":1452},{"className":1451},[],[1453],{"type":45,"value":703},{"type":45,"value":1455}," file.",{"type":39,"tag":592,"props":1457,"children":1459},{"className":594,"code":1458,"language":596,"meta":597,"style":597},"uv run scripts\u002Fget_term.py --obo_id \"GO:0005634\" --summary \\\n  --output \u002Ftmp\u002Fnucleus_full.json\n",[1460],{"type":39,"tag":67,"props":1461,"children":1462},{"__ignoreMap":597},[1463,1503],{"type":39,"tag":123,"props":1464,"children":1465},{"class":604,"line":605},[1466,1470,1474,1478,1482,1486,1490,1494,1499],{"type":39,"tag":123,"props":1467,"children":1468},{"style":609},[1469],{"type":45,"value":72},{"type":39,"tag":123,"props":1471,"children":1472},{"style":614},[1473],{"type":45,"value":617},{"type":39,"tag":123,"props":1475,"children":1476},{"style":614},[1477],{"type":45,"value":1301},{"type":39,"tag":123,"props":1479,"children":1480},{"style":614},[1481],{"type":45,"value":1306},{"type":39,"tag":123,"props":1483,"children":1484},{"style":630},[1485],{"type":45,"value":633},{"type":39,"tag":123,"props":1487,"children":1488},{"style":614},[1489],{"type":45,"value":985},{"type":39,"tag":123,"props":1491,"children":1492},{"style":630},[1493],{"type":45,"value":643},{"type":39,"tag":123,"props":1495,"children":1496},{"style":614},[1497],{"type":45,"value":1498}," --summary",{"type":39,"tag":123,"props":1500,"children":1501},{"style":646},[1502],{"type":45,"value":649},{"type":39,"tag":123,"props":1504,"children":1505},{"class":604,"line":652},[1506,1510],{"type":39,"tag":123,"props":1507,"children":1508},{"style":614},[1509],{"type":45,"value":1193},{"type":39,"tag":123,"props":1511,"children":1512},{"style":614},[1513],{"type":45,"value":1514}," \u002Ftmp\u002Fnucleus_full.json\n",{"type":39,"tag":180,"props":1516,"children":1517},{},[1518],{"type":39,"tag":726,"props":1519,"children":1520},{},[1521],{"type":45,"value":853},{"type":39,"tag":116,"props":1523,"children":1524},{},[1525,1558,1574,1591,1705,1722,1739,1755],{"type":39,"tag":59,"props":1526,"children":1527},{},[1528,1534,1536,1541,1542,1548,1550,1556],{"type":39,"tag":67,"props":1529,"children":1531},{"className":1530},[],[1532],{"type":45,"value":1533},"--obo_id",{"type":45,"value":1535},": OBO-style identifier (e.g., ",{"type":39,"tag":67,"props":1537,"children":1539},{"className":1538},[],[1540],{"type":45,"value":985},{"type":45,"value":376},{"type":39,"tag":67,"props":1543,"children":1545},{"className":1544},[],[1546],{"type":45,"value":1547},"DOID:9351",{"type":45,"value":1549},"). Mutually\nexclusive with ",{"type":39,"tag":67,"props":1551,"children":1553},{"className":1552},[],[1554],{"type":45,"value":1555},"--iri",{"type":45,"value":1557},". Auto-converts to IRI with double encoding.",{"type":39,"tag":59,"props":1559,"children":1560},{},[1561,1566,1568,1573],{"type":39,"tag":67,"props":1562,"children":1564},{"className":1563},[],[1565],{"type":45,"value":1555},{"type":45,"value":1567},": Full IRI of the term. Mutually exclusive with ",{"type":39,"tag":67,"props":1569,"children":1571},{"className":1570},[],[1572],{"type":45,"value":1533},{"type":45,"value":721},{"type":39,"tag":59,"props":1575,"children":1576},{},[1577,1582,1584,1589],{"type":39,"tag":67,"props":1578,"children":1580},{"className":1579},[],[1581],{"type":45,"value":876},{"type":45,"value":1583},": Ontology ID (auto-derived from ",{"type":39,"tag":67,"props":1585,"children":1587},{"className":1586},[],[1588],{"type":45,"value":1533},{"type":45,"value":1590}," if not provided).",{"type":39,"tag":59,"props":1592,"children":1593},{},[1594,1600,1602,1692],{"type":39,"tag":67,"props":1595,"children":1597},{"className":1596},[],[1598],{"type":45,"value":1599},"--relations",{"type":45,"value":1601},": Comma-separated list of relations to fetch.",{"type":39,"tag":116,"props":1603,"children":1604},{},[1605,1640,1675],{"type":39,"tag":59,"props":1606,"children":1607},{},[1608,1613,1614,1620,1621,1626,1627,1633,1634],{"type":39,"tag":63,"props":1609,"children":1610},{},[1611],{"type":45,"value":1612},"Direct (is-a only):",{"type":45,"value":129},{"type":39,"tag":67,"props":1615,"children":1617},{"className":1616},[],[1618],{"type":45,"value":1619},"parents",{"type":45,"value":376},{"type":39,"tag":67,"props":1622,"children":1624},{"className":1623},[],[1625],{"type":45,"value":218},{"type":45,"value":376},{"type":39,"tag":67,"props":1628,"children":1630},{"className":1629},[],[1631],{"type":45,"value":1632},"ancestors",{"type":45,"value":754},{"type":39,"tag":67,"props":1635,"children":1637},{"className":1636},[],[1638],{"type":45,"value":1639},"descendants",{"type":39,"tag":59,"props":1641,"children":1642},{},[1643,1648,1654,1655,1661,1662,1668,1669],{"type":39,"tag":63,"props":1644,"children":1645},{},[1646],{"type":45,"value":1647},"Hierarchical (is-a + transitive like \"part of\", \"develops from\"):",{"type":39,"tag":67,"props":1649,"children":1651},{"className":1650},[],[1652],{"type":45,"value":1653},"hierarchicalParents",{"type":45,"value":376},{"type":39,"tag":67,"props":1656,"children":1658},{"className":1657},[],[1659],{"type":45,"value":1660},"hierarchicalChildren",{"type":45,"value":376},{"type":39,"tag":67,"props":1663,"children":1665},{"className":1664},[],[1666],{"type":45,"value":1667},"hierarchicalAncestors",{"type":45,"value":754},{"type":39,"tag":67,"props":1670,"children":1672},{"className":1671},[],[1673],{"type":45,"value":1674},"hierarchicalDescendants",{"type":39,"tag":59,"props":1676,"children":1677},{},[1678,1683,1684,1690],{"type":39,"tag":63,"props":1679,"children":1680},{},[1681],{"type":45,"value":1682},"Graph:",{"type":45,"value":129},{"type":39,"tag":67,"props":1685,"children":1687},{"className":1686},[],[1688],{"type":45,"value":1689},"graph",{"type":45,"value":1691}," — full graph JSON for a term",{"type":39,"tag":451,"props":1693,"children":1694},{},[1695],{"type":39,"tag":180,"props":1696,"children":1697},{},[1698,1703],{"type":39,"tag":63,"props":1699,"children":1700},{},[1701],{"type":45,"value":1702},"Note",{"type":45,"value":1704},": Use hierarchical variants for anatomical\u002Fdevelopmental\nontologies (UBERON, CL) where transitive relations like \"part of\" and\n\"develops from\" are critical for navigating the hierarchy.",{"type":39,"tag":59,"props":1706,"children":1707},{},[1708,1714,1716,1721],{"type":39,"tag":67,"props":1709,"children":1711},{"className":1710},[],[1712],{"type":45,"value":1713},"--roots",{"type":45,"value":1715},": List root terms of the ontology (requires ",{"type":39,"tag":67,"props":1717,"children":1719},{"className":1718},[],[1720],{"type":45,"value":876},{"type":45,"value":1050},{"type":39,"tag":59,"props":1723,"children":1724},{},[1725,1731,1733,1738],{"type":39,"tag":67,"props":1726,"children":1728},{"className":1727},[],[1729],{"type":45,"value":1730},"--preferred_roots",{"type":45,"value":1732},": List preferred root terms (requires ",{"type":39,"tag":67,"props":1734,"children":1736},{"className":1735},[],[1737],{"type":45,"value":876},{"type":45,"value":1050},{"type":39,"tag":59,"props":1740,"children":1741},{},[1742,1747,1749,1754],{"type":39,"tag":67,"props":1743,"children":1745},{"className":1744},[],[1746],{"type":45,"value":1446},{"type":45,"value":1748},": Human-readable summary on stdout, full JSON to ",{"type":39,"tag":67,"props":1750,"children":1752},{"className":1751},[],[1753],{"type":45,"value":703},{"type":45,"value":721},{"type":39,"tag":59,"props":1756,"children":1757},{},[1758,1763],{"type":39,"tag":67,"props":1759,"children":1761},{"className":1760},[],[1762],{"type":45,"value":703},{"type":45,"value":1265},{"type":39,"tag":180,"props":1765,"children":1766},{},[1767],{"type":39,"tag":63,"props":1768,"children":1769},{},[1770],{"type":45,"value":1771},"4. Get Property Details",{"type":39,"tag":180,"props":1773,"children":1774},{},[1775],{"type":45,"value":1776},"Retrieve details for an ontology property (relation type) with hierarchy.",{"type":39,"tag":592,"props":1778,"children":1780},{"className":594,"code":1779,"language":596,"meta":597,"style":597},"uv run scripts\u002Fget_property.py --obo_id \"BFO:0000051\" --ontology go \\\n  --output \u002Ftmp\u002Fols_property.json 2>\u002Fdev\u002Fnull\n",[1781],{"type":39,"tag":67,"props":1782,"children":1783},{"__ignoreMap":597},[1784,1831],{"type":39,"tag":123,"props":1785,"children":1786},{"class":604,"line":605},[1787,1791,1795,1800,1804,1808,1813,1817,1822,1827],{"type":39,"tag":123,"props":1788,"children":1789},{"style":609},[1790],{"type":45,"value":72},{"type":39,"tag":123,"props":1792,"children":1793},{"style":614},[1794],{"type":45,"value":617},{"type":39,"tag":123,"props":1796,"children":1797},{"style":614},[1798],{"type":45,"value":1799}," scripts\u002Fget_property.py",{"type":39,"tag":123,"props":1801,"children":1802},{"style":614},[1803],{"type":45,"value":1306},{"type":39,"tag":123,"props":1805,"children":1806},{"style":630},[1807],{"type":45,"value":633},{"type":39,"tag":123,"props":1809,"children":1810},{"style":614},[1811],{"type":45,"value":1812},"BFO:0000051",{"type":39,"tag":123,"props":1814,"children":1815},{"style":630},[1816],{"type":45,"value":643},{"type":39,"tag":123,"props":1818,"children":1819},{"style":614},[1820],{"type":45,"value":1821}," --ontology",{"type":39,"tag":123,"props":1823,"children":1824},{"style":614},[1825],{"type":45,"value":1826}," go",{"type":39,"tag":123,"props":1828,"children":1829},{"style":646},[1830],{"type":45,"value":649},{"type":39,"tag":123,"props":1832,"children":1833},{"class":604,"line":652},[1834,1838,1843,1847],{"type":39,"tag":123,"props":1835,"children":1836},{"style":614},[1837],{"type":45,"value":1193},{"type":39,"tag":123,"props":1839,"children":1840},{"style":614},[1841],{"type":45,"value":1842}," \u002Ftmp\u002Fols_property.json",{"type":39,"tag":123,"props":1844,"children":1845},{"style":630},[1846],{"type":45,"value":679},{"type":39,"tag":123,"props":1848,"children":1849},{"style":614},[1850],{"type":45,"value":684},{"type":39,"tag":180,"props":1852,"children":1853},{},[1854],{"type":39,"tag":726,"props":1855,"children":1856},{},[1857],{"type":45,"value":853},{"type":39,"tag":116,"props":1859,"children":1860},{},[1861,1877,1893,1909,1943,1959],{"type":39,"tag":59,"props":1862,"children":1863},{},[1864,1869,1871,1876],{"type":39,"tag":67,"props":1865,"children":1867},{"className":1866},[],[1868],{"type":45,"value":1533},{"type":45,"value":1870},": OBO-style ID of the property. Mutually exclusive with ",{"type":39,"tag":67,"props":1872,"children":1874},{"className":1873},[],[1875],{"type":45,"value":1555},{"type":45,"value":721},{"type":39,"tag":59,"props":1878,"children":1879},{},[1880,1885,1887,1892],{"type":39,"tag":67,"props":1881,"children":1883},{"className":1882},[],[1884],{"type":45,"value":1555},{"type":45,"value":1886},": Full IRI of the property. Mutually exclusive with ",{"type":39,"tag":67,"props":1888,"children":1890},{"className":1889},[],[1891],{"type":45,"value":1533},{"type":45,"value":721},{"type":39,"tag":59,"props":1894,"children":1895},{},[1896,1901,1903,1908],{"type":39,"tag":67,"props":1897,"children":1899},{"className":1898},[],[1900],{"type":45,"value":876},{"type":45,"value":1902},": Ontology ID (required with ",{"type":39,"tag":67,"props":1904,"children":1906},{"className":1905},[],[1907],{"type":45,"value":1555},{"type":45,"value":1050},{"type":39,"tag":59,"props":1910,"children":1911},{},[1912,1917,1919,1924,1925,1930,1931,1936,1937,1942],{"type":39,"tag":67,"props":1913,"children":1915},{"className":1914},[],[1916],{"type":45,"value":1599},{"type":45,"value":1918},": Comma-separated: ",{"type":39,"tag":67,"props":1920,"children":1922},{"className":1921},[],[1923],{"type":45,"value":1619},{"type":45,"value":376},{"type":39,"tag":67,"props":1926,"children":1928},{"className":1927},[],[1929],{"type":45,"value":218},{"type":45,"value":376},{"type":39,"tag":67,"props":1932,"children":1934},{"className":1933},[],[1935],{"type":45,"value":1632},{"type":45,"value":754},{"type":39,"tag":67,"props":1938,"children":1940},{"className":1939},[],[1941],{"type":45,"value":1639},{"type":45,"value":721},{"type":39,"tag":59,"props":1944,"children":1945},{},[1946,1951,1953,1958],{"type":39,"tag":67,"props":1947,"children":1949},{"className":1948},[],[1950],{"type":45,"value":1713},{"type":45,"value":1952},": List root properties of the ontology (requires ",{"type":39,"tag":67,"props":1954,"children":1956},{"className":1955},[],[1957],{"type":45,"value":876},{"type":45,"value":1050},{"type":39,"tag":59,"props":1960,"children":1961},{},[1962,1967],{"type":39,"tag":67,"props":1963,"children":1965},{"className":1964},[],[1966],{"type":45,"value":703},{"type":45,"value":1265},{"type":39,"tag":180,"props":1969,"children":1970},{},[1971],{"type":39,"tag":63,"props":1972,"children":1973},{},[1974],{"type":45,"value":1975},"5. Get Individual Details",{"type":39,"tag":180,"props":1977,"children":1978},{},[1979],{"type":45,"value":1980},"Retrieve details for an ontology individual (instance).",{"type":39,"tag":592,"props":1982,"children":1984},{"className":594,"code":1983,"language":596,"meta":597,"style":597},"uv run scripts\u002Fget_individual.py --obo_id \"IAO:0000103\" --ontology iao --types \\\n  --output \u002Ftmp\u002Fols_individual.json 2>\u002Fdev\u002Fnull\n",[1985],{"type":39,"tag":67,"props":1986,"children":1987},{"__ignoreMap":597},[1988,2039],{"type":39,"tag":123,"props":1989,"children":1990},{"class":604,"line":605},[1991,1995,1999,2004,2008,2012,2017,2021,2025,2030,2035],{"type":39,"tag":123,"props":1992,"children":1993},{"style":609},[1994],{"type":45,"value":72},{"type":39,"tag":123,"props":1996,"children":1997},{"style":614},[1998],{"type":45,"value":617},{"type":39,"tag":123,"props":2000,"children":2001},{"style":614},[2002],{"type":45,"value":2003}," scripts\u002Fget_individual.py",{"type":39,"tag":123,"props":2005,"children":2006},{"style":614},[2007],{"type":45,"value":1306},{"type":39,"tag":123,"props":2009,"children":2010},{"style":630},[2011],{"type":45,"value":633},{"type":39,"tag":123,"props":2013,"children":2014},{"style":614},[2015],{"type":45,"value":2016},"IAO:0000103",{"type":39,"tag":123,"props":2018,"children":2019},{"style":630},[2020],{"type":45,"value":643},{"type":39,"tag":123,"props":2022,"children":2023},{"style":614},[2024],{"type":45,"value":1821},{"type":39,"tag":123,"props":2026,"children":2027},{"style":614},[2028],{"type":45,"value":2029}," iao",{"type":39,"tag":123,"props":2031,"children":2032},{"style":614},[2033],{"type":45,"value":2034}," --types",{"type":39,"tag":123,"props":2036,"children":2037},{"style":646},[2038],{"type":45,"value":649},{"type":39,"tag":123,"props":2040,"children":2041},{"class":604,"line":652},[2042,2046,2051,2055],{"type":39,"tag":123,"props":2043,"children":2044},{"style":614},[2045],{"type":45,"value":1193},{"type":39,"tag":123,"props":2047,"children":2048},{"style":614},[2049],{"type":45,"value":2050}," \u002Ftmp\u002Fols_individual.json",{"type":39,"tag":123,"props":2052,"children":2053},{"style":630},[2054],{"type":45,"value":679},{"type":39,"tag":123,"props":2056,"children":2057},{"style":614},[2058],{"type":45,"value":684},{"type":39,"tag":180,"props":2060,"children":2061},{},[2062],{"type":39,"tag":726,"props":2063,"children":2064},{},[2065],{"type":45,"value":853},{"type":39,"tag":116,"props":2067,"children":2068},{},[2069,2085,2101,2116,2127,2138],{"type":39,"tag":59,"props":2070,"children":2071},{},[2072,2077,2079,2084],{"type":39,"tag":67,"props":2073,"children":2075},{"className":2074},[],[2076],{"type":45,"value":1533},{"type":45,"value":2078},": OBO-style ID. Mutually exclusive with ",{"type":39,"tag":67,"props":2080,"children":2082},{"className":2081},[],[2083],{"type":45,"value":1555},{"type":45,"value":721},{"type":39,"tag":59,"props":2086,"children":2087},{},[2088,2093,2095,2100],{"type":39,"tag":67,"props":2089,"children":2091},{"className":2090},[],[2092],{"type":45,"value":1555},{"type":45,"value":2094},": Full IRI. Mutually exclusive with ",{"type":39,"tag":67,"props":2096,"children":2098},{"className":2097},[],[2099],{"type":45,"value":1533},{"type":45,"value":721},{"type":39,"tag":59,"props":2102,"children":2103},{},[2104,2109,2110,2115],{"type":39,"tag":67,"props":2105,"children":2107},{"className":2106},[],[2108],{"type":45,"value":876},{"type":45,"value":1902},{"type":39,"tag":67,"props":2111,"children":2113},{"className":2112},[],[2114],{"type":45,"value":1555},{"type":45,"value":1050},{"type":39,"tag":59,"props":2117,"children":2118},{},[2119,2125],{"type":39,"tag":67,"props":2120,"children":2122},{"className":2121},[],[2123],{"type":45,"value":2124},"--types",{"type":45,"value":2126},": Fetch the direct types (classes) of this individual.",{"type":39,"tag":59,"props":2128,"children":2129},{},[2130,2136],{"type":39,"tag":67,"props":2131,"children":2133},{"className":2132},[],[2134],{"type":45,"value":2135},"--alltypes",{"type":45,"value":2137},": Fetch all types including ancestor classes.",{"type":39,"tag":59,"props":2139,"children":2140},{},[2141,2146],{"type":39,"tag":67,"props":2142,"children":2144},{"className":2143},[],[2145],{"type":45,"value":703},{"type":45,"value":1265},{"type":39,"tag":180,"props":2148,"children":2149},{},[2150],{"type":39,"tag":63,"props":2151,"children":2152},{},[2153],{"type":45,"value":2154},"6. Get Ontology Information",{"type":39,"tag":180,"props":2156,"children":2157},{},[2158],{"type":45,"value":2159},"List available ontologies or retrieve details for a specific one.",{"type":39,"tag":592,"props":2161,"children":2163},{"className":594,"code":2162,"language":596,"meta":597,"style":597},"uv run scripts\u002Fget_ontology.py --id go \\\n  --output \u002Ftmp\u002Fols_ontology.json 2>\u002Fdev\u002Fnull\n",[2164],{"type":39,"tag":67,"props":2165,"children":2166},{"__ignoreMap":597},[2167,2196],{"type":39,"tag":123,"props":2168,"children":2169},{"class":604,"line":605},[2170,2174,2178,2183,2188,2192],{"type":39,"tag":123,"props":2171,"children":2172},{"style":609},[2173],{"type":45,"value":72},{"type":39,"tag":123,"props":2175,"children":2176},{"style":614},[2177],{"type":45,"value":617},{"type":39,"tag":123,"props":2179,"children":2180},{"style":614},[2181],{"type":45,"value":2182}," scripts\u002Fget_ontology.py",{"type":39,"tag":123,"props":2184,"children":2185},{"style":614},[2186],{"type":45,"value":2187}," --id",{"type":39,"tag":123,"props":2189,"children":2190},{"style":614},[2191],{"type":45,"value":1826},{"type":39,"tag":123,"props":2193,"children":2194},{"style":646},[2195],{"type":45,"value":649},{"type":39,"tag":123,"props":2197,"children":2198},{"class":604,"line":652},[2199,2203,2208,2212],{"type":39,"tag":123,"props":2200,"children":2201},{"style":614},[2202],{"type":45,"value":1193},{"type":39,"tag":123,"props":2204,"children":2205},{"style":614},[2206],{"type":45,"value":2207}," \u002Ftmp\u002Fols_ontology.json",{"type":39,"tag":123,"props":2209,"children":2210},{"style":630},[2211],{"type":45,"value":679},{"type":39,"tag":123,"props":2213,"children":2214},{"style":614},[2215],{"type":45,"value":684},{"type":39,"tag":180,"props":2217,"children":2218},{},[2219],{"type":39,"tag":726,"props":2220,"children":2221},{},[2222],{"type":45,"value":853},{"type":39,"tag":116,"props":2224,"children":2225},{},[2226,2256,2267,2278],{"type":39,"tag":59,"props":2227,"children":2228},{},[2229,2235,2237,2242,2243,2248,2249,2254],{"type":39,"tag":67,"props":2230,"children":2232},{"className":2231},[],[2233],{"type":45,"value":2234},"--id",{"type":45,"value":2236},": Specific ontology ID (e.g., ",{"type":39,"tag":67,"props":2238,"children":2240},{"className":2239},[],[2241],{"type":45,"value":537},{"type":45,"value":376},{"type":39,"tag":67,"props":2244,"children":2246},{"className":2245},[],[2247],{"type":45,"value":896},{"type":45,"value":376},{"type":39,"tag":67,"props":2250,"children":2252},{"className":2251},[],[2253],{"type":45,"value":521},{"type":45,"value":2255},"). If omitted, lists\nall ontologies.",{"type":39,"tag":59,"props":2257,"children":2258},{},[2259,2265],{"type":39,"tag":67,"props":2260,"children":2262},{"className":2261},[],[2263],{"type":45,"value":2264},"--page",{"type":45,"value":2266},": Page number for pagination (default 0).",{"type":39,"tag":59,"props":2268,"children":2269},{},[2270,2276],{"type":39,"tag":67,"props":2271,"children":2273},{"className":2272},[],[2274],{"type":45,"value":2275},"--size",{"type":45,"value":2277},": Number of ontologies per page (default 20).",{"type":39,"tag":59,"props":2279,"children":2280},{},[2281,2286],{"type":39,"tag":67,"props":2282,"children":2284},{"className":2283},[],[2285],{"type":45,"value":703},{"type":45,"value":1265},{"type":39,"tag":180,"props":2288,"children":2289},{},[2290],{"type":39,"tag":63,"props":2291,"children":2292},{},[2293],{"type":45,"value":2294},"7. Get OLS Statistics",{"type":39,"tag":180,"props":2296,"children":2297},{},[2298],{"type":45,"value":2299},"Retrieve index statistics (total ontologies, classes, properties, individuals).",{"type":39,"tag":592,"props":2301,"children":2303},{"className":594,"code":2302,"language":596,"meta":597,"style":597},"uv run scripts\u002Fget_stats.py --output \u002Ftmp\u002Fols_stats.json 2>\u002Fdev\u002Fnull\n",[2304],{"type":39,"tag":67,"props":2305,"children":2306},{"__ignoreMap":597},[2307],{"type":39,"tag":123,"props":2308,"children":2309},{"class":604,"line":605},[2310,2314,2318,2323,2327,2332,2336],{"type":39,"tag":123,"props":2311,"children":2312},{"style":609},[2313],{"type":45,"value":72},{"type":39,"tag":123,"props":2315,"children":2316},{"style":614},[2317],{"type":45,"value":617},{"type":39,"tag":123,"props":2319,"children":2320},{"style":614},[2321],{"type":45,"value":2322}," scripts\u002Fget_stats.py",{"type":39,"tag":123,"props":2324,"children":2325},{"style":614},[2326],{"type":45,"value":669},{"type":39,"tag":123,"props":2328,"children":2329},{"style":614},[2330],{"type":45,"value":2331}," \u002Ftmp\u002Fols_stats.json",{"type":39,"tag":123,"props":2333,"children":2334},{"style":630},[2335],{"type":45,"value":679},{"type":39,"tag":123,"props":2337,"children":2338},{"style":614},[2339],{"type":45,"value":684},{"type":39,"tag":180,"props":2341,"children":2342},{},[2343],{"type":39,"tag":726,"props":2344,"children":2345},{},[2346],{"type":45,"value":853},{"type":39,"tag":116,"props":2348,"children":2349},{},[2350],{"type":39,"tag":59,"props":2351,"children":2352},{},[2353,2358],{"type":39,"tag":67,"props":2354,"children":2356},{"className":2355},[],[2357],{"type":45,"value":703},{"type":45,"value":1265},{"type":39,"tag":48,"props":2360,"children":2362},{"id":2361},"reference",[2363],{"type":45,"value":2364},"Reference",{"type":39,"tag":116,"props":2366,"children":2367},{},[2368],{"type":39,"tag":59,"props":2369,"children":2370},{},[2371,2376,2378,2383],{"type":39,"tag":63,"props":2372,"children":2373},{},[2374],{"type":45,"value":2375},"API Reference",{"type":45,"value":2377},": See\n",{"type":39,"tag":100,"props":2379,"children":2381},{"href":2380},"references\u002Fapi_reference.md",[2382],{"type":45,"value":2380},{"type":45,"value":2384}," for common ontology\nIDs, OBO ID format, and key API endpoints.",{"type":39,"tag":48,"props":2386,"children":2388},{"id":2387},"workflow",[2389],{"type":45,"value":2390},"Workflow",{"type":39,"tag":55,"props":2392,"children":2393},{},[2394,2407,2434,2454,2475,2487,2506,2518],{"type":39,"tag":59,"props":2395,"children":2396},{},[2397,2399,2405],{"type":45,"value":2398},"Use ",{"type":39,"tag":67,"props":2400,"children":2402},{"className":2401},[],[2403],{"type":45,"value":2404},"suggest_ols.py",{"type":45,"value":2406}," for autocomplete when you have a partial term name.",{"type":39,"tag":59,"props":2408,"children":2409},{},[2410,2412,2418,2420,2425,2427,2432],{"type":45,"value":2411},"Search for terms using ",{"type":39,"tag":67,"props":2413,"children":2415},{"className":2414},[],[2416],{"type":45,"value":2417},"search_ols.py",{"type":45,"value":2419},". Use ",{"type":39,"tag":67,"props":2421,"children":2423},{"className":2422},[],[2424],{"type":45,"value":977},{"type":45,"value":2426}," to prioritize\nauthoritative definitions. Use ",{"type":39,"tag":67,"props":2428,"children":2430},{"className":2429},[],[2431],{"type":45,"value":959},{"type":45,"value":2433}," for entity resolution.",{"type":39,"tag":59,"props":2435,"children":2436},{},[2437,2439,2445,2447,2452],{"type":45,"value":2438},"If full details are needed, use ",{"type":39,"tag":67,"props":2440,"children":2442},{"className":2441},[],[2443],{"type":45,"value":2444},"get_term.py",{"type":45,"value":2446}," with the OBO ID or IRI. Use\n",{"type":39,"tag":67,"props":2448,"children":2450},{"className":2449},[],[2451],{"type":45,"value":1446},{"type":45,"value":2453}," for a concise view.",{"type":39,"tag":59,"props":2455,"children":2456},{},[2457,2459,2465,2467,2473],{"type":45,"value":2458},"To explore a term's hierarchy, use ",{"type":39,"tag":67,"props":2460,"children":2462},{"className":2461},[],[2463],{"type":45,"value":2464},"get_term.py --relations parents,children",{"type":45,"value":2466}," for is-a only, or ",{"type":39,"tag":67,"props":2468,"children":2470},{"className":2469},[],[2471],{"type":45,"value":2472},"--relations hierarchicalParents,hierarchicalChildren",{"type":45,"value":2474}," for \"part of\" etc.",{"type":39,"tag":59,"props":2476,"children":2477},{},[2478,2480,2486],{"type":45,"value":2479},"To explore from the top down, use ",{"type":39,"tag":67,"props":2481,"children":2483},{"className":2482},[],[2484],{"type":45,"value":2485},"get_term.py --ontology go --roots",{"type":45,"value":721},{"type":39,"tag":59,"props":2488,"children":2489},{},[2490,2492,2498,2499,2505],{"type":45,"value":2491},"For properties or individuals, use ",{"type":39,"tag":67,"props":2493,"children":2495},{"className":2494},[],[2496],{"type":45,"value":2497},"get_property.py",{"type":45,"value":213},{"type":39,"tag":67,"props":2500,"children":2502},{"className":2501},[],[2503],{"type":45,"value":2504},"get_individual.py",{"type":45,"value":721},{"type":39,"tag":59,"props":2507,"children":2508},{},[2509,2511,2517],{"type":45,"value":2510},"To discover available ontologies, use ",{"type":39,"tag":67,"props":2512,"children":2514},{"className":2513},[],[2515],{"type":45,"value":2516},"get_ontology.py",{"type":45,"value":721},{"type":39,"tag":59,"props":2519,"children":2520},{},[2521,2523,2528],{"type":45,"value":2522},"To check OLS index status, use ",{"type":39,"tag":67,"props":2524,"children":2526},{"className":2525},[],[2527],{"type":45,"value":449},{"type":45,"value":721},{"type":39,"tag":2530,"props":2531,"children":2532},"style",{},[2533],{"type":45,"value":2534},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":2536,"total":2643},[2537,2552,2567,2587,2599,2614,2630],{"slug":2538,"name":2538,"fn":2539,"description":2540,"org":2541,"tags":2542,"stars":22,"repoUrl":23,"updatedAt":2551},"alphafold-database-fetch-and-analyze","retrieve and analyze AlphaFold protein structures","Retrieve and analyze AlphaFold predicted structures for a protein. Use when the user provides a specific UniProt Accession ID and wants structural confidence metrics (pLDDT), domain boundary analysis, or disorder assessment. Do not use if the user only has a protein name, gene name, or amino acid sequence — ask for a UniProt ID first.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2543,2544,2547,2550],{"name":20,"slug":21,"type":15},{"name":2545,"slug":2546,"type":15},"Genomics","genomics",{"name":2548,"slug":2549,"type":15},"Life Sciences","life-sciences",{"name":13,"slug":14,"type":15},"2026-07-12T07:51:51.827211",{"slug":2553,"name":2553,"fn":2554,"description":2555,"org":2556,"tags":2557,"stars":22,"repoUrl":23,"updatedAt":2566},"alphagenome-single-variant-analysis","analyze genetic variant effects with AlphaGenome","Analyzes genetic variant effects on gene expression (RNA-seq), chromatin accessibility (DNASE), histone marks (ChIP), and transcription factors using the AlphaGenome API. Use when the user asks about non-coding variant effects, pathogenicity, clinical significance, disease associations, functional effects, gene expression changes, splicing disruption, or regulatory effects in promoters and enhancers. Also use for resolving biological terms to tissue\u002Fcell-type ontologies (UBERON\u002FCL) or analyzing variants in chr:pos:ref>alt format.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2558,2559,2562,2563],{"name":20,"slug":21,"type":15},{"name":2560,"slug":2561,"type":15},"Genetics","genetics",{"name":13,"slug":14,"type":15},{"name":2564,"slug":2565,"type":15},"RNA-seq","rna-seq","2026-07-12T07:51:39.494803",{"slug":2568,"name":2568,"fn":2569,"description":2570,"org":2571,"tags":2572,"stars":22,"repoUrl":23,"updatedAt":2586},"chembl-database","query ChEMBL database for bioactive molecules","Query the ChEMBL database for bioactive molecules, drug targets, bioactivity data, approved drugs, and chemical structures. Use when the user asks about compounds, targets, IC50\u002FKi values, drug mechanisms, or structure searches.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2573,2576,2579,2582,2585],{"name":2574,"slug":2575,"type":15},"ChEMBL","chembl",{"name":2577,"slug":2578,"type":15},"Chemistry","chemistry",{"name":2580,"slug":2581,"type":15},"Database","database",{"name":2583,"slug":2584,"type":15},"Pharmacology","pharmacology",{"name":13,"slug":14,"type":15},"2026-07-12T07:51:35.544306",{"slug":2588,"name":2588,"fn":2589,"description":2590,"org":2591,"tags":2592,"stars":22,"repoUrl":23,"updatedAt":2598},"clinical-trials-database","query clinical trial data","Query ClinicalTrials.gov via APIv2. Use when you want to search for trials by condition, drug, location, status, or phase; retrieve trial details by NCT ID; check eligibility\u002Finclusion criteria; count trials across conditions or time periods; identify a sponsor's trial portfolio; find recruiting trials for patient matching.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2593,2596,2597],{"name":2594,"slug":2595,"type":15},"Clinical Trials","clinical-trials",{"name":2548,"slug":2549,"type":15},{"name":13,"slug":14,"type":15},"2026-07-12T07:52:06.846705",{"slug":2600,"name":2600,"fn":2601,"description":2602,"org":2603,"tags":2604,"stars":22,"repoUrl":23,"updatedAt":2613},"clinvar-database","retrieve clinical significance from ClinVar database","Use when needing clinical significance, pathogenicity classifications (e.g., Pathogenic, Benign, VUS), clinical evidence rationales, or finding \"hard positive\" benchmark controls for human genomic variants.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2605,2608,2609,2612],{"name":2606,"slug":2607,"type":15},"ClinVar","clinvar",{"name":2560,"slug":2561,"type":15},{"name":2610,"slug":2611,"type":15},"Healthcare","healthcare",{"name":13,"slug":14,"type":15},"2026-07-12T07:51:36.86094",{"slug":2615,"name":2615,"fn":2616,"description":2617,"org":2618,"tags":2619,"stars":22,"repoUrl":23,"updatedAt":2629},"credentials","manage and verify API credentials safely","Instructions for handling API keys and credentials safely, verifying their presence, and prompting the user to add them if missing using a safe protocol.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2620,2623,2626],{"name":2621,"slug":2622,"type":15},"Compliance","compliance",{"name":2624,"slug":2625,"type":15},"Operations","operations",{"name":2627,"slug":2628,"type":15},"Security","security","2026-07-12T07:52:17.355491",{"slug":2631,"name":2631,"fn":2632,"description":2633,"org":2634,"tags":2635,"stars":22,"repoUrl":23,"updatedAt":2642},"dbsnp-database","search genetic variants in dbSNP database","Use when you want to look up, map, and search for short genetic variants (SNPs, indels) in NCBI's dbSNP database. Resolves between rsIDs, genomic coordinates in VCF format, and HGVS strings. For an rsID, returns variant type, gene associations, clinical significance, allele frequencies, and genomic coordinates (GRCh38).\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2636,2637,2638,2641],{"name":20,"slug":21,"type":15},{"name":2560,"slug":2561,"type":15},{"name":2639,"slug":2640,"type":15},"NCBI","ncbi",{"name":13,"slug":14,"type":15},"2026-07-12T07:51:33.054229",38,{"items":2645,"total":2643},[2646,2653,2660,2668,2674,2681,2687,2694,2700,2715,2726,2736],{"slug":2538,"name":2538,"fn":2539,"description":2540,"org":2647,"tags":2648,"stars":22,"repoUrl":23,"updatedAt":2551},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2649,2650,2651,2652],{"name":20,"slug":21,"type":15},{"name":2545,"slug":2546,"type":15},{"name":2548,"slug":2549,"type":15},{"name":13,"slug":14,"type":15},{"slug":2553,"name":2553,"fn":2554,"description":2555,"org":2654,"tags":2655,"stars":22,"repoUrl":23,"updatedAt":2566},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2656,2657,2658,2659],{"name":20,"slug":21,"type":15},{"name":2560,"slug":2561,"type":15},{"name":13,"slug":14,"type":15},{"name":2564,"slug":2565,"type":15},{"slug":2568,"name":2568,"fn":2569,"description":2570,"org":2661,"tags":2662,"stars":22,"repoUrl":23,"updatedAt":2586},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2663,2664,2665,2666,2667],{"name":2574,"slug":2575,"type":15},{"name":2577,"slug":2578,"type":15},{"name":2580,"slug":2581,"type":15},{"name":2583,"slug":2584,"type":15},{"name":13,"slug":14,"type":15},{"slug":2588,"name":2588,"fn":2589,"description":2590,"org":2669,"tags":2670,"stars":22,"repoUrl":23,"updatedAt":2598},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2671,2672,2673],{"name":2594,"slug":2595,"type":15},{"name":2548,"slug":2549,"type":15},{"name":13,"slug":14,"type":15},{"slug":2600,"name":2600,"fn":2601,"description":2602,"org":2675,"tags":2676,"stars":22,"repoUrl":23,"updatedAt":2613},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2677,2678,2679,2680],{"name":2606,"slug":2607,"type":15},{"name":2560,"slug":2561,"type":15},{"name":2610,"slug":2611,"type":15},{"name":13,"slug":14,"type":15},{"slug":2615,"name":2615,"fn":2616,"description":2617,"org":2682,"tags":2683,"stars":22,"repoUrl":23,"updatedAt":2629},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2684,2685,2686],{"name":2621,"slug":2622,"type":15},{"name":2624,"slug":2625,"type":15},{"name":2627,"slug":2628,"type":15},{"slug":2631,"name":2631,"fn":2632,"description":2633,"org":2688,"tags":2689,"stars":22,"repoUrl":23,"updatedAt":2642},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2690,2691,2692,2693],{"name":20,"slug":21,"type":15},{"name":2560,"slug":2561,"type":15},{"name":2639,"slug":2640,"type":15},{"name":13,"slug":14,"type":15},{"slug":4,"name":4,"fn":5,"description":6,"org":2695,"tags":2696,"stars":22,"repoUrl":23,"updatedAt":24},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2697,2698,2699],{"name":20,"slug":21,"type":15},{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},{"slug":2701,"name":2701,"fn":2702,"description":2703,"org":2704,"tags":2705,"stars":22,"repoUrl":23,"updatedAt":2714},"encode-ccres-database","query ENCODE regulatory and experimental data","Query the ENCODE Registry of cis-Regulatory Elements (cCREs) via the SCREEN GraphQL API, or make custom queries to the ENCODE Portal REST API for experiments and files (ChIP-seq peaks, etc.). Use when you want to query regulatory annotations or raw experimental data across human cell types.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2706,2707,2710,2711],{"name":20,"slug":21,"type":15},{"name":2708,"slug":2709,"type":15},"GraphQL","graphql",{"name":13,"slug":14,"type":15},{"name":2712,"slug":2713,"type":15},"REST API","rest-api","2026-07-12T07:52:10.597139",{"slug":2716,"name":2716,"fn":2717,"description":2718,"org":2719,"tags":2720,"stars":22,"repoUrl":23,"updatedAt":2725},"ensembl-database","query genomic and protein data from Ensembl","Query the Ensembl database to resolve gene, transcript, and protein IDs, fetch genomic or protein sequences, retrieve gene structures (exons), and get variant consequence and effect predictions (VEP). Use this skill as a primary ID translator, genomic sequence database and variant effect prediction tool.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2721,2722,2723,2724],{"name":20,"slug":21,"type":15},{"name":2560,"slug":2561,"type":15},{"name":2548,"slug":2549,"type":15},{"name":13,"slug":14,"type":15},"2026-07-12T07:51:41.645835",{"slug":2727,"name":2727,"fn":2728,"description":2729,"org":2730,"tags":2731,"stars":22,"repoUrl":23,"updatedAt":2735},"foldseek-structural-search","perform 3D protein structural searches","Performs 3D structural searches of proteins against various databases (PDB, AlphaFold, CATH, MGnify, etc.) using the Foldseek API. Use ONLY when the user provides a physical 3D coordinate file (.cif, .mmcif, or .pdb) and wants to find structurally similar proteins. Do NOT use if the user only provides a protein sequence, gene name, or UniProt ID.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2732,2733,2734],{"name":20,"slug":21,"type":15},{"name":2548,"slug":2549,"type":15},{"name":13,"slug":14,"type":15},"2026-07-12T07:52:09.354992",{"slug":2737,"name":2737,"fn":2738,"description":2739,"org":2740,"tags":2741,"stars":22,"repoUrl":23,"updatedAt":2746},"gnomad-database","query genetic variant data from gnomAD","Query the Genome Aggregation Database (gnomAD). Use when determining the rarity or allele frequency of specific genetic variants, retrieving gene constraint metrics (pLI, LOEUF) to assess loss-of-function intolerance, finding variants in a genomic region or gene, or querying structural variants. Don't use for analyzing individual patient genomes, tracking somatic mutations in cancer (use COSMIC), or requesting raw sequencing reads (use ENA).\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2742,2743,2744,2745],{"name":20,"slug":21,"type":15},{"name":2560,"slug":2561,"type":15},{"name":2548,"slug":2549,"type":15},{"name":13,"slug":14,"type":15},"2026-07-12T07:51:38.213009"]