Hello小伙伴们大家好,我是生信技能树的小学徒”我才不吃蛋黄“。今天是胃癌单细胞数据集GSE163558复现系列第三期。第二期我们走了Seurat V5标准流程,利用harmony整合去批次后,按标准流程进行了降维聚类分群。本期,我们将在第二期基础上选择合适的分辨率,对细胞亚群进行注释。
Bulk转录组的诞生,使我们能够快速的获取组织和细胞大量的RNA-seq数据。相较于传统的RNA检测方法(pcr),这种高通量测序手段更高效,数据维度更高,数据量更大。但是,组织中包含有各种不同类型的细胞,如肿瘤组织中除了肿瘤细胞,还有正常上皮细胞、免疫细胞、成纤维细胞等等。Bulk转录组(组织)的最大缺陷在于我们获取到的RNA-seq数据反映的是不同类型细胞平均的RNA水平,因此掩盖了部分细胞表达特征。单细胞转录组测序(scRNA-seq)则很好的弥补了这一缺陷,它在单个细胞水平上构建每个细胞的基因表达谱。
在第二期,我们最终获取到了45548个细胞的RNA-seq数据。我们需要弄清楚这45548个细胞分别是哪种类型,挨个细胞鉴别显然不太现实。我们对细胞进行了降维聚类分群,每一群的细胞具有相似的特征,可以粗略的将其归类为同一类细胞(细致的话需要再次降维聚类分群后分亚群,后续有推文会专门介绍,敬请关注)。每一群细胞都有特征的表达基因,我们可以根据这些特征基因将这群细胞归类为某一类型,这一过程被称为“细胞类型注释”。
通常我们第一层次降维聚类分群,会将细胞划分为三大类,分别是
常见的细胞群的maker基因分别是:上皮细胞(EPCAM、KRT19、CLDN4)、基质(PECAM1、CLO1A2、VWF)、增殖性(MKI67、STMN1、PCNA)、T(CD3D、CD3E、CD2)、B(CD79A,IGHG1,MS4A1),NK(KLRD1、GNLY、KLRF1)和髓系(CSF1R、CSF3R、CD68)细胞。
原文中也有提供分群maker:
选择分辨率
在第二期中细胞分群时我们可以看到,分辨率设置越高,分群数量越多。
Tree_diff_resolution
在这里,我们选择0.5分辨率。
rm(list=ls())
sce.all.int = readRDS('2-harmony/sce.all_int.rds')
sel.clust = "RNA_snn_res.0.5"
sce.all.int <- SetIdent(sce.all.int, value = sel.clust)
table(sce.all.int@active.ident)
colnames(sce.all.int@meta.data)
此时,细胞分为了14群。
接着,我们在此工作目录下创建了新的文件夹”3-Celltype“。
dir.create("./3-Celltype")
setwd("./3-Celltype")
scRNA=sce.all.int
绘制气泡图展示maker基因在各分群的表达:
genes_to_check = c('EPCAM','KRT19','CLDN4', #上皮
'PECAM1' , 'CLO1A2', 'VWF', #基质
'CD3D', 'CD3E', 'CD8A', 'CD4','CD2', #T
'CDH5', 'PECAM1', 'VWF', #内皮
'LUM' , 'FGF7', 'MME', #成纤维
'AIF1', 'C1QC','C1QB','LYZ', #巨噬
'MKI67', 'STMN1', 'PCNA', #增殖
'CPA3' ,'CST3', 'KIT', 'TPSAB1','TPSB2',#肥大
'GOS2', 'S100A9','S100A8','CXCL8', #中性粒细胞
'KLRD1', 'GNLY', 'KLRF1','AREG', 'XCL2','HSPA6', #NK
'MS4A1','CD19', 'CD79A','IGHG1','MZB1', 'SDC1', #B
'CSF1R', 'CSF3R', 'CD68') #髓系
p = DotPlot(scRNA, features = unique(genes_to_check),
assay='RNA' ) + coord_flip()
p
DotPlot
再次查看分群TSNE图:
mycolors <-c('#E64A35','#4DBBD4' ,'#01A187' ,'#6BD66B','#3C5588' ,'#F29F80' ,
'#8491B6','#91D0C1','#7F5F48','#AF9E85','#4F4FFF','#CE3D33',
'#739B57','#EFE685','#446983','#BB6239','#5DB1DC','#7F2268','#800202','#D8D8CD'
)
tsne =DimPlot(scRNA, reduction = "tsne",cols = mycolors,pt.size = 0.8,
group.by = "RNA_snn_res.0.5",label = T,label.box = T)
tsne
TSNE
结合DotPlot和TSNE图给各细胞群命名:
####细胞生物学命名
celltype=data.frame(ClusterID=0:13,
celltype= 0:13)
这里强烈依赖于生物学背景,看dotplot的基因表达量情况来人工审查单细胞亚群名字。
celltype[celltype$ClusterID %in% c( 4,6,13),2]='Myeloid'
celltype[celltype$ClusterID %in% c( 5,11,12 ),2]='Epithelial'
celltype[celltype$ClusterID %in% c(0,1),2]='T'
celltype[celltype$ClusterID %in% c( 8 ),2]='Fibro'
celltype[celltype$ClusterID %in% c( 9 ),2]='Proliferative'
celltype[celltype$ClusterID %in% c(3,7 ),2]='B'
celltype[celltype$ClusterID %in% c( 2 ),2]='NK'
celltype[celltype$ClusterID %in% c( 10 ),2]='endothelial'
然后将细胞类型信息添加到meta.data:
scRNA@meta.data$celltype = "NA"
for(i in 1:nrow(celltype)){
scRNA@meta.data[which(scRNA@meta.data$RNA_snn_res.0.5 == celltype$ClusterID[i]),'celltype'] <- celltype$celltype[i]}
table(scRNA@meta.data$celltype)
查看不同类型细胞的数量:
可视化细胞类型:
th=theme(axis.text.x = element_text(angle = 45,
vjust = 0.5, hjust=0.5))
library(patchwork)
celltype_tsne =DimPlot(scRNA, reduction = "tsne",cols = mycolors,pt.size = 1,
group.by = "celltype",label = T)
celltype_tsne
celltype_tsne
综合看样本类型、患者、细胞类型TSNE图:
sample_tsne =DimPlot(scRNA, reduction = "tsne",cols = mycolors,pt.size = 0.2,
group.by = "sample")
patient_tsne =DimPlot(scRNA, reduction = "tsne",cols = mycolors,pt.size = 0.2,
group.by = "patient")
sample_tsne + patient_tsne+celltype_tsne
sample_tsne + patient_tsne+celltype_tsne
保存rds对象:
saveRDS(scRNA, "sce_celltype.rds")
本期,我们选择resolution=0.5对细胞进行了手工分群注释。细胞注释的方式有很多,详情请参照单细胞天地前期推文:单细胞测序最好的教程(六):细胞类型注释。在本系列后续推文“细胞亚群细分”中,我们还将使用singleR自动注释,并与手工注释对比,干货满满,敬请期待。下一期,我们将在本期基础上对细胞类型及基因进行可视化,使用DimPlot,FeaturePlot,ggplot,DoHeatmap等绘制多类型图,使你的Figure更精致,欢迎大家持续追更,谢谢!
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有