跳转至

免疫治疗标志物与免疫检查点预测

一句话概述:通过 TMB、MSI、PD-L1 表达、新抗原负荷、免疫浸润评分等多维度标志物综合预测患者对免疫检查点抑制剂(ICB)的响应概率。


核心知识点速查表

概念白话解释
ICB免疫检查点阻断(如抗PD-1/PD-L1/CTLA-4)
PD-1/PD-L1免疫刹车分子,肿瘤利用它逃避免疫
TMB肿瘤突变负荷(突变多→新抗原多→响应好)
MSI-H/dMMR错配修复缺陷(突变极多→响应非常好)
TILs肿瘤浸润淋巴细胞(T细胞越多→响应越好)
新抗原(Neoantigen)突变产生的新蛋白片段,被T细胞识别
TIDE肿瘤免疫功能障碍与排斥评分
TCR多样性T细胞受体多样性,反映免疫应答广度

一、免疫治疗预测概念(白话版)

比喻:免疫治疗就像"解除警察(T细胞)的手铐"。但不是所有病人都适合: 1. 有没有"线索"?→ TMB/新抗原(突变越多,免疫识别越容易) 2. 警察(T细胞)在不在现场?→ TILs/免疫浸润 3. 手铐(免疫检查点)锁上了吗?→ PD-L1表达 4. 犯人(肿瘤)有没有其他逃跑手段?→ 免疫逃逸机制


二、标志物 1:新抗原预测

# 新抗原预测流程:体细胞突变 → 突变肽段 → MHC结合预测

# 第 1 步:从突变生成候选肽段
# 用 pvacseq(pVACtools 的一部分)
pip install pvactools  # 安装pVACtools

# 第 2 步:HLA 分型(确定患者的 MHC 类型)
# 用 OptiType 从 WES 数据推断 HLA 分型
conda install -c bioconda optitype

OptiType -i sample_R1.fastq.gz sample_R2.fastq.gz \  # 输入FASTQ
         --dna \                                        # DNA测序数据
         --outdir optitype_results/                    # 输出目录

# 输出 HLA 分型,例如:HLA-A*02:01, HLA-B*07:02, HLA-C*07:01

# 第 3 步:运行 pVACseq 预测新抗原
pvacseq run \
    annotated_somatic.vcf \         # VEP注释后的体细胞突变VCF
    sample_name \                    # 样本名
    "HLA-A*02:01,HLA-B*07:02" \    # HLA分型结果
    MHCflurry MHCnuggetsI NetMHCpan \ # 预测算法(多个)
    neoantigen_results/ \            # 输出目录
    -e1 8,9,10,11 \                  # MHC-I肽段长度(8-11个氨基酸)
    --iedb-install-directory /path/to/iedb  # IEDB安装目录

# 输出文件:
# all_epitopes.tsv — 所有候选新抗原
# filtered.tsv — 过滤后的高置信度新抗原
# 包含:突变信息、肽段序列、IC50结合亲和力

# IC50 < 500nM → 可能被MHC展示
# IC50 < 50nM → 强结合(高优先级新抗原候选)

新抗原质量评估

# ========== Python脚本:新抗原质量评分 ==========
import pandas as pd

# 读取 pVACseq 结果
epitopes = pd.read_csv("neoantigen_results/all_epitopes.tsv",
                        sep="\t")                      # 读取结果

# 优先排序标准
# 1. IC50 < 500nM(MHC结合力)
# 2. 突变型IC50 < 野生型IC50(突变增强结合)
# 3. 基因表达量高(RNA-seq数据)
# 4. 克隆突变优于亚克隆突变
# 5. VAF高

# 综合评分
epitopes['agretopicity'] = (
    epitopes['WT IC50 Score'] / epitopes['MT IC50 Score']  # 突变/野生型IC50比
)
# agretopicity > 1 → 突变增强了MHC结合(好的新抗原特征)

# 筛选高优先级新抗原
high_priority = epitopes[
    (epitopes['MT IC50 Score'] < 500) &                 # 结合力强
    (epitopes['agretopicity'] > 1.5) &                  # 突变增强结合
    (epitopes['Tumor DNA VAF'] > 0.1)                   # VAF>10%
]

print(f"高优先级新抗原数量: {len(high_priority)}")
high_priority.to_csv("high_priority_neoantigens.tsv",
                      sep="\t", index=False)

三、标志物 2:免疫浸润分析

# ========== R脚本:CIBERSORT 免疫细胞反卷积 ==========
# CIBERSORT 从bulk RNA-seq估计免疫细胞比例

# 使用 immunedeconv 包(整合多种方法)
# install.packages("immunedeconv")
library(immunedeconv)                                  # 加载包

# 读取表达矩阵(TPM格式)
expr <- read.csv("expression_tpm.csv", row.names=1)    # 基因×样本矩阵

# 运行 CIBERSORT
cibersort_result <- deconvolute(
    expr,                                               # 表达矩阵
    method = "cibersort_abs"                            # CIBERSORT绝对模式
)

# 运行其他方法比较
timer_result <- deconvolute(expr, method = "timer")     # TIMER
xcell_result <- deconvolute(expr, method = "xcell")     # xCell

# 提取关键免疫细胞比例
# CD8+ T细胞比例高 → 免疫热肿瘤 → 可能响应ICB
# Treg比例高 → 免疫抑制 → 可能不响应

四、标志物 3:TIDE 综合评分

# TIDE(Tumor Immune Dysfunction and Exclusion)
# 在线工具:http://tide.dfci.harvard.edu/

# 也可以用 Python API
pip install tidepy  # 安装tidepy(如果可用)

# 或直接用R/Python提交
# 准备输入:基因表达矩阵(TPM,行=基因,列=样本)
# 上传到 TIDE 网站或使用 API

# TIDE 评分解读:
# TIDE score 高 → 预测不响应ICB
# TIDE score 低 → 预测响应ICB
# TIDE 考虑两个维度:
#   - Dysfunction: T细胞功能障碍程度
#   - Exclusion: T细胞被排斥程度

五、多标志物综合预测

# ========== 综合ICB响应预测 ==========
import pandas as pd

def predict_icb_response(tmb, msi_status, pdl1_tps,
                          cd8_infiltration, tide_score,
                          neoantigen_count):
    """综合多标志物预测ICB响应"""
    score = 0                                          # 初始评分
    evidence = []

    # TMB
    if tmb >= 10:
        score += 2
        evidence.append(f"TMB-H ({tmb} mut/Mb)")      # TMB高

    # MSI
    if msi_status == "MSI-H":
        score += 3                                      # MSI-H权重最高
        evidence.append("MSI-H/dMMR")

    # PD-L1
    if pdl1_tps >= 50:
        score += 2
        evidence.append(f"PD-L1 TPS≥50% ({pdl1_tps}%)")
    elif pdl1_tps >= 1:
        score += 1
        evidence.append(f"PD-L1 TPS 1-49% ({pdl1_tps}%)")

    # CD8 浸润
    if cd8_infiltration == "high":
        score += 1
        evidence.append("CD8+ T cell high")

    # TIDE
    if tide_score < 0:
        score += 1
        evidence.append(f"TIDE favorable ({tide_score:.2f})")

    # 新抗原
    if neoantigen_count >= 10:
        score += 1
        evidence.append(f"High neoantigen load ({neoantigen_count})")

    # 综合判断
    if score >= 5:
        prediction = "Likely Responder"                 # 可能响应
    elif score >= 3:
        prediction = "Possible Responder"               # 可能响应
    else:
        prediction = "Unlikely Responder"               # 不太可能响应

    print(f"ICB响应预测: {prediction} (Score: {score}/10)")
    print(f"支持证据: {', '.join(evidence)}")
    return prediction, score

# 使用示例
predict_icb_response(
    tmb=15, msi_status="MSS", pdl1_tps=60,
    cd8_infiltration="high", tide_score=-0.5,
    neoantigen_count=25
)

六、常见报错与解决

问题原因解决方法
OptiType HLA分型失败测序深度不够HLA区域需要 >30X 深度
新抗原预测全部 IC50>500HLA分型不准或突变类型不适合检查HLA分型,考虑MHC-II
CIBERSORT结果全0基因名格式不对确保用 HUGO gene symbol
TIDE评分与临床不符TIDE基于特定训练集TIDE是预测工具不是诊断工具

七、面试高频问题

Q1:免疫治疗常用的预测标志物有哪些?

(1) PD-L1 表达(IHC);(2) TMB-H(≥10 mut/Mb);(3) MSI-H/dMMR;(4) TILs(CD8+ T细胞浸润);(5) 新抗原负荷;(6) 基因表达谱(如TIDE、GEP)。单个标志物不够完美,多标志物联合预测更准确。

Q2:为什么有些 TMB-H 患者免疫治疗无效?

(1) 新抗原质量差(虽然多但不被MHC展示);(2) T细胞被排斥在肿瘤外(cold tumor);(3) 肿瘤有其他免疫逃逸机制(如β2M丢失、HLA缺失);(4) 免疫抑制微环境(Treg/MDSC多)。

Q3:免疫热肿瘤 vs 免疫冷肿瘤?

热肿瘤:大量T细胞浸润到肿瘤内部,对ICB响应率高。冷肿瘤:T细胞很少或被阻挡在肿瘤边缘,对ICB响应差。治疗策略:将冷肿瘤变热(联合放疗、溶瘤病毒、CAR-T等)。


八、速查表

# === 免疫治疗标志物速查 ===

# FDA批准的ICB预测标志物:
# PD-L1 TPS ≥1% (NSCLC一线pembrolizumab)
# PD-L1 CPS ≥10 (胃癌pembrolizumab)
# TMB ≥10 mut/Mb (所有实体瘤pembrolizumab)
# MSI-H/dMMR (所有实体瘤pembrolizumab)

# 新抗原预测工具:
# pVACseq (pVACtools) — 标准新抗原预测
# NetMHCpan — MHC结合预测
# OptiType — HLA分型

# 免疫浸润分析:
# CIBERSORT/CIBERSORTx — 免疫反卷积
# TIMER — 肿瘤免疫估计
# xCell — 64种细胞类型

# 综合评分:
# TIDE — 免疫功能障碍和排斥
# GEP (18-gene) — Merck开发的基因表达谱

参考资料:pVACtools (Hundal et al. 2020)、TIDE (Jiang et al. 2018)、CIBERSORTx、NCCN Biomarker Compendium 2024