此文章可帮助你查看自己的数据受否受细胞周期的影响,并以降维图的形式清晰明了的展示。
文章中其中用到的文件获取方式https://pan。baidu。com/s/1HCsHRXNX9Il8u8RIPXSEug?pwd=2626
在进行单细胞分析时,由于细胞会处于各种细胞周期,此时不同类型地细胞可能因此表达相同细胞周期相关地基因,这些细胞周期相关基因会影响降维地效果,因此有必要进行细胞周期分析,将细胞周期相关地基因通过一定地方法回归掉,以此降低细胞周期相关基因对降维地影响。
10X单细胞转录组测序—常规流程 - 简书 (jianshu.com)
在我之前的文章中有包含细胞周期分析,甚至在刚开始的时候就已经将周期相关基因全部删掉了,在这里再做一个详细的介绍。
在进行完高变基因分析后,可将得到的seurat
对象PBMC.all
保存成PBMC.all2
,用PBMC.all2
进行以下分析,分析完再按照原文章中的流程继续分析。
首先进行一遍最普通的降维分析 欢迎
PBMC.all2 <- ScaleData(PBMC.all,features = rownames(PBMC.all),split.by = "orig.ident")
PBMC.all2 <- RunPCA(PBMC.all2, npcs=30,features = VariableFeatures(PBMC.all2))
PBMC.all2 <- RunHarmony(PBMC.all2,'orig.ident')
PBMC.all2 <- FindNeighbors(PBMC.all2,reduction = "harmony",dims = 1:30)
PBMC.all2 <- FindClusters(object = PBMC.all2,resolution = 1)
PBMC.all2 <- RunTSNE(PBMC.all2,dims = 1:30,reduction = "harmony")
PBMC.all2 <- RunUMAP(PBMC.all2,dims = 1:30,reduction = "harmony")
细胞周期分析 关注
由于我的样本是小鼠样本,基因名为小写格式,但seurat包里只提供了人类的大写的细胞周期基因,需要进行转化,这里你可以在文章开始处直接获取mouse_cell_cycle_genes.rds
,然后进行周期分析。
mouse_cell_cycle_genes <- readRDS("E:/project/celldex数据库/mouse_cell_cycle_genes.rds")
s.genes=mouse_cell_cycle_genes[[1]]
g2m.genes=mouse_cell_cycle_genes[[2]]
PBMC.all2 <- CellCycleScoring(PBMC.all2, s.features = s.genes, g2m.features = g2m.genes)
PBMC.all2@meta.data %>% ggplot(aes(S.Score,G2M.Score))+geom_point(aes(color=Phase))+ theme_minimal()
查看细胞周期的分布 公
DimPlot(PBMC.all2,reduction = "umap" ,group.by = "Phase")
DimPlot(PBMC.all2,reduction = "tsne" ,group.by = "Phase")
FeaturePlot(PBMC.all2,features = c("Pcna","Mki67"),reduction = "umap")
FeaturePlot(PBMC.all2,features = c("Pcna","Mki67"),reduction = "tsne")
不出意外的话,不同周期会区分的很明显,且相关基因也会分布不均匀。
去除细胞周期的影响 众
PBMC.all2 = ScaleData(PBMC.all2, vars.to.regress = c("S.Score", "G2M.Score"), features = rownames(PBMC.all2),split.by = "orig.ident")
PBMC.all2 <- RunPCA(PBMC.all2, npcs=30,features = VariableFeatures(PBMC.all2))
PBMC.all2 <- RunHarmony(PBMC.all2,'orig.ident')PBMC.all2 = FindNeighbors(PBMC.all2,reduction = "harmony",dims = 1:30)
PBMC.all2 <- FindClusters(object = PBMC.all2,resolution = 1)
PBMC.all2 <- RunTSNE(PBMC.all2,dims = 1:30,reduction = "harmony")
PBMC.all2 <- RunUMAP(PBMC.all2,dims = 1:30,reduction = "harmony")
去除后周期分布 号②⑥号宇宙
DimPlot(PBMC.all2, reduction = "umap",group.by = "Phase")
DimPlot(PBMC.all2, reduction = "tsne",group.by = "Phase")
FeaturePlot(PBMC.all2,features = c("Pcna","Mki67"),reduction = "umap")
FeaturePlot(PBMC.all2,features = c("Pcna","Mki67"),reduction = "tsne")
不出意外的话会发现周期分布变均匀了,且基因的分布也会变均匀,但也会出现去除效果不好的现象,实属正常,不会有非常完美的去除效果,总会有瑕疵存在。若细胞周期基因不在研究范围内,可直接将细胞周期相关基因删掉。删除方法如下:
dim(PBMC.all2)
PBMC.all2 <- PBMC.all2[!grepl("^mt-", rownames(PBMC.all2)), ]
dim(PBMC.all2)
网友评论