尔云间 一个专门做科研的团队
原创 小果 生信果
欢迎点赞+收藏+关注
今天小果想学习分享一下单细胞内置数据的处理和分析过程,提高大家对公共数据的利用效率,有需要的可以学习掌握一下奥
代码如下:
安装所需的R包
install.packages(“BiocManager”) BiocManager::install(“Seurat”) devtools::install_github('satijalab/seurat-data',force = TRUE) install.packages(“patchwork”)
导入所需的R包
library(Seurat) library(SeuratData) Library(patchwork)
代码展示
InstallData("ifnb") LoadData("ifnb") # ifnb数据集中包含两个样本数据,分别为CTRL和STIM head(ifnb@meta.data) table(ifnb@meta.data$stim) # 数据拆分成两组(STIM和CTRL) # 使用splitobject将ifnb数据集分割成两个seurat对象的列表(STIM和CTRL) ifnb.list <- SplitObject(ifnb, split.by = "stim") # 对两个数据集单独进行normalize并识别各自的高变异基因 ifnb.list <- lapply(X = ifnb.list, FUN = function(x) { x <- NormalizeData(x) x <- FindVariableFeatures(x, selection.method = "vst", nfeatures = 2000) }) # 计算两个数据中排完rank后top2000的高变异基因 features <- SelectIntegrationFeatures(object.list = ifnb.list, nfeatures = 2000) # 使用上述高变异基因在两个基因集中分别执行PCA ifnb.list <- lapply(X = ifnb.list, FUN = function(x) { x <- ScaleData(x, features = features, verbose = T) x <- RunPCA(x, features = features, verbose = T) }) ## 对两个数据集进行整合 # 首先使用findinintegrationanchors函数标识锚点,然后使用IntegrateData函数将两数据集整合在一起 # 可以通过调整k.anchor参数调整两个样本整合的强度,默认为5,数字越大整合强度越强 immune.anchors <- FindIntegrationAnchors(object.list = ifnb.list, anchor.features = features, reduction = "rpca", k.anchor = 20) immune<- IntegrateData(anchorset = immune.anchors) # 常规流程,scale数据,跑PCA,使用前30个PC进行降维跑UMAP,计算Neighbors,分cluster immune <- ScaleData(immune, verbose = FALSE) immune <- RunPCA(immune, npcs = 30, verbose = FALSE) immune <- RunUMAP(immune, reduction = "pca", dims = 1:30) immune <- FindNeighbors(immune, reduction = "pca", dims = 1:30) immune<- FindClusters(immune, resolution = 0.5) immune@meta.data
# 可视化 p <- DimPlot(immune, reduction = "umap", group.by = "stim") p21<- DimPlot(immune, reduction = "umap", group.by = "seurat_annotations",label = TRUE,repel = TRUE) #拼图 pdf("immune.UMAP.pdf", height = 5,width = 12) p+ p1 dev.off()
最终我们对内置数据集ifnb进行了数据处理,其中处理过程包含了数据集的整合和拆分等过程,并进行了单细胞常规流程分析,该分析所需要的R包小果的服务器已经全部安装,有需要的小伙伴可以联系小果奥,今天小果的分享就到这里。
生信人R语言学习必备
立刻拥有一个Rstudio账号
开启升级模式吧
(56线程,256G内存,个人存储1T)
“生信果”,生信入门、R语言、生信图解读与绘制、软件操作、代码复现、生信硬核知识技能、服务器、生物信息学的教程,以及基于R的分析和可视化等原创内容,一起见证小白和大佬的成长。