取单细胞亚群子集细分的时候一定会出现干扰亚群(所以不要惊慌)

前面我们分享了一个小技巧:如何整合多个单细胞数据集,是两个单细胞对象的merge操作,其实相反的就可以在一个对象里面进行切割,比如我们降维聚类分群就有各种单细胞亚群,通常我们拿到了肿瘤相关的单细胞转录组的表达量矩阵后的第一层次降维聚类分群通常是:

  • immune (CD45+,PTPRC),
  • epithelial/cancer (EpCAM+,EPCAM),
  • stromal (CD10+,MME,fibro or CD31+,PECAM1,endo)

参考我前面介绍过 CNS图表复现08—肿瘤单细胞数据第一次分群通用规则,这3大单细胞亚群构成了肿瘤免疫微环境的复杂。绝大部分文章都是抓住免疫细胞亚群进行细分,包括淋巴系(T,B,NK细胞)和髓系(单核,树突,巨噬,粒细胞)的两大类作为第二次细分亚群。但是也有不少文章是抓住stromal 里面的 fibro 和endo进行细分,并且编造生物学故事的。

因为我们第一层次降维聚类分群通常是并不会太细致,所以就留下来可以探索的空间,比如第一层次的巨噬细胞就可以细分,代码如下所示:

sce = readRDS('../../2-harmony/sce.all_int.rds') 
load('../../phe.Rdata')
table(phe$celltype)
sce.all = sce[,phe$celltype=='Mac']
sce.all
sce.all = CreateSeuratObject(
 counts = sce.all@assays$RNA$counts
)

同样的,这个取子集后的对象当然是可以继续走我们给大家的标准代码后 降维聚类分群啦。( 链接: https://pan.baidu.com/s/1pKEnPmWXi-pTab0WZUWzgg?pwd=a7s1 ) 降维聚类分群后,可以看到这个时候就出现了干扰亚群 :

取子集后的对象细分

我们明明是第一层次降维聚类分群后的巨噬细胞单独拿出来取子集,为什么仍然是细分后有其它干扰亚群呢,其实不影响的,就是算法本身的限制而已。

既然没办法保证它前面的算法层面的巨噬细胞亚群里面就百分百纯度的巨噬细胞,所以你细分它的时候里面的一些混杂的群就被分出来了。比如上面的图里面的单核细胞和成纤维细胞,就是因为它们其实是有巨噬细胞的一些常见的基因的表达所以才会被混杂,细分的时候就会体现出来局部的差异,而被很明显的在UMAP看到!很多这样的文章,比如 Nat Commun. 2023; 的 《Single-cell RNA sequencing reveals the effects of chemotherapy on human pancreatic adenocarcinoma and its tumor microenvironment》就是提取t细胞细分的时候,出现了b细胞和mast细胞,非常明显 :

image-20240223225135174

这个时候你可以选择删除它,从而在UMAP里面不出现,也可以如实展现它,但是写清楚即可!

Comments are closed.