4.8 实战八 | Smart-seq2 | 人胰腺细胞
刘小泽写于2020.7.20
1 前言
这是也是来自多个供体的人类胰腺细胞,使用Smart-seq2建库技术,数据来自Segerstolpe et al. (2016)
数据准备
library(scRNAseq)
sce.seger <- SegerstolpePancreasData()
sce.seger
# class: SingleCellExperiment
# dim: 26179 3514
# metadata(0):
# assays(1): counts
# rownames(26179): SGIP1 AZIN2 ... BIVM-ERCC5 eGFP
# rowData names(2): symbol refseq
# colnames(3514): HP1502401_N13 HP1502401_D14 ...
# HP1526901T2D_O11 HP1526901T2D_A8
# colData names(8): Source Name individual ... age
# body mass index
# reducedDimNames(0):
# altExpNames(1): ERCC看到3500多个细胞,包含ERCC,使用Symbol ID
看下样本信息:

ID转换
选择的方式是:将没有匹配的NA去掉,并且去掉重复的行
小结一下:至此见到了三种ID转换的方式,根据最后保留的基因数量,可以排个序:
保留基因最多(保留了NA和重复):
uniquifyFeatureNames中等(保留了NA,去掉重复):ifelse(is.na(ens.id), symbols, ens.id)最少(去掉了NA以及重复):!is.na(gene.ids) & !duplicated(gene.ids)
编辑样本信息
之前有8列样本的信息,有点冗余了。这里只保留3列关心的,并重新命名
另外把细胞类型这一列中的“cell”字符去掉,并把首字母大写
2 质控
依然是备份一下,把unfiltered数据主要用在质控的探索上
之前作者在数据中已经标注了细胞质量,可以看到有问题的细胞还是很多的:
因此就要注意了,这里的数据会不会满足“大部分细胞都是高质量的”这个假设?
还是需要试一下,看看结果先
看到HP1509101在过滤时存在过滤不完全的情况,HP1504901过滤的ERCC数量太多,推测这两个批次效果可能并不是很好,可能存在大量的低质量细胞

因此,再次指定subset 参数,重新画图

看看过滤掉多少
最后将qc过滤的与本来标注低质量的一同过滤
3 归一化
此处会有一点小问题,值得注意!
本来有ERCC,操作应该是:
但由于存在几个细胞中一个ERCC都没有,所以会报错
此时面临两个选择:要么把这几个细胞去掉;要么就不借助ERCC,用另一种去卷积方法
如果要去掉这几个细胞:
我们这里选择保守的方法,不去掉细胞,使用另一种去卷积方法:
4 找表达量高变化基因
下面构建模型想使用modelGeneVarWithSpikes,于是首先应该把那几个没有ERCC的细胞去掉;另外由于AZ这个批次相对其他批次的细胞数量过于少,因此在模型构建中也把它去掉吧

如果要批量作图检查的话
注意,这里在找完HVGs后,没有进行批次矫正,如果继续向下做,会发现什么?
5 降维聚类
降维
聚类
检查聚类分群与批次
结果真的是:批次效应影响了分群,因此最好还是做一遍fastMNN操作

tSNE图中也是显示出了强烈的批次效应

6 补充矫正批次效应
上图看到很明显的批次效应,那么如果处理后,会有什么不同吗?
利用fastMNN矫正
因为fastMNN会包含PCA降维,所以下面继续进行tSNE即可
降维聚类
再次作图,是不是明显比之前好很多?

最后更新于
这有帮助吗?