这期推荐软件包 xCell:数字化描绘组织细胞异质性景观,通过它可以计算bulk 转录组的免疫浸润得分,下面我们就看看怎么来实现吧!
简 介
组织是由许多细胞类型组成的复杂环境。在癌症领域,了解肿瘤微环境中的细胞异质性是一个新兴的研究领域。近年来已经发表了许多方法,用于从组织表达谱中推断细胞亚群。然而,现有的方法存在三个主要问题:
基于从有限来源学习和验证的基因集推断细胞子集;
仅显示完整细胞异质性的部分描述;
在混合组织中验证不足。
xCell是一种基于基因签名的方法,从各种来源的数千种纯细胞类型中学习。xCell应用了一种新的技术来减少密切相关的细胞类型之间的关联。通过大量的计算机模拟和细胞术免疫分型验证了xCell标记,并证明其优于以前的方法。xCell允许研究人员可靠地描绘组织表达谱的细胞异质性景观。
xCell是一个从64种免疫细胞和基质细胞类型的基因表达数据中执行细胞类型富集分析的工具。
xCell软件包的工作流程如下:
软件包安装
安装很简单直接安装即可:
devtools::install_github('dviraran/xCell')
数据读取
要使用xCell,只需加载一个人类基因表达数据矩阵。如果数据包含非唯一的基因符号,则将具有相同基因符号的行取平均值。
输入数据有两种类型的矩阵,一类是NGS数据(Sequencing-based),一类是芯片数据(Array-based)。
从import门户网站下载了SDY311和SDY420的研究文件。每个import研究都有一个名为fcs_analyzed_result.txt的文件,其中包含细胞计数。我们从所有活细胞中提取细胞数量,以创建每个样本的细胞比例矩阵。
读入数据,需要准备两个矩阵,一个是表达矩阵如下:
library(knitr)
sdy311 = readRDS("sdy311.rds")
kable(sdy311$expr[1:5, 1:5])
SUB134264 | SUB134282 | SUB134283 | SUB134259 | SUB134285 | |
---|---|---|---|---|---|
7A5 | 6.8359 | 6.6835 | 6.7194 | 6.7751 | 6.7426 |
A1BG | 6.7483 | 6.7549 | 6.7487 | 6.7713 | 7.0461 |
A1CF | 6.8025 | 6.8756 | 6.9453 | 6.6230 | 6.7186 |
A26C3 | 6.6331 | 6.6717 | 6.7014 | 6.6310 | 6.7012 |
A2BP1 | 6.5538 | 6.6411 | 6.5854 | 6.4839 | 6.6191 |
sdy420 = readRDS("sdy420.rds")
kable(sdy420$expr[1:5, 1:5])
SUB137169 | SUB137172 | SUB137208 | SUB137209 | SUB137220 | |
---|---|---|---|---|---|
A1CF | 6.3480 | 6.1807 | 5.9556 | 6.3678 | 6.2681 |
A2LD1 | 6.8177 | 8.6354 | 7.2744 | 6.8724 | 7.0361 |
A2M | 6.7169 | 6.9159 | 7.3686 | 6.7054 | 6.8898 |
A2ML1 | 7.8906 | 9.8874 | 10.5970 | 9.0120 | 8.4623 |
A3GALT2 | 6.1789 | 5.8763 | 7.6175 | 6.1946 | 6.1529 |
一个是通过单样本免疫浸润分析即ssGSEA的结果,矩阵如下:
kable(sdy311$fcs[1:5, 1:5])
SUB116449 | SUB134237 | SUB134238 | SUB134239 | SUB134240 | |
---|---|---|---|---|---|
B-cells | 0.1310 | 0.0685 | 0.0914 | 0.0991 | 0.2921 |
CD16- monocytes | 0.1339 | 0.0476 | 0.1771 | 0.0467 | 0.1618 |
CD16+ monocytes | 0.0032 | 0.0010 | 0.0061 | 0.0010 | 0.0045 |
CD4+ T-cells | 0.3187 | 0.3085 | 0.3329 | 0.4573 | 0.1489 |
CD8+ T-cells | 0.0491 | 0.1822 | 0.0613 | 0.1024 | 0.0421 |
kable(sdy420$fcs[1:5, 1:5])
SUB137169 | SUB137172 | SUB137208 | SUB137209 | SUB137220 | |
---|---|---|---|---|---|
B-cells | 0.0710 | 0.1342 | 0.1344 | 0.0858 | 0.0493 |
CD16- monocytes | 0.1430 | 0.1695 | 0.2324 | 0.2006 | 0.1600 |
CD16+ monocytes | 0.0080 | 0.0155 | 0.0101 | 0.0114 | 0.0089 |
CD4+ T-cells | 0.4138 | 0.2014 | 0.2301 | 0.2718 | 0.2618 |
CD8+ T-cells | 0.1895 | 0.1304 | 0.0866 | 0.1613 | 0.2549 |
计算 xCell scores
我们对SDY311数据集进行了两次数据过滤。首先,基因表达数据中有10例患者存在重复。我们使用'rawEnrichmentAnalysis'函数创建xCell分数,然后对每个有重复的患者取原始分数的平均值。
其次,SDY311中有两个样本被怀疑为异常值,因此我们从分析中删除了。
为了得到最好的结果,最好只对相关细胞类型进行溢出补偿(例如,如果我们知道混合物中没有巨噬细胞,最好将其从分析中移除)。因此,我们将分数矩阵子集为仅在CyTOF数据集中也测量的细胞类型。
注意,我们使用了xCell.data$spill。数组数据,因为表达式数据是用微阵列生成的。
get.xCell.scores = function(sdy) {raw.scores = rawEnrichmentAnalysis(as.matrix(sdy$expr), xCell.data$signatures,xCell.data$genes)colnames(raw.scores) = gsub("\\.1", "", colnames(raw.scores))raw.scores = aggregate(t(raw.scores) ~ colnames(raw.scores), FUN = mean)rownames(raw.scores) = raw.scores[, 1]raw.scores = raw.scores[, -1]raw.scores = t(raw.scores)cell.types = rownames(sdy$fcs)cell.types.use = intersect(rownames(raw.scores), rownames(sdy$fcs))transformed.scores = transformScores(raw.scores[cell.types.use, ], xCell.data$spill.array$fv)scores = spillOver(transformed.scores, xCell.data$spill.array$K)# s = yA = intersect(colnames(sdy$fcs), colnames(scores))scores = scores[, A]scores
}library(xCell)sdy311$fcs = sdy311$fcs[, -which(colnames(sdy311$fcs) %in% c("SUB134240", "SUB134283"))]scores311 = get.xCell.scores(sdy311)
scores420 = get.xCell.scores(sdy420)
关联xCell评分和CyTOF免疫谱
使用这些分数,我们现在可以发现xCell分数与CyTOF免疫谱中的细胞类型分数之间的相关性:
library(psych)
library(ggplot2)correlateScoresFCS = function(scores, fcs, tit) {fcs = fcs[rownames(scores), colnames(scores)]res = corr.test(t(scores), t(fcs), adjust = "none")df = data.frame(R = diag(res$r), p.value = diag(res$p), Cell.Types = rownames(res$r))ggplot(df) + geom_col(aes(y = df$R, x = Cell.Types, fill = p.value < 0.05)) +theme_classic() + theme(axis.text.x = element_text(angle = 45, hjust = 1)) +ylab("Pearson R") + ggtitle(tit)
}
correlateScoresFCS(scores311, sdy311$fcs, "SDY311")
correlateScoresFCS(scores420, sdy420$fcs, "SDY420")
Reference
Aran D, Hu Z, Butte AJ. xCell: digitally portraying the tissue cellular heterogeneity landscape. Genome Biol. 2017;18(1):220. Published 2017 Nov 15. doi:10.1186/s13059-017-1349-1
这个工具是不是非常好用?
学会了轻松拿捏数据分析,顿时觉得自己也行了,关注桓峰基因公众号,轻松学生信,高效写文章!
转录组生信分析教程
桓峰基因公众号推出转录组分析教程,有需要生信的老师可以联系我们!转录分析教程整理如下:
RNA 1. 基因表达那些事--基于 GEO
RNA 2. SCI文章中基于GEO的差异表达基因之 limma
RNA 3. SCI 文章中基于T CGA 差异表达基因之 DESeq2
RNA 4. SCI 文章中基于TCGA 差异表达之 edgeR
RNA 5. SCI 文章中差异基因表达之 MA 图
RNA 6. 差异基因表达之-- 火山图 (volcano)
RNA 7. SCI 文章中的基因表达——主成分分析 (PCA)
RNA 8. SCI文章中差异基因表达--热图 (heatmap)
RNA 9. SCI 文章中基因表达之 GO 注释
RNA 10. SCI 文章中基因表达富集之--KEGG
RNA 11. SCI 文章中基因表达富集之 GSEA
RNA 12. SCI 文章中肿瘤免疫浸润计算方法之 CIBERSORT
RNA 13. SCI 文章中差异表达基因之 WGCNA
RNA 14. SCI 文章中差异表达基因之 蛋白互作网络 (PPI)
RNA 15. SCI 文章中的融合基因之 FusionGDB2
RNA 16. SCI 文章中的融合基因之可视化
RNA 17. SCI 文章中的筛选 Hub 基因 (Hub genes)
RNA 18. SCI 文章中基因集变异分析 GSVA
RNA 19. SCI 文章中无监督聚类法 (ConsensusClusterPlus)
RNA 20. SCI 文章中单样本免疫浸润分析 (ssGSEA)
RNA 21. SCI 文章中单基因富集分析
RNA 22. SCI 文章中基于表达估计恶性肿瘤组织的基质细胞和免疫细胞(ESTIMATE)
RNA 23. SCI文章中表达基因模型的风险因子关联图(ggrisk)
RNA 24. SCI文章中基于TCGA的免疫浸润细胞分析 (TIMER)
RNA 25. SCI文章中估计组织浸润免疫细胞和基质细胞群的群体丰度(MCP-counter)
RNA 25. SCI文章中只有生信没有实验该怎么办?
RNA 26. SCI文章中基于转录组数据的基因调控网络推断 (GENIE3)
RNA 27 SCI文章中转录因子结合motif富集到调控网络 (RcisTarget)
RNA 28 SCI 文章中基于RNA-seq数据反褶积揭示肿瘤免疫结构的分子和药理学 (quanTIseq)
RNA 29. SCI文章中基于TCGA的免疫浸润细胞分析 (TIMER2.0)
RNA 30. SCI文章中基于TCGA和GTEx数据挖掘神器(GEPIA2)
RNA 31. SCI文章临床蛋白质组肿瘤在线数据挖掘神器(CPTAC)
RNA 32. SCI文章临床多组学肿瘤在线数据挖掘神器(UALCAN)
RNA 33. SCI文章肿瘤在线数据挖掘神器(cBioportal)
RNA 34. SCI 文章基因蛋白表达时间趋势分析及划分聚类群 (Mfuzz)
RNA 35. SCI 文章基于RNA-seq推断CNVs (RNAseqCNV)
RNA 36. SCI 文基于转录组数据识别CNV并可视化 (CaSpER)
桓峰基因,铸造成功的您!
未来桓峰基因公众号将不间断的推出单细胞系列生信分析教程,
敬请期待!!
桓峰基因官网正式上线,请大家多多关注,还有很多不足之处,大家多多指正!
http://www.kyohogene.com/
桓峰基因和投必得合作,文章润色优惠85折,需要文章润色的老师可以直接到网站输入领取桓峰基因专属优惠券码:KYOHOGENE,然后上传,付款时选择桓峰基因优惠券即可享受85折优惠哦!https://www.topeditsci.com/