一.读入10x数据并创建seurat对象
#pbmc为外周血单个核细胞
library(Seurat)
pbmc.data <- Read10X(data.dir="E:/GSE152982_RAW/hg19")
pbmc <- CreateSeuratObject(counts=pbmc.data,project = "pbmc5k",min.cells = 3,min.features =200)
创建Seurat对象,counts为读取的源文件,project为Seurat对象想保存的文件名
min.features为筛细胞,一个细胞中测出的最少的基因数量
min.cells为筛选基因,该feature至少在n个细胞内被覆盖
这个原始数据来自CellRanger的处理,Cellranger返回一个UMI的count矩阵。矩阵里的列是细胞,行是基因。接下来我们用count矩阵创建Seurat对象。这个对象就好比一个容器,里面装着单细胞数据集,比如count矩阵,PCA,聚类结果等等。举个栗子:count matrix 储存在pbmc[["RNA"]]@counts里。
二.质控
library(magrittr)
pbmc[["percent.mt"]] <- PercentageFeatureSet(pbmc, pattern = "^MT-")
#%>%为管道函数,就是把左件的值发送给右件的表达式(暂存在内存当中,没有保存为对象在硬盘中)
pbmc@meta.data %>% head()
^MT- 表示线粒体,进行质量控制,看一下线粒体里面的数据有多少。太多了说明就是有污染
创建一列名为percent.mt的新数据,添加到pbmc中,使用PercentageFeatureSet函数(此函数可以计算每个细胞中每一细胞器的QC指标)计算线粒体基因占比。
PercentageFeatureSet 函数是根据counts总数相除算的打分:该基因集的counts总和/所有基因的counts总和。
#%>%为管道函数,就是把左件的值发送给右件的表达式(暂存在内存当中,没有保存为对象在硬盘中)
画小提琴图加散点图去除极值点
VlnPlot(pbmc, features = c("nFeature_RNA", "nCount_RNA", "percent.mt"), ncol = 3)
plot1 <- FeatureScatter(pbmc, feature1 = "nCount_RNA", feature2 = "percent.mt")
plot2 <- FeatureScatter(pbmc, feature1 = "nCount_RNA", feature2 = "nFeature_RNA")
pbmc <- subset(pbmc, subset = nFeature_RNA > 200 & nFeature_RNA < 4000 & percent.mt < 25)
三.标准化
#通常情况下采用全局缩放的归一化方法"LogNormalize",
pbmc <- NormalizeData(pbmc, normalization.method = "LogNormalize", scale.factor = 10000)
#“SCTransform” 方法是一种三合一的方法,可以将质控,归一化和去识别高变基因合为一体
pbmc <- SCTransform(pbmc, vars.to.regress = "percent.mt", verbose = FALSE)
(67条消息) 单细胞测序学习笔记(一)——细胞聚类和鉴定_咸316的博客-CSDN博客
(67条消息) 单细胞测序分析(4)——Seurat(3.0)包学习笔记_leo12354的博客-CSDN博客_单细胞测序分析