Seurat之细胞周期评分 cellcircle大小写转换 Hmisc 注意scaledata时候 需要把所有的基因都scale

https://www.jianshu.com/p/983658ae7f25

getwd()
path="G:/silicosis/sicosis/xfy/cell_circle_score/"
dir.create(path)
setwd(path)
getwd()


load("D:/Win10 System/Documents/WeChat Files/wxid_f27yna03e0v622/FileStorage/File/2022-09/sepsis_Macrophage.rds")
library(Seurat)


pbmc <- subset_data
#pbmc <- CreateSeuratObject(pbmc,project = 'pbmc3k',min.cells = 3,min.features = 200)
#质控
pbmc[["percent.mt"]] <- PercentageFeatureSet(pbmc, pattern = "^MT-")
pbmc <- subset(pbmc, subset = nFeature_RNA > 200 & nFeature_RNA < 2500 & percent.mt < 5)
# 标准化
pbmc <- NormalizeData(pbmc)


View(cc.genes)



library(dplyr)
library(Hmisc) #

#pbmc <- NormalizeData(pbmc)
g2m_genes <- cc.genes$g2m.genes ## 获取G2M期marker基因
head(g2m_genes)
g2m_genes=g2m_genes %>%tolower() %>% capitalize()
g2m_genes <- CaseMatch(search=g2m_genes, match=rownames(pbmc)) #提取pbmc矩阵中的G2M期marker基因
s_genes <- cc.genes$s.genes   #获取S期marker基因 
s_genes =s_genes %>% tolower() %>% capitalize()
s_genes <- CaseMatch(search=s_genes, match=rownames(pbmc)) #提取pbmc矩阵中的S期marker基因 
#通过提取到的g2m期基因和s期基因,使用CellCycleScoring函数,对pbmc进行细胞周期评分
pbmc <- CellCycleScoring(pbmc, g2m.features=g2m_genes, s.features=s_genes)



colnames(pbmc@meta.data)
table(pbmc$Phase)



# Visualize the distribution of cell cycle markers across 
RidgePlot(pbmc, features = c("MCM4", "TYMS", "MCM5", "MCM2"), ncol = 2) 
#查看的这几个基因表达量较低,可以更换其他基因查看



# Running a PCA on cell cycle genes reveals, unsurprisingly, that cells separate entirely by phase 
pbmc=ScaleData(pbmc,features = rownames(pbmc))
pbmc <- NormalizeData(pbmc)
pbmc <- RunPCA(pbmc, features = c(s_genes, g2m_genes)) 
# 数据可视化,可以看到细胞按不同的细胞周期进行了分群 
head(pbmc@meta.data)
head(subset_data@meta.data)
DimPlot(pbmc,group.by = 'Phase',reduction = 'pca')
DimPlot(pbmc,group.by = 'RNA_snn_res.3',reduction = 'pca' )

DimPlot(pbmc,group.by = 'Phase',reduction = 'pca',
        split.by = 'stim')

你可能感兴趣的:(笔记,python,开发语言)