跳转至

肿瘤免疫编辑分析


一句话说明

肿瘤免疫编辑是指免疫系统和肿瘤之间的"军备竞赛"——免疫系统杀死容易识别的肿瘤细胞,剩下的"隐身"细胞存活下来并继续生长,通过生信分析可以追踪这个选择过程。


核心知识点

1. 免疫编辑三阶段

  • 消除(Elimination):免疫系统识别并杀死大部分肿瘤细胞(白话:免疫军队大扫荡)
  • 平衡(Equilibrium):少数逃脱的肿瘤细胞与免疫系统僵持(白话:双方对峙)
  • 逃逸(Escape):肿瘤细胞演化出逃避免疫的能力,开始不受控制地生长(白话:肿瘤学会了隐身术)

2. 免疫逃逸机制(可通过生信检测)

机制检测方法说明
HLA 丢失HLA LOH 分析抗原呈递丧失
新抗原丢失免疫编辑评分高免疫原性突变被选择性丢失
PD-L1 上调表达分析抑制T细胞活性
β2M 突变/丢失突变+CNVMHC-I 功能丧失
IFN-γ通路缺陷突变检测JAK1/JAK2/B2M 突变
免疫检查点上调表达分析多个抑制性受体高表达

3. 免疫编辑评分

  • 比较"观测到的新抗原数"与"预期的新抗原数"
  • 如果观测 << 预期,说明免疫系统选择性清除了携带新抗原的克隆(免疫编辑发生了)
  • 预期数通过非免疫原性突变的保留率来估计

4. HLA LOH 检测

  • HLA 基因位于 6p21,是抗原呈递的核心
  • 肿瘤通过丢失一条 HLA 单倍型(LOH)来逃避免疫
  • 工具:LOHHLA, DASH, arcasHLA
  • 约 40% 的实体瘤存在 HLA LOH

实战代码

# === 免疫编辑评分计算 ===
import pandas as pd                    # 数据处理
import numpy as np                     # 数值计算
from scipy import stats                # 统计检验

def immune_editing_score(mutations_df, binding_threshold=500):
    """
    计算免疫编辑评分
    mutations_df: 包含突变信息和MHC结合预测的DataFrame
    binding_threshold: MHC结合亲和力阈值(nM)
    """
    # 分类突变
    # 新抗原:突变肽结合力 < 500nM(能被MHC呈递)
    # 非免疫原性:突变肽结合力 >= 500nM
    neoantigens = mutations_df[
        mutations_df["MT_IC50"] < binding_threshold    # 突变肽强结合
    ]
    non_immunogenic = mutations_df[
        mutations_df["MT_IC50"] >= binding_threshold   # 突变肽弱结合
    ]

    # 计算克隆性(只看克隆突变,CCF > 0.7)
    clonal_neo = neoantigens[neoantigens["CCF"] > 0.7]      # 克隆新抗原
    clonal_non = non_immunogenic[non_immunogenic["CCF"] > 0.7]  # 克隆非免疫原性

    # 计算亚克隆比例
    subclonal_neo = neoantigens[neoantigens["CCF"] <= 0.7]   # 亚克隆新抗原
    subclonal_non = non_immunogenic[non_immunogenic["CCF"] <= 0.7]

    # 免疫编辑评分 = 观测的克隆新抗原比例 / 预期比例
    total_clonal = len(clonal_neo) + len(clonal_non)
    total_subclonal = len(subclonal_neo) + len(subclonal_non)

    if total_clonal > 0 and total_subclonal > 0:
        observed_ratio = len(clonal_neo) / total_clonal       # 观测比例
        expected_ratio = len(subclonal_neo) / total_subclonal  # 预期比例
        ie_score = observed_ratio / expected_ratio if expected_ratio > 0 else float("inf")
    else:
        ie_score = None

    print(f"克隆新抗原数: {len(clonal_neo)}")
    print(f"亚克隆新抗原数: {len(subclonal_neo)}")
    print(f"免疫编辑评分: {ie_score:.3f}" if ie_score else "无法计算")
    print(f"  < 1 → 免疫编辑发生(新抗原被选择性清除)")
    print(f"  ≈ 1 → 无明显免疫编辑")
    print(f"  > 1 → 免疫系统未有效清除")

    return ie_score
# === HLA LOH 分析(LOHHLA 工具) ===

# 1. 先进行 HLA 分型(OptiType)
OptiTypePipeline.py \
  -i tumor.bam \                       # 肿瘤BAM
  --dna \                              # DNA模式
  -o optitype_tumor/                   # 输出目录

OptiTypePipeline.py \
  -i normal.bam \                      # 正常BAM
  --dna \
  -o optitype_normal/

# 2. 运行 LOHHLA 检测 HLA LOH
Rscript LOHHLA.R \
  --patientId patient1 \               # 患者ID
  --normalBAMfile normal.bam \         # 正常BAM
  --tumorBAMfile tumor.bam \           # 肿瘤BAM
  --HLAfasta hla_ref.fa \             # HLA参考序列
  --HLATypes "hla_a_01_01,hla_a_02_01,hla_b_07_02,hla_b_44_02" \  # HLA分型
  --CopyNumLoc facets_cncf.txt \       # 拷贝数数据
  --outputDir lohhla_output/           # 输出目录

# 结果解读:
# HLA_type1copyNum_withBAFBin < 0.5 → 该HLA等位基因可能丢失
# pVal < 0.01 → 统计显著的HLA LOH

面试常问点

★ 什么是肿瘤免疫编辑?怎么用生信方法检测?

参考答案:免疫编辑是免疫系统对肿瘤的选择压力导致的演化过程。具体来说,携带高免疫原性新抗原的肿瘤细胞更容易被免疫系统识别和杀死,存活下来的是那些新抗原少或免疫逃逸能力强的细胞。生信检测方法包括:(1) 计算免疫编辑评分——比较克隆突变中新抗原的观测比例vs预期比例,如果显著低于预期说明发生了编辑;(2) 检测 HLA LOH——肿瘤丢失 HLA 单倍型来逃避抗原呈递;(3) 检查 B2M/JAK1/JAK2 等免疫逃逸相关基因的突变。

★ HLA LOH 对免疫治疗有什么影响?

参考答案:HLA LOH 导致肿瘤细胞丢失了一半的抗原呈递能力,使得部分新抗原无法被 T 细胞识别。研究表明 HLA LOH 与免疫检查点抑制剂的耐药有关。但 HLA LOH 通常只丢失一条单倍型,另一条还在,所以不是完全的免疫逃逸。临床上可以将 HLA LOH 作为免疫治疗响应预测的辅助指标之一。


速查卡片

问题答案
免疫编辑三阶段消除、平衡、逃逸
免疫逃逸机制HLA LOH、PD-L1上调、B2M丢失
HLA LOH 检测LOHHLA 工具
HLA 分型工具OptiType, HLA-HD
免疫编辑评分观测/预期新抗原比值
B2M 作用MHC-I 复合物必需亚基
HLA LOH 发生率~40% 实体瘤
新抗原预测NetMHCpan, pVACseq
逃逸与耐药HLA LOH 关联免疫治疗耐药
IFN-γ通路JAK1/JAK2 突变阻断信号