
🕵️♂️ 揭开肿瘤”黑箱”的秘密
肿瘤不仅仅是一团癌细胞,它是一个复杂的生态系统——肿瘤微环境(TME)。这里面混杂着T细胞、B细胞、巨噬细胞、成纤维细胞……它们有的在杀伤肿瘤,有的却在帮肿瘤”打掩护”。
要搞清楚这个微环境,我们通常使用”去卷积”(Deconvolution)算法,从Bulk RNA-seq数据中推断各种细胞的比例。
但是,市面上的算法太多了:CIBERSORT, TIMER, xCell, MCPCounter… 每个软件的安装方法不一样,输入数据格式不一样,输出结果也不一样。光是把环境配好,可能就得花上一周。
“要是能把它们都装进一个盒子里就好了。”
tigeR:好的,我来了。
🧰 10种算法,一个接口
tigeR包堪称TME分析的”瑞士军刀”。它集成了目前最主流的10种去卷积算法,并且统一了调用接口。
你没看错,是10种:
- TIMER
- CIBERSORT (经典中的经典)
- MCPCounter
- xCell
- IPS
- EPIC
- ESTIMATE (评估免疫/基质评分)
- ABIS
- ConsensusTME
- quanTIseq
极简操作:deconv_TME
不管你想用哪种算法,只需要记住这一个函数:deconv_TME。
library(tigeR)
# 使用 TIMER 算法
frac_timer <- deconv_TME(MEL_GSE78220, method = "TIMER")
# 使用 CIBERSORT 算法
frac_ciber <- deconv_TME(MEL_GSE78220, method = "CIBERSORT")
# 使用 xCell 算法
frac_xcell <- deconv_TME(MEL_GSE78220, method = "xCell")只需修改method参数,就能无缝切换算法。这对于比较不同算法的结果,或者寻找最适合你数据的算法来说,简直太方便了!
可视化:一目了然
算出了比例,怎么展示?tigeR提供了精美的饼图和堆叠柱状图功能。
# 可视化细胞比例
pie1 <- fraction_pie(cell_name_filter(frac_timer),
feature = factor(rownames(frac_timer)))
pie1🧬 进阶玩法:单细胞数据赋能
这是tigeR的一个杀手级功能。
通用的去卷积算法使用的是公共的Reference矩阵,可能并不完全适合你研究的特定癌种。
如果你手头有单细胞测序数据(scRNA-seq),tigeR允许你利用这些数据构建自定义的Reference矩阵,然后用于Bulk RNA-seq的去卷积!
这意味着,你可以获得极其精准、特异性极高的细胞比例估算。
library(Seurat)
# 1. 处理单细胞数据 (Seurat流程)
# ... (标准Seurat处理) ...
pbmc$celltype <- Idents(pbmc)
# 2. 构建自定义Reference矩阵
ref_sig_mtr <- build_CellType_Ref(pbmc, logfc.threshold = 1.5)
# 3. 使用自定义Reference进行去卷积 (以CIBERSORT为例)
Ciber_SE <- deconv_TME(MEL_GSE91061,
method = "CIBERSORT",
sig_matrix = ref_sig_mtr)打通单细胞与Bulk数据,让你的分析深度瞬间提升一个档次。
💡 总结
tigeR在TME分析模块展现了强大的整合能力和灵活性:
- 集大成:10种主流算法,一网打尽。
- 统一化:一个函数,统一接口,降低学习成本。
- 定制化:支持从单细胞数据构建Reference,实现精准分析。
无论你是想快速看一眼免疫浸润情况,还是想深入挖掘特定细胞亚群,tigeR都能陪你到底。
下一期,我们将挑战最高难度的任务:构建机器学习模型,预测免疫治疗响应!
参考资料:
- tigeR Github: https://github.com/YuLab-SMU/tigeR
- iMeta Paper: http://doi.org/10.1002/imt2.229