$npx -y skills add QSong-github/DrugClaw --skill oreganoQuery the OREGANO knowledge graph for computational drug repurposing. Use whenever the user asks about drug–target–disease–gene–pathway relationships, compound cross-references, drug repurposing hypotheses, or wants to explore neighbors of any biomedical entity in a knowledge gra
| 1 | # OREGANO Query Skill |
| 2 | |
| 3 | Search the OREGANO knowledge graph (88,937 nodes, 824,231 links) by any entity. Auto-resolves input to OREGANO node IDs via cross-reference tables. |
| 4 | |
| 5 | | Input Pattern | Detected As | Match Logic | |
| 6 | |---|---|---| |
| 7 | | OREGANO internal ID (e.g. `1234`) | OREGANO node ID | exact in triplet index | |
| 8 | | `DB00331` / DrugBank ID | external xref | exact in COMPOUND.tsv | |
| 9 | | UniProt / KEGG / MeSH / UMLS ID | external xref | exact across all metadata TSVs | |
| 10 | | `metformin`, `BRCA1`, free text | entity name | substring on name columns | |
| 11 | |
| 12 | ## API |
| 13 | |
| 14 | | Function | Input | Returns | |
| 15 | |---|---|---| |
| 16 | | `search(query)` | single entity string | dict: `{query, resolved_ids, metadata, triplets}` | |
| 17 | | `search_batch(queries)` | list of entity strings | `dict[str, search_result]` | |
| 18 | | `summarize(result)` | search result dict | compact LLM-readable text | |
| 19 | | `to_json(result)` | search result dict | JSON-serializable dict | |
| 20 | | `get_stats()` | — | graph-level counts (triplets, nodes, predicates, entity types) | |
| 21 | |
| 22 | ## Graph Schema |
| 23 | |
| 24 | **11 node types**: Compound (90,868), Gene (35,794), Target (22,096), Disease (18,333), Phenotype (11,605), Side Effect (6,060), Indication (2,714), Pathway (2,129), Effect (171), Activity (78). |
| 25 | |
| 26 | **19 relation types** (predicates): e.g. `has_target`, `has_indication`, `has_side_effect`, `interacts_with`, `involved_in_pathway`, `associated_with`, `has_phenotype`, etc. Run `get_stats()` to list all predicates with counts. |
| 27 | |
| 28 | ## Usage |
| 29 | |
| 30 | See `if __name__ == "__main__"` block in `21_OREGANO.py` for runnable examples covering: free-text drug name search, DrugBank ID lookup, batch search, JSON pipeline output, and graph statistics. |
| 31 | |
| 32 | ## Data |
| 33 | |
| 34 | - **Source**: Zenodo DOI 10.5281/zenodo.10103842 (CC-BY 4.0) |
| 35 | - **Version**: v2.1 (published 2023-11-10) |
| 36 | - **Core file**: `OREGANO_V2.1.tsv` — tab-delimited triplets (Subject, Predicate, Object) |
| 37 | - **Metadata files**: `COMPOUND.tsv`, `TARGET.tsv`, `GENES.tsv`, `DISEASES.tsv`, `PHENOTYPES.tsv`, `PATHWAYS.tsv`, `INDICATION.tsv`, `SIDE_EFFECT.tsv`, `ACTIVITY.tsv`, `EFFECT.tsv` |
| 38 | - **Path**: `DATA_DIR` variable in `21_OREGANO.py` |
| 39 | |
| 40 | ## Citation |
| 41 | |
| 42 | Boudin, M., Diallo, G., Drancé, M. & Mougin, F. The OREGANO knowledge graph for computational drug repurposing. *Sci Data* 10, 871 (2023). https://doi.org/10.1038/s41597-023-02757-0 |