skills/tooluniverse-adverse-outcome-pathway/SKILL.md
Map environmental and industrial chemicals to adverse outcome pathways (AOPs) — molecular initiating event to organ-level toxicity. Uses AOPWiki, GHS classification, IARC carcinogen status, and LD50 data. Use for environmental/industrial chemical risk assessment, regulatory-grade hazard characterization, and AOP stressor mapping. Distinct from drug-safety analysis (use tooluniverse-pharmacovigilance for drugs).
npx skillsauth add mims-harvard/tooluniverse tooluniverse-adverse-outcome-pathwayInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Distinct from drug safety (see tooluniverse-toxicology): this skill targets environmental and industrial chemicals where the focus is AOP stressor mapping, GHS classification, LD50 hazard quantification, and IARC carcinogen status — not FAERS signals or FDA drug labels.
Apply when researcher asks about:
Do NOT use for FDA-approved drugs with FAERS data — use tooluniverse-toxicology instead.
| Tool | Purpose | Key Params |
|------|---------|-----------|
| AOPWiki_list_aops | Discover AOPs by keyword | keyword (organ, effect, or target name) |
| AOPWiki_get_aop | Full AOP details: MIE, key events, stressors | aop_id (int) |
| PubChemTox_get_toxicity_summary | Narrative toxicity overview | cid (PubChem CID) |
| PubChemTox_get_ghs_classification | GHS hazard category + pictograms | cid |
| PubChemTox_get_carcinogen_classification | IARC/NTP/EPA carcinogen status | cid |
| PubChemTox_get_toxicity_values | LD50/LC50 by route and species | cid |
| PubChemTox_get_acute_effects | Signs and symptoms of acute exposure | cid |
| CTD_get_chemical_gene_interactions | Chemical-gene molecular interactions | input_terms (name or MeSH ID) |
| CTD_get_chemical_diseases | Chemical-disease associations | input_terms |
| PubChem_get_CID_by_compound_name | Resolve compound name to PubChem CID | name |
Resolve chemical name to PubChem CID before all PubChemTox calls.
PubChem_get_CID_by_compound_name(name="benzo[a]pyrene")
-> cid: 9153 (use for all PubChemTox calls)
Note: CTD tools accept the chemical name directly (input_terms param) — no CID needed.
Find relevant AOPs by searching organ targets and mechanism keywords.
AOPWiki_list_aops(keyword="lung") # organ-level
AOPWiki_list_aops(keyword="DNA damage") # mechanism-level
AOPWiki_list_aops(keyword="AhR") # receptor-level
Select 2-4 candidate AOPs from results, then retrieve full details:
AOPWiki_get_aop(aop_id=58) # returns MIE, key events, stressors, biological plausibility
Key fields in AOPWiki_get_aop response:
stressors: list of chemicals that trigger this AOP (check if query compound is listed)molecular_initiating_event: the first molecular perturbationkey_events: ordered chain of biological eventsadverse_outcome: apical regulatory endpointRun all four hazard queries in parallel using the resolved CID:
PubChemTox_get_ghs_classification(cid=9153) # GHS category + pictogram
PubChemTox_get_carcinogen_classification(cid=9153) # IARC Group 1/2A/2B/3
PubChemTox_get_toxicity_values(cid=9153) # LD50 by route/species
PubChemTox_get_acute_effects(cid=9153) # signs/symptoms
Note: PubChemTox_get_target_organs sometimes returns no data — treat as optional.
Map chemical to gene targets and disease associations:
CTD_get_chemical_gene_interactions(input_terms="benzo[a]pyrene")
CTD_get_chemical_diseases(input_terms="benzo[a]pyrene")
Cross-reference CTD gene targets with AOP key event genes from Phase 2.
| Tool | Required | Optional | Notes |
|------|---------|---------|-------|
| AOPWiki_list_aops | keyword | — | Use organ ("liver"), effect ("apoptosis"), or receptor ("PPARalpha") |
| AOPWiki_get_aop | aop_id | — | Integer ID from list_aops output |
| PubChemTox_get_toxicity_summary | cid | — | PubChem CID integer |
| PubChemTox_get_ghs_classification | cid | — | Returns pictogram_labels e.g. "Health Hazard" |
| PubChemTox_get_carcinogen_classification | cid | — | IARC Group in classifications[].classification |
| PubChemTox_get_toxicity_values | cid | — | Values like "LD50 Rat oral 2400 mg/kg" |
| PubChemTox_get_acute_effects | cid | — | Sometimes sparse; not all compounds have data |
| CTD_get_chemical_gene_interactions | input_terms | — | Accepts name or MeSH ID (e.g., "D001564") |
| CTD_get_chemical_diseases | input_terms | — | Filter DirectEvidence = "marker/mechanism" for curated |
| PubChem_get_CID_by_compound_name | name | — | Returns CID + SMILES; required before PubChemTox calls |
# Pattern: Confirm compound is a stressor in a specific AOP
aop = AOPWiki_get_aop(aop_id=58)
stressors = [s["name"] for s in aop["data"]["stressors"]]
# Check if query chemical appears in stressors list
# Pattern: Extract curated CTD disease associations only
diseases = CTD_get_chemical_diseases(input_terms="rotenone")
curated = [d for d in diseases["data"] if d.get("DirectEvidence")]
# Pattern: GHS carcinogen check
carcinogen = PubChemTox_get_carcinogen_classification(cid=9153)
iarc = [c for c in carcinogen["data"]["classifications"] if "IARC" in c.get("source", "")]
| Grade | Criteria | Example | |-------|----------|---------| | Strong | AOP in OECD-endorsed status, compound listed as stressor, CTD + AOPWiki concordant | AOP 58 (AhR → liver tumor) endorsed, benzo[a]pyrene confirmed stressor | | Moderate | AOP under review or well-documented, compound class match but not individually listed | AOP links PPARalpha activation to liver effects; query compound is a fibrate analog | | Weak | AOP in development, compound not listed but shares MIE target via CTD gene overlap | CTD shows gene target overlap with AOP key event genes, but no direct stressor listing | | Insufficient | No AOP found, no CTD gene-disease link, hazard data sparse | Novel compound with no toxicological database entries |
| Primary | Fallback | When |
|---------|---------|------|
| AOPWiki_list_aops with specific keyword | Broader organ term | No results |
| PubChemTox_get_target_organs | PubChemTox_get_toxicity_summary | Returns empty |
| CTD_get_chemical_diseases | CTD_get_gene_diseases + gene from CTD interactions | Compound name not recognized |
tools
Post-market safety surveillance and recall/adverse-event RETRIEVAL across the full spectrum of FDA-regulated products that are NOT covered by the drug-AE signal skills: medical devices, food / dietary supplements / cosmetics, veterinary drugs, and drug supply (shortages). Orchestrates openFDA endpoints (MAUDE device adverse events + device recalls + 510(k), CAERS food/supplement/ cosmetic adverse events, veterinary adverse events, drug shortages, and cross-product enforcement/recall reports). USE WHEN the user asks: "are there adverse events for [device / pacemaker / infusion pump / insulin pump]", "device recalls for [firm/product]", "supplement / vitamin / cosmetic adverse reactions", "is [drug] in shortage", "what injectables are on shortage", "veterinary / animal adverse events for [drug] in [dog/cat/horse]", "food recall for listeria", "MAUDE report for [device]", "CAERS reactions for [brand]". DO NOT USE for drug adverse-event SIGNAL detection or disproportionality (PRR / ROR / IC) or drug-AE association scoring — that is `tooluniverse-pharmacovigilance` / `tooluniverse-adverse-event-detection`. This skill is multi-product surveillance and retrieval, not drug-AE statistical signal mining.
tools
--- name: tooluniverse-phewas description: Cross-ancestry / cross-biobank phenome-wide association (PheWAS) and replication. Given ONE variant (rsID) or ONE gene, look up every phenotype it associates with across European/UK (UKB-TOPMed), Finnish (FinnGen), Japanese (BioBank Japan), and Taiwanese (TPMI) biobanks, plus exome-wide gene-burden PheWAS (Genebass), then judge whether an association replicates across ancestries or is population-specific. Use whenever the user asks "what else is this va
tools
Dereplicate a putative natural product and assign its chemical taxonomy. Use to answer "is [compound] a known natural product", "what microbe/organism produces [compound]", "what chemical class is [compound]", "dereplicate this metabolite (by formula/exact mass/InChIKey/SMILES)", or "classify this molecule into ChemOnt". Searches NPAtlas for known microbial natural products (producing organism + literature reference), assigns the ChemOnt kingdom→superclass→class→subclass hierarchy via ClassyFire, resolves systematic IUPAC names to structure via OPSIN, and cross-references identity in PubChem. NOT for general drug/compound identity or ADMET (use tooluniverse-chemical-compound-retrieval / tooluniverse-small-molecule-discovery) and NOT for metabolomics pathway/enrichment analysis (use tooluniverse-metabolomics skills).
tools
Genome-ASSEMBLY discovery, QC, and replicon mapping for any organism (bacteria, archaea, fungi, and beyond) using NCBI Datasets. Resolves an organism name or taxid to assemblies, picks the reference/representative or best-quality assembly, pulls assembly QC metrics (total length, contig/scaffold N50, contig count, GC%, assembly level, RefSeq category), enumerates chromosomes and plasmids via per-replicon sequence reports, and compares candidate assemblies on quality. Use for "what genomes are available for [organism]", "assembly stats / N50 / GC content for [GCF_/GCA_ accession]", "how many plasmids does [strain] have", "compare assemblies for [species]", "find the reference genome for [taxon]", "is this assembly Complete Genome or just contigs". NOT for gene-level orthology/synteny (use tooluniverse-comparative-genomics), plant gene structure (use tooluniverse-plant-genomics), de novo assembly from raw reads (no tool exists), or taxonomy-only name/lineage lookups.