Q (haiku): Is there a correlation between ERBB2 gene amplification and ERBB2 protein expression levels in breast cancer samples from the MSK-CHORD Study?
▶ read_guide
{
"uri": "cbioportal://clinical-data-guide"
}
▶ list_studies
{
"search": "MSK-CHORD breast",
"verbose": true
}
◀ result
# Clinical Data Query Guide
## Overview
Clinical data in cBioPortal is stored at both patient and sample levels. Understanding the distinction is crucial for accurate analysis.
## Data Organization
### Patient-Level vs Sample-Level Data
- **Patient-level**: Demographics, overall survival, disease stage (stored once per patient)
- **Sample-level**: Sample type, sequencing platform, purity (can have multiple per patient)
### Key Tables
- `clinical_patient`: Patient-level clinical attributes
- `clinical_sample`: Sample-level clinical attributes
- `clinical_data_derived`: Pre-joined view combining both levels
- `clinical_attribute_meta`: Metadata about available clinical attributes
## Recommended Approach: Use clinical_data_derived
The `clinical_data_derived` table is pre-joined and optimized for most queries:
```sql
-- Get clinical data for specific attributes
SELECT
sample_unique_id,
patient_unique_id,
attribute_name,
attribute_value
FROM clinical_data_derived
WHERE
cancer_study_identifier = 'your_study_id'
AND attribute_name IN ('CANCER_TYPE', 'SAMPLE_TYPE', 'TMB_NONSYNONYMOUS');
```
## Clinical Attribute Discovery
### Use clinical_attribute_meta for Discovering Available Attributes
**Always start here** to see what clinical attributes are available for a specific study:
```sql
-- Discover available clinical attributes for a study
SELECT
attr_id,
description,
patient_attribute,
cancer_study_id
FROM clinical_attribute_meta
WHERE
cancer_study_id = (
SELECT cancer_study_id
FROM cancer_study
WHERE cancer_study_identifier = 'your_study_id'
)
ORDER BY patient_attribute, attr_id;
```
**Key Fields:**
- **attr_id**: matches attr_id in clinical_sample/clinical_patient tables
- **description**: human-readable description of the attribute
- **patient_attribute**: true = patient attribute, false = sample attribute
- **cancer_study_id**: links to cancer_study table (filter by study)
## Attribute Semantics and Matching
### Case-Insensitive Matching for Attribute Values
Clinical values are free text across studies and may differ only by case. For example, a controlled-looking value such as germline mutation status may appear as `GERMLINE`, `Germline`, or another case variant.
When filtering `clinical_data_derived.attribute_value`, use case-insensitive matching unless you have already profiled the exact values in the target study:
```sql
-- Correct: case-insensitive clinical value filter
SELECT DISTINCT sample_unique_id, patient_unique_id
FROM clinical_data_derived
WHERE cancer_study_identifier = 'your_study_id'
AND attribute_name = 'MUTATION_STATUS'
AND upper(attribute_value) = 'GERMLINE';
```
Do not write `attribute_value = 'GERMLINE'` without first checking all distinct values for that attribute in the study.
### Query the Requested Attribute, Not a Proxy
Do not infer one clinical attribute from a related subtype or marker. Query the actual requested attribute when it … (17073 more chars)
◀ result
{"result":[]}
▶ list_studies
{
"search": "MSK CHORD",
"verbose": true,
"limit": 10
}
◀ result
{"result":[{"cancer_study_identifier":"msk_chord_2024","name":"MSK-CHORD (MSK, Nature 2024)","description":"Targeted sequencing of 25040 tumors from 24950 patients and their matched normals via MSK-IMPACT, along with clinical annotations, some of which are derived from natural language processing (denoted NLP). This data is available under the Creative Commons BY-NC-ND 4.0 license. For commercial use, please contact datarequests@mskcc.org","type_of_cancer_id":"mixed","sample_count":25040,"has_guide":true,"url":"https://www.cbioportal.org/study/summary?id=msk_chord_2024"}]}
▶ clickhouse_list_tables
{}
▶ get_study_guide
{
"study_id": "msk_chord_2024"
}
◀ result
{"tables":[{"name":"allele_specific_copy_number"},{"name":"alteration_driver_annotation"},{"name":"cancer_study"},{"name":"cancer_study_query_preferences"},{"name":"cancer_study_tags"},{"name":"cbioportal_sequence_state"},{"name":"clinical_attribute_counts"},{"name":"clinical_attribute_meta"},{"name":"clinical_data_derived"},{"name":"clinical_event"},{"name":"clinical_event_data"},{"name":"clinical_event_data_derived"},{"name":"clinical_event_derived"},{"name":"clinical_patient"},{"name":"clinical_sample"},{"name":"cna_event"},{"name":"cna_panel_gene_coverage"},{"name":"cna_wes_coverage"},{"name":"co_altered_genes_in_study"},{"name":"copy_number_seg"},{"name":"copy_number_seg_file"},{"name":"gene"},{"name":"gene_alias"},{"name":"gene_alteration_frequency_by_cancer_type"},{"name":"gene_cna_distribution_in_study"},{"name":"gene_mutation_frequency_by_cancer_type"},{"name":"gene_mutation_frequency_in_studies"},{"name":"gene_mutation_frequency_in_study"},{"name":"gene_mutation_variants_in_study"},{"name":"gene_pair_coexpression"},{"name":"gene_panel"},{"name":"gene_panel_list"},{"name":"gene_panel_to_gene_derived"},{"name":"generic_assay_data_derived"},{"name":"generic_assay_meta_derived"},{"name":"generic_assay_profile_entity_derived"},{"name":"generic_entity_properties"},{"name":"geneset"},{"name":"geneset_gene"},{"name":"geneset_hierarchy_leaf"},{"name":"geneset_hierarchy_node"},{"name":"genetic_alteration"},{"name":"genetic_alteration_derived"},{"name":"genetic_entity"},{"name":"genetic_profile"},{"name":"genetic_profile_link"},{"name":"genetic_profile_samples"},{"name":"genomic_event_derived"},{"name":"gistic"},{"name":"gistic_to_gene"},{"name":"info"},{"name":"mut_sig"},{"name":"mutation"},{"name":"mutation_count_by_keyword"},{"name":"mutation_derived"},{"name":"mutation_event"},{"name":"mutation_panel_gene_coverage"},{"name":"mutation_wes_coverage"},{"name":"patient"},{"name":"reference_genome"},{"name":"reference_genome_gene"},{"name":"resource_definition"},{"name":"resource_patient"},{"name":"resource_sample"},{"name":"resource_study"},{"name":"sample"},{"name":"sample_cna_event"},{"name":"sample_derived"},{"name":"sample_list"},{"name":"sample_list_list"},{"name":"sample_profile"},{"name":"sample_to_gene_panel_derived"},{"name":"structural_variant"},{"name":"sv_panel_gene_coverage"},{"name":"sv_wes_coverage"},{"name":"top_cna_genes_in_study"},{"name":"top_mutated_genes_in_cohort"},{"name":"top_mutated_genes_in_study"},{"name":"top_sv_genes_in_study"},{"name":"treatment_counts_in_study"},{"name":"treatment_regimens_in_study"},{"name":"type_of_cancer"}]}
◀ result
# MSK-CHORD (MSK, Nature 2024)
**Study ID:** `msk_chord_2024`
## Overview
Targeted sequencing via MSK-IMPACT panels. Clinical annotations include some derived from natural language processing (denoted NLP).
**Exactly five cancer types** (`CANCER_TYPE`, patients): Non-Small Cell Lung Cancer 7,809, Colorectal Cancer 5,543, Breast Cancer 5,368, Prostate Cancer 3,211, Pancreatic Cancer 3,109. There is **no melanoma** or any other cancer type; say so up front if asked, instead of substituting another type.
**No therapy-response variable.** There is no RECIST, objective response, or best-response attribute or event. For treatment-outcome questions (e.g. immunotherapy response), say this first; the only proxies are `OS_MONTHS`/`OS_STATUS`, or NLP radiology progression events (`Diagnosis` events with `SUBTYPE = 'Progression'`, key `PROGRESSION` = Y/N/Indeterminate), in patients with `Treatment` events of the relevant `SUBTYPE` (e.g. `Immuno`: 3,341 patients). Hand off the comparison to cBioPortal group comparison / survival.
**Nearly one sample per patient: 24,950 patients / 25,040 samples.** Only 90 patients have more than one sample, and all 90 have samples from two different cancer types (second primaries); only 26 have both a `Primary` and a `Metastasis` sample. There is no meaningful same-patient (paired) primary-vs-metastasis cohort. For "same patient" / paired questions, say this up front, then offer the **unpaired** comparison of all `Primary` vs `Metastasis` samples (`SAMPLE_TYPE`), labelled as unpaired.
```sql
SELECT countIf(n > 1) AS multi_sample_patients, -- 90
countIf(has_p AND has_m) AS primary_and_met -- 26
FROM (SELECT patient_unique_id, count() AS n,
has(groupArray(attribute_value), 'Primary') AS has_p,
has(groupArray(attribute_value), 'Metastasis') AS has_m
FROM clinical_data_derived
WHERE cancer_study_identifier = 'msk_chord_2024' AND attribute_name = 'SAMPLE_TYPE'
GROUP BY patient_unique_id);
```
## Gene Panels
This study uses multiple MSK-IMPACT panel versions:
- **IMPACT341**: Earlier version, 341 genes
- **IMPACT410**: 410 genes
- **IMPACT468**: 468 genes
- **IMPACT505**: Latest version, 505 genes
**Important:** Different samples may have different gene coverage. Always use gene-specific denominators when calculating mutation frequencies.
## Clinical Attributes - Semantic Guide
### Cancer Classification
| Attribute | Description | Values |
|-----------|-------------|--------|
| `CANCER_TYPE` | Broad cancer category | e.g., "Non-Small Cell Lung Cancer", "Breast Cancer" |
| `CANCER_TYPE_DETAILED` | Specific subtype | e.g., "Lung Adenocarcinoma", "Invasive Ductal Carcinoma" |
| `ONCOTREE_CODE` | OncoTree classification code | Standardized cancer type codes |
### Sample Information
| Attribute | Description | Values |
|-----------|-------------|--------|
| `SAMPLE_TYPE` | Sample origin | Primary, Metastasis, Local Recurrence, Unknown |
| `SAMPLE_CLASS` | Sample … (5439 more chars)
▶ clickhouse_run_select_query
{
"query": "
SELECT DISTINCT attribute_name
FROM clinical_data_derived
WHERE cancer_study_identifier = 'msk_chord_2024'
AND attribute_name LIKE '%HER2%'
ORDER BY attribute_name
",
"max_rows": 50
}
◀ result
{"rows":[{"attribute_name":"HER2"}]}
▶ clickhouse_run_select_query
{
"query": "
SELECT
molecular_profile_id,
genetic_profile_type,
datatype,
show_profile_in_analysis
FROM genetic_profile
WHERE cancer_study_id = (
SELECT cancer_study_id FROM cancer_study
WHERE cancer_study_identifier = 'msk_chord_2024'
)
AND (
LOWER(genetic_profile_type) LIKE '%cna%'
OR LOWER(genetic_profile_type) LIKE '%protein%'
OR LOWER(genetic_profile_type) LIKE '%copy_number%'
)
ORDER BY molecular_profile_id
",
"max_rows": 50
}
◀ result
{"error_message":"Query execution failed: HTTPDriver for https://dl96orhu96.us-east-1.aws.clickhouse.cloud:8443 received ClickHouse error code 47\n Code: 47. DB::Exception: Unknown expression identifier `molecular_profile_id` in scope SELECT molecular_profile_id, genetic_profile_type, datatype, show_profile_in_analysis FROM genetic_profile WHERE (cancer_study_id = (SELECT cancer_study_id FROM cancer_study WHERE cancer_study_identifier = 'msk_chord_2024')) AND ((LOWER(genetic_profile_type) LIKE '%cna%') OR (LOWER(genetic_profile_type) LIKE '%protein%') OR (LOWER(genetic_profile_type) LIKE '%copy_number%')) ORDER BY molecular_profile_id ASC. (UNKNOWN_IDENTIFIER) (version 26.4.1.2359 (official build))\n"}
▶ clickhouse_list_table_columns
{
"table": "genetic_profile"
}
◀ result
{"columns":[{"name":"genetic_profile_id","type":"Int64"},{"name":"stable_id","type":"String"},{"name":"cancer_study_id","type":"Int64"},{"name":"genetic_alteration_type","type":"String"},{"name":"generic_assay_type","type":"Nullable(String)"},{"name":"datatype","type":"String"},{"name":"name","type":"String"},{"name":"description","type":"Nullable(String)"},{"name":"show_profile_in_analysis_tab","type":"Int32"},{"name":"pivot_threshold","type":"Nullable(Float64)"},{"name":"sort_order","type":"Nullable(String)"},{"name":"patient_level","type":"Nullable(Int32)"}]}
▶ clickhouse_run_select_query
{
"query": "
SELECT
stable_id,
name,
genetic_alteration_type,
datatype
FROM genetic_profile
WHERE cancer_study_id = (
SELECT cancer_study_id FROM cancer_study
WHERE cancer_study_identifier = 'msk_chord_2024'
)
AND (
LOWER(genetic_alteration_type) LIKE '%copy_number%'
OR LOWER(genetic_alteration_type) LIKE '%protein%'
OR LOWER(genetic_alteration_type) LIKE '%mrna%'
)
ORDER BY stable_id
",
"max_rows": 50
}
◀ result
{"rows":[{"stable_id":"msk_chord_2024_cna","name":"Putative copy-number alterations from GISTIC","genetic_alteration_type":"COPY_NUMBER_ALTERATION","datatype":"DISCRETE"}]}
▶ clickhouse_run_select_query
{
"query": "
SELECT DISTINCT attribute_value AS her2_status
FROM clinical_data_derived
WHERE cancer_study_identifier = 'msk_chord_2024'
AND attribute_name = 'HER2'
ORDER BY her2_status
",
"max_rows": 50
}
◀ result
{"rows":[{},{"her2_status":"No"},{"her2_status":"Yes"}]}
▶ clickhouse_run_select_query
{
"query": "
WITH breast_samples AS (
SELECT DISTINCT sample_unique_id
FROM clinical_data_derived
WHERE cancer_study_identifier = 'msk_chord_2024'
AND attribute_name = 'CANCER_TYPE'
AND attribute_value = 'Breast Cancer'
),
erbb2_cna AS (
SELECT
sample_unique_id,
CASE
WHEN alteration_type = 'AMPLIFICATION' THEN 'Amplified'
WHEN alteration_type = 'DELETION' THEN 'Deleted'
WHEN alteration_type = 'GAIN' THEN 'Gain'
WHEN alteration_type = 'HETLOSS' THEN 'Heterozygous Loss'
ELSE alteration_type
END AS cna_status
FROM genomic_event_derived
WHERE cancer_study_identifier = 'msk_chord_2024'
AND hugo_gene_symbol = 'ERBB2'
AND sample_unique_id IN (SELECT sample_unique_id FROM breast_samples)
),
her2_protein AS (
SELECT
sample_unique_id,
attribute_value AS her2_protein_status
FROM clinical_data_derived
WHERE cancer_study_identifier = 'msk_chord_2024'
AND attribute_name = 'HER2'
AND sample_unique_id IN (SELECT sample_unique_id FROM breast_samples)
AND attribute_value IS NOT NULL
AND attribute_value != ''
)
SELECT
IF(erbb2_cna.cna_status IS NOT NULL, erbb2_cna.cna_status, 'No CNA Data') AS erbb2_cna_status,
her2_protein.her2_protein_status,
COUNT(DISTINCT her2_protein.sample_unique_id) AS sample_count,
ROUND(100.0 * COUNT(DISTINCT her2_protein.sample_unique_id) /
SUM(COUNT(DISTINCT her2_protein.sample_unique_id)) OVER (PARTITION BY
IF(erbb2_cna.cna_status IS NOT NULL, erbb2_cna.cna_status, 'No CNA Data')), 2) AS pct_within_cna_group
FROM her2_protein
LEFT JOIN erbb2_cna ON her2_protein.sample_unique_id = erbb2_cna.sample_unique_id
GROUP BY
IF(erbb2_cna.cna_status IS NOT NULL, erbb2_cna.cna_status, 'No CNA Data'),
her2_protein.her2_protein_status
ORDER BY
CASE
WHEN erbb2_cna.cna_status = 'Amplified' THEN 1
WHEN erbb2_cna.cna_status IS NULL THEN 2
ELSE 3
END,
her2_protein.her2_protein_status
",
"max_rows": 100
}
◀ result
{"error_message":"Query execution failed: HTTPDriver for https://dl96orhu96.us-east-1.aws.clickhouse.cloud:8443 received ClickHouse error code 47\n Code: 47. DB::Exception: Unknown expression or function identifier `alteration_type` in scope erbb2_cna. Maybe you meant: ['mutation_type']. (UNKNOWN_IDENTIFIER) (version 26.4.1.2359 (official build))\n"}
▶ clickhouse_list_table_columns
{
"table": "genomic_event_derived"
}
◀ 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": "
WITH breast_samples AS (
SELECT DISTINCT sample_unique_id
FROM clinical_data_derived
WHERE cancer_study_identifier = 'msk_chord_2024'
AND attribute_name = 'CANCER_TYPE'
AND attribute_value = 'Breast Cancer'
),
erbb2_cna AS (
SELECT
sample_unique_id,
CASE
WHEN cna_alteration = 2 THEN 'Amplified'
WHEN cna_alteration = -2 THEN 'Deleted'
ELSE 'Other'
END AS cna_status
FROM genomic_event_derived
WHERE cancer_study_identifier = 'msk_chord_2024'
AND hugo_gene_symbol = 'ERBB2'
AND variant_type = 'cna'
AND sample_unique_id IN (SELECT sample_unique_id FROM breast_samples)
),
her2_protein AS (
SELECT
sample_unique_id,
attribute_value AS her2_protein_status
FROM clinical_data_derived
WHERE cancer_study_identifier = 'msk_chord_2024'
AND attribute_name = 'HER2'
AND sample_unique_id IN (SELECT sample_unique_id FROM breast_samples)
AND attribute_value IS NOT NULL
AND attribute_value != ''
)
SELECT
IF(erbb2_cna.cna_status IS NOT NULL, erbb2_cna.cna_status, 'No CNA Data') AS erbb2_cna_status,
her2_protein.her2_protein_status,
COUNT(DISTINCT her2_protein.sample_unique_id) AS sample_count,
ROUND(100.0 * COUNT(DISTINCT her2_protein.sample_unique_id) /
SUM(COUNT(DISTINCT her2_protein.sample_unique_id)) OVER (PARTITION BY
IF(erbb2_cna.cna_status IS NOT NULL, erbb2_cna.cna_status, 'No CNA Data')), 2) AS pct_within_cna_group
FROM her2_protein
LEFT JOIN erbb2_cna ON her2_protein.sample_unique_id = erbb2_cna.sample_unique_id
GROUP BY
IF(erbb2_cna.cna_status IS NOT NULL, erbb2_cna.cna_status, 'No CNA Data'),
her2_protein.her2_protein_status
ORDER BY
CASE
WHEN erbb2_cna.cna_status = 'Amplified' THEN 1
WHEN erbb2_cna.cna_status IS NULL THEN 2
ELSE 3
END,
her2_protein.her2_protein_status
",
"max_rows": 100
}
◀ result
{"error_message":"Query execution failed: HTTPDriver for https://dl96orhu96.us-east-1.aws.clickhouse.cloud:8443 received ClickHouse error code 215\n Code: 215. DB::Exception: Column 'cna_status' is not under aggregate function and not in GROUP BY keys. In query WITH breast_samples AS (SELECT DISTINCT sample_unique_id FROM clinical_data_derived WHERE (cancer_study_identifier = 'msk_chord_2024') AND (attribute_name = 'CANCER_TYPE') AND (attribute_value = 'Breast Cancer')), erbb2_cna AS (SELECT sample_unique_id, multiIf(cna_alteration = 2, 'Amplified', cna_alteration = -2, 'Deleted', 'Other') AS cna_status FROM genomic_event_derived WHERE (cancer_study_identifier = 'msk_chord_2024') AND (hugo_gene_symbol = 'ERBB2') AND (variant_type = 'cna') AND (sample_unique_id IN (SELECT sample_unique_id FROM breast_samples))), her2_protein AS (SELECT sample_unique_id, attribute_value AS her2_protein_status FROM clinical_data_derived WHERE (cancer_study_identifier = 'msk_chord_2024') AND (attribute_name = 'HER2') AND (sample_unique_id IN (SELECT sample_unique_id FROM breast_samples)) AND (attribute_value IS NOT NULL) AND (attribute_value != '')) SELECT IF(erbb2_cna.cna_status IS NOT NULL, erbb2_cna.cna_status, 'No CNA Data') AS erbb2_cna_status, her2_protein.her2_protein_status, COUNTDistinct(her2_protein.sample_unique_id) AS sample_count, ROUND((100. * COUNTDistinct(her2_protein.sample_unique_id)) / SUM(COUNTDistinct(her2_protein.sample_unique_id)) OVER (PARTITION BY IF(erbb2_cna.cna_status IS NOT NULL, erbb2_cna.cna_status, 'No CNA Data')), 2) AS pct_within_cna_group FROM her2_protein LEFT JOIN erbb2_cna ON her2_protein.sample_unique_id = erbb2_cna.sample_unique_id GROUP BY IF(erbb2_cna.cna_status IS NOT NULL, erbb2_cna.cna_status, 'No CNA Data'), her2_protein.her2_protein_status ORDER BY multiIf(erbb2_cna.cna_status = 'Amplified', 1, erbb2_cna.cna_status IS NULL, 2, 3) ASC, her2_protein.her2_protein_status ASC. (NOT_AN_AGGREGATE) (version 26.4.1.2359 (official build))\n"}
▶ clickhouse_run_select_query
{
"query": "
WITH breast_samples AS (
SELECT DISTINCT sample_unique_id
FROM clinical_data_derived
WHERE cancer_study_identifier = 'msk_chord_2024'
AND attribute_name = 'CANCER_TYPE'
AND attribute_value = 'Breast Cancer'
),
erbb2_cna AS (
SELECT
sample_unique_id,
CASE
WHEN cna_alteration = 2 THEN 'Amplified'
WHEN cna_alteration = -2 THEN 'Deleted'
ELSE 'Other'
END AS cna_status
FROM genomic_event_derived
WHERE cancer_study_identifier = 'msk_chord_2024'
AND hugo_gene_symbol = 'ERBB2'
AND variant_type = 'cna'
AND sample_unique_id IN (SELECT sample_unique_id FROM breast_samples)
),
her2_protein AS (
SELECT
sample_unique_id,
attribute_value AS her2_protein_status
FROM clinical_data_derived
WHERE cancer_study_identifier = 'msk_chord_2024'
AND attribute_name = 'HER2'
AND sample_unique_id IN (SELECT sample_unique_id FROM breast_samples)
AND attribute_value IS NOT NULL
AND attribute_value != ''
),
combined AS (
SELECT
COALESCE(erbb2_cna.cna_status, 'No CNA Data') AS erbb2_cna_status,
her2_protein.her2_protein_status,
her2_protein.sample_unique_id
FROM her2_protein
LEFT JOIN erbb2_cna ON her2_protein.sample_unique_id = erbb2_cna.sample_unique_id
)
SELECT
erbb2_cna_status,
her2_protein_status,
COUNT(DISTINCT sample_unique_id) AS sample_count
FROM combined
GROUP BY erbb2_cna_status, her2_protein_status
ORDER BY
CASE WHEN erbb2_cna_status = 'Amplified' THEN 1 WHEN erbb2_cna_status = 'No CNA Data' THEN 2 ELSE 3 END,
her2_protein_status
",
"max_rows": 100
}
◀ result
{"rows":[]}
▶ clickhouse_run_select_query
{
"query": "
SELECT
hugo_gene_symbol,
variant_type,
COUNT(DISTINCT sample_unique_id) AS sample_count
FROM genomic_event_derived
WHERE cancer_study_identifier = 'msk_chord_2024'
AND hugo_gene_symbol = 'ERBB2'
GROUP BY hugo_gene_symbol, variant_type
",
"max_rows": 50
}
◀ result
{"rows":[{"hugo_gene_symbol":"ERBB2","variant_type":"cna","sample_count":964},{"hugo_gene_symbol":"ERBB2","variant_type":"mutation","sample_count":803},{"hugo_gene_symbol":"ERBB2","variant_type":"structural_variant","sample_count":31}]}
▶ clickhouse_run_select_query
{
"query": "
SELECT
COUNT(DISTINCT cdd.sample_unique_id) AS samples_with_her2_status,
COUNT(DISTINCT CASE WHEN cdd.attribute_value = 'Yes' THEN cdd.sample_unique_id END) AS her2_positive,
COUNT(DISTINCT CASE WHEN cdd.attribute_value = 'No' THEN cdd.sample_unique_id END) AS her2_negative
FROM clinical_data_derived cdd
WHERE cdd.cancer_study_identifier = 'msk_chord_2024'
AND cdd.attribute_name = 'CANCER_TYPE'
AND cdd.attribute_value = 'Breast Cancer'
AND cdd.sample_unique_id IN (
SELECT DISTINCT sample_unique_id
FROM clinical_data_derived
WHERE cancer_study_identifier = 'msk_chord_2024'
AND attribute_name = 'HER2'
AND attribute_value IS NOT NULL
AND attribute_value != ''
)
",
"max_rows": 50
}
◀ result
{"rows":[{"samples_with_her2_status":0,"her2_positive":0,"her2_negative":0}]}
▶ clickhouse_run_select_query
{
"query": "
SELECT DISTINCT
cdd1.attribute_value AS cancer_type,
COUNT(DISTINCT cdd2.sample_unique_id) AS samples_with_her2
FROM clinical_data_derived cdd1
JOIN clinical_data_derived cdd2 ON cdd1.sample_unique_id = cdd2.sample_unique_id
AND cdd1.cancer_study_identifier = cdd2.cancer_study_identifier
WHERE cdd1.cancer_study_identifier = 'msk_chord_2024'
AND cdd1.attribute_name = 'CANCER_TYPE'
AND cdd2.attribute_name = 'HER2'
AND cdd2.attribute_value IS NOT NULL
AND cdd2.attribute_value != ''
GROUP BY cancer_type
ORDER BY samples_with_her2 DESC
",
"max_rows": 50
}
◀ result
{"rows":[]}
▶ clickhouse_run_select_query
{
"query": "
SELECT
COUNT(DISTINCT sample_unique_id) AS samples_with_her2,
COUNT(DISTINCT CASE WHEN attribute_value = 'Yes' THEN sample_unique_id END) AS her2_yes,
COUNT(DISTINCT CASE WHEN attribute_value = 'No' THEN sample_unique_id END) AS her2_no
FROM clinical_data_derived
WHERE cancer_study_identifier = 'msk_chord_2024'
AND attribute_name = 'HER2'
",
"max_rows": 50
}
◀ result
{"rows":[{"samples_with_her2":1,"her2_yes":1,"her2_no":1}]}
▶ clickhouse_run_select_query
{
"query": "
SELECT DISTINCT
attribute_name,
COUNT(DISTINCT sample_unique_id) AS sample_count
FROM clinical_data_derived
WHERE cancer_study_identifier = 'msk_chord_2024'
AND (
UPPER(attribute_name) LIKE '%HER%'
OR UPPER(attribute_name) LIKE '%ER%'
OR UPPER(attribute_name) LIKE '%PR%'
OR UPPER(attribute_name) LIKE '%PDL1%'
OR UPPER(attribute_name) LIKE '%PROTEIN%'
)
GROUP BY attribute_name
ORDER BY sample_count DESC
",
"max_rows": 50
}
◀ result
{"rows":[{"attribute_name":"CANCER_TYPE","sample_count":25040},{"attribute_name":"FRACTION_GENOME_ALTERED","sample_count":25040},{"attribute_name":"SAMPLE_COVERAGE","sample_count":25040},{"attribute_name":"PRIMARY_SITE","sample_count":25040},{"attribute_name":"PDL1_POSITIVE","sample_count":25040},{"attribute_name":"CANCER_TYPE_DETAILED","sample_count":25040},{"attribute_name":"HISTORY_OF_PDL1","sample_count":1},{"attribute_name":"GENDER","sample_count":1},{"attribute_name":"HER2","sample_count":1},{"attribute_name":"LIVER","sample_count":1},{"attribute_name":"REPRODUCTIVE_ORGANS","sample_count":1},{"attribute_name":"SMOKING_PREDICTIONS_3_CLASSES","sample_count":1},{"attribute_name":"PRIOR_MED_TO_MSK","sample_count":1},{"attribute_name":"OTHER","sample_count":1}]}
▶ clickhouse_run_select_query
{
"query": "
SELECT DISTINCT attribute_value
FROM clinical_data_derived
WHERE cancer_study_identifier = 'msk_chord_2024'
AND attribute_name = 'PDL1_POSITIVE'
ORDER BY attribute_value
",
"max_rows": 50
}
◀ result
{"rows":[{},{"attribute_value":"No"},{"attribute_value":"Yes"}]}
▶ clickhouse_run_select_query
{
"query": "
-- Get ERBB2 CNA distribution in breast cancer samples
WITH breast_samples AS (
SELECT DISTINCT sample_unique_id
FROM clinical_data_derived
WHERE cancer_study_identifier = 'msk_chord_2024'
AND attribute_name = 'CANCER_TYPE'
AND attribute_value = 'Breast Cancer'
)
SELECT
CASE
WHEN cna_alteration = 2 THEN 'Amplified (AMP)'
WHEN cna_alteration = -2 THEN 'Deep Deletion (HOMDEL)'
ELSE 'Other'
END AS erbb2_cna_status,
COUNT(DISTINCT sample_unique_id) AS sample_count,
ROUND(100.0 * COUNT(DISTINCT sample_unique_id) /
(SELECT COUNT(DISTINCT sample_unique_id) FROM breast_samples), 2) AS pct_of_breast_cancers
FROM genomic_event_derived
WHERE cancer_study_identifier = 'msk_chord_2024'
AND hugo_gene_symbol = 'ERBB2'
AND variant_type = 'cna'
AND sample_unique_id IN (SELECT sample_unique_id FROM breast_samples)
GROUP BY CASE
WHEN cna_alteration = 2 THEN 'Amplified (AMP)'
WHEN cna_alteration = -2 THEN 'Deep Deletion (HOMDEL)'
ELSE 'Other'
END
ORDER BY sample_count DESC
",
"max_rows": 50
}
◀ result
{"rows":[{"erbb2_cna_status":"Amplified (AMP)","sample_count":675,"pct_of_breast_cancers":12.57},{"erbb2_cna_status":"Deep Deletion (HOMDEL)","sample_count":1,"pct_of_breast_cancers":0.02}]}
▶ clickhouse_run_select_query
{
"query": "
-- Get ERBB2 alteration summary in breast cancer
WITH breast_samples AS (
SELECT DISTINCT sample_unique_id
FROM clinical_data_derived
WHERE cancer_study_identifier = 'msk_chord_2024'
AND attribute_name = 'CANCER_TYPE'
AND attribute_value = 'Breast Cancer'
)
SELECT
variant_type,
COUNT(DISTINCT sample_unique_id) AS sample_count,
ROUND(100.0 * COUNT(DISTINCT sample_unique_id) /
(SELECT COUNT(DISTINCT sample_unique_id) FROM breast_samples), 2) AS pct_of_breast_cancers
FROM genomic_event_derived
WHERE cancer_study_identifier = 'msk_chord_2024'
AND hugo_gene_symbol = 'ERBB2'
AND sample_unique_id IN (SELECT sample_unique_id FROM breast_samples)
GROUP BY variant_type
ORDER BY sample_count DESC
",
"max_rows": 50
}
◀ result
{"rows":[{"variant_type":"cna","sample_count":676,"pct_of_breast_cancers":12.59},{"variant_type":"mutation","sample_count":180,"pct_of_breast_cancers":3.35},{"variant_type":"structural_variant","sample_count":17,"pct_of_breast_cancers":0.32}]}
▶ resolve_and_route
{
"studyIds": [
"msk_chord_2024"
]
}
◀ result
{"success":true,"message":"Found 1 study. Use the metadata to call the appropriate navigation tool(s).","data":{"totalCount":1,"studiesWithMetadata":[{"studyId":"msk_chord_2024","name":"MSK-CHORD (MSK, Nature 2024)","sampleCount":25040,"studyViewUrl":"https://www.cbioportal.org/study?id=msk_chord_2024","metadata":{"clinicalAttributeIds":["ADRENAL_GLANDS","BONE","CANCER_TYPE","CANCER_TYPE_DETAILED","CLINICAL_GROUP","CLINICAL_SUMMARY","CNS_BRAIN","CURRENT_AGE_DEID","DIAGNOSIS_DESCRIPTION","ETHNICITY","FRACTION_GENOME_ALTERED","GENDER","GENE_PANEL","GLEASON_FIRST_REPORTED","GLEASON_HIGHEST_REPORTED","GLEASON_SAMPLE_LEVEL","HER2","HISTORY_OF_PDL1","HR","ICD_O_HISTOLOGY_DESCRIPTION","INTRA_ABDOMINAL","LIVER","LUNG","LYMPH_NODES","METASTATIC_SITE","MSI_COMMENT","MSI_SCORE","MSI_TYPE","MUTATION_COUNT","NUM_ICDO_DX","ONCOTREE_CODE","OS_MONTHS","OS_STATUS","OTHER","PATHOLOGICAL_GROUP","PDL1_POSITIVE","PLEURA","PRIMARY_SITE","PRIOR_MED_TO_MSK","RACE","REPRODUCTIVE_ORGANS","SAMPLE_CLASS","SAMPLE_COUNT","SAMPLE_COVERAGE","SAMPLE_TYPE","SMOKING_PREDICTIONS_3_CLASSES","SOMATIC_STATUS","STAGE_HIGHEST_RECORDED","TMB_NONSYNONYMOUS","TUMOR_PURITY"],"molecularProfileIds":["msk_chord_2024_cna","msk_chord_2024_mutations","msk_chord_2024_structural_variants"],"availableComparisonTabs":["overlap","clinical","survival","alterations","mutations"]}}]}}
▶ navigate_to_results_view
{
"studyIds": [
"msk_chord_2024"
],
"genes": [
"ERBB2"
],
"tab": "oncoprint",
"studyViewFilter": {
"clinicalDataFilters": [
{
"attributeId": "CANCER_TYPE",
"values": [
{
"value": "Breast Cancer"
}
]
}
]
}
}
◀ result
{"success":true,"message":"Navigating to https://www.cbioportal.org/results/oncoprint?session_id=6ab5b921e497aad53593c24b","url":"https://www.cbioportal.org/results/oncoprint?session_id=6ab5b921e497aad53593c24b","data":{"studyIds":["msk_chord_2024"],"studies":[{"studyId":"msk_chord_2024","name":"MSK-CHORD (MSK, Nature 2024)","sampleCount":25040}],"genes":["ERBB2"],"filteredSampleCount":5368,"caseSetId":"-1","sessionId":"6ab5b921e497aad53593c24b","studyViewUrl":"https://www.cbioportal.org/study?id=msk_chord_2024#filterJson=%7B%22clinicalDataFilters%22%3A%5B%7B%22attributeId%22%3A%22CANCER_TYPE%22%2C%22values%22%3A%5B%7B%22value%22%3A%22Breast%20Cancer%22%7D%5D%7D%5D%7D","pageDescription":"Visual summary of alterations in queried genes across samples."}}
▶ navigate_to_study_view
{
"studyIds": [
"msk_chord_2024"
],
"filterJson": {
"clinicalDataFilters": [
{
"attributeId": "CANCER_TYPE",
"values": [
{
"value": "Breast Cancer"
}
]
}
]
},
"tab": "summary"
}
◀ result
{"success":true,"message":"Navigating to https://www.cbioportal.org/study/summary?id=msk_chord_2024#filterJson=%7B%22clinicalDataFilters%22%3A%5B%7B%22attributeId%22%3A%22CANCER_TYPE%22%2C%22values%22%3A%5B%7B%22value%22%3A%22Breast%20Cancer%22%7D%5D%7D%5D%7D","url":"https://www.cbioportal.org/study/summary?id=msk_chord_2024#filterJson=%7B%22clinicalDataFilters%22%3A%5B%7B%22attributeId%22%3A%22CANCER_TYPE%22%2C%22values%22%3A%5B%7B%22value%22%3A%22Breast%20Cancer%22%7D%5D%7D%5D%7D","data":{"studyIds":["msk_chord_2024"],"studies":[{"studyId":"msk_chord_2024","name":"MSK-CHORD (MSK, Nature 2024)","sampleCount":25040}],"tab":"summary","hasFilters":true,"hasPlotsConfig":false,"pageDescription":"Overview of all study data displayed as interactive charts summarizing available clinical and genomic data. Click within a chart to filter. Additional charts may be available in the Charts menu."}}
═ answer (success)
## Summary
I analyzed the correlation between **ERBB2 gene amplification and ERBB2 protein expression** in breast cancer samples from MSK-CHORD. Here are the key findings:
### Critical Limitation: Missing HER2 Protein Data
**MSK-CHORD has minimal HER2 protein expression data:**
- Only **1 sample** out of 5,368 breast cancer samples has an HER2 clinical attribute value
- This is insufficient for meaningful correlation analysis
This severely limits the ability to assess the genotype-phenotype correlation for ERBB2 in this study.
### ERBB2 CNA Amplification in Breast Cancer (5,368 samples)
| Alteration Type | Sample Count | % of Breast Cancer |
|---|---|---|
| **Amplified (AMP)** | 675 | 12.57% |
| Deep Deletion (HOMDEL) | 1 | 0.02% |
| **No CNA data** | 4,692 | 87.41% |
### Additional ERBB2 Alterations in Breast Cancer
| Variant Type | Sample Count | % of Breast Cancer |
|---|---|---|
| Copy Number Alterations (CNA) | 676 | 12.59% |
| Mutations | 180 | 3.35% |
| Structural Variants | 17 | 0.32% |
### Navigation Links
**Explore ERBB2 alterations in breast cancer:**
[View ERBB2 OncoPrint in breast cancer](https://www.cbioportal.org/results/oncoprint?session_id=6ab5b921e497aad53593c24b) — Visual summary of all ERBB2 alterations (amplifications, mutations, structural variants) across 5,368 breast cancer samples
[View breast cancer cohort overview](https://www.cbioportal.org/study/summary?id=msk_chord_2024#filterJson=%7B%22clinicalDataFilters%22%3A%5B%7B%22attributeId%22%3A%22CANCER_TYPE%22%2C%22values%22%3A%5B%7B%22value%22%3A%22Breast%20Cancer%22%7D%5D%7D%5D%7D) — Clinical and genomic summary for breast cancer samples in MSK-CHORD
### Recommendation
**For ERBB2-HER2 correlation studies:** MSK-CHORD is not suitable due to extremely sparse HER2 protein expression data. Consider alternative cohorts with comprehensive HER2 IHC/FISH testing (e.g., TCGA BRCA or other retrospective cohorts with standardized immunohistochemistry records).