今天学习的是单细胞单样本数据的处理。
untar("GSE231920_RAW.tar",exdir = "input")
dir("input")
library(stringr)
nn = str_remove(dir("input/"),"GSM7306054_sample1_")
file.rename(paste0("input/",dir("input/")),
paste0("input/",nn))
dir("input/")
library(Seurat)
library(patchwork)
library(tidyverse)
ct = Read10X("input/")
dim(ct)
class(ct)
seu.obj <- CreateSeuratObject(counts = ct,
min.cells = 3,
min.features = 200)
dim(seu.obj)
set.seed(1234)
seu.obj = subset(seu.obj,downsample = 3000)
seu.obj[["percent.mt"]] <- PercentageFeatureSet(seu.obj, pattern = "^MT-")
head(seu.obj@meta.data)
VlnPlot(seu.obj,
features = c("nFeature_RNA",
"nCount_RNA",
"percent.mt"),
ncol = 3,pt.size = 0.5)
seu.obj = subset(seu.obj,
nFeature_RNA < 6000 &
nCount_RNA < 30000 &
percent.mt < 18)
f = "obj.Rdata"
if(!file.exists(f)){
seu.obj = seu.obj %>%
NormalizeData() %>%
FindVariableFeatures() %>%
ScaleData(features = rownames(.)) %>%
RunPCA(features = VariableFeatures(.)) %>%
FindNeighbors(dims = 1:15) %>%
FindClusters(resolution = 0.5) %>%
RunUMAP(dims = 1:15) %>%
RunTSNE(dims = 1:15)
save(seu.obj,file = f)
}
load(f)
ElbowPlot(seu.obj)
p1 <- DimPlot(seu.obj, reduction = "umap",label = T)+NoLegend();p1
抽样数据出图:这个图和教程有出入,因为我用的Seurat版本是V4的,暂时有个项目需要V4版本的,所以没有更新。
完整数据出图:细胞数量变多了,分群也变多了。
展示下TSNE图:
本节课学习内容结束。最后,关于resolution的问题,技能树有个比较好的教程,可以学习摸索适合自己的resolution。
不知道你的单细胞分多少群合适,clustree帮助你:https://mp.weixin.qq.com/s/cfo10QtxCasWfF4V9apUvw
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。