概
述
短暂的七夕节过后,大家是否重新投入到科研的最前线了呢?毕竟古语有云“科研无止境,只要肯攀登”。免疫浸润分析作为近几年肿瘤分析的一个热点内容,已经发展出了ssGSEA、Xcell和Estimate等多种算法。今天小编给大家分享的是其中的集大成者——immunedeconv,该包集成了我们常用的几种免疫浸润分析的方法,下面就跟着小编一起走进immunedeconv的世界吧。
简介
一般而言,可以使用解卷积(deconvolution)的方法评估免疫浸润。在此基础上,计算免疫浸润的方法大致分为3大类:
第一类:基于细胞标志分子的方法,核心思路基于ssGSEA。
第二类:完全解卷积的方法,纯数学建模拟合。
第三类:部分解卷积的方法,上述两种思路的结合。
影响解卷积效果的因素
基于监督去卷积的方法,依赖于参考集,样本间、样本内本身的异质性将会对结果产生影响,除此之外还有其他因素,例如:
·前处理和标准化
·对数与线性
对芯片数据取对数后会破坏线性假设,进而影响去卷积效果;RNA-seq数据的去卷积也需要符合线性假设,TPM , RSEM 或者Kallisto 可以得到更精确的细胞比例。
·多重共线性:混合物中相关细胞类型的存在
·矩阵的条件数目
·细胞周期
我们使用 immunedeconv 包来进行免疫浸润分析,该包提供了很多免疫浸润算法的支持,包括
·quantiseq
·timer
·cibersort
·cibersort_abs
·mcp_counter
·xcell
·epic
安装
该包需要从GitHub安装,可以利用以下两个命令安装。
install.packages("remotes")remotes::install_github("icbi-lab/immunedeconv")
开始
下面我们以R包immunedecon自带的dataset_racle$expr_mat作为测试数据完成以下示例。
# 导入所需R包library('dplyr')library('ggplot2')library('tidyr')library('immunedeconv')library('tibble')
查看基因表达数据的前5行
# 展示基因表达数据前5行knitr::kable(dataset_racle$expr_mat[1:5, ])
LAU125 LAU355 LAU1255 LAU1314
A1BG 0.82 0.58 0.81 0.71
A1CF 0.00 0.01 0.00 0.00
A2M 247.15 24.88 2307.94 20.30
A2M-AS1 1.38 0.20 2.60 0.28
A2ML1 0.03 0.00 0.05 0.02
Immunedeconv包支持的免疫浸润算法非常多,使用deconvolute函数 ,查看对应的方法并指定相应的免疫浸润方法。
deconvolution_methods
## MCPcounter EPIC quanTIseq xCell## "mcp_counter" "epic" "quantiseq" "xcell"## CIBERSORT CIBERSORT (abs.) TIMER## "cibersort" "cibersort_abs" "timer"
这个例子中我们使用quantiseq方法,最终我们得到一个x样品包含细胞类型富集得分的数据框。
res_quantiseq = deconvolute(dataset_racle$expr_mat, "quantiseq", tumor = TRUE)
QuanTiseq方法的得分一般可以被看做细胞类型得分,接下来利用tidyverse/ggplot2以堆叠柱状图对接轨进行可视化。
res_quantiseq %>%gather(sample, fraction, -cell_type) %>%# plot as stacked bar chartggplot(aes(x=sample, y=fraction, fill=cell_type)) +geom_bar(stat='identity') +coord_flip() +scale_fill_brewer(palette="Paired") +scale_x_discrete(limits = rev(levels(res_quantiseq)))
从图中可以看到:
·前两个样品(LAU355、LAU1314)在CD4+和B细胞中占据很多大的比例。
·最后两个样品 (LAU1255, LAU125) 在uncharacterized cells中占据很大比例。
·最后一个样品(LAU125)不包含CD8+细胞,后者往往与糟糕的预后。
下面我们在同样数据集中利用MCP-counter计算免疫浸润得分。
res_mcp_counter = deconvolute(dataset_racle$expr_mat, "mcp_counter")
MCP-counter的得分仅在样品之间具有可比性,在细胞类型之间没有。接下来我们利用散点图在样品之间进行比较。
res_mcp_counter %>%gather(sample, score, -cell_type) %>%ggplot(aes(x=sample, y=score, color=cell_type)) +geom_point(size=4) +facet_wrap(~cell_type, scales="free_x", ncol=3) +scale_color_brewer(palette="Paired", guide=FALSE) +coord_flip() +theme_bw() +theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))
·相较于quanTiseq,MCP-counter预测出B细胞在LAU355和LAU1314中相较于其他两个样品具有更高的富集分数。
·最后一个样品LAU125在CD8+细胞中具有更低的富集得分。
·Neutrophils和Monocytes两个方法结果不一致。
以上就是小编对immunedeconv的简单介绍,更多详细大家可访问https://icbi-lab.github.io/immunedeconv
ZKSXYYDS!
微信公众号
中科生信
新浪微博
@中科生信

