Seurat常用数据处理命令

获取seurat_obj的表达矩阵:

#获取表达矩阵
counts_matrix = GetAssayData(seurat_obj, slot="counts")
counts_matrix = seurat_obj@assays$RNA@counts[,colnames(seurat_obj)]
#添加新矩阵
random_group_labels <- sample(x = c("g1", "g2"), size = ncol(x = pbmc), replace = TRUE)
pbmc$groups <- random_group_labels

获取seurat_obj的metadata:

meta <- seurat_obj@meta.data
#查看metadata dataframe
pbmc[[]]
#Retrieve specific values from the metadata
pbmc$nCount_RNA
pbmc[[c("percent.mito", "nFeature_RNA")]]
#编辑metadata
random_group_labels <- sample(x = c("g1", "g2"), size = ncol(x = pbmc), replace = TRUE)
pbmc$groups <- random_group_labels

获取其他数据

# Get cell embeddings and feature loadings
Embeddings(object = pbmc, reduction = "pca")
Loadings(object = pbmc, reduction = "pca")
Loadings(object = pbmc, reduction = "pca", projected = TRUE)
# FetchData can pull anything from expression matrices, cell embeddings, or metadata
FetchData(object = pbmc, vars = c("PC_1", "percent.mito", "MS4A1"))

获取seurat_obj的子集:

#基于idents
c0 <- subset(seurat_obj,idents = 0) 
subset(x = pbmc, idents = "B cells")
#反向选择
subset(x = pbmc, idents = c("CD4 T cells", "CD8 T cells"), invert = TRUE)
#基于表达水平
subset(x = pbmc, subset = MS4A1 > 3)
#联合条件
subset(x = pbmc, subset = MS4A1 > 3 & PC1 > 5)
subset(x = pbmc, subset = MS4A1 > 3, idents = "B cells")
#基于metadata的值
subset(x = pbmc, subset = orig.ident == "Replicate1")
# Downsample the number of cells per identity class
subset(x = pbmc, downsample = 100)

合并seuratobj

# Merge two Seurat objects
merge(x = pbmc1, y = pbmc2)
# Merge more than two Seurat objects
merge(x = pbmc1, y = list(pbmc2, pbmc3))

获取细胞名、基因名、和总数目

#细胞名
colnames(x = pbmc)
Cells(object = pbmc)
#基因名
rownames(x = pbmc)
#总数目
ncol(x = pbmc)
nrow(x = pbmc)

获取细胞idents

5.#获取当前用的Idents
Idents(object = pbmc)
levels(x = pbmc)

隐藏细胞identity

pbmc[["old.ident"]] <- Idents(object = pbmc)
pbmc <- StashIdent(object = pbmc, save.name = "old.ident")

重命名idents

# Rename identity classes
pbmc <- RenameIdents(object = pbmc, `CD4 T cells` = "T Helper cells")