爾雲間 一個專門做科研的團隊
原創 小果 生信果
歡迎點贊+收藏+關注[給你小心心]
今天小果想學習分享一下單細胞内置資料的處理和分析過程,提高大家對公共資料的利用效率,有需要的可以學習掌握一下奧
代碼如下:
安裝所需的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([email protected])
table([email protected]$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)
[email protected]
# 可視化
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的分析和可視化等原創内容,一起見證小白和大佬的成長。