免疫检查点抑制剂(ICB)改变了癌症治疗格局,但响应率差异巨大。如何提前、精准预测患者对PD-1/CTLA-4抑制剂的响应,是临床研究与实践中的关键挑战。由Shirley Liu实验室开发的TIDE (Tumor Immune Dysfunction and Exclusion) 计算框架,正是为此而生的强大工具!本文将带你实战操作TIDE的响应预测功能,助你将复杂的测序数据转化为明确的临床研究洞见。
一、TIDE:连接组学数据与免疫治疗响应的桥梁
TIDE的核心价值在于其整合算法,它能评估肿瘤微环境中的关键免疫逃逸机制——T细胞功能障碍(Dysfunction)和T细胞排斥(Exclusion),并据此预测患者对ICB的响应可能性。对临床研究者而言,这意味着:
优化患者分层:在试验设计阶段,利用TIDE筛选潜在响应/非响应者,提高试验成功率并可能降低入组成本。
探索耐药机制:分析高低TIDE分患者的组学特征差异,揭示潜在的免疫治疗耐药靶点。
生物标志物发现:TIDE输出的多项免疫相关评分(如IFN-γ, 功能障碍/排斥潜力、免疫细胞浸润等)是挖掘新生物标志物的宝贵资源。
二、实战步骤:如何用TIDE预测ICB响应?
第一步:准备数据并访问平台
1.注册访问TIDE网站http://tide.dfci.harvard.edu/。
2.数据准备:
你需要什么:一个基因表达谱文件(需规范格式)。
格式要求:文件应为txt格式的矩阵文件,行为基因(HGNC Symbol或Entrez ID均可,如TGFB1或7040),列为患者样本ID。网站上提供测试样本文件,建议参考其格式进行准备。
数据标准化 (关键!):输入的基因表达值(如TPM/FPKM)需经过log2转换(log2(TPM+1)或log2(FPKM+1))。更重要的一步是归一化:减去对照样本的表达值或所有患者该基因表达的平均值。这相当于计算每个基因在输入样本相对于对照的log2(Fold Change)。以下R代码演示了如何对表达矩阵进行中心化处理(mean-centered normalization),使每个基因在所有样本中的平均表达值为0:
library(readxl)
expression <- read_excel("log2(TPM+1).xlsx")
library(tidyverse)
expression <- expression %>% column_to_rownames(var = names(expression)[1])
TIDE <- t(apply(expression, 1, function(x)x-(mean(x)))) #或者TIDE <- sweep(expression, 1, rowMeans(expression))
range(rowMeans(TIDE))
write.table(TIDE, file = "TIDE.txt", sep = "\t", row.names = T, col.names = TRUE, quote = FALSE)
#代码解读:
1. 数据读取
library(readxl)
expression <- read_excel("log2(TPM+1).xlsx")
• read_excel函数:来自readxl包,专用于读取Excel文件
•参数说明:
•输入文件:"log2(TPM+1).xlsx"
•默认行为:第一行作为列名,第一列为基因标识符
•输出:tibble格式的表达矩阵(行=基因,列=样本)
2. 设置基因名为行名
library(tidyverse)
expression <- expression %>% column_to_rownames(var = names(expression)[1])
•tidyverse包:是一个强大的数据科学包集合,这里主要使用其中的tibble功能(read_excel读取的数据为tibble格式)和管道操作符%>%。
• %>%管道符:将左侧结果传递给右侧函数
• column_to_rownames函数(来自tidyverse包):将指定列转换为行名
•关键参数:var = names(expression)[1]:参数var指定要转换为行名的列,这里使用names(expression)[1]即第一列的列名。
•效果:
•第一列基因ID变为行名
•矩阵变为纯数值矩阵(样本列×基因行)
3. 中心化处理
TIDE <- t(apply(expression, 1, function(x) x - mean(x)))
• apply函数:对矩阵或数据框的行或列应用函数。参数说明:
•参数1:expression - 输入数据
•参数2:1 - 按行操作(2表示按列)
•参数3:自定义函数function(x) x - mean(x),对每一行(即每个基因在所有样本的表达向量)减去该行的均值(即该基因在所有样本中的平均表达量),从而实现中心化(均值为0)。
• t()转置函数:由于apply函数按行操作时,返回的结果矩阵会将原始的行(基因)变为列,转置后可以恢复原始的行列结构(即行对应基因,列对应样本)。
备选方案:sweep()函数
sweep(expression, 1, rowMeans(expression))
直接通过向量化计算实现中心化,效率更高
sweep函数:对矩阵或数据框的行或列进行批量的减法操作。参数说明:
•expression:输入数据。
•1:表示按行操作。
•整体表示:从数据框的每一行中减去该行的均值。
4. 验证中心化效果
range(rowMeans(TIDE))
• rowMeans函数:计算每行的均值
• range函数:输出最小值和最大值
•浮点数精度说明:理论上,中心化后每行的均值应该为0。但由于计算机浮点数计算的精度限制,实际结果可能是一个非常接近0的小数(例如,1e-15级别)。因此,使用range函数可以验证这些行均值是否在0附近。
5. 导出TIDE格式文件
write.table(TIDE, file = "TIDE.txt", sep = "\t",
row.names = TRUE, col.names = TRUE,
quote = FALSE)
•write.table函数:将数据框或矩阵写入文本文件。参数说明:
•file:输出文件名("TIDE.txt")
• sep = "\t":指定制表符分隔
• row.names = TRUE:保留基因行名
• col.names = TRUE:保留样本列名
• quote = FALSE:不将字符型变量和列名用引号括起来,避免干扰下游分析。
•导出文件:
•格式:纯文本(.txt)
•内容:基因名行 + 样本名列 + 中心化数值矩阵
第二步:设置参数
1.选择癌症类型:
TIDE对黑色素瘤(Melanoma) 和非小细胞肺癌(NSCLC) 的ICB响应预测最为成熟可靠。
重要提示:虽然提供了“其他癌症”选项,但当前模型仅针对上述两种癌症和抗PD-1/CTLA-4疗法进行了验证优化。用于其他癌症或免疫疗法时,结果仅供参考,解读需谨慎。
2.前期免疫治疗史:
勾选Yes 仅当你的患者样本在接受本次预测所针对的ICB之前,已经接受过任何免疫疗法(如其他ICB)。
若前期治疗仅为靶向治疗或化疗,请勾选No。这些疗法不影响当前的TIDE预测规则。
第三步:运行预测
确认信息和数据无误后,点击“Predict Response”蓝色按钮即可运行分析。
三、解读报告
TIDE生成的报告包含直观的图表和详细的数据表,是你挖掘信息的宝藏。
1.TIDE响应预测图:
核心解读:每个患者条形代表其TIDE分数。分值越高(左侧条形越长,蓝色区域),提示对ICB更可能无响应(Non-responder);分值越低(右侧条形越长,红色区域),提示对ICB更可能有响应(Responder)。病人默认按TIDE分值降序排列(高->低)。
图片
阈值设定技巧:
默认阈值为0。调高阈值(如设1)会提高识别“无响应者”的准确性。
调低阈值(如设0或更低)会提高识别潜在响应者的准确性。
交互操作:鼠标悬停可查看具体分值;可筛选只看响应者/无响应者;支持图表下载。
2.患者免疫特征详表:
图片
Patient: 样本ID。
No Benefits: 综合了TIDE和IFN-γ特征预测的“强无响应者”标记 (重点关注!)。结合两个标志物可显著提升识别无响应者的准确性。
Responder: 仅基于TIDE分数预测的响应者状态。
TIDE: 核心预测分数。值越高,提示肿瘤免疫逃逸潜力越大,ICB响应可能性越低。
IFNG: 干扰素γ信号通路活性评分(基于6个关键基因:IFNG, STAT1, IDO1, CXCL10, CXCL9, HLA-DRA)。该信号通路激活通常与更好的免疫响应相关。
MSI: 预测的微卫星不稳定基因集表达得分。
CD274 (PD-L1): CD274基因表达值。
CD8: CD8A/B平均表达值。
CTL.flag: 细胞毒性T细胞(CTL)浸润水平(高/低)。高水平取值为True,低水平取值为False。
Dysfunction/Exclusion: T细胞功能障碍/排斥程度评分。
MDSC/CAF/TAM M2: 相关免疫抑制细胞特征和输入文件的表达相关性(Pearson)。
交互操作:点击列名可按该列排序;悬停列名查看详细解释。
结语:与PD-L1表达、TMB等传统生物标志物或其他ICB响应预测工具相比,TIDE不仅基于肿瘤微环境的多维机制,结合T细胞功能障碍和排斥两大核心免疫逃逸路径,还附带丰富的免疫特征评分,操作简便、适用性强,是临床与科研中探索免疫耐药机制的有力利器。