我们之前已经介绍过如何《使用xcell根据表达谱推断样本组成细胞的类型》,具体思路就是根据已知细胞系的表达谱,计算每种类型细胞的特征基因表达,然后评估待检测样本与特征基因之间的关联。今天介绍的这款工具MuSiC其具有更高的可靠性和自由度。
MuSiC主要利用不同细胞类型的单细胞RNA测序(scRNA-seq)数据,挖掘其中的特异性基因,进而通过反卷机算法表征复杂组织中bulk RNA-seq的细胞类型组成。,原理示意图如下:
MusiC通过R语言实现,安装代码如下:
install.packages('devtools')
devtools::install_github('xuranw/MuSiC')
library(MuSiC)
载入胰腺bulk RNA-seq数据:
# 32581 features, 89 samples
GSE50244.bulk.eset = readRDS('https://xuranw.github.io/MuSiC/data/GSE50244bulkeset.rds')
载入胰腺scRNA-seq数据:
25453 features, 1097 samples
EMTAB.eset = readRDS('https://xuranw.github.io/MuSiC/data/EMTABesethealthy.rds')
39849 features, 1492 samples
XinT2D.eset = readRDS('https://xuranw.github.io/MuSiC/data/XinT2Deset.rds')
使用MusiC估计胰腺bulk RNA-seq数据中的主要6中细胞类型: alpha, beta, delta, gamma, acinar and ductal。
library(xbioc)
# Estimate cell type proportions
Est.prop.GSE50244 = music_prop(bulk.eset = GSE50244.bulk.eset, sc.eset = EMTAB.eset, clusters = 'cellType',
samples = 'sampleID', select.ct = c('alpha', 'beta', 'delta', 'gamma',
'acinar', 'ductal'), verbose = F)
names(Est.prop.GSE50244)
除了反卷积外,作者还集成了非负矩阵分解算法,并比较了这两种方法在正常人和病人中不同类型细胞组分:
# Jitter plot of estimated cell type proportions
jitter.fig = Jitter_Est(list(data.matrix(Est.prop.GSE50244$Est.prop.weighted),
data.matrix(Est.prop.GSE50244$Est.prop.allgene)),
method.name = c('MuSiC', 'NNLS'), title = 'Jitter plot of Est Proportions')
但是在用MuSiC之前我们得先收集相同组织不同细胞类型的scRNA-seq数据。
更多原创精彩视频敬请关注生信杂谈: