Immunotherapy Response Prediction
Predict patient response to immune checkpoint inhibitors (ICIs) using multi-biomarker integration. Transforms a patient tumor profile (cancer type + mutations + biomarkers) into a quantitative ICI Response Score with drug-specific recommendations, resistance risk assessment, and monitoring plan.
KEY PRINCIPLES:
- Report-first approach - Create report file FIRST, then populate progressively
- Evidence-graded - Every finding has an evidence tier (T1-T4)
- Quantitative output - ICI Response Score (0-100) with transparent component breakdown
- Cancer-specific - All thresholds and predictions are cancer-type adjusted
- Multi-biomarker - Integrate TMB + MSI + PD-L1 + neoantigen + mutations
- Resistance-aware - Always check for known resistance mutations (STK11, PTEN, JAK1/2, B2M)
- Drug-specific - Recommend specific ICI agents with evidence
- Source-referenced - Every statement cites the tool/database source
- English-first queries - Always use English terms in tool calls
When to Use
Apply when user asks:
- "Will this patient respond to immunotherapy?"
- "Should I give pembrolizumab to this melanoma patient?"
- "Patient has NSCLC with TMB 25, PD-L1 80% - predict ICI response"
- "MSI-high colorectal cancer - which checkpoint inhibitor?"
- "Patient has BRAF V600E melanoma, TMB 15 - immunotherapy or targeted?"
- "Low TMB NSCLC with STK11 mutation - should I try immunotherapy?"
- "Compare pembrolizumab vs nivolumab for this patient profile"
- "What biomarkers predict checkpoint inhibitor response?"
Input Parsing
Required: Cancer type + at least one of: mutation list OR TMB value
Optional: PD-L1 expression, MSI status, immune infiltration data, HLA type, prior treatments, intended ICI
Accepted Input Formats
| Format |
Example |
How to Parse |
| Cancer + mutations |
"Melanoma, BRAF V600E, TP53 R273H" |
cancer=melanoma, mutations=[BRAF V600E, TP53 R273H] |
| Cancer + TMB |
"NSCLC, TMB 25 mut/Mb" |
cancer=NSCLC, tmb=25 |
| Cancer + full profile |
"Melanoma, BRAF V600E, TMB 15, PD-L1 50%, MSS" |
cancer=melanoma, mutations=[BRAF V600E], tmb=15, pdl1=50, msi=MSS |
| Cancer + MSI status |
"Colorectal cancer, MSI-high" |
cancer=CRC, msi=MSI-H |
| Resistance query |
"NSCLC, TMB 2, STK11 loss, PD-L1 <1%" |
cancer=NSCLC, tmb=2, mutations=[STK11 loss], pdl1=0 |
| ICI selection |
"Which ICI for NSCLC PD-L1 90%?" |
cancer=NSCLC, pdl1=90, query_type=drug_selection |
Cancer Type Normalization
Common aliases to resolve:
- NSCLC -> non-small cell lung carcinoma
- SCLC -> small cell lung carcinoma
- CRC -> colorectal cancer
- RCC -> renal cell carcinoma
- HNSCC -> head and neck squamous cell carcinoma
- UC / bladder -> urothelial carcinoma
- HCC -> hepatocellular carcinoma
- TNBC -> triple-negative breast cancer
- GEJ -> gastroesophageal junction cancer
Gene Symbol Normalization
- PD-L1 -> CD274
- PD-1 -> PDCD1
- CTLA-4 -> CTLA4
- HER2 -> ERBB2
- MSH2/MLH1/MSH6/PMS2 -> MMR genes
Phase 0: Tool Parameter Reference (CRITICAL)
BEFORE calling ANY tool, verify parameters using this reference table.
Verified Tool Parameters
| Tool |
Parameters |
Notes |
OpenTargets_get_disease_id_description_by_name |
diseaseName |
Returns {data: {search: {hits: [{id, name, description}]}}} |
OpenTargets_get_drug_id_description_by_name |
drugName |
Returns {data: {search: {hits: [{id, name, description}]}}} |
OpenTargets_get_associated_drugs_by_disease_efoId |
efoId, size |
Returns {data: {disease: {knownDrugs: {count, rows}}}} |
OpenTargets_get_drug_mechanisms_of_action_by_chemblId |
chemblId |
Returns {data: {drug: {mechanismsOfAction: {rows}}}} |
OpenTargets_get_approved_indications_by_drug_chemblId |
chemblId |
Approved indications list |
OpenTargets_get_drug_description_by_chemblId |
chemblId |
Drug description text |
OpenTargets_get_associated_targets_by_drug_chemblId |
chemblId |
Drug targets |
MyGene_query_genes |
query (NOT q) |
Returns {hits: [{_id, symbol, name, ensembl: {gene}}]} |
ensembl_lookup_gene |
gene_id, species='homo_sapiens' |
REQUIRES species. Returns {data: {id, display_name}} |
EnsemblVEP_annotate_rsid |
variant_id (NOT rsid) |
VEP annotation with SIFT/PolyPhen |
civic_search_evidence_items |
therapy_name, disease_name |
Returns {data: {evidenceItems: {nodes}}} - may not filter accurately |
civic_search_variants |
name, gene_name |
Returns {data: {variants: {nodes}}} - returns many unrelated variants |
civic_get_variants_by_gene |
gene_id (CIViC numeric ID) |
Requires CIViC gene ID, NOT Entrez |
civic_search_assertions |
therapy_name, disease_name |
Returns {data: {assertions: {nodes}}} |
civic_search_therapies |
name |
Search therapies by name |
cBioPortal_get_mutations |
study_id, gene_list (string) |
gene_list is a STRING not array |
cBioPortal_get_cancer_studies |
(no params needed) |
May fail with keyword param |
drugbank_get_drug_basic_info_by_drug_name_or_id |
query, case_sensitive, exact_match, limit |
ALL 4 REQUIRED |
drugbank_get_targets_by_drug_name_or_drugbank_id |
query, case_sensitive, exact_match, limit |
ALL 4 REQUIRED |
drugbank_get_pharmacology_by_drug_name_or_drugbank_id |
query, case_sensitive, exact_match, limit |
ALL 4 REQUIRED |
drugbank_get_indications_by_drug_name_or_drugbank_id |
query, case_sensitive, exact_match, limit |
ALL 4 REQUIRED |
FDA_get_indications_by_drug_name |
drug_name, limit |
Returns {meta, results} |
FDA_get_clinical_studies_info_by_drug_name |
drug_name, limit |
Returns {meta, results} |
FDA_get_adverse_reactions_by_drug_name |
drug_name, limit |
Returns {meta, results} |
FDA_get_mechanism_of_action_by_drug_name |
drug_name, limit |
Returns {meta, results} |
FDA_get_boxed_warning_info_by_drug_name |
drug_name, limit |
May return NOT_FOUND |
FDA_get_warnings_by_drug_name |
drug_name, limit |
Returns {meta, results} |
fda_pharmacogenomic_biomarkers |
drug_name, biomarker, limit |
Returns {count, shown, results: [{Drug, Biomarker, TherapeuticArea, LabelingSection}]} |
clinical_trials_search |
action='search_studies', condition, intervention, limit |
Returns {total_count, studies} |
clinical_trials_get_details |
action='get_study_details', nct_id |
Full study object |
search_clinical_trials |
query_term (REQUIRED), condition, intervention, pageSize |
Returns {studies, total_count} |
PubMed_search_articles |
query, max_results |
Returns plain list of dicts |
UniProt_get_function_by_accession |
accession |
Returns list of strings |
UniProt_get_disease_variants_by_accession |
accession |
Disease-associated variants |
HPA_get_rna_expression_by_source |
gene_name, source_type, source_name |
ALL 3 REQUIRED |
HPA_get_cancer_prognostics_by_gene |
gene_name |
Cancer prognostic data |
iedb_search_epitopes |
organism_name, source_antigen_name |
Returns {status, data, count} |
iedb_search_mhc |
various |
MHC binding data |
enrichr_gene_enrichment_analysis |
gene_list (array), libs (array, REQUIRED) |
Key libs: KEGG_2021_Human, Reactome_2022 |
PharmGKB_get_clinical_annotations |
query |
Clinical annotations |
gnomad_get_gene_constraints |
gene_symbol |
Gene constraint metrics |
Workflow Overview
Input: Cancer type + Mutations/TMB + Optional biomarkers (PD-L1, MSI, etc.)
Phase 1: Input Standardization & Cancer Context
- Resolve cancer type to EFO ID
- Parse mutation list
- Resolve genes to Ensembl/Entrez IDs
- Get cancer-specific ICI baseline
Phase 2: TMB Analysis
- TMB classification (low/intermediate/high)
- Cancer-specific TMB thresholds
- FDA TMB-H biomarker status
Phase 3: Neoantigen Analysis
- Estimate neoantigen burden from mutations
- Mutation type classification (missense/frameshift/nonsense)
- Neoantigen quality indicators
Phase 4: MSI/MMR Status Assessment
- MSI status integration
- MMR gene mutation check
- FDA MSI-H approval status
Phase 5: PD-L1 Expression Analysis
- PD-L1 level classification
- Cancer-specific PD-L1 thresholds
- FDA-approved PD-L1 cutoffs
Phase 6: Immune Microenvironment Profiling
- Immune checkpoint gene expression
- Tumor immune classification (hot/cold)
- Immune escape signatures
Phase 7: Mutation-Based Predictors
- Driver mutation analysis
- Resistance mutations (STK11, PTEN, JAK1/2, B2M)
- Sensitivity mutations (POLE)
- DNA damage repair pathway
Phase 8: Clinical Evidence & ICI Options
- FDA-approved ICIs for this cancer
- Clinical trial response rates
- Drug mechanism comparison
- Combination therapy evidence
Phase 9: Resistance Risk Assessment
- Known resistance factors
- Tumor immune evasion mechanisms
- Prior treatment context
Phase 10: Multi-Biomarker Score Integration
- Calculate ICI Response Score (0-100)
- Component breakdown
- Confidence level
Phase 11: Clinical Recommendations
- ICI drug recommendation
- Monitoring plan
- Alternative strategies
Phase 1: Input Standardization & Cancer Context
Step 1.1: Resolve Cancer Type
# Get cancer EFO ID
result = tu.tools.OpenTargets_get_disease_id_description_by_name(diseaseName='melanoma')
# -> {data: {search: {hits: [{id: 'EFO_0000756', name: 'melanoma', description: '...'}]}}}
Cancer-specific ICI context (hardcoded knowledge base):
| Cancer Type |
EFO ID |
Baseline ICI ORR |
Key Biomarkers |
FDA-Approved ICIs |
| Melanoma |
EFO_0000756 |
30-45% |
TMB, PD-L1 |
pembro, nivo, ipi, nivo+ipi, nivo+rela |
| NSCLC |
EFO_0003060 |
15-50% (PD-L1 dependent) |
PD-L1, TMB, STK11 |
pembro, nivo, atezo, durva, cemiplimab |
| Bladder/UC |
EFO_0000292 |
15-25% |
PD-L1, TMB |
pembro, nivo, atezo, avelumab, durva |
| RCC |
EFO_0000681 |
25-40% |
PD-L1 |
nivo, pembro, nivo+ipi, nivo+cabo, pembro+axitinib |
| HNSCC |
EFO_0000181 |
15-20% |
PD-L1 CPS |
pembro, nivo |
| MSI-H (any) |
N/A |
30-50% |
MSI, dMMR |
pembro (tissue-agnostic) |
| TMB-H (any) |
N/A |
20-30% |
TMB >=10 |
pembro (tissue-agnostic) |
| CRC (MSI-H) |
EFO_0000365 |
30-50% |
MSI, dMMR |
pembro, nivo, nivo+ipi |
| CRC (MSS) |
EFO_0000365 |
<5% |
Generally poor |
Generally not recommended |
| HCC |
EFO_0000182 |
15-20% |
PD-L1 |
atezo+bev, durva+treme, nivo+ipi |
| TNBC |
EFO_0005537 |
10-20% |
PD-L1 CPS |
pembro+chemo |
| Gastric/GEJ |
EFO_0000178 |
10-20% |
PD-L1 CPS, MSI |
pembro, nivo |
Step 1.2: Parse Mutations
Parse each mutation into structured format:
"BRAF V600E" -> {gene: "BRAF", variant: "V600E", type: "missense"}
"TP53 R273H" -> {gene: "TP53", variant: "R273H", type: "missense"}
"STK11 loss" -> {gene: "STK11", variant: "loss of function", type: "loss"}
Step 1.3: Resolve Gene IDs
# For each gene in mutation list
result = tu.tools.MyGene_query_genes(query='BRAF')
# -> hits[0]: {_id: '673', symbol: 'BRAF', ensembl: {gene: 'ENSG00000157764'}}
Phase 2: TMB Analysis
Step 2.1: TMB Classification
If TMB value provided directly, classify:
| TMB Range |
Classification |
ICI Score Component |
| >= 20 mut/Mb |
TMB-High |
30 points |
| 10-19.9 mut/Mb |
TMB-Intermediate |
20 points |
| 5-9.9 mut/Mb |
TMB-Low |
10 points |
| < 5 mut/Mb |
TMB-Very-Low |
5 points |
If only mutations provided, estimate TMB:
- Count total mutations provided
- Note: User-provided lists are typically key mutations, not full exome
- Flag as "estimated from provided mutations - clinical TMB testing recommended"
Step 2.2: TMB FDA Context
# Check FDA TMB-H biomarker approval
result = tu.tools.fda_pharmacogenomic_biomarkers(drug_name='pembrolizumab', limit=100)
# Look for "Tumor Mutational Burden" in Biomarker field
# -> Pembrolizumab approved for TMB-H (>=10 mut/Mb) tissue-agnostic
Step 2.3: Cancer-Specific TMB Thresholds
| Cancer Type |
Typical TMB Range |
High-TMB Threshold |
Notes |
| Melanoma |
5-50+ |
>20 |
High baseline TMB; UV-induced |
| NSCLC |
2-30 |
>10 |
Smoking-related; FDA cutoff 10 |
| Bladder |
5-25 |
>10 |
Moderate baseline |
| CRC (MSI-H) |
20-100+ |
>10 |
Very high in MSI-H |
| CRC (MSS) |
2-10 |
>10 |
Generally low |
| RCC |
1-8 |
>10 |
Low TMB but ICI-responsive |
| HNSCC |
2-15 |
>10 |
Moderate |
IMPORTANT: RCC responds to ICIs despite low TMB. TMB is less predictive in some cancers.
Phase 3: Neoantigen Analysis
Step 3.1: Neoantigen Burden Estimation
From mutation list:
- Missense mutations -> Each has ~20-50% chance of generating a neoantigen
- Frameshift mutations -> High neoantigen-generating potential (novel peptides)
- Nonsense mutations -> Moderate potential (truncated proteins)
- Splice site mutations -> Moderate potential (aberrant peptides)
Estimate: neoantigen_count ~= missense_count * 0.3 + frameshift_count * 1.5
Step 3.2: Neoantigen Quality Assessment
# Check mutation impact using UniProt
result = tu.tools.UniProt_get_function_by_accession(accession='P15056') # BRAF UniProt
# Assess if mutation is in functional domain
Quality indicators:
- Mutations in protein kinase domains -> high immunogenicity potential
- Mutations in surface-exposed regions -> better MHC presentation
- POLE/POLD1 mutations -> ultra-high neoantigen load (ultramutated)
Step 3.3: IEDB Epitope Data (if relevant)
# Check known epitopes for mutated proteins
result = tu.tools.iedb_search_epitopes(organism_name='homo sapiens', source_antigen_name='BRAF')
# Returns known epitopes, MHC restrictions
Neoantigen Score Component
| Estimated Neoantigen Load |
Classification |
Score |
| >50 neoantigens |
High |
15 points |
| 20-50 neoantigens |
Moderate |
10 points |
| <20 neoantigens |
Low |
5 points |
Phase 4: MSI/MMR Status Assessment
Step 4.1: MSI Status Integration
If MSI status provided directly:
| MSI Status |
Classification |
Score Component |
| MSI-H / dMMR |
MSI-High |
25 points |
| MSS / pMMR |
Microsatellite Stable |
5 points |
| Unknown |
Not tested |
10 points (neutral) |
Step 4.2: MMR Gene Mutation Check
Check if any provided mutations are in MMR genes:
- MLH1 (ENSG00000076242) - mismatch repair
- MSH2 (ENSG00000095002) - mismatch repair
- MSH6 (ENSG00000116062) - mismatch repair
- PMS2 (ENSG00000122512) - mismatch repair
- EPCAM (ENSG00000119888) - can silence MSH2
If MMR gene mutations found but MSI status not provided -> flag as "possible MSI-H, recommend testing"
Step 4.3: FDA MSI-H Approvals
# Check FDA approvals for MSI-H
result = tu.tools.fda_pharmacogenomic_biomarkers(biomarker='Microsatellite Instability', limit=100)
# Pembrolizumab: tissue-agnostic for MSI-H/dMMR
# Nivolumab: CRC (MSI-H)
# Dostarlimab: dMMR solid tumors
Phase 5: PD-L1 Expression Analysis
Step 5.1: PD-L1 Level Classification
| PD-L1 Level |
Classification |
Score Component |
| >= 50% (TPS) |
PD-L1 High |
20 points |
| 1-49% (TPS) |
PD-L1 Positive |
12 points |
| < 1% (TPS) |
PD-L1 Negative |
5 points |
| Unknown |
Not tested |
10 points (neutral) |
Step 5.2: Cancer-Specific PD-L1 Thresholds
| Cancer |
Scoring Method |
Key Thresholds |
ICI Monotherapy Recommended? |
| NSCLC |
TPS |
>=50%: first-line mono; >=1%: after chemo |
Yes at >=50%, combo at >=1% |
| Melanoma |
Not routinely required |
N/A |
Yes regardless of PD-L1 |
| Bladder |
CPS or IC |
CPS>=10 preferred |
Yes with PD-L1 positive |
| HNSCC |
CPS |
CPS>=1: pembro; CPS>=20: mono preferred |
CPS>=20 for monotherapy |
| Gastric |
CPS |
CPS>=1 |
Pembro+chemo |
| TNBC |
CPS |
CPS>=10 |
Pembro+chemo |
Step 5.3: PD-L1 Gene Expression (Baseline Reference)
# PD-L1 (CD274) expression patterns
result = tu.tools.HPA_get_cancer_prognostics_by_gene(gene_name='CD274')
# Cancer-type specific prognostic data
Phase 6: Immune Microenvironment Profiling
Step 6.1: Key Immune Checkpoint Genes
Query expression data for immune microenvironment markers:
# Key immune genes to check
immune_genes = ['CD274', 'PDCD1', 'CTLA4', 'LAG3', 'HAVCR2', 'TIGIT', 'CD8A', 'CD8B', 'GZMA', 'GZMB', 'PRF1', 'IFNG']
# For each gene, get cancer-specific expression
for gene in immune_genes:
result = tu.tools.HPA_get_cancer_prognostics_by_gene(gene_name=gene)
Step 6.2: Tumor Immune Classification
Based on available data, classify:
| Classification |
Characteristics |
ICI Likelihood |
| Hot (T cell inflamed) |
High CD8+ T cells, IFN-g, PD-L1+ |
High response |
| Cold (immune desert) |
Low immune infiltration |
Low response |
| Immune excluded |
Immune cells at margin, not infiltrating |
Moderate response |
| Immune suppressed |
High Tregs, MDSCs, immunosuppressive |
Low-moderate |
Step 6.3: Immune Pathway Enrichment
# If mutation list includes immune-related genes, do pathway analysis
result = tu.tools.enrichr_gene_enrichment_analysis(
gene_list=['CD274', 'PDCD1', 'CTLA4', 'IFNG', 'CD8A'],
libs=['KEGG_2021_Human', 'Reactome_2022']
)
Phase 7: Mutation-Based Predictors
Step 7.1: ICI-Resistance Mutations (CRITICAL)
Known resistance mutations - apply PENALTIES:
| Gene |
Mutation |
Cancer Context |
Mechanism |
Penalty |
| STK11/LKB1 |
Loss/inactivation |
NSCLC (esp. KRAS+) |
Immune exclusion, cold TME |
-10 points |
| PTEN |
Loss/deletion |
Multiple |
Reduced T cell infiltration |
-5 points |
| JAK1 |
Loss of function |
Multiple |
IFN-g signaling loss |
-10 points |
| JAK2 |
Loss of function |
Multiple |
IFN-g signaling loss |
-10 points |
| B2M |
Loss/mutation |
Multiple |
MHC-I loss, immune escape |
-15 points |
| KEAP1 |
Loss/mutation |
NSCLC |
Oxidative stress, cold TME |
-5 points |
| MDM2 |
Amplification |
Multiple |
Hyperprogression risk |
-5 points |
| MDM4 |
Amplification |
Multiple |
Hyperprogression risk |
-5 points |
| EGFR |
Activating mutation |
NSCLC |
Low TMB, cold TME |
-5 points |
Step 7.2: ICI-Sensitivity Mutations (BONUS)
| Gene |
Mutation |
Cancer Context |
Mechanism |
Bonus |
| POLE |
Exonuclease domain |
Any |
Ultramutation, high neoantigens |
+10 points |
| POLD1 |
Proofreading domain |
Any |
Ultramutation |
+5 points |
| BRCA1/2 |
Loss of function |
Multiple |
Genomic instability |
+3 points |
| ARID1A |
Loss of function |
Multiple |
Chromatin remodeling, TME |
+3 points |
| PBRM1 |
Loss of function |
RCC |
ICI response in RCC |
+5 points (RCC only) |
Step 7.3: Driver Mutation Context
# For each mutation, check CIViC evidence for ICI context
# Use OpenTargets for drug associations
result = tu.tools.OpenTargets_get_associated_drugs_by_disease_efoId(efoId='EFO_0000756', size=50)
# Filter for ICI drugs (pembro, nivo, ipi, atezo, durva, avelumab, cemiplimab)
Step 7.4: DNA Damage Repair (DDR) Pathway
Check if mutations are in DDR genes (associated with ICI response):
- ATM, ATR, CHEK1, CHEK2 - DNA damage sensing
- BRCA1, BRCA2, PALB2 - homologous recombination
- RAD50, MRE11, NBN - double-strand break repair
- POLE, POLD1 - polymerase proofreading
DDR mutations -> likely higher TMB -> better ICI response
Phase 8: Clinical Evidence & ICI Options
Step 8.1: FDA-Approved ICIs
# Get FDA indications for key ICIs
ici_drugs = ['pembrolizumab', 'nivolumab', 'atezolizumab', 'durvalumab', 'ipilimumab', 'avelumab', 'cemiplimab']
for drug in ici_drugs:
result = tu.tools.FDA_get_indications_by_drug_name(drug_name=drug, limit=3)
# Extract cancer-specific indications
Step 8.2: ICI Drug Profiles
| Drug |
Target |
Type |
Key Indications |
| Pembrolizumab (Keytruda) |
PD-1 |
IgG4 mAb |
Melanoma, NSCLC, HNSCC, Bladder, MSI-H, TMB-H, many others |
| Nivolumab (Opdivo) |
PD-1 |
IgG4 mAb |
Melanoma, NSCLC, RCC, CRC (MSI-H), HCC, HNSCC |
| Atezolizumab (Tecentriq) |
PD-L1 |
IgG1 mAb |
NSCLC, Bladder, HCC, Melanoma |
| Durvalumab (Imfinzi) |
PD-L1 |
IgG1 mAb |
NSCLC (Stage III), Bladder, HCC, BTC |
| Ipilimumab (Yervoy) |
CTLA-4 |
IgG1 mAb |
Melanoma, RCC (combo), CRC (MSI-H combo) |
| Avelumab (Bavencio) |
PD-L1 |
IgG1 mAb |
Merkel cell, Bladder (maintenance) |
| Cemiplimab (Libtayo) |
PD-1 |
IgG4 mAb |
CSCC, NSCLC, Basal cell |
| Dostarlimab (Jemperli) |
PD-1 |
IgG4 mAb |
dMMR endometrial, dMMR solid tumors |
| Tremelimumab (Imjudo) |
CTLA-4 |
IgG2 mAb |
HCC (combo with durva) |
Step 8.3: Clinical Trial Evidence
# Search for ICI trials in this cancer type
result = tu.tools.clinical_trials_search(
action='search_studies',
condition='melanoma',
intervention='pembrolizumab',
limit=10
)
# Returns: {total_count, studies: [{nctId, title, status, conditions}]}
Step 8.4: Literature Evidence
# Search PubMed for biomarker-specific ICI response data
result = tu.tools.PubMed_search_articles(
query='pembrolizumab melanoma TMB response biomarker',
max_results=10
)
# Returns list of {pmid, title, ...}
Step 8.5: OpenTargets Drug-Target Evidence
# Get drug mechanism details
result = tu.tools.OpenTargets_get_drug_mechanisms_of_action_by_chemblId(chemblId='CHEMBL3137343')
# -> pembrolizumab: PD-1 inhibitor, targets PDCD1 (ENSG00000188389)
Key ICI ChEMBL IDs
| Drug |
ChEMBL ID |
| Pembrolizumab |
CHEMBL3137343 |
| Nivolumab |
CHEMBL2108738 |
| Atezolizumab |
CHEMBL3707227 |
| Durvalumab |
CHEMBL3301587 |
| Ipilimumab |
CHEMBL1789844 |
| Avelumab |
CHEMBL3833373 |
| Cemiplimab |
CHEMBL4297723 |
Phase 9: Resistance Risk Assessment
Step 9.1: Known Resistance Factors Check
For each mutation in the patient profile, check against resistance database:
# Check for resistance evidence in CIViC
# CIViC evidence types: PREDICTIVE, PROGNOSTIC, DIAGNOSTIC, PREDISPOSING, ONCOGENIC
result = tu.tools.civic_search_evidence_items(therapy_name='pembrolizumab')
# Filter for resistance-associated evidence
Step 9.2: Pathway-Level Resistance
| Pathway |
Resistance Mechanism |
Genes |
| IFN-g signaling |
Loss of IFN-g response |
JAK1, JAK2, STAT1, IRF1 |
| Antigen presentation |
MHC-I downregulation |
B2M, TAP1, TAP2, HLA-A/B/C |
| WNT/b-catenin |
T cell exclusion |
CTNNB1 activating mutations |
| MAPK pathway |
Immune suppression |
MEK, ERK hyperactivation |
| PI3K/AKT/mTOR |
Immune suppression |
PTEN loss, PIK3CA |
Step 9.3: Resistance Risk Score
Summarize resistance risk as:
- Low risk: No resistance mutations, favorable TME
- Moderate risk: 1 resistance factor OR uncertain TME
- High risk: Multiple resistance mutations OR known resistant phenotype
Phase 10: Multi-Biomarker Score Integration
ICI Response Score Calculation (0-100)
TOTAL SCORE = TMB_score + MSI_score + PDL1_score + Neoantigen_score + Mutation_bonus + Resistance_penalty
Where:
TMB_score: 5-30 points (based on TMB classification)
MSI_score: 5-25 points (based on MSI status)
PDL1_score: 5-20 points (based on PD-L1 level)
Neoantigen_score: 5-15 points (based on estimated neoantigens)
Mutation_bonus: 0-10 points (POLE, PBRM1, etc.)
Resistance_penalty: -20 to 0 points (STK11, PTEN, JAK1/2, B2M)
Minimum score: 0 (floor)
Maximum score: 100 (cap)
Response Likelihood Tiers
| Score Range |
Tier |
Expected ORR |
Recommendation |
| 70-100 |
HIGH |
50-80% |
Strong ICI candidate; monotherapy or combo |
| 40-69 |
MODERATE |
20-50% |
Consider ICI; combo preferred; monitor closely |
| 0-39 |
LOW |
<20% |
ICI alone unlikely effective; consider alternatives |
Confidence Level
| Data Completeness |
Confidence |
| All biomarkers (TMB + MSI + PD-L1 + mutations) |
HIGH |
| 3 of 4 biomarkers |
MODERATE-HIGH |
| 2 of 4 biomarkers |
MODERATE |
| 1 biomarker only |
LOW |
| Cancer type only |
VERY LOW |
Extended Reference: For detailed tool tables, examples, and templates, read REFERENCE.md in this skill directory.
The agent can access it via: read skills/tooluniverse-immunotherapy-response-prediction/REFERENCE.md
1---2name: tooluniverse-immunotherapy-response-prediction3description: Predict patient response to immune checkpoint inhibitors (ICIs) using multi-biomarker integration. Given a cancer type, somatic mutations, and optional biomarkers (TMB, PD-L1, MSI status), performs systematic analysis across 11 phases covering TMB classification, neoantigen burden estimation, MSI/MMR assessment, PD-L1 evaluation, immune microenvironment profiling, mutation-based resistance/sensitivity prediction, clinical evidence retrieval, and multi-biomarker score integration. Generates a quantitative ICI Response Score (0-100), response likelihood tier, specific ICI drug recommendations with evidence, resistance risk factors, and a monitoring plan. Use when oncologists ask about immunotherapy eligibility, checkpoint inhibitor selection, or biomarker-guided ICI treatment decisions.4---56# Immunotherapy Response Prediction78Predict patient response to immune checkpoint inhibitors (ICIs) using multi-biomarker integration. Transforms a patient tumor profile (cancer type + mutations + biomarkers) into a quantitative ICI Response Score with drug-specific recommendations, resistance risk assessment, and monitoring plan.910**KEY PRINCIPLES**:111. **Report-first approach** - Create report file FIRST, then populate progressively122. **Evidence-graded** - Every finding has an evidence tier (T1-T4)133. **Quantitative output** - ICI Response Score (0-100) with transparent component breakdown144. **Cancer-specific** - All thresholds and predictions are cancer-type adjusted155. **Multi-biomarker** - Integrate TMB + MSI + PD-L1 + neoantigen + mutations166. **Resistance-aware** - Always check for known resistance mutations (STK11, PTEN, JAK1/2, B2M)177. **Drug-specific** - Recommend specific ICI agents with evidence188. **Source-referenced** - Every statement cites the tool/database source199. **English-first queries** - Always use English terms in tool calls2021---2223## When to Use2425Apply when user asks:26- "Will this patient respond to immunotherapy?"27- "Should I give pembrolizumab to this melanoma patient?"28- "Patient has NSCLC with TMB 25, PD-L1 80% - predict ICI response"29- "MSI-high colorectal cancer - which checkpoint inhibitor?"30- "Patient has BRAF V600E melanoma, TMB 15 - immunotherapy or targeted?"31- "Low TMB NSCLC with STK11 mutation - should I try immunotherapy?"32- "Compare pembrolizumab vs nivolumab for this patient profile"33- "What biomarkers predict checkpoint inhibitor response?"3435---3637## Input Parsing3839**Required**: Cancer type + at least one of: mutation list OR TMB value40**Optional**: PD-L1 expression, MSI status, immune infiltration data, HLA type, prior treatments, intended ICI4142### Accepted Input Formats4344| Format | Example | How to Parse |45|--------|---------|-------------|46| Cancer + mutations | "Melanoma, BRAF V600E, TP53 R273H" | cancer=melanoma, mutations=[BRAF V600E, TP53 R273H] |47| Cancer + TMB | "NSCLC, TMB 25 mut/Mb" | cancer=NSCLC, tmb=25 |48| Cancer + full profile | "Melanoma, BRAF V600E, TMB 15, PD-L1 50%, MSS" | cancer=melanoma, mutations=[BRAF V600E], tmb=15, pdl1=50, msi=MSS |49| Cancer + MSI status | "Colorectal cancer, MSI-high" | cancer=CRC, msi=MSI-H |50| Resistance query | "NSCLC, TMB 2, STK11 loss, PD-L1 <1%" | cancer=NSCLC, tmb=2, mutations=[STK11 loss], pdl1=0 |51| ICI selection | "Which ICI for NSCLC PD-L1 90%?" | cancer=NSCLC, pdl1=90, query_type=drug_selection |5253### Cancer Type Normalization5455Common aliases to resolve:56- NSCLC -> non-small cell lung carcinoma57- SCLC -> small cell lung carcinoma58- CRC -> colorectal cancer59- RCC -> renal cell carcinoma60- HNSCC -> head and neck squamous cell carcinoma61- UC / bladder -> urothelial carcinoma62- HCC -> hepatocellular carcinoma63- TNBC -> triple-negative breast cancer64- GEJ -> gastroesophageal junction cancer6566### Gene Symbol Normalization6768- PD-L1 -> CD27469- PD-1 -> PDCD170- CTLA-4 -> CTLA471- HER2 -> ERBB272- MSH2/MLH1/MSH6/PMS2 -> MMR genes7374---7576## Phase 0: Tool Parameter Reference (CRITICAL)7778**BEFORE calling ANY tool**, verify parameters using this reference table.7980### Verified Tool Parameters8182| Tool | Parameters | Notes |83|------|-----------|-------|84| `OpenTargets_get_disease_id_description_by_name` | `diseaseName` | Returns `{data: {search: {hits: [{id, name, description}]}}}` |85| `OpenTargets_get_drug_id_description_by_name` | `drugName` | Returns `{data: {search: {hits: [{id, name, description}]}}}` |86| `OpenTargets_get_associated_drugs_by_disease_efoId` | `efoId`, `size` | Returns `{data: {disease: {knownDrugs: {count, rows}}}}` |87| `OpenTargets_get_drug_mechanisms_of_action_by_chemblId` | `chemblId` | Returns `{data: {drug: {mechanismsOfAction: {rows}}}}` |88| `OpenTargets_get_approved_indications_by_drug_chemblId` | `chemblId` | Approved indications list |89| `OpenTargets_get_drug_description_by_chemblId` | `chemblId` | Drug description text |90| `OpenTargets_get_associated_targets_by_drug_chemblId` | `chemblId` | Drug targets |91| `MyGene_query_genes` | `query` (NOT `q`) | Returns `{hits: [{_id, symbol, name, ensembl: {gene}}]}` |92| `ensembl_lookup_gene` | `gene_id`, `species='homo_sapiens'` | REQUIRES species. Returns `{data: {id, display_name}}` |93| `EnsemblVEP_annotate_rsid` | `variant_id` (NOT `rsid`) | VEP annotation with SIFT/PolyPhen |94| `civic_search_evidence_items` | `therapy_name`, `disease_name` | Returns `{data: {evidenceItems: {nodes}}}` - may not filter accurately |95| `civic_search_variants` | `name`, `gene_name` | Returns `{data: {variants: {nodes}}}` - returns many unrelated variants |96| `civic_get_variants_by_gene` | `gene_id` (CIViC numeric ID) | Requires CIViC gene ID, NOT Entrez |97| `civic_search_assertions` | `therapy_name`, `disease_name` | Returns `{data: {assertions: {nodes}}}` |98| `civic_search_therapies` | `name` | Search therapies by name |99| `cBioPortal_get_mutations` | `study_id`, `gene_list` (string) | `gene_list` is a STRING not array |100| `cBioPortal_get_cancer_studies` | (no params needed) | May fail with keyword param |101| `drugbank_get_drug_basic_info_by_drug_name_or_id` | `query`, `case_sensitive`, `exact_match`, `limit` | ALL 4 REQUIRED |102| `drugbank_get_targets_by_drug_name_or_drugbank_id` | `query`, `case_sensitive`, `exact_match`, `limit` | ALL 4 REQUIRED |103| `drugbank_get_pharmacology_by_drug_name_or_drugbank_id` | `query`, `case_sensitive`, `exact_match`, `limit` | ALL 4 REQUIRED |104| `drugbank_get_indications_by_drug_name_or_drugbank_id` | `query`, `case_sensitive`, `exact_match`, `limit` | ALL 4 REQUIRED |105| `FDA_get_indications_by_drug_name` | `drug_name`, `limit` | Returns `{meta, results}` |106| `FDA_get_clinical_studies_info_by_drug_name` | `drug_name`, `limit` | Returns `{meta, results}` |107| `FDA_get_adverse_reactions_by_drug_name` | `drug_name`, `limit` | Returns `{meta, results}` |108| `FDA_get_mechanism_of_action_by_drug_name` | `drug_name`, `limit` | Returns `{meta, results}` |109| `FDA_get_boxed_warning_info_by_drug_name` | `drug_name`, `limit` | May return NOT_FOUND |110| `FDA_get_warnings_by_drug_name` | `drug_name`, `limit` | Returns `{meta, results}` |111| `fda_pharmacogenomic_biomarkers` | `drug_name`, `biomarker`, `limit` | Returns `{count, shown, results: [{Drug, Biomarker, TherapeuticArea, LabelingSection}]}` |112| `clinical_trials_search` | `action='search_studies'`, `condition`, `intervention`, `limit` | Returns `{total_count, studies}` |113| `clinical_trials_get_details` | `action='get_study_details'`, `nct_id` | Full study object |114| `search_clinical_trials` | `query_term` (REQUIRED), `condition`, `intervention`, `pageSize` | Returns `{studies, total_count}` |115| `PubMed_search_articles` | `query`, `max_results` | Returns plain list of dicts |116| `UniProt_get_function_by_accession` | `accession` | Returns list of strings |117| `UniProt_get_disease_variants_by_accession` | `accession` | Disease-associated variants |118| `HPA_get_rna_expression_by_source` | `gene_name`, `source_type`, `source_name` | ALL 3 REQUIRED |119| `HPA_get_cancer_prognostics_by_gene` | `gene_name` | Cancer prognostic data |120| `iedb_search_epitopes` | `organism_name`, `source_antigen_name` | Returns `{status, data, count}` |121| `iedb_search_mhc` | various | MHC binding data |122| `enrichr_gene_enrichment_analysis` | `gene_list` (array), `libs` (array, REQUIRED) | Key libs: `KEGG_2021_Human`, `Reactome_2022` |123| `PharmGKB_get_clinical_annotations` | `query` | Clinical annotations |124| `gnomad_get_gene_constraints` | `gene_symbol` | Gene constraint metrics |125126---127128## Workflow Overview129130```131Input: Cancer type + Mutations/TMB + Optional biomarkers (PD-L1, MSI, etc.)132133Phase 1: Input Standardization & Cancer Context134 - Resolve cancer type to EFO ID135 - Parse mutation list136 - Resolve genes to Ensembl/Entrez IDs137 - Get cancer-specific ICI baseline138139Phase 2: TMB Analysis140 - TMB classification (low/intermediate/high)141 - Cancer-specific TMB thresholds142 - FDA TMB-H biomarker status143144Phase 3: Neoantigen Analysis145 - Estimate neoantigen burden from mutations146 - Mutation type classification (missense/frameshift/nonsense)147 - Neoantigen quality indicators148149Phase 4: MSI/MMR Status Assessment150 - MSI status integration151 - MMR gene mutation check152 - FDA MSI-H approval status153154Phase 5: PD-L1 Expression Analysis155 - PD-L1 level classification156 - Cancer-specific PD-L1 thresholds157 - FDA-approved PD-L1 cutoffs158159Phase 6: Immune Microenvironment Profiling160 - Immune checkpoint gene expression161 - Tumor immune classification (hot/cold)162 - Immune escape signatures163164Phase 7: Mutation-Based Predictors165 - Driver mutation analysis166 - Resistance mutations (STK11, PTEN, JAK1/2, B2M)167 - Sensitivity mutations (POLE)168 - DNA damage repair pathway169170Phase 8: Clinical Evidence & ICI Options171 - FDA-approved ICIs for this cancer172 - Clinical trial response rates173 - Drug mechanism comparison174 - Combination therapy evidence175176Phase 9: Resistance Risk Assessment177 - Known resistance factors178 - Tumor immune evasion mechanisms179 - Prior treatment context180181Phase 10: Multi-Biomarker Score Integration182 - Calculate ICI Response Score (0-100)183 - Component breakdown184 - Confidence level185186Phase 11: Clinical Recommendations187 - ICI drug recommendation188 - Monitoring plan189 - Alternative strategies190```191192---193194## Phase 1: Input Standardization & Cancer Context195196### Step 1.1: Resolve Cancer Type197198```python199# Get cancer EFO ID200result = tu.tools.OpenTargets_get_disease_id_description_by_name(diseaseName='melanoma')201# -> {data: {search: {hits: [{id: 'EFO_0000756', name: 'melanoma', description: '...'}]}}}202```203204**Cancer-specific ICI context** (hardcoded knowledge base):205206| Cancer Type | EFO ID | Baseline ICI ORR | Key Biomarkers | FDA-Approved ICIs |207|-------------|--------|-------------------|----------------|-------------------|208| Melanoma | EFO_0000756 | 30-45% | TMB, PD-L1 | pembro, nivo, ipi, nivo+ipi, nivo+rela |209| NSCLC | EFO_0003060 | 15-50% (PD-L1 dependent) | PD-L1, TMB, STK11 | pembro, nivo, atezo, durva, cemiplimab |210| Bladder/UC | EFO_0000292 | 15-25% | PD-L1, TMB | pembro, nivo, atezo, avelumab, durva |211| RCC | EFO_0000681 | 25-40% | PD-L1 | nivo, pembro, nivo+ipi, nivo+cabo, pembro+axitinib |212| HNSCC | EFO_0000181 | 15-20% | PD-L1 CPS | pembro, nivo |213| MSI-H (any) | N/A | 30-50% | MSI, dMMR | pembro (tissue-agnostic) |214| TMB-H (any) | N/A | 20-30% | TMB >=10 | pembro (tissue-agnostic) |215| CRC (MSI-H) | EFO_0000365 | 30-50% | MSI, dMMR | pembro, nivo, nivo+ipi |216| CRC (MSS) | EFO_0000365 | <5% | Generally poor | Generally not recommended |217| HCC | EFO_0000182 | 15-20% | PD-L1 | atezo+bev, durva+treme, nivo+ipi |218| TNBC | EFO_0005537 | 10-20% | PD-L1 CPS | pembro+chemo |219| Gastric/GEJ | EFO_0000178 | 10-20% | PD-L1 CPS, MSI | pembro, nivo |220221### Step 1.2: Parse Mutations222223Parse each mutation into structured format:224```225"BRAF V600E" -> {gene: "BRAF", variant: "V600E", type: "missense"}226"TP53 R273H" -> {gene: "TP53", variant: "R273H", type: "missense"}227"STK11 loss" -> {gene: "STK11", variant: "loss of function", type: "loss"}228```229230### Step 1.3: Resolve Gene IDs231232```python233# For each gene in mutation list234result = tu.tools.MyGene_query_genes(query='BRAF')235# -> hits[0]: {_id: '673', symbol: 'BRAF', ensembl: {gene: 'ENSG00000157764'}}236```237238---239240## Phase 2: TMB Analysis241242### Step 2.1: TMB Classification243244If TMB value provided directly, classify:245246| TMB Range | Classification | ICI Score Component |247|-----------|---------------|---------------------|248| >= 20 mut/Mb | TMB-High | 30 points |249| 10-19.9 mut/Mb | TMB-Intermediate | 20 points |250| 5-9.9 mut/Mb | TMB-Low | 10 points |251| < 5 mut/Mb | TMB-Very-Low | 5 points |252253If only mutations provided, estimate TMB:254- Count total mutations provided255- Note: User-provided lists are typically key mutations, not full exome256- Flag as "estimated from provided mutations - clinical TMB testing recommended"257258### Step 2.2: TMB FDA Context259260```python261# Check FDA TMB-H biomarker approval262result = tu.tools.fda_pharmacogenomic_biomarkers(drug_name='pembrolizumab', limit=100)263# Look for "Tumor Mutational Burden" in Biomarker field264# -> Pembrolizumab approved for TMB-H (>=10 mut/Mb) tissue-agnostic265```266267### Step 2.3: Cancer-Specific TMB Thresholds268269| Cancer Type | Typical TMB Range | High-TMB Threshold | Notes |270|-------------|-------------------|-------------------|-------|271| Melanoma | 5-50+ | >20 | High baseline TMB; UV-induced |272| NSCLC | 2-30 | >10 | Smoking-related; FDA cutoff 10 |273| Bladder | 5-25 | >10 | Moderate baseline |274| CRC (MSI-H) | 20-100+ | >10 | Very high in MSI-H |275| CRC (MSS) | 2-10 | >10 | Generally low |276| RCC | 1-8 | >10 | Low TMB but ICI-responsive |277| HNSCC | 2-15 | >10 | Moderate |278279**IMPORTANT**: RCC responds to ICIs despite low TMB. TMB is less predictive in some cancers.280281---282283## Phase 3: Neoantigen Analysis284285### Step 3.1: Neoantigen Burden Estimation286287From mutation list:288- **Missense mutations** -> Each has ~20-50% chance of generating a neoantigen289- **Frameshift mutations** -> High neoantigen-generating potential (novel peptides)290- **Nonsense mutations** -> Moderate potential (truncated proteins)291- **Splice site mutations** -> Moderate potential (aberrant peptides)292293Estimate: neoantigen_count ~= missense_count * 0.3 + frameshift_count * 1.5294295### Step 3.2: Neoantigen Quality Assessment296297```python298# Check mutation impact using UniProt299result = tu.tools.UniProt_get_function_by_accession(accession='P15056') # BRAF UniProt300# Assess if mutation is in functional domain301```302303**Quality indicators**:304- Mutations in protein kinase domains -> high immunogenicity potential305- Mutations in surface-exposed regions -> better MHC presentation306- POLE/POLD1 mutations -> ultra-high neoantigen load (ultramutated)307308### Step 3.3: IEDB Epitope Data (if relevant)309310```python311# Check known epitopes for mutated proteins312result = tu.tools.iedb_search_epitopes(organism_name='homo sapiens', source_antigen_name='BRAF')313# Returns known epitopes, MHC restrictions314```315316### Neoantigen Score Component317318| Estimated Neoantigen Load | Classification | Score |319|---------------------------|---------------|-------|320| >50 neoantigens | High | 15 points |321| 20-50 neoantigens | Moderate | 10 points |322| <20 neoantigens | Low | 5 points |323324---325326## Phase 4: MSI/MMR Status Assessment327328### Step 4.1: MSI Status Integration329330If MSI status provided directly:331332| MSI Status | Classification | Score Component |333|-----------|----------------|----------------|334| MSI-H / dMMR | MSI-High | 25 points |335| MSS / pMMR | Microsatellite Stable | 5 points |336| Unknown | Not tested | 10 points (neutral) |337338### Step 4.2: MMR Gene Mutation Check339340Check if any provided mutations are in MMR genes:341- **MLH1** (ENSG00000076242) - mismatch repair342- **MSH2** (ENSG00000095002) - mismatch repair343- **MSH6** (ENSG00000116062) - mismatch repair344- **PMS2** (ENSG00000122512) - mismatch repair345- **EPCAM** (ENSG00000119888) - can silence MSH2346347If MMR gene mutations found but MSI status not provided -> flag as "possible MSI-H, recommend testing"348349### Step 4.3: FDA MSI-H Approvals350351```python352# Check FDA approvals for MSI-H353result = tu.tools.fda_pharmacogenomic_biomarkers(biomarker='Microsatellite Instability', limit=100)354# Pembrolizumab: tissue-agnostic for MSI-H/dMMR355# Nivolumab: CRC (MSI-H)356# Dostarlimab: dMMR solid tumors357```358359---360361## Phase 5: PD-L1 Expression Analysis362363### Step 5.1: PD-L1 Level Classification364365| PD-L1 Level | Classification | Score Component |366|-------------|----------------|----------------|367| >= 50% (TPS) | PD-L1 High | 20 points |368| 1-49% (TPS) | PD-L1 Positive | 12 points |369| < 1% (TPS) | PD-L1 Negative | 5 points |370| Unknown | Not tested | 10 points (neutral) |371372### Step 5.2: Cancer-Specific PD-L1 Thresholds373374| Cancer | Scoring Method | Key Thresholds | ICI Monotherapy Recommended? |375|--------|---------------|----------------|------------------------------|376| NSCLC | TPS | >=50%: first-line mono; >=1%: after chemo | Yes at >=50%, combo at >=1% |377| Melanoma | Not routinely required | N/A | Yes regardless of PD-L1 |378| Bladder | CPS or IC | CPS>=10 preferred | Yes with PD-L1 positive |379| HNSCC | CPS | CPS>=1: pembro; CPS>=20: mono preferred | CPS>=20 for monotherapy |380| Gastric | CPS | CPS>=1 | Pembro+chemo |381| TNBC | CPS | CPS>=10 | Pembro+chemo |382383### Step 5.3: PD-L1 Gene Expression (Baseline Reference)384385```python386# PD-L1 (CD274) expression patterns387result = tu.tools.HPA_get_cancer_prognostics_by_gene(gene_name='CD274')388# Cancer-type specific prognostic data389```390391---392393## Phase 6: Immune Microenvironment Profiling394395### Step 6.1: Key Immune Checkpoint Genes396397Query expression data for immune microenvironment markers:398399```python400# Key immune genes to check401immune_genes = ['CD274', 'PDCD1', 'CTLA4', 'LAG3', 'HAVCR2', 'TIGIT', 'CD8A', 'CD8B', 'GZMA', 'GZMB', 'PRF1', 'IFNG']402403# For each gene, get cancer-specific expression404for gene in immune_genes:405 result = tu.tools.HPA_get_cancer_prognostics_by_gene(gene_name=gene)406```407408### Step 6.2: Tumor Immune Classification409410Based on available data, classify:411412| Classification | Characteristics | ICI Likelihood |413|---------------|-----------------|----------------|414| Hot (T cell inflamed) | High CD8+ T cells, IFN-g, PD-L1+ | High response |415| Cold (immune desert) | Low immune infiltration | Low response |416| Immune excluded | Immune cells at margin, not infiltrating | Moderate response |417| Immune suppressed | High Tregs, MDSCs, immunosuppressive | Low-moderate |418419### Step 6.3: Immune Pathway Enrichment420421```python422# If mutation list includes immune-related genes, do pathway analysis423result = tu.tools.enrichr_gene_enrichment_analysis(424 gene_list=['CD274', 'PDCD1', 'CTLA4', 'IFNG', 'CD8A'],425 libs=['KEGG_2021_Human', 'Reactome_2022']426)427```428429---430431## Phase 7: Mutation-Based Predictors432433### Step 7.1: ICI-Resistance Mutations (CRITICAL)434435**Known resistance mutations** - apply PENALTIES:436437| Gene | Mutation | Cancer Context | Mechanism | Penalty |438|------|----------|---------------|-----------|---------|439| STK11/LKB1 | Loss/inactivation | NSCLC (esp. KRAS+) | Immune exclusion, cold TME | -10 points |440| PTEN | Loss/deletion | Multiple | Reduced T cell infiltration | -5 points |441| JAK1 | Loss of function | Multiple | IFN-g signaling loss | -10 points |442| JAK2 | Loss of function | Multiple | IFN-g signaling loss | -10 points |443| B2M | Loss/mutation | Multiple | MHC-I loss, immune escape | -15 points |444| KEAP1 | Loss/mutation | NSCLC | Oxidative stress, cold TME | -5 points |445| MDM2 | Amplification | Multiple | Hyperprogression risk | -5 points |446| MDM4 | Amplification | Multiple | Hyperprogression risk | -5 points |447| EGFR | Activating mutation | NSCLC | Low TMB, cold TME | -5 points |448449### Step 7.2: ICI-Sensitivity Mutations (BONUS)450451| Gene | Mutation | Cancer Context | Mechanism | Bonus |452|------|----------|---------------|-----------|-------|453| POLE | Exonuclease domain | Any | Ultramutation, high neoantigens | +10 points |454| POLD1 | Proofreading domain | Any | Ultramutation | +5 points |455| BRCA1/2 | Loss of function | Multiple | Genomic instability | +3 points |456| ARID1A | Loss of function | Multiple | Chromatin remodeling, TME | +3 points |457| PBRM1 | Loss of function | RCC | ICI response in RCC | +5 points (RCC only) |458459### Step 7.3: Driver Mutation Context460461```python462# For each mutation, check CIViC evidence for ICI context463# Use OpenTargets for drug associations464result = tu.tools.OpenTargets_get_associated_drugs_by_disease_efoId(efoId='EFO_0000756', size=50)465# Filter for ICI drugs (pembro, nivo, ipi, atezo, durva, avelumab, cemiplimab)466```467468### Step 7.4: DNA Damage Repair (DDR) Pathway469470Check if mutations are in DDR genes (associated with ICI response):471- **ATM, ATR, CHEK1, CHEK2** - DNA damage sensing472- **BRCA1, BRCA2, PALB2** - homologous recombination473- **RAD50, MRE11, NBN** - double-strand break repair474- **POLE, POLD1** - polymerase proofreading475476DDR mutations -> likely higher TMB -> better ICI response477478---479480## Phase 8: Clinical Evidence & ICI Options481482### Step 8.1: FDA-Approved ICIs483484```python485# Get FDA indications for key ICIs486ici_drugs = ['pembrolizumab', 'nivolumab', 'atezolizumab', 'durvalumab', 'ipilimumab', 'avelumab', 'cemiplimab']487488for drug in ici_drugs:489 result = tu.tools.FDA_get_indications_by_drug_name(drug_name=drug, limit=3)490 # Extract cancer-specific indications491```492493### Step 8.2: ICI Drug Profiles494495| Drug | Target | Type | Key Indications |496|------|--------|------|-----------------|497| Pembrolizumab (Keytruda) | PD-1 | IgG4 mAb | Melanoma, NSCLC, HNSCC, Bladder, MSI-H, TMB-H, many others |498| Nivolumab (Opdivo) | PD-1 | IgG4 mAb | Melanoma, NSCLC, RCC, CRC (MSI-H), HCC, HNSCC |499| Atezolizumab (Tecentriq) | PD-L1 | IgG1 mAb | NSCLC, Bladder, HCC, Melanoma |500| Durvalumab (Imfinzi) | PD-L1 | IgG1 mAb | NSCLC (Stage III), Bladder, HCC, BTC |501| Ipilimumab (Yervoy) | CTLA-4 | IgG1 mAb | Melanoma, RCC (combo), CRC (MSI-H combo) |502| Avelumab (Bavencio) | PD-L1 | IgG1 mAb | Merkel cell, Bladder (maintenance) |503| Cemiplimab (Libtayo) | PD-1 | IgG4 mAb | CSCC, NSCLC, Basal cell |504| Dostarlimab (Jemperli) | PD-1 | IgG4 mAb | dMMR endometrial, dMMR solid tumors |505| Tremelimumab (Imjudo) | CTLA-4 | IgG2 mAb | HCC (combo with durva) |506507### Step 8.3: Clinical Trial Evidence508509```python510# Search for ICI trials in this cancer type511result = tu.tools.clinical_trials_search(512 action='search_studies',513 condition='melanoma',514 intervention='pembrolizumab',515 limit=10516)517# Returns: {total_count, studies: [{nctId, title, status, conditions}]}518```519520### Step 8.4: Literature Evidence521522```python523# Search PubMed for biomarker-specific ICI response data524result = tu.tools.PubMed_search_articles(525 query='pembrolizumab melanoma TMB response biomarker',526 max_results=10527)528# Returns list of {pmid, title, ...}529```530531### Step 8.5: OpenTargets Drug-Target Evidence532533```python534# Get drug mechanism details535result = tu.tools.OpenTargets_get_drug_mechanisms_of_action_by_chemblId(chemblId='CHEMBL3137343')536# -> pembrolizumab: PD-1 inhibitor, targets PDCD1 (ENSG00000188389)537```538539### Key ICI ChEMBL IDs540541| Drug | ChEMBL ID |542|------|-----------|543| Pembrolizumab | CHEMBL3137343 |544| Nivolumab | CHEMBL2108738 |545| Atezolizumab | CHEMBL3707227 |546| Durvalumab | CHEMBL3301587 |547| Ipilimumab | CHEMBL1789844 |548| Avelumab | CHEMBL3833373 |549| Cemiplimab | CHEMBL4297723 |550551---552553## Phase 9: Resistance Risk Assessment554555### Step 9.1: Known Resistance Factors Check556557For each mutation in the patient profile, check against resistance database:558559```python560# Check for resistance evidence in CIViC561# CIViC evidence types: PREDICTIVE, PROGNOSTIC, DIAGNOSTIC, PREDISPOSING, ONCOGENIC562result = tu.tools.civic_search_evidence_items(therapy_name='pembrolizumab')563# Filter for resistance-associated evidence564```565566### Step 9.2: Pathway-Level Resistance567568| Pathway | Resistance Mechanism | Genes |569|---------|---------------------|-------|570| IFN-g signaling | Loss of IFN-g response | JAK1, JAK2, STAT1, IRF1 |571| Antigen presentation | MHC-I downregulation | B2M, TAP1, TAP2, HLA-A/B/C |572| WNT/b-catenin | T cell exclusion | CTNNB1 activating mutations |573| MAPK pathway | Immune suppression | MEK, ERK hyperactivation |574| PI3K/AKT/mTOR | Immune suppression | PTEN loss, PIK3CA |575576### Step 9.3: Resistance Risk Score577578Summarize resistance risk as:579- **Low risk**: No resistance mutations, favorable TME580- **Moderate risk**: 1 resistance factor OR uncertain TME581- **High risk**: Multiple resistance mutations OR known resistant phenotype582583---584585## Phase 10: Multi-Biomarker Score Integration586587### ICI Response Score Calculation (0-100)588589```590TOTAL SCORE = TMB_score + MSI_score + PDL1_score + Neoantigen_score + Mutation_bonus + Resistance_penalty591592Where:593 TMB_score: 5-30 points (based on TMB classification)594 MSI_score: 5-25 points (based on MSI status)595 PDL1_score: 5-20 points (based on PD-L1 level)596 Neoantigen_score: 5-15 points (based on estimated neoantigens)597 Mutation_bonus: 0-10 points (POLE, PBRM1, etc.)598 Resistance_penalty: -20 to 0 points (STK11, PTEN, JAK1/2, B2M)599600Minimum score: 0 (floor)601Maximum score: 100 (cap)602```603604### Response Likelihood Tiers605606| Score Range | Tier | Expected ORR | Recommendation |607|-------------|------|-------------|----------------|608| 70-100 | HIGH | 50-80% | Strong ICI candidate; monotherapy or combo |609| 40-69 | MODERATE | 20-50% | Consider ICI; combo preferred; monitor closely |610| 0-39 | LOW | <20% | ICI alone unlikely effective; consider alternatives |611612### Confidence Level613614| Data Completeness | Confidence |615|-------------------|-----------|616| All biomarkers (TMB + MSI + PD-L1 + mutations) | HIGH |617| 3 of 4 biomarkers | MODERATE-HIGH |618| 2 of 4 biomarkers | MODERATE |619| 1 biomarker only | LOW |620| Cancer type only | VERY LOW |621622---623624625---626627> **Extended Reference**: For detailed tool tables, examples, and templates, read `REFERENCE.md` in this skill directory.628> The agent can access it via: `read skills/tooluniverse-immunotherapy-response-prediction/REFERENCE.md`