4、Dimensionality reduction

2020-09-23  本文已影响0人  小贝学生信

原文链接Chapter 9 Dimensionality reduction

1、背景知识

(1)维度

(2)降维

2、PCA主成分分析

load("fluidigm_lgnm_hvg.Rdata")
fluidigm.hvg #上一步已经取好高变基因子集的sce
dim(fluidigm.hvg) #1000个差异基因
library(scater)

2.1 runPCA()

fluidigm.hvg <- runPCA(fluidigm.hvg)
reducedDimNames(fluidigm.hvg)
# [1] "PCA"
dim(reducedDim(fluidigm.hvg, "PCA"))
# 127  50  针对127个细胞的50个主成分的描述

如上

2.2 后续pcs选择

percent.var <- attr(reducedDim(fluidigm.hvg), "percentVar")
chosen.elbow <- PCAtools::findElbowPoint(percent.var)
chosen.elbow 
# 5    建议仅选取前五个主成分即可(可能与细胞数量较少有关)
plot(percent.var, xlab="PC", ylab="Variance explained (%)")
abline(v=chosen.elbow, col="red")

此方法的不足之处在于 in order to be retained, later PCs must explain a amount of variance that is comparable to that explained by the first few PCs. Strong biological variation in the early PCs will shift the elbow to the left that tends to retain fewer PCs compared to other methods.
此外原文还介绍了基于方差分解thresholds、亚群结构的pcs判断以及基于非负矩阵分解的降维方法,具体可参看原文。

3、二维图可视化

3.1 基于PCA

一般默认使用每个细胞top2的主成分值作为细胞坐标,达到可视化目的

plotReducedDim(fluidigm.hvg, dimred="PCA", colour_by="Cluster2")
3.1

使用的sce数据对象的colData对象有分组信息,刚好可以用来验证。其实包括下面的tSNE,Umap二维可视化结果一般都可与后期cluster、annotation结果验证,对比是否有异常差异。

3.2 tSNE

fluidigm.hvg <- runTSNE(fluidigm.hvg, dimred="PCA")
plotReducedDim(fluidigm.hvg, dimred="TSNE", colour_by="Cluster2")
3.2

runTSNE()函数的perplexity参数 determines the granularity of the visualization,可调整图形每个类群的紧密程度

3.3 UMAP

fluidigm.hvg <- runUMAP(fluidigm.hvg, dimred="PCA")
plotReducedDim(sce.zeisel, dimred="UMAP", colour_by="Cluster2")
3.3
reducedDimNames(fluidigm.hvg)
#[1] "PCA"  "TSNE" "UMAP"
save(fluidigm.hvg, file = "fluidigm.pca")

以上是第九章Dimensionality reduction部分的简单流程笔记。原文还介绍了基于spike in 与泊松分布的两种挑选高变基因的高级方法,详见Chapter 9 Dimensionality reduction
本系列笔记基于OSCA全流程的大致流程梳理,详细原理可参考原文。如有错误,恳请指正!
此外还有刘小泽老师整理的全文翻译笔记,详见目录

上一篇 下一篇

猜你喜欢

热点阅读