跳转至

泛癌分析方法与流程


一句话说明

泛癌分析就是把几十种不同癌症的数据放在一起统一分析,找出跨癌种的共同规律——哪些基因在多种癌症中都突变、哪些通路是"万能靶点"、不同癌种是否有相似的分子亚型。


核心知识点

1. 什么是泛癌分析

  • 定义:跨越多种肿瘤类型的系统性比较分析(Pan-Cancer Analysis)
  • 代表项目:TCGA Pan-Cancer Atlas(33 种癌症,超过 11,000 例样本)
  • 核心思想:癌症不应只按器官分类,同一器官的癌症可能有不同的分子机制,不同器官的癌症可能有相似的分子特征
  • 白话:不同工厂(器官)出的故障(癌症)可能是同一个零件(基因)坏了

2. TCGA 数据结构

数据类型样本规模说明
WES 突变~10,000体细胞突变(MAF)
拷贝数~11,000SNP array + WES
基因表达~11,000RNA-seq (RSEM/TPM)
DNA 甲基化~10,000450K array
临床信息~11,000生存、分期、治疗等
miRNA~10,000miRNA-seq

3. 泛癌分析的主要方向

  • 突变全景图:哪些基因在多癌种中高频突变
  • 突变签名分析:不同突变过程的指纹(如 UV、吸烟、APOBEC、MMR缺陷)
  • 通路分析:哪些信号通路跨癌种频繁异常
  • 分子分类:按分子特征重新分类(不按器官)
  • 免疫亚型:肿瘤微环境的跨癌种分类
  • 生存预后:跨癌种的预后标志物

实战代码

# === 泛癌分析:TCGA 数据获取与突变全景图 ===

# 1. 使用 TCGAbiolinks 下载数据(通过 R)
# 或使用 GDC API / cBioPortal

import pandas as pd                    # 数据处理
import matplotlib.pyplot as plt        # 绑图
import seaborn as sns                  # 统计绑图

# 2. 读取泛癌突变数据(MAF格式合并)
# 假设已下载并合并了多癌种MAF
maf = pd.read_csv("pancancer_mutations.maf",
                   sep="\t",           # 制表符分隔
                   usecols=["Hugo_Symbol", "Variant_Classification",
                            "Tumor_Sample_Barcode", "cancer_type"],
                   low_memory=False)

# 3. 计算每个基因在每种癌症中的突变频率
def calc_mutation_freq(maf_df):
    """计算基因-癌种突变频率矩阵"""
    # 每个癌种的总样本数
    samples_per_cancer = maf_df.groupby("cancer_type")[
        "Tumor_Sample_Barcode"].nunique()             # 各癌种样本数

    # 每个基因在每个癌种中突变的样本数
    gene_cancer = maf_df.groupby(
        ["Hugo_Symbol", "cancer_type"])[
        "Tumor_Sample_Barcode"].nunique().reset_index()  # 突变样本数
    gene_cancer.columns = ["gene", "cancer", "mut_samples"]

    # 计算频率
    gene_cancer["freq"] = gene_cancer.apply(
        lambda r: r["mut_samples"] / samples_per_cancer[r["cancer"]],
        axis=1)                        # 突变频率 = 突变样本数 / 总样本数
    return gene_cancer

freq_df = calc_mutation_freq(maf)

# 4. 找出跨癌种高频突变基因(在>=5个癌种中频率>5%)
gene_cancer_count = freq_df[freq_df["freq"] > 0.05].groupby("gene")[
    "cancer"].nunique()                # 每个基因突变频率>5%的癌种数
pan_cancer_genes = gene_cancer_count[
    gene_cancer_count >= 5             # 至少5个癌种
].sort_values(ascending=False)
print("=== 泛癌高频突变基因 ===")
print(pan_cancer_genes.head(20))       # 打印前20个

# 5. 绘制 oncoplot 风格的热图
top_genes = pan_cancer_genes.head(15).index.tolist()  # 前15基因
pivot = freq_df[freq_df["gene"].isin(top_genes)].pivot(
    index="gene", columns="cancer", values="freq").fillna(0)

plt.figure(figsize=(16, 8))            # 设置大小
sns.heatmap(pivot,                     # 热图
            cmap="YlOrRd",             # 黄-红配色
            annot=True,                # 显示数值
            fmt=".0%",                 # 百分比格式
            linewidths=0.5)            # 网格线
plt.title("泛癌基因突变频率热图")       # 标题
plt.tight_layout()                     # 紧凑布局
plt.savefig("pancancer_oncoplot.png", dpi=150)  # 保存
# === 使用 TCGAbiolinks 下载 TCGA 数据 ===
library(TCGAbiolinks)                  # TCGA数据下载包

# 下载某癌种的突变数据
query <- GDCquery(                     # 构建查询
  project = "TCGA-BRCA",              # 乳腺癌项目
  data.category = "Simple Nucleotide Variation",  # 突变数据
  data.type = "Masked Somatic Mutation",          # 体细胞突变
  workflow.type = "Aliquot Ensemble Somatic Variant Merging and Masking"
)
GDCdownload(query)                     # 下载数据
maf <- GDCprepare(query)              # 整理为MAF格式

# 使用 maftools 分析
library(maftools)                      # MAF分析包
laml <- read.maf(maf = maf)           # 读取MAF
oncoplot(maf = laml, top = 20)        # 绘制oncoplot(前20基因)

面试常问点

★ 泛癌分析的意义是什么?

参考答案:泛癌分析有三个核心意义:(1) 发现跨癌种的共同驱动机制——比如 TP53 在几乎所有癌种中都突变,KRAS 在胰腺癌、结直肠癌、肺癌中都是驱动基因,说明这些通路是"万能靶点";(2) 支持"篮子试验"设计——按分子标志物而非癌种分组进行临床试验(如 BRAF V600E 突变不限癌种用 vemurafenib);(3) 揭示肿瘤的分子分类可能比器官分类更有临床价值——比如 MSI-H 的结直肠癌和胃癌在免疫治疗上有相似的响应。

★ 泛癌分析需要注意什么批次效应?

参考答案:需要注意:(1) 不同癌种的测序平台和时间可能不同(早期用 GA-II,后期用 HiSeq);(2) 不同癌种的突变检测 pipeline 可能不完全一致;(3) 样本纯度和倍性在不同癌种间差异大(如脑胶质瘤纯度通常低);(4) 基因表达要统一归一化方法(TPM 或上四分位数归一化);(5) 不同癌种的样本量差异大,分析时要注意统计功效。


速查卡片

问题答案
TCGA 癌种数33 种
TCGA 总样本数~11,000
数据下载工具TCGAbiolinks, GDC Portal
MAF 分析工具maftools (R)
突变签名工具SigProfiler, MutationalPatterns
泛癌高频基因TP53, PIK3CA, KRAS, PTEN
篮子试验按分子标志物分组的临床试验
免疫亚型6 种(Thorsson 2018)
关键数据库TCGA, ICGC, COSMIC
cBioPortal在线查询泛癌突变