Analysis of single cell RNA-seq data 学习笔记(七)

今天我们来讨论下Seurat这个包的用法

QC

首先我们先介绍下UMI这个概念,UMI其实就是区分每个测序分子片段的barcode,这么做可以区分每个分子是哪一个cell表达的
我们还是采用deng这个数据做例子
首先我们构造Seurat的单细胞对象:

library(SingleCellExperiment) 
library(Seurat) 
library(mclust) 
library(dplyr) 
seuset <- CreateSeuratObject( raw.data = counts(deng), min.cells = 3, min.genes = 200 )

接着我们看一下基因的总数目与捕获到的read count的关系

VlnPlot( object = seuset, 
features.plot = c("nGene", "nUMI"), nCol = 2 )

图中的UMI表示捕获到的测序分子数

GenePlot( object = seuset, gene1 = "nUMI", gene2 = "nGene" )

每个点代表一个cell,其中每个细胞检测到的基因数,以及捕获到的片段的关系(文库大小)就可以详细的表示出来了,接下来就把一些outlier去掉即可

seuset <- FilterCells( object = seuset, subset.names = c("nUMI"), high.thresholds = c(2e7) )

Normalization

采用包内的函数NormalizeData()函数即可

seuset <- NormalizeData( object = seuset, normalization.method = "LogNormalize", scale.factor = 10000 )

寻找变化大的基因

我们寻找这个的目的是,在比较基因组分析中,我们只关注差异变化的的基因,把这些基因挑出来,从而减少运算量,可采用 FindVariableGenes()即可

seuset <- FindVariableGenes( object = seuset, mean.function = ExpMean, dispersion.function = LogVMR, x.low.cutoff = 0.0125, x.high.cutoff = 3, y.cutoff = 0.5 )

降维

1.PCA

接下来,我们就着重于高变化的基因来分析即可

#去除文库带来的影响
seuset <- ScaleData( object = seuset, vars.to.regress = c("nUMI") ) 

#PCA
seuset <- RunPCA( object = seuset, pc.genes = [email protected], do.print = TRUE, pcs.print = 1:5, genes.print = 5 )

做这个PCA是为了看每个基因的PC贡献



由此挑出一些特征基因
接下来就是对细胞类型进行聚类

2.t-SNE

seuset <- RunTSNE( object = seuset, dims.use = 1:8, do.fast = TRUE ) TSNEPlot(object = seuset)

Marker基因

#在cluster2中寻找marker基因
markers2 <- FindMarkers(seuset, 2)
##其中2代表cluster2
VlnPlot(object = seuset, features.plot = rownames(markers2)[1:2])

接着,我们看一下marker基因在cell里面的分布情况(基于t-SNE)

FeaturePlot( seuset, head(rownames(markers2)), cols.use = c("lightgrey", "blue"), nCol = 3 )

你可能感兴趣的:(Analysis of single cell RNA-seq data 学习笔记(七))