From mims-harvard-tooluniverse
Translates free-text tumor descriptions to OncoTree codes, retrieves cancer subtypes and tissue hierarchies, resolves UMLS/NCI references, and generates OncoKB-compatible codes for variant annotation.
npx claudepluginhub joshuarweaver/cascade-data-analytics --plugin mims-harvard-tooluniverseThis skill uses the workspace's default tool permissions.
Standardize cancer type nomenclature using the OncoTree ontology. Resolves free-text tumor
Conducts multi-round deep research on GitHub repos via API and web searches, generating markdown reports with executive summaries, timelines, metrics, and Mermaid diagrams.
Dynamically discovers and combines enabled skills into cohesive, unexpected delightful experiences like interactive HTML or themed artifacts. Activates on 'surprise me', inspiration, or boredom cues.
Generates images from structured JSON prompts via Python script execution. Supports reference images and aspect ratios for characters, scenes, products, visuals.
Standardize cancer type nomenclature using the OncoTree ontology. Resolves free-text tumor descriptions to structured codes with UMLS/NCI cross-references, enabling downstream use in OncoKB variant annotation and GDC cohort selection.
Apply when researcher asks about:
| Tool | Purpose | Key Params |
|---|---|---|
OncoTree_search | Free-text search for cancer types | query (tumor name or description) |
OncoTree_get_type | Full details for a known OncoTree code | code (e.g., "LUAD", "AML") |
OncoTree_list_tissues | List all 32 tissue categories | (no params) |
OncoKB_annotate_variant | Variant annotation using OncoTree code | gene, variant, tumor_type |
GDC_get_mutation_frequency | Pan-cancer mutation frequency (TCGA) | gene_symbol |
Start with free-text search to find matching OncoTree codes:
OncoTree_search(query="breast cancer")
-> Returns list: code, name, main_type, tissue, parent, level, external_references
Key response fields:
code: OncoTree code (e.g., "BRCA", "IBC") — use this in OncoKB callslevel: hierarchy depth (1=tissue, 2=main type, 3-5=subtypes)parent: parent node code for navigating the hierarchyexternal_references.UMLS: UMLS CUI listexternal_references.NCI: NCI thesaurus code listSearch tips:
Once you have a candidate code, retrieve full details:
OncoTree_get_type(code="LUAD")
-> Returns: name, main_type, tissue, color, parent, level, history, external_references
Note: Not all codes are valid. "GBM" returns 404 — correct code is "GB" (Glioblastoma, IDH-Wildtype).
Always validate via OncoTree_get_type before using in downstream tools.
When the user wants all cancers in a tissue category:
OncoTree_list_tissues()
-> Returns 32 tissue names: "Breast", "CNS/Brain", "Lung", "Myeloid", ...
OncoTree_search(query="CNS/Brain")
-> All cancer types with tissue="CNS/Brain"
Pass validated OncoTree code to OncoKB for cancer-type-specific therapeutic levels:
OncoKB_annotate_variant(gene="EGFR", variant="L858R", tumor_type="LUAD")
-> highestSensitiveLevel: "1" (FDA-approved therapy for this tumor+variant)
Without tumor_type, OncoKB returns pan-cancer levels which may be less specific.
| Tool | Required | Optional | Notes |
|---|---|---|---|
OncoTree_search | query | — | Free text; returns list sorted by relevance |
OncoTree_get_type | code | — | Case-sensitive; "BRCA" not "brca". Returns 404 for invalid codes |
OncoTree_list_tissues | — | — | No params; returns list of 32 tissue strings |
OncoKB_annotate_variant | gene, variant | tumor_type | tumor_type is OncoTree code; omit for pan-cancer |
GDC_get_mutation_frequency | gene_symbol | — | Pan-cancer TCGA only; no per-subtype breakdown |
| Code | Name | Tissue |
|---|---|---|
BRCA | Invasive Breast Carcinoma | Breast |
LUAD | Lung Adenocarcinoma | Lung |
LUSC | Lung Squamous Cell Carcinoma | Lung |
MEL | Melanoma | Skin |
CRC | Colorectal Cancer | Bowel |
PAAD | Pancreatic Adenocarcinoma | Pancreas |
GBM | (invalid — use GB) | CNS/Brain |
GB | Glioblastoma, IDH-Wildtype | CNS/Brain |
AML | Acute Myeloid Leukemia | Myeloid |
PRAD | Prostate Adenocarcinoma | Prostate |
# Pattern: Resolve free-text to OncoTree code
results = OncoTree_search(query="pancreatic ductal adenocarcinoma")
# Pick result with lowest level number (most specific match)
code = results["data"][0]["code"] # e.g., "PAAD"
# Pattern: Get all subtypes within a main type
results = OncoTree_search(query="Glioma")
subtypes = [r for r in results["data"] if r["main_type"] == "Glioma"]
# Pattern: Validate code before OncoKB call
detail = OncoTree_get_type(code="GB")
if detail["status"] == "success":
OncoKB_annotate_variant(gene="IDH1", variant="R132H", tumor_type="GB")
LOOK UP DON'T GUESS -- tumor classification determines treatment. Always verify codes and biomarker interpretation via tools rather than relying on memory.
Tumors are classified on TWO axes -- both matter for treatment selection:
A tumor can be histologically identical to another but molecularly different, requiring different treatment. Example: two lung adenocarcinomas (both LUAD) but one is EGFR-mutant (targeted therapy) and another is KRAS-mutant (different targeted therapy). Always check both axes.
When interpreting cancer biomarkers, use OncoKB for actionability:
OncoKB_annotate_variant(gene="ERBB2", variant="Amplification", tumor_type="BRCA") for therapeutic levelOncoKB_annotate_variant(gene="Other Biomarkers", variant="TMB-H")OncoKB_annotate_variant(gene="Other Biomarkers", variant="MSI-H")After classifying the tumor, assess whether findings are clinically actionable:
| Grade | Criteria | Example |
|---|---|---|
| Confirmed | Exact OncoTree code validated via OncoTree_get_type, UMLS + NCI cross-refs present | LUAD: validated, UMLS C0152013, NCI C3512 |
| Probable | OncoTree search returns match, but code not yet validated or missing cross-refs | Search for "cholangiocarcinoma" returns CHOL with partial external refs |
| Ambiguous | Multiple OncoTree codes match the description at different hierarchy levels | "Breast cancer" matches BRCA (invasive), BREAST (tissue), IBC (inflammatory) |
| Unresolved | No OncoTree match; tumor type too rare or novel for the ontology | Ultra-rare sarcoma subtype not in OncoTree |
OncoTree_get_type before downstream use. Some common acronyms (e.g., "GBM") are NOT valid OncoTree codes (correct code is "GB"). A validated code with UMLS and NCI cross-references is highest confidence.history field in OncoTree_get_type response shows prior names. Always use the current code.| Primary | Fallback | When |
|---|---|---|
OncoTree_get_type(code="GBM") | OncoTree_search(query="glioblastoma") | 404 for common aliases |
OncoTree_search (no results) | OncoTree_list_tissues + tissue-level search | Very rare/novel tumor types |
| OncoTree code for OncoKB | Omit tumor_type param | Code not recognized by OncoKB |