Pharmkg
Skill BioTender-max/awesome-bio-agent-skills/skills/drugclaw/pharmkg
Query the PharmKG knowledge graph (180k entities, 39 relation types, >1M triples). Use whenever the user asks about biomedical relationships among genes, drugs/chemicals, and diseases — e.g. drug–gene interactions, drug–disease associations, gene–disease links, or drug–drug relationships derived from literature and curated databases.From its SKILL.md
npx -y skills add BioTender-max/awesome-bio-agent-skills --skill pharmkgAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
SKILL.md
2.0 KB, 486 tokens by cl100k_base, as published. Nobody here has run it
PharmKG Query Skill
Search PharmKG triples by entity name. Matching is case-insensitive; exact match is tried first via a prebuilt index, with substring fallback.
| Input Example | Matches On |
|---|---|
aspirin | exact on Entity1_name or Entity2_name |
BRCA1 | exact / substring on entity names |
Alzheimer Disease | substring on entity names |
Entity & Relation Types
Entities (~188 k): Drug/Chemical (DrugBank, ChEMBL), Gene/Protein (Entrez, UniProt), Disease (DO, MeSH).
Relations (39 types): chemical–gene (inhibition, activation, binding …), chemical–disease (treatment, marker, risk factor), gene–disease (association, marker), chemical–chemical (similarity, interaction), and others.
API
| Function | Input | Returns |
|---|---|---|
load_pharmkg(path) | CSV path | list[dict] of triples |
_build_index(triples) | triple list | dict[str, list] (entity→triples) |
search(triples, entity, index=) | entity string | list[dict] |
search_batch(triples, entities, index=) | list of strings | dict[str, list] |
summarize(hits, entity) | hits + label | compact text |
to_json(hits) | hits | JSON string |
Usage
See if __name__ == "__main__" block in 55_PharmKG.py for runnable examples
covering: single entity search, batch search, summarize, and JSON output.
Data
- Source:
raw_PharmKG-180k.csv(comma-separated) - Columns:
Entity1_name,relationship_type,Entity2_name - Scale: ~188 k entities, 39 relation types, >1 M triples
- Path:
DATA_PATHvariable in55_PharmKG.py - Paper: Zheng et al., Briefings in Bioinformatics 22(4), 2021. DOI: 10.1093/bib/bbaa344
What ships with it: 5 files
12.7 KB alongside SKILL.md, 4 of them executable
- example.pyruns5.8 KB
- __init__.pyruns134 B
- pharmkg_skill.pyruns4.3 KB
- README.md1.7 KB
- retrieve.pyruns832 B