跳转至

肿瘤新抗原预测

一句话概述

利用pVACtools、NetMHCpan、MHCflurry进行HLA分型和肿瘤新抗原(neoantigen)预测,筛选可被T细胞识别的突变衍生肽段,为个体化肿瘤疫苗和免疫治疗提供候选靶标。


核心知识点总览

知识点关键内容重要程度
新抗原概念体细胞突变→异常肽→MHC呈递→T细胞⭐⭐⭐⭐⭐
HLA分型OptiType/HLA-HD从NGS推断HLA等位基因⭐⭐⭐⭐⭐
MHC结合预测NetMHCpan/MHCflurry亲和力预测⭐⭐⭐⭐⭐
pVACtools整合流水线预测新抗原⭐⭐⭐⭐⭐
肽段处理呈递TAP转运/蛋白酶体切割预测⭐⭐⭐⭐
优先级排序表达量/克隆性/结合力综合评分⭐⭐⭐⭐
MHC-I vs MHC-IICD8+ vs CD4+ T细胞新抗原⭐⭐⭐
免疫原性验证T细胞反应性验证策略⭐⭐⭐

各步骤详解

第一步:新抗原预测的基本原理

白话解释: 肿瘤细胞携带体细胞突变,这些突变可能产生正常细胞没有的异常蛋白片段(新抗原/neoantigen)。这些异常肽段被MHC分子呈递到细胞表面后,可被T细胞识别并杀死肿瘤细胞。预测哪些突变能产生有效的新抗原,是个体化肿瘤疫苗设计的核心问题。

技术细节: 新抗原产生的条件链: 1. 体细胞突变存在(SNV/InDel/融合基因) 2. 突变基因被转录(RNA表达) 3. 突变蛋白被翻译和降解为肽段 4. 肽段被蛋白酶体正确切割 5. 肽段通过TAP转运到内质网 6. 肽段与患者特异的HLA等位基因结合 7. MHC-肽复合物稳定呈递到细胞表面 8. 存在能识别该新抗原的T细胞克隆

# 新抗原预测流程概览
# WGS/WES → 体细胞突变 → VEP注释 → 突变肽段生成
#                                        ↓
# RNA-seq → 突变表达验证 → HLA分型 → MHC结合预测 → 新抗原候选排序

第二步:HLA分型

白话解释: 每个人的HLA型别不同(如HLA-A*02:01),决定了能呈递哪些肽段。要预测新抗原,首先需要知道患者的HLA型别。OptiType和HLA-HD可以从NGS数据中直接推断HLA等位基因。

技术细节:

# === HLA分型 ===

# 方法1:OptiType(HLA class I,最常用)
# 从BAM提取HLA区域reads
samtools view -b tumor.bam chr6:29691116-33054976 > hla_reads.bam
samtools fastq hla_reads.bam > hla_reads.fq

# 运行OptiType
OptiTypePipeline.py -i hla_reads.fq \
    --dna --outdir optitype_results/

# 输出示例:HLA-A*02:01, HLA-A*11:01, HLA-B*07:02, HLA-B*44:02, HLA-C*07:01, HLA-C*05:01

# 方法2:HLA-HD(更全面,class I + II)
hlahd.sh -t 16 \
    -m 100 \
    -f freq_data/ \
    tumor_R1.fq.gz tumor_R2.fq.gz \
    gene_split_fasta/ \
    hlahd_output/

# 方法3:从正常组织WES/WGS推断(更准确避免体细胞LOH影响)
OptiTypePipeline.py -i normal_hla_reads.fq --dna --outdir optitype_normal/

第三步:pVACtools新抗原预测

白话解释: pVACtools是最完整的新抗原预测流水线。它从注释好的VCF开始,生成所有可能的突变肽段,调用多个MHC结合预测工具,然后综合评分和过滤,输出候选新抗原列表。

技术细节:

# === pVACtools (pVACseq) ===
pip install pvactools

# 前提:已有VEP注释的体细胞突变VCF
# VEP必须包含以下插件:Frameshift, Wildtype

# 运行VEP注释
vep --input_file somatic.vcf --output_file somatic.vep.vcf \
    --format vcf --vcf --symbol --terms SO \
    --plugin Frameshift --plugin Wildtype \
    --offline --cache --assembly GRCh38

# 运行pVACseq
pvacseq run \
    somatic.vep.vcf \
    TUMOR_SAMPLE \
    "HLA-A*02:01,HLA-A*11:01,HLA-B*07:02,HLA-B*44:02,HLA-C*07:01,HLA-C*05:01" \
    NetMHCpan MHCflurry NetMHCIIpan \
    pvacseq_output/ \
    -e1 8,9,10,11 \
    -e2 15 \
    --iedb-install-directory /path/to/iedb/ \
    -t 16 \
    --normal-sample-name NORMAL_SAMPLE \
    --normal-cov 5 --tdna-cov 10 --trna-cov 10 \
    --normal-vaf 0.02 --tdna-vaf 0.25 --trna-vaf 0.25 \
    --binding-threshold 500 \
    --top-score-metric median

# 参数说明:
# -e1 8,9,10,11: MHC-I肽段长度(8-11mer)
# -e2 15: MHC-II肽段长度(15mer)
# --binding-threshold 500: IC50阈值(<500nM为结合物)
# 强结合物:IC50 < 150nM
# 弱结合物:150 < IC50 < 500nM
# pVACseq结果解析
import pandas as pd

# 读取结果
results = pd.read_csv("pvacseq_output/MHC_Class_I/TUMOR_SAMPLE.filtered.tsv", sep="\t")

# 关键列:
# Chromosome, Start, Stop, Variant Type
# Gene Name, Mutation, HLA Allele
# MT Epitope Seq (突变肽), WT Epitope Seq (野生型肽)
# Median MT Score (突变肽结合IC50)
# Median WT Score (野生型肽结合IC50)
# Tumor DNA VAF, Tumor RNA VAF
# Agretopicity (MT_score / WT_score,值<1说明突变增强了结合)

# 高优先级新抗原筛选
top_neoantigens = results[
    (results['Median MT Score'] < 150) &    # 强结合
    (results['Tumor RNA VAF'] > 0.1) &       # 有表达
    (results['Median WT Score'] > 500)        # 野生型不结合(免疫原性高)
].sort_values('Median MT Score')

print(f"Top neoantigen candidates: {len(top_neoantigens)}")
print(top_neoantigens[['Gene Name', 'Mutation', 'HLA Allele',
                        'MT Epitope Seq', 'Median MT Score']].head(20))

第四步:MHC结合预测工具详解

白话解释: MHC结合预测是新抗原预测的核心步骤。不同工具使用不同的机器学习方法(神经网络、矩阵等)预测肽段与特定HLA等位基因的结合亲和力。多工具共识能提高预测可靠性。

技术细节:

# === NetMHCpan 4.1b ===
# 人工神经网络,覆盖MHC-I所有等位基因
# 注意:4.1b是修正数据后的重训练版本,应优先使用;最新版4.2(2025)引入迁移学习
netMHCpan -a HLA-A02:01 -l 9 -f peptides.fasta -BA > netmhcpan_results.txt
# -BA: 输出结合亲和力预测(IC50)
# %Rank < 0.5: 强结合
# %Rank < 2.0: 弱结合

# === MHCflurry 2.0 ===
# 深度学习模型,快速且准确
mhcflurry-predict --alleles HLA-A0201 HLA-B0702 \
    --peptides YLQPRTFLL SLYNTVATL GILGFVFTL \
    --out predictions.csv

# === NetMHCIIpan 4.3 (MHC-II) ===
# 用于CD4+ T细胞新抗原预测
# 4.3版(2023)改进了HLA-DP/DR预测,是当前最新版
netMHCIIpan -a DRB1_0101 -inptype 1 -l 15 -f peptides.fasta
# MHCflurry Python API
from mhcflurry import Class1PresentationPredictor
predictor = Class1PresentationPredictor.load()

# 预测
results = predictor.predict(
    peptides=["YLQPRTFLL", "SLYNTVATL", "GILGFVFTL"],
    alleles=["HLA-A0201"],
    verbose=0
)
print(results[['peptide', 'mhcflurry_affinity', 'mhcflurry_presentation_score']])
# presentation_score考虑了切割和TAP转运,更接近真实呈递概率

第五步:新抗原优先级排序

白话解释: MHC结合力只是一个维度。一个好的新抗原候选还需要:突变被表达(RNA水平)、是克隆性突变(所有肿瘤细胞都有)、与野生型肽差异大(免疫原性高)、不会导致自身免疫。综合这些因素进行排序。

技术细节:

# === 新抗原综合评分 ===

# 评分维度:
# 1. MHC结合亲和力(IC50 < 150nM = high affinity)
# 2. DAI (Differential Agretopicity Index) = WT_IC50 / MT_IC50
#    DAI > 1: 突变增强了结合
# 3. 肿瘤VAF(VAF高=克隆突变,应优先)
# 4. RNA表达水平(TPM > 1)
# 5. 突变蛋白酶体切割概率
# 6. 新抗原与已知免疫原性肽的相似性

# 综合评分函数
score_neoantigen <- function(mt_ic50, wt_ic50, vaf, tpm, clonality) {
  binding_score <- max(0, 1 - mt_ic50/500)  # 0-1, IC50越低越好
  dai_score <- min(wt_ic50/mt_ic50, 10) / 10  # 0-1
  expression_score <- min(log2(tpm + 1) / 5, 1)  # 0-1
  clonality_score <- vaf  # 0-1

  total <- 0.3 * binding_score + 0.2 * dai_score +
           0.2 * expression_score + 0.3 * clonality_score
  return(total)
}

# 应用评分
neoantigens$priority_score <- mapply(score_neoantigen,
  neoantigens$MT_IC50, neoantigens$WT_IC50,
  neoantigens$VAF, neoantigens$TPM, neoantigens$CCF)

# 排序取top
top_candidates <- neoantigens %>% arrange(desc(priority_score)) %>% head(20)

第六步:新抗原质量过滤

白话解释: 需要过滤掉可能的假阳性和不适合临床使用的候选:如突变可能是germline变异、肽段与自身蛋白高度相似可能引起自身免疫、低复杂度肽段等。

技术细节:

# === pVACtools质量过滤 ===
pvacseq top_score_filter \
    pvacseq_output/MHC_Class_I/TUMOR_SAMPLE.all_epitopes.tsv \
    pvacseq_output/filtered_top.tsv \
    --top-score-metric median

pvacseq binding_filter \
    pvacseq_output/filtered_top.tsv \
    pvacseq_output/filtered_binding.tsv \
    --binding-threshold 500

pvacseq coverage_filter \
    pvacseq_output/filtered_binding.tsv \
    pvacseq_output/filtered_final.tsv \
    --normal-cov 5 --tdna-cov 10 --trna-cov 10 \
    --normal-vaf 0.02 --tdna-vaf 0.25 --trna-vaf 0.25

第七步:新抗原负荷(TMB/TNB)与免疫治疗响应

白话解释: 肿瘤突变负荷(TMB)和新抗原负荷(TNB)是预测免疫检查点抑制剂响应的重要生物标志物。TMB高=更多新抗原=更容易被免疫系统识别=免疫治疗更可能有效。

技术细节:

# === 新抗原负荷计算 ===

# TMB (Tumor Mutational Burden)
total_mutations <- nrow(somatic_variants)
exome_size_mb <- 33  # WES覆盖约33Mb
tmb <- total_mutations / exome_size_mb
cat(sprintf("TMB: %.1f mutations/Mb\n", tmb))
# TMB > 10: 高TMB

# TNB (Tumor Neoantigen Burden)
# 预测的强结合新抗原数量
tnb <- nrow(top_neoantigens[top_neoantigens$MT_IC50 < 500, ])
cat(sprintf("TNB: %d neoantigens\n", tnb))

# 克隆性新抗原负荷(更好的预测指标)
clonal_neoantigens <- top_neoantigens[top_neoantigens$VAF > 0.3, ]
clonal_tnb <- nrow(clonal_neoantigens)
cat(sprintf("Clonal TNB: %d\n", clonal_tnb))

实战命令速查

# 完整新抗原预测流程
# 1. HLA分型
OptiTypePipeline.py -i hla_reads.fq --dna --outdir hla/
# 2. VEP注释突变
vep --input somatic.vcf --plugin Frameshift --plugin Wildtype --vcf
# 3. pVACseq预测
pvacseq run somatic.vep.vcf TUMOR "HLA-A*02:01,HLA-B*07:02" \
    NetMHCpan MHCflurry output/ -e1 8,9,10,11

面试常问点

Q1: 为什么新抗原预测要同时考虑突变肽和野生型肽的结合力?

A: 如果突变肽结合MHC但野生型肽也同样结合(即DAI≈1),说明该肽段正常情况下也会被呈递,免疫系统对其已经形成耐受。只有突变显著增强了MHC结合(DAI>>1)或改变了TCR接触面的新抗原才可能被T细胞识别为"外来"。理想候选:MT_IC50<150nM且WT_IC50>500nM。

Q2: 为什么克隆性新抗原比亚克隆性更有价值?

A: 克隆性新抗原存在于所有肿瘤细胞中,针对它们的免疫反应可以杀死整个肿瘤。亚克隆性新抗原只在部分肿瘤细胞中存在,免疫应答只能清除部分肿瘤细胞,残存的不含该新抗原的细胞可能耐药增殖。个体化疫苗设计应优先选择克隆性新抗原。

Q3: NetMHCpan和MHCflurry的区别和选择?

A: NetMHCpan 4.1b使用人工神经网络训练on binding affinity + eluted ligand data,覆盖最广泛的HLA等位基因(包括罕见型);最新4.2版(2025)引入迁移学习和结构特征进一步提升预测。MHCflurry 2.0使用ensemble of neural networks,额外建模了antigen processing(切割+TAP),提供presentation score。实际应用中推荐多工具取共识(如pVACtools默认用多个工具的中位数)。

Q4: 新抗原预测的主要假阳性来源?

A: (1) 突变未被转录/翻译——需RNA-seq验证表达;(2) MHC结合预测不等于呈递——蛋白酶体可能不在正确位置切割;(3) 被呈递不等于免疫原性——TCR识别是另一个筛选步骤;(4) 体细胞突变调用假阳性——germline变异被误认为体细胞;(5) HLA LOH——肿瘤可能丢失了呈递该新抗原的HLA等位基因。

Q5: HLA LOH对新抗原呈递有什么影响?

A: 肿瘤细胞可通过丢失HLA等位基因(LOH at HLA locus)逃逸免疫监视——如果呈递新抗原的HLA等位基因丢失了,新抗原就无法被呈递和识别。预测新抗原时应检查肿瘤是否有HLA LOH(通过LOHHLA工具),如果目标HLA丢失则该通道的新抗原候选无效。


易错点

1. 使用肿瘤而非正常组织做HLA分型

肿瘤可能有HLA LOH,导致HLA分型不完整。应使用配对正常组织做HLA分型。

2. VEP注释缺少必要插件

pVACseq要求VEP注释包含Frameshift和Wildtype插件。缺少这些会导致InDel和移码突变的肽段无法正确生成。

3. IC50阈值过于严格或宽松

IC50<50nM过于严格会丢失有效新抗原;>1000nM过于宽松包含太多假阳性。推荐使用%Rank<2(弱结合)或%Rank<0.5(强结合)作为主要标准。

4. 忽略突变的表达验证

没有RNA-seq支持的突变可能不被转录。应要求肿瘤RNA VAF>0且位点有reads覆盖。

5. 对所有突变类型一视同仁

框移突变(frameshift)产生的新肽段更"外来"(与正常蛋白完全不同),免疫原性通常优于点突变(missense)。排序时应给予框移突变额外权重。


补充知识

新抗原疫苗临床进展

  • mRNA疫苗(如BioNTech的BNT111/autogene cevumeran)
  • 多肽疫苗(如NeoVax)
  • DC疫苗负载新抗原肽

相关工具

  • pVACtools:完整新抗原预测流水线
  • MuPeXI:新抗原优先级排序
  • PRIME:预测呈递的免疫原性肽
  • DeepImmuno:深度学习预测免疫原性
  • LOHHLA:检测HLA LOH

引用推荐

  • pVACtools: Hundal et al., Cancer Immunology Research, 2020
  • NetMHCpan 4.1b: Reynisson et al., NAR, 2020(4.1b为修正IEDB数据后的重训练版)
  • NetMHCpan 4.2: Nilsson et al., Frontiers in Immunology, 2025
  • NetMHCIIpan 4.3: Nilsson et al., Science Advances, 2023
  • MHCflurry 2.0: O'Donnell et al., Cell Systems, 2020
  • Neoantigen review: Schumacher & Schreiber, Science, 2015