在看完seurat官方分群教程后
https://satijalab.org/seurat/v3.0/pbmc3k_tutorial.html
感觉又收获很多东西,决定写下笔记,更好地去了解这个包,和单细胞测序数据的分析原理。图码较多~
数据为10x genomics官方测序数据(Illumina NextSeq 500),人外周血单核细胞,经过cell ranger过滤后,载入seurat 包进行分析,最终为13714genes*2638cells,分为9个亚群结合数据库分别鉴定为"Naive CD4 T", "Memory CD4 T", "CD14+ Mono", "B", "CD8 T", "FCGR3A+ Mono", "NK", "DC", "Platelet"。下面将根据官方教程和网上资料进行解析。
一、创建seurat对象、数据过滤出图
.
矩阵中的值表示0(没有检测到分子)。由于scRNA-seq矩阵中的大多数值为0,因此Seurat尽可能使用稀疏矩阵表示。这样可以为Drop-seq / inDrop / 10x数据节省大量内存并节省速度。
setwd("你的项目目录")data_dir "矩阵数据保存目录"#载入seurat包;library(dplyr)library(Seurat)#读入pbmc数据;pbmc.data #查看稀疏矩阵的维度,即基因数和细胞数;#预览稀疏矩阵(1~10行,1~6列),. 表示0;pbmc.data[1:10,1:6]#2.创建Seurat对象与数据过滤# 在使用CreateSeuratObject()创建对象的同时,过滤数据质量差的细胞。保留在>=3个细胞中表达的基因;保留能检测到>=200个基因的细胞。pbmc "pbmc2700", min.cells = 3, min.features = 200)pbmc# Lets examine a few genes in the first thirty cellspbmc.data[c("CD3D", "TCL1A", "MS4A1"), 1:30]#看一般矩阵和稀疏矩阵的大小dense.size dense.sizesparse.size sparse.size# 计算每个细胞的线粒体基因转录本数的百分比(%),使用[[ ]] 操作符存放到metadata中;pbmc[["percent.mt"]] "^MT-")# Show QC metrics for the first 5 cellshead(pbmc@meta.data, 5)# Visualize QC metrics as a violin plotVlnPlot(pbmc, features = c("nFeature_RNA", "nCount_RNA", "percent.mt"), ncol = 3)plot1 "nCount_RNA", feature2 = plot1plot2 "nCount_RNA", feature2 = plot2CombinePlots(plots = list(plot1, plot2))#过滤细胞:保留gene数大于200小于2500的细胞;目的是去掉空GE