Q (sonnet): "Are mutations in CDKN2A, CDK4, and RB1 mutually exclusive in glioblastoma patients?" ▶ read_guide { "uri": "cbioportal://statistical-tests-guide" } ▶ list_studies { "search": "glioblastoma" } ◀ result Statistical Test Selection Guide ================================ Purpose ------- This guide ensures the correct statistical test is selected before performing any group comparison, matching cBioPortal's own Group Comparison defaults. HARD RULES — NEVER FABRICATE A STATISTIC ---------------------------------------- ClickHouse cannot run statistical tests. The agent therefore must NEVER produce a derived statistic that is not a literal column value from a SQL result. Specifically: 1. **Never invent a p-value.** Not "p < 0.001", not "p ≈ 0.05", not any p-value. If the user asks "what is the p-value?", the answer is *"I can't compute that — here is the 2x2 contingency table (or group statistics). Run it in cBioPortal's Group Comparison tab, in R with `fisher.test(...)` / `wilcox.test(...)`, or in Python with `scipy.stats.fisher_exact(...)` / `mannwhitneyu(...)`."* 2. **Never claim mutual exclusivity (or co-occurrence) from a contingency table alone.** A 2x2 table is not a test. The shape "altered/not altered × group A/group B" needs Fisher's exact + a defined direction (odds ratio < 1 with significant p). Without that test, the agent presents the table and stops. Descriptive phrasing is also a claim: "largely/mostly mutually exclusive", "rarely co-occur", "tend to co-occur" are forbidden without the test — point to cBioPortal's Mutual Exclusivity tab instead. 3. **Never report a "median" that came from `AVG(...)` or any non-median aggregate.** "Median" and "mean" are different statistics; for skewed clinical distributions (especially survival) they differ substantially. Use ClickHouse's `quantile(0.5)(...)` for actual median, and label arithmetic averages as "mean", never "median". 4. **Never report a hazard ratio, odds ratio, risk ratio, or relative risk** that wasn't computed by an external tool. These require regression / model fitting that ClickHouse does not do. 5. **Never report median overall survival from `AVG(OS_MONTHS)` or even `quantile(0.5)(OS_MONTHS)`.** Median OS requires Kaplan-Meier estimation, which handles censoring (`OS_STATUS = 0:LIVING` means the event hasn't happened yet). Naive medians/means over `OS_MONTHS` ignore censoring and are systematically wrong. The correct handoff: return the raw `(OS_MONTHS, OS_STATUS)` pairs (or descriptive counts: N events, N censored, follow-up range) and tell the user to run KM in R (`survival::survfit`) or Python (`lifelines.KaplanMeierFitter`), or use cBioPortal's Survival comparison. If asked to do any of (1)–(5), respond with the appropriate handoff template from the "Approved Response Templates" section below — do not produce the number. Ambiguous-Term Clarification (before any analysis) -------------------------------------------------- If the user's question uses an ambiguous term, ask before computing anything. Examples: - **"aggressive"** → could mean shorter overall survival, higher metastasis rate, higher grade/stage, higher TMB, or specific molecular features. Ask which definit … (9984 more chars) ◀ result {"result":[{"cancer_study_identifier":"gbm_tcga","name":"Glioblastoma Multiforme (TCGA, Firehose Legacy)","type_of_cancer_id":"difg","sample_count":619,"has_guide":false,"url":"https://www.cbioportal.org/study/summary?id=gbm_tcga"},{"cancer_study_identifier":"gbm_tcga_gdc","name":"Glioblastoma Multiforme (TCGA GDC, 2025)","type_of_cancer_id":"difg","sample_count":611,"has_guide":false,"url":"https://www.cbioportal.org/study/summary?id=gbm_tcga_gdc"},{"cancer_study_identifier":"gbm_tcga_pan_can_atlas_2018","name":"Glioblastoma Multiforme (TCGA, PanCancer Atlas)","type_of_cancer_id":"difg","sample_count":592,"has_guide":true,"url":"https://www.cbioportal.org/study/summary?id=gbm_tcga_pan_can_atlas_2018"},{"cancer_study_identifier":"gbm_tcga_pub2013","name":"Glioblastoma (TCGA, Cell 2013)","type_of_cancer_id":"difg","sample_count":577,"has_guide":false,"url":"https://www.cbioportal.org/study/summary?id=gbm_tcga_pub2013"},{"cancer_study_identifier":"gbm_tcga_pub","name":"Glioblastoma (TCGA, Nature 2008)","type_of_cancer_id":"difg","sample_count":206,"has_guide":false,"url":"https://www.cbioportal.org/study/summary?id=gbm_tcga_pub"},{"cancer_study_identifier":"gbm_cptac_2021","name":"Glioblastoma (CPTAC, Cell 2021)","type_of_cancer_id":"difg","sample_count":99,"has_guide":false,"url":"https://www.cbioportal.org/study/summary?id=gbm_cptac_2021"},{"cancer_study_identifier":"gbm_columbia_2019","name":"Glioblastoma (Columbia, Nat Med. 2019)","type_of_cancer_id":"difg","sample_count":42,"has_guide":false,"url":"https://www.cbioportal.org/study/summary?id=gbm_columbia_2019"},{"cancer_study_identifier":"gbm_iatlas_prins_2019","name":"Glioblastoma (Randomized Clinical Trial, Nat Med. 2019) - iAtlas Harmonized","type_of_cancer_id":"adifg","sample_count":30,"has_guide":false,"url":"https://www.cbioportal.org/study/summary?id=gbm_iatlas_prins_2019"}]} ▶ get_study_guide { "study_id": "gbm_tcga_pan_can_atlas_2018" } ▶ clickhouse_list_table_columns { "table": "genomic_event_derived" } ◀ result # Glioblastoma Multiforme (TCGA, PanCancer Atlas) **Study ID:** `gbm_tcga_pan_can_atlas_2018` See `_tcga_pancan_template.md` for common TCGA clinical attributes. ## Study-Specific Attributes ### Molecular Classification | Attribute | Description | Values (patients) | |-----------|-------------|--------| | `SUBTYPE` | TCGA glioma IDH classification | `GBM_IDHwt` 114, `GBM_IDHmut-non-codel` 7, `GBM` 5, blank 459 | `SUBTYPE` is blank for most patients and does not hold the transcriptional subtypes (Classical/Mesenchymal/Proneural/Neural). ### Not available in this study - **IDH status**: no `IDH_STATUS` attribute. Use IDH1/IDH2 mutations from mutation data (covers all sequenced samples), or `SUBTYPE` for the 121 classified patients. - **MGMT promoter methylation status**: not available (the methylation profiles are CpG-probe level, with no MGMT status call). - **Karnofsky performance status and extent of resection**: not available. ## Key Genes & Pathways - **TP53**: Frequently mutated - **PTEN**: Common deletions - **EGFR**: Amplified in ~40%, often with EGFRvIII variant - **IDH1**: R132H mutation defines IDH-mutant subtype (better prognosis) - **RB pathway**: CDKN2A deletion, CDK4 amplification, RB1 mutation (often mutually exclusive) ## Notes - IDH-mutant GBMs have significantly better prognosis - MGMT methylation predicts temozolomide response - EGFR amplification and EGFRvIII are GBM-specific - Molecular subtypes have distinct transcriptional programs ◀ result {"columns":[{"name":"sample_unique_id","type":"String"},{"name":"hugo_gene_symbol","type":"String","comment":"HUGO gene symbol (e.g., TP53, KRAS, BRAF). Use for gene-specific queries."},{"name":"entrez_gene_id","type":"Int32"},{"name":"gene_panel_stable_id","type":"LowCardinality(String)"},{"name":"cancer_study_identifier","type":"LowCardinality(String)"},{"name":"genetic_profile_stable_id","type":"LowCardinality(String)"},{"name":"variant_type","type":"LowCardinality(String)","comment":"Type of genomic event: \"mutation\" for SNVs/indels, \"cna\" for copy number alterations, \"structural_variant\" for SVs. Always filter by this."},{"name":"mutation_variant","type":"String","comment":"Protein change notation (e.g., p.V600E, p.R175H). Use for specific variant queries. \"NA\" for non-mutation events."},{"name":"mutation_type","type":"LowCardinality(String)"},{"name":"mutation_status","type":"LowCardinality(String)","comment":"For mutations: Somatic, Germline, UNKNOWN, or UNCALLED. Filter mutation_status != \"UNCALLED\" to exclude uncertain calls. Include all other statuses."},{"name":"driver_filter","type":"LowCardinality(String)"},{"name":"driver_filter_annotation","type":"String"},{"name":"driver_tiers_filter","type":"LowCardinality(String)"},{"name":"driver_tiers_filter_annotation","type":"String"},{"name":"cna_alteration","type":"Nullable(Int8)","comment":"Copy number alteration: only 2 = amplification (AMP) and -2 = deep deletion (HOMDEL) are stored. Shallow deletion (-1), diploid (0) and gain (1) are not in this table; query genetic_alteration_derived WHERE profile_type = 'gistic' (alteration_value is a String, e.g. '-1'). NULL for non-CNA events."},{"name":"cna_cytoband","type":"String"},{"name":"sv_event_info","type":"String"},{"name":"patient_unique_id","type":"String"},{"name":"off_panel","type":"Bool","comment":"Boolean: 1 = mutation outside gene panel coverage (off-panel), 0 = within panel (on-panel). Filter off_panel = 0 for reliable frequency calculations."}]} ▶ clickhouse_run_select_query { "query": " SELECT sample_unique_id, groupUniqArray(hugo_gene_symbol) AS mutated_genes FROM genomic_event_derived WHERE cancer_study_identifier = 'gbm_tcga_pan_can_atlas_2018' AND variant_type = 'mutation' AND hugo_gene_symbol IN ('CDKN2A','CDK4','RB1') AND mutation_status != 'UNCALLED' AND off_panel = 0 GROUP BY sample_unique_id ", "max_rows": 1000 } ◀ result {"rows":[{"sample_unique_id":"gbm_tcga_pan_can_atlas_2018_TCGA-19-2625-01","mutated_genes":["RB1"]},{"sample_unique_id":"gbm_tcga_pan_can_atlas_2018_TCGA-32-2491-01","mutated_genes":["RB1"]},{"sample_unique_id":"gbm_tcga_pan_can_atlas_2018_TCGA-76-6663-01","mutated_genes":["RB1"]},{"sample_unique_id":"gbm_tcga_pan_can_atlas_2018_TCGA-06-0140-01","mutated_genes":["RB1"]},{"sample_unique_id":"gbm_tcga_pan_can_atlas_2018_TCGA-27-2524-01","mutated_genes":["RB1"]},{"sample_unique_id":"gbm_tcga_pan_can_atlas_2018_TCGA-19-2623-01","mutated_genes":["RB1"]},{"sample_unique_id":"gbm_tcga_pan_can_atlas_2018_TCGA-32-1970-01","mutated_genes":["RB1"]},{"sample_unique_id":"gbm_tcga_pan_can_atlas_2018_TCGA-19-1787-01","mutated_genes":["RB1"]},{"sample_unique_id":"gbm_tcga_pan_can_atlas_2018_TCGA-06-1087-01","mutated_genes":["RB1"]},{"sample_unique_id":"gbm_tcga_pan_can_atlas_2018_TCGA-14-0812-01","mutated_genes":["RB1"]},{"sample_unique_id":"gbm_tcga_pan_can_atlas_2018_TCGA-06-0213-01","mutated_genes":["RB1"]},{"sample_unique_id":"gbm_tcga_pan_can_atlas_2018_TCGA-32-2638-01","mutated_genes":["CDKN2A"]},{"sample_unique_id":"gbm_tcga_pan_can_atlas_2018_TCGA-12-1093-01","mutated_genes":["CDKN2A"]},{"sample_unique_id":"gbm_tcga_pan_can_atlas_2018_TCGA-06-0184-01","mutated_genes":["RB1"]},{"sample_unique_id":"gbm_tcga_pan_can_atlas_2018_TCGA-06-0195-01","mutated_genes":["RB1"]},{"sample_unique_id":"gbm_tcga_pan_can_atlas_2018_TCGA-06-5858-01","mutated_genes":["RB1"]},{"sample_unique_id":"gbm_tcga_pan_can_atlas_2018_TCGA-28-1752-01","mutated_genes":["RB1"]},{"sample_unique_id":"gbm_tcga_pan_can_atlas_2018_TCGA-12-1092-01","mutated_genes":["RB1"]},{"sample_unique_id":"gbm_tcga_pan_can_atlas_2018_TCGA-06-0939-01","mutated_genes":["RB1"]},{"sample_unique_id":"gbm_tcga_pan_can_atlas_2018_TCGA-14-0867-01","mutated_genes":["RB1"]},{"sample_unique_id":"gbm_tcga_pan_can_atlas_2018_TCGA-06-2557-01","mutated_genes":["CDKN2A"]},{"sample_unique_id":"gbm_tcga_pan_can_atlas_2018_TCGA-06-5416-01","mutated_genes":["CDKN2A","RB1"]},{"sample_unique_id":"gbm_tcga_pan_can_atlas_2018_TCGA-32-4213-01","mutated_genes":["RB1"]},{"sample_unique_id":"gbm_tcga_pan_can_atlas_2018_TCGA-14-1037-01","mutated_genes":["RB1"]},{"sample_unique_id":"gbm_tcga_pan_can_atlas_2018_TCGA-26-5132-01","mutated_genes":["RB1"]},{"sample_unique_id":"gbm_tcga_pan_can_atlas_2018_TCGA-06-0188-01","mutated_genes":["RB1"]},{"sample_unique_id":"gbm_tcga_pan_can_atlas_2018_TCGA-12-1600-01","mutated_genes":["RB1"]},{"sample_unique_id":"gbm_tcga_pan_can_atlas_2018_TCGA-12-3644-01","mutated_genes":["RB1"]},{"sample_unique_id":"gbm_tcga_pan_can_atlas_2018_TCGA-32-2632-01","mutated_genes":["RB1"]},{"sample_unique_id":"gbm_tcga_pan_can_atlas_2018_TCGA-06-0130-01","mutated_genes":["RB1"]},{"sample_unique_id":"gbm_tcga_pan_can_atlas_2018_TCGA-76-6283-01","mutated_genes":["RB1"]},{"sample_unique_id":"gbm_tcga_pan_can_atlas_2018_TCGA-06-1800-01","mutated_genes":["RB1"]},{"sample_unique_id":"gbm_tcga_pan_can_atlas_2018_TCGA-06-6698 … (759 more chars) ▶ clickhouse_run_select_query { "query": " SELECT COUNT(DISTINCT sample_unique_id) AS profiled_samples FROM genomic_event_derived WHERE cancer_study_identifier = 'gbm_tcga_pan_can_atlas_2018' " } ◀ result {"rows":[{"profiled_samples":588}]} ▶ clickhouse_run_select_query { "query": " SELECT hugo_gene_symbol, COUNT(DISTINCT sample_unique_id) AS mutated_samples FROM genomic_event_derived WHERE cancer_study_identifier = 'gbm_tcga_pan_can_atlas_2018' AND variant_type = 'mutation' AND hugo_gene_symbol IN ('CDKN2A','CDK4','RB1') AND mutation_status != 'UNCALLED' AND off_panel = 0 GROUP BY hugo_gene_symbol " } ◀ result {"rows":[{"hugo_gene_symbol":"CDKN2A","mutated_samples":4},{"hugo_gene_symbol":"RB1","mutated_samples":38}]} ▶ clickhouse_run_select_query { "query": " WITH per_sample AS ( SELECT sample_unique_id, countIf(hugo_gene_symbol = 'CDKN2A') > 0 AS has_cdkn2a, countIf(hugo_gene_symbol = 'CDK4') > 0 AS has_cdk4, countIf(hugo_gene_symbol = 'RB1') > 0 AS has_rb1 FROM genomic_event_derived WHERE cancer_study_identifier = 'gbm_tcga_pan_can_atlas_2018' AND variant_type = 'mutation' AND hugo_gene_symbol IN ('CDKN2A','CDK4','RB1') AND mutation_status != 'UNCALLED' AND off_panel = 0 GROUP BY sample_unique_id ) SELECT has_cdkn2a, has_cdk4, has_rb1, COUNT(*) AS n FROM per_sample GROUP BY has_cdkn2a, has_cdk4, has_rb1 ORDER BY n DESC " } ◀ result {"rows":[{"has_cdkn2a":0,"has_cdk4":0,"has_rb1":1,"n":37},{"has_cdkn2a":1,"has_cdk4":0,"has_rb1":0,"n":3},{"has_cdkn2a":1,"has_cdk4":0,"has_rb1":1,"n":1}]} ▶ resolve_and_route { "studyIds": [ "gbm_tcga_pan_can_atlas_2018" ] } ◀ result {"success":true,"message":"Found 1 study. Use the metadata to call the appropriate navigation tool(s).","data":{"totalCount":1,"studiesWithMetadata":[{"studyId":"gbm_tcga_pan_can_atlas_2018","name":"Glioblastoma Multiforme (TCGA, PanCancer Atlas)","sampleCount":592,"studyViewUrl":"https://www.cbioportal.org/study?id=gbm_tcga_pan_can_atlas_2018","metadata":{"clinicalAttributeIds":["AGE","AJCC_PATHOLOGIC_TUMOR_STAGE","AJCC_STAGING_EDITION","ANEUPLOIDY_SCORE","BUFFA_HYPOXIA_SCORE","CANCER_TYPE","CANCER_TYPE_ACRONYM","CANCER_TYPE_DETAILED","DAYS_LAST_FOLLOWUP","DAYS_TO_BIRTH","DAYS_TO_INITIAL_PATHOLOGIC_DIAGNOSIS","DFS_MONTHS","DFS_STATUS","DSS_MONTHS","DSS_STATUS","ETHNICITY","FORM_COMPLETION_DATE","FRACTION_GENOME_ALTERED","GENETIC_ANCESTRY_LABEL","GRADE","HISTORY_NEOADJUVANT_TRTYN","ICD_10","ICD_O_3_HISTOLOGY","ICD_O_3_SITE","INFORMED_CONSENT_VERIFIED","IN_PANCANPATHWAYS_FREEZE","MSI_SCORE_MANTIS","MSI_SENSOR_SCORE","MUTATION_COUNT","NEW_TUMOR_EVENT_AFTER_INITIAL_TREATMENT","ONCOTREE_CODE","OS_MONTHS","OS_STATUS","OTHER_PATIENT_ID","PATH_M_STAGE","PATH_N_STAGE","PATH_T_STAGE","PERSON_NEOPLASM_CANCER_STATUS","PFS_MONTHS","PFS_STATUS","PRIMARY_LYMPH_NODE_PRESENTATION_ASSESSMENT","PRIOR_DX","RACE","RADIATION_THERAPY","RAGNUM_HYPOXIA_SCORE","SAMPLE_COUNT","SAMPLE_TYPE","SEX","SOMATIC_STATUS","SUBTYPE","TBL_SCORE","TISSUE_PROSPECTIVE_COLLECTION_INDICATOR","TISSUE_RETROSPECTIVE_COLLECTION_INDICATOR","TISSUE_SOURCE_SITE","TISSUE_SOURCE_SITE_CODE","TMB_NONSYNONYMOUS","TUMOR_TISSUE_SITE","TUMOR_TYPE","WEIGHT","WINTER_HYPOXIA_SCORE"],"molecularProfileIds":["gbm_tcga_pan_can_atlas_2018_gistic","gbm_tcga_pan_can_atlas_2018_log2CNA","gbm_tcga_pan_can_atlas_2018_mutations","gbm_tcga_pan_can_atlas_2018_rna_seq_v2_mrna","gbm_tcga_pan_can_atlas_2018_rna_seq_v2_mrna_median_Zscores","gbm_tcga_pan_can_atlas_2018_rna_seq_v2_mrna_median_all_sample_Zscores","gbm_tcga_pan_can_atlas_2018_rppa","gbm_tcga_pan_can_atlas_2018_rppa_Zscores","gbm_tcga_pan_can_atlas_2018_structural_variants"],"genericAssayProfiles":["gbm_tcga_pan_can_atlas_2018_armlevel_cna","gbm_tcga_pan_can_atlas_2018_genetic_ancestry","gbm_tcga_pan_can_atlas_2018_methylation_hm27_hm450_merge","gbm_tcga_pan_can_atlas_2018_methylation_hm450"],"heatmapProfileIds":["gbm_tcga_pan_can_atlas_2018_rna_seq_v2_mrna_median_Zscores","gbm_tcga_pan_can_atlas_2018_rna_seq_v2_mrna_median_all_sample_Zscores","gbm_tcga_pan_can_atlas_2018_rppa_Zscores"],"availableComparisonTabs":["overlap","clinical","survival","alterations","mutations","mrna","protein","generic_assay_armlevel_cna","generic_assay_genetic_ancestry","generic_assay_methylation"]}}]}} ▶ navigate_to_results_view { "studyIds": [ "gbm_tcga_pan_can_atlas_2018" ], "genes": [ "CDKN2A: MUT", "CDK4: MUT", "RB1: MUT" ], "tab": "mutualExclusivity" } ◀ result {"success":true,"message":"Navigating to https://www.cbioportal.org/results/mutualExclusivity?cancer_study_list=gbm_tcga_pan_can_atlas_2018&gene_list=CDKN2A%3A+MUT%0ACDK4%3A+MUT%0ARB1%3A+MUT&case_set_id=gbm_tcga_pan_can_atlas_2018_all","url":"https://www.cbioportal.org/results/mutualExclusivity?cancer_study_list=gbm_tcga_pan_can_atlas_2018&gene_list=CDKN2A%3A+MUT%0ACDK4%3A+MUT%0ARB1%3A+MUT&case_set_id=gbm_tcga_pan_can_atlas_2018_all","data":{"studyIds":["gbm_tcga_pan_can_atlas_2018"],"studies":[{"studyId":"gbm_tcga_pan_can_atlas_2018","name":"Glioblastoma Multiforme (TCGA, PanCancer Atlas)","sampleCount":592}],"genes":["CDKN2A","CDK4","RB1"],"caseSetId":"gbm_tcga_pan_can_atlas_2018_all","pageDescription":"Co-occurrence and mutual exclusivity statistics for all queried gene pairs."}} ═ answer (success) [Run the Fisher's exact mutual exclusivity test for CDKN2A, CDK4, RB1 mutations in Glioblastoma (TCGA, PanCancer Atlas)](https://www.cbioportal.org/results/mutualExclusivity?cancer_study_list=gbm_tcga_pan_can_atlas_2018&gene_list=CDKN2A%3A+MUT%0ACDK4%3A+MUT%0ARB1%3A+MUT&case_set_id=gbm_tcga_pan_can_atlas_2018_all) Co-occurrence and mutual exclusivity statistics for all queried gene pairs — this page will compute the actual pairwise Fisher's exact p-values and log-odds ratios for you. ### Summary Using the **Glioblastoma Multiforme (TCGA, PanCancer Atlas)** cohort (592 samples, 588 mutation-profiled), restricted strictly to **mutations** (as you asked): - **RB1**: 38/588 samples (6.5%) - **CDKN2A**: 4/588 samples (0.7%) - **CDK4**: 0/588 samples (0%) — no mutations at all in this cohort Overlap: 1 sample carried mutations in both RB1 and CDKN2A; the remaining 37 RB1-mutant and 3 CDKN2A-mutant samples did not overlap. With CDK4 showing zero mutations, it cannot co-occur or be exclusive with anything at the mutation level in this dataset. **Two important notes:** 1. I did not compute a p-value or odds ratio — that requires Fisher's exact test, which this database cannot run. Use the link above for the actual statistic. 2. CDK4's role in glioblastoma is almost entirely through **amplification**, not point mutation — restricting to mutations alone likely misses the biologically relevant signal for this gene. If you'd like, I can rerun the analysis including CDK4 amplification and CDKN2A deletion (the classical "RB pathway" mutual exclusivity pattern), since that's the more standard clinical/genomic framing.