Nsides
Skill BioTender-max/awesome-bio-agent-skills/skills/drugclaw/nsides
Query the nSIDES drug side effect databases (OnSIDES, OffSIDES, KidSIDES). Use whenever the user asks about drug adverse reactions, side effects, off-label safety signals, or pediatric drug safety for a given drug name.From its SKILL.md
npx -y skills add BioTender-max/awesome-bio-agent-skills --skill nsidesAssembled 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
3.6 KB, ~1.0k tokens by cl100k_base, as published. Nobody here has run it
nSIDES Query Skill
Search drug adverse reactions across three complementary nSIDES sources by drug name.
| Source | Content | Method | Scale |
|---|---|---|---|
| OnSIDES v3.1.0 | Label-extracted ADEs (US/EU/UK/JP) | PubMedBERT NLP on product labels | 1,955 ingredients, 5.5M drug-ADE pairs |
| OffSIDES | Off-label side effects | Propensity-score matching on FAERS | 3,300+ drugs |
| KidSIDES | Pediatric safety signals by developmental phase | Disproportionality analysis on FAERS | Age-stratified ADE signals |
Entity Detection
| Input | Routing |
|---|---|
| any free text | substring match on drug / ingredient name across all three sources |
No ID-based routing — all queries are natural-language drug names.
API
| Function | Input | Returns |
|---|---|---|
search(entity, limit) | drug name string | dict with keys: entity, onsides, offsides, kidsides |
search_batch(entities, limit) | list of drug names | list[dict] |
search_onsides(drug_name, limit) | drug name | list[dict] — ingredient, effect, meddra_id, source, label_count |
search_offsides(drug_name, limit) | drug name | list[dict] — drug, condition, PRR, A/B/C/D |
search_kidsides(drug_name, limit) | drug name | list[dict] — drug, event, nichd_phase, gam_score, ror |
summarize(result) | single search() output | compact text |
to_json(result) | single search() output | JSON string |
Output Fields
OnSIDES row
ingredient— RxNorm ingredient nameeffect— MedDRA adverse effect termmeddra_id— MedDRA concept IDsource— label origin country (US / EU / UK / JP)label_count— number of labels reporting this ADE
OffSIDES row
drug— RxNorm drug namecondition— MedDRA side effect namePRR— proportional reporting ratio (>1 = signal)A/B/C/D— 2×2 contingency countsmean_reporting_frequency— proportion of drug reports with this effect
KidSIDES row
drug— drug concept nameevent— adverse event namenichd_phase— NICHD developmental phase (e.g. "Neonatal", "Infancy", "Adolescence")gam_score— GAM model scoreror/ror_lower/ror_upper— reporting odds ratio with 95% CI
Usage
See if __name__ == "__main__" block in 15_nSIDES.py for runnable examples:
single-drug query, batch query, text summary, and JSON output.
Data
| File | Location | Size |
|---|---|---|
onsides.db | DATA_DIR/onsides.db | SQLite, from OnSIDES v3.1.0 release |
OFFSIDES.csv.gz | DATA_DIR/OFFSIDES.csv.gz | gzipped CSV |
ade_nichd.csv.gz | DATA_DIR/ade_nichd.csv.gz | gzipped CSV (172 MB) |
drug.csv.gz | DATA_DIR/drug.csv.gz | KidSIDES drug dictionary |
event.csv.gz | DATA_DIR/event.csv.gz | KidSIDES event dictionary |
dictionary.csv.gz | DATA_DIR/dictionary.csv.gz | NICHD phase dictionary |
DATA_DIR default: resources_metadata/adr/nSIDES
Citations
- OnSIDES: Tanaka Y et al. OnSIDES database: Extracting adverse drug events from drug labels using NLP models. Med. 2025;100642. doi:10.1016/j.medj.2025.100642
- OffSIDES / TwoSIDES: Tatonetti NP et al. Data-driven prediction of drug effects and interactions. Sci Transl Med. 2012;4(125):125ra31. doi:10.1126/scitranslmed.3003377
- KidSIDES: Giangreco NP, Tatonetti NP. A database of pediatric drug effects to evaluate ontogenic mechanisms. Med. 2022.
What ships with it: 5 files
16.3 KB alongside SKILL.md, 4 of them executable
- example.pyruns11.8 KB
- __init__.pyruns130 B
- nsides_skill.pyruns2.8 KB
- README.md937 B
- retrieve.pyruns751 B