2019-2-1 來(lái)自Seurat官網(wǎng)https://satijalab.org/seurat/
主成分分析
1.進(jìn)行降維分析
用上一步縮放的數(shù)據(jù)進(jìn)行PCA分析。
默認(rèn)輸入object@var.genes中的基因,可以定義為使用 pc.genes。用上一步發(fā)現(xiàn)的高度可變基因進(jìn)行降維可以改善效果。
但是UMI數(shù)據(jù),特別是去除了技術(shù)變異,當(dāng)用更大的基因集合去跑時(shí),PCA的結(jié)果基本一致,包括整個(gè)轉(zhuǎn)錄組。
具體command:
pbmc <- RunPCA(object = pbmc, pc.genes = pbmc@var.genes, do.print = TRUE, pcs.print = 1:5,
? ? genes.print = 5)
##可視化PCA結(jié)果,方法有:PrintPCA,VizPCA,PCAPlot和PCHeatmap
PrintPCA(object = pbmc, pcs.print = 1:5, genes.print = 5, use.full = FALSE)
VizPCA(object = pbmc, pcs.use = 1:2)
PCAPlot(object = pbmc, dim.1 = 1, dim.2 = 2)
#ProjectPCA 可以基于基因與計(jì)算得出的成分的關(guān)聯(lián)性進(jìn)行評(píng)分(包括未參與PCA的基因)??梢哉业脚c細(xì)胞異質(zhì)性強(qiáng)相關(guān)但未能被可變基因篩選出來(lái)的細(xì)胞標(biāo)志物。通過(guò)設(shè)置use.full=T可以執(zhí)行上述功能。
pbmc <- ProjectPCA(object = pbmc, do.print = FALSE)
##PCHeatmap比較特別,可以針對(duì)異質(zhì)性來(lái)源進(jìn)行簡(jiǎn)單探索,這對(duì)決定用哪個(gè)PC進(jìn)行下游分析很有用。根據(jù)PCA評(píng)分(PCA scores)對(duì)細(xì)胞和基因進(jìn)行排序。
##將cell.use設(shè)置為能夠?qū)ⅰ白顦O端”的細(xì)胞劃分為兩端的數(shù)值,可以顯著提高大數(shù)據(jù)庫(kù)的速度。這屬于監(jiān)督分析,是探索關(guān)聯(lián)基因集的有力工具。
PCHeatmap(object = pbmc, pc.use = 1, cells.use = 500, do.balanced = TRUE, label.columns = FALSE)
PCHeatmap(object = pbmc, pc.use = 1:12, cells.use = 500, do.balanced = TRUE,? label.columns = FALSE, use.full = FALSE)
2 決定最顯著的主成分
為了克服技術(shù)噪音,Seurat基于PCA scores進(jìn)行細(xì)胞聚類。每個(gè)PC代表一個(gè)包含關(guān)聯(lián)基因的信息的基因集(metagene)。納入多少PC進(jìn)入下游分析是重要的一步。
http://www.cell.com/abstract/S0092-8674(15)00549-8
## 用jackStraw程序進(jìn)行重采樣的test,隨機(jī)轉(zhuǎn)化了一個(gè)子集(默認(rèn)1%),重新進(jìn)行PCA,構(gòu)建了一個(gè)gene scores的“空白分布”(null distribution),重復(fù)進(jìn)行。
##將富集了低P值基因的PC作為“顯著”P(pán)C。這一程序耗時(shí)較長(zhǎng),可以PCElbowPlot()減少運(yùn)行時(shí)間。
pbmc <- JackStraw(object = pbmc, num.replicate = 100, display.progress = FALSE)
##JackStrawPlot提供可視化的工具,和統(tǒng)一標(biāo)準(zhǔn)分布(虛線表示)比較每個(gè)PC的P值分布情況,顯著的PC會(huì)呈現(xiàn)低P值基因的富集(虛線上方的實(shí)線表示)。
JackStrawPlot(object = pbmc, PCs = 1:12)

#另一種特別的方式是利用PCElbowPlot繪制主成分的標(biāo)準(zhǔn)差的散點(diǎn)圖,將曲線的拐點(diǎn)作為cutoff
值。

PC的選擇,確定數(shù)據(jù)集真實(shí)維度,對(duì)Seurat是重要的一步,也是最有挑戰(zhàn)性的一步。建議以下3種方法:
1.更加監(jiān)督性,通過(guò)探索PC尋找異質(zhì)性的相關(guān)來(lái)源,可用于聯(lián)合GSEA分析。
2.基于隨機(jī)空白模型進(jìn)行test,對(duì)于大數(shù)據(jù)集來(lái)說(shuō)比較費(fèi)時(shí),且可能不能呈現(xiàn)比較好的PCcutoff值。
3.常用的啟發(fā)式算法,可以快速計(jì)算。
例子中得到的結(jié)果基本一致,但在PC7-10之間選擇哪個(gè)作為cutoff需要判斷。
最終選擇了JackStraw的結(jié)果,因?yàn)镻C熱圖的結(jié)果很好的解釋了PC的意義。盡管cutoff小范圍的變動(dòng)并不影響結(jié)果,但強(qiáng)烈建議對(duì)所選PC進(jìn)行探索。
3 補(bǔ)充:
1 載入數(shù)據(jù)library(Seurat)
pbmc <- readRDS(file = "~/Projects/datasets/pbmc3k_final.rds")
2.探索新的降維結(jié)構(gòu)