對應(yīng)原版教程第7章http://bioconductor.org/books/release/OSCA/overview.html
標準化是在剔除不合格細胞之后稀火,盡可能消除細胞文庫間大小的差異性棍弄,從而得到準確疤坝、有意義的分析結(jié)果酸舍。一起來學(xué)習(xí)吧~
筆記要點
1、背景知識
1.1 為什么要標準化
1.2 標準化≠批次校正
2榨为、標準化最常見流程
2.1 假設(shè)
2.2 計算細胞文庫size factor
2.3 log轉(zhuǎn)換
3惨好、標準化特殊情形
3.1 細胞文庫標準化之平衡的差異基因?
3.2 根據(jù)外參轉(zhuǎn)錄本的標準化
1随闺、背景知識
1.1 為什么要標準化
- 因為在制備單細胞文庫時日川,排除低質(zhì)量細胞的前提下,最理想的測序結(jié)果就是每個細胞的文庫大小均相同矩乐,這樣不同細胞的相同基因水平才具有可比性龄句。
- 但由于客觀原因(cDNA捕獲、PCR復(fù)制)等技術(shù)誤差的存在散罕,細胞間的文庫大小會存在一定差異分歇。造成的后果就是某一基因在細胞間的表達差異就由技術(shù)誤差和生物水平差異構(gòu)成。從而可能導(dǎo)致錯誤的結(jié)論欧漱。
- 標準化這一步簡單來說就是消除細胞文庫大小的差異性职抡。
1.2 標準化≠批次校正
- 標準化的前提是認為細胞間的文庫差異性完全由測序時的技術(shù)誤差造成的。而這種技術(shù)誤差總體是可消除的硫椰。因為我們常常假設(shè)技術(shù)誤差對所有的基因表達有相同方向/模式的影響繁调。例如技術(shù)誤差使基因A的表達量降低10%,那么其它所有基因的表達量都會降低10%靶草。
- 批次效應(yīng)則不僅僅意味著批次之間有更為明顯的技術(shù)誤差存在蹄胰,而且各個批次的取樣細胞的生理狀態(tài)不同所造成的額外生物水平誤差往往是難以預(yù)測的,因此需要采取不同于標準化的思路進行校正奕翔。
- 關(guān)于批次效應(yīng)的校正方法裕寨,在之后章節(jié)會有說明。這里只是想強調(diào)下標準化與批次校正是兩個不同的概念。
2宾袜、標準化最常見流程
2.1 假設(shè)
- 每一個細胞測序時受到的的技術(shù)誤差捻艳,對其內(nèi)的所有基因表達有相同模式的影響。
- 用一個指標(size factor)評價每一個細胞受到的技術(shù)誤差大小庆猫、方向(相對所有細胞文庫的均值认轨,而不是絕對意義上的偏離標準文庫的距離)。然后分別根據(jù)每個細胞的指標的值進行對該細胞的標準化月培。最后使基因在不同細胞間的表達具有可比性嘁字。可能說的比較抽象杉畜,下面舉例子應(yīng)該會好理解些纪蜒。
2.2 計算細胞文庫size factor
sce.zeisel
# dim: 19839 2816
# assays(1): counts
- (1)首先計算每個細胞文庫的大小
lib.size=apply(counts(sce.zeisel), 2,sum)
head(lib.size)
#1772071015_C02 1772071017_G12 1772071017_A05 1772071014_B06 1772067065_H06 1772071017_E02
# 22354 22869 32594 33525 21694 25919
- (2)計算所有細胞文庫均值【參考標準】
mean(lib.size)
#15550.11
- (3)計算每個細胞的細胞文庫size.factor
lib.sf=lib.size/mean(lib.size)
head(lib.sf)
# 1772071015_C02 1772071017_G12 1772071017_A05 1772071014_B06 1772067065_H06 1772071017_E02
# 1.437546 1.470664 2.096062 2.155933 1.395102 1.666805
如上結(jié)果表示相對每個細胞文庫相對于平均細胞文庫大小的比例。
library(scater) #一步計算
lib.sf.zeisel <- librarySizeFactors(sce.zeisel)
summary(lib.sf.zeisel)
# Min. 1st Qu. Median Mean 3rd Qu. Max.
# 0.1757 0.5680 0.8680 1.0000 1.2783 4.0839
#均值一定為0
#值大于1的需要縮写说纯续;小于1的需要放大
- (4)然后根據(jù)每個細胞的細胞文庫size factor對該細胞的所有基因表達進行歸一化處理,即基因表達量除以細胞文庫因子灭袁。這里的“一”就代表平均細胞文庫大小猬错。
#以第一個細胞為例
normalized <- counts(sce.zeisel[,1])/lib.sf[1]
2.3 log轉(zhuǎn)換
- log轉(zhuǎn)換最主要的目的是我們在之后計算細胞的距離時主要想依據(jù)細胞間基因表達差異倍數(shù)變化而不是簡單的差值。試想細胞1的基因A表達量為50简卧,B的表達量為1000兔魂;細胞2的基因A表達量為10,B的表達量1000举娩。那個基因變化最明顯的析校,顯然使用差異倍數(shù)更有意義。而取log之后的減法即為除法铜涉,可以表示log FoldChange
- 由于單細胞測序結(jié)果的稀疏性智玻,很多基因的表達值為0,無法取log芙代。所以會為所有細胞的基因加一個pseudo-count表達(一般取1吊奢,log后還是為0,未改變稀疏性)纹烹。
#一般取log2
log_normalized=log2(normalized + 1)
- 如上就得到了最終標準化后的表達矩陣页滚。
2.4 logNormCounts
一步完成
sce.zeisel <- logNormCounts(sce.zeisel)
assays(sce.zeisel)
#List of length 2
#names(2): counts logcounts
counts(sce.zeisel)[1:4,1:4]
logcounts(sce.zeisel)[1:4,1:4]
- 如上結(jié)果,標準化后的結(jié)果保存在logcounts assay里面
3铺呵、標準化特殊情形
3.1 細胞文庫標準化之平衡的差異基因裹驰?
(1)在使用文庫標準化size factor時,有一個潛在的假設(shè)就是balanced differentially expressed genes,在某一細胞中若存在某些基因表達上調(diào)片挂,那么一定會存在某些基因下調(diào)幻林。
- 舉例1:假設(shè)一個細胞測序表達有100個基因贞盯,文庫大小為100』龋基因2-99表達量均為1躏敢,而基因1表達量為1.5;而基因100的表達量為0.5(對照細胞100個基因表達全為1)整葡。就可以說是balanced DE件余,符合我們預(yù)期的假設(shè)。因為不影響剩下的98個non-DEG
(2)但是單細胞測序中掘宪,往往會出現(xiàn)imbalanced DEG蛾扇,即比較多的出現(xiàn)上調(diào)基因或者下調(diào)基因攘烛,從而使原本的non-DEG變成DEG魏滚。術(shù)語稱之為composition bias
- 舉例2:假設(shè)一個細胞測序表達有100個基因,文庫大小為101坟漱∈蟠危基因2-100表達量均為1,而基因1表達量為2(對照細胞100個基因表達全為1)芋齿。
- 舉例3:假設(shè)一個細胞測序表達有100個基因腥寇,文庫大小為100∶倮Γ基因1表達量為2赦役,基因2-100表達量為0.99,而(對照細胞100個基因表達全為1)栅炒。
- 無論是例2掂摔,還是例3,在經(jīng)過標準化之后的差異分析結(jié)果就是基因1真實相對上調(diào)赢赊;基因2-99表面相對下調(diào)乙漓,其實本質(zhì)為non-DEG。
(3) 從對之后的分析影響來看释移,作者認為composition bias
對于單細胞之后的聚類分群叭披、Top marker gene結(jié)影響不會很大。但如果想進行單基因水平的分析玩讳,還是最好相除這種誤差涩蜘。
(4) 如何最大化避免composition bias
- 對于傳統(tǒng)的Bulk RNA-seq數(shù)據(jù),
DESeq2
包的estimateSizeFactorsFromMatrix()
函數(shù)熏纯、edgeR
包的calcNormFactors()
函數(shù)會考慮到這種誤差同诫。它們主要是假設(shè)大部分的基因均為non-DEG,所以當一個測序結(jié)果里的大部分基因出現(xiàn)相對于對照組的系統(tǒng)偏移時豆巨,會認為是composition bias
剩辟,計算合適的size factor予以去除。 - 對于單細胞測序結(jié)果來說,因為表達矩陣的稀疏性贩猎,上述的函數(shù)方法不太適合熊户。可以設(shè)置
calculateSumFactors()
函數(shù)的cluster
參數(shù)吭服。主要是假設(shè)每個cluster間為non-DE嚷堡,先對cluster總體的pool-based size factor的標準化;再對每個cluster里的細胞分別進行cell-based size factor標準化艇棕。
library(scran)
set.seed(100)
clust.zeisel <- quickCluster(sce.zeisel)
table(clust.zeisel)
deconv.sf.zeisel <- calculateSumFactors(sce.zeisel, cluster=clust.zeisel)
sce.zeisel <- computeSumFactors(sce.zeisel, cluster=clust.zeisel, min.mean=0.1)
sce.zeisel <- logNormCounts(sce.zeisel)
3.2 根據(jù)外參轉(zhuǎn)錄本的標準化
(1)前提假設(shè)
- 每個細胞初始水平添加的spike-in轉(zhuǎn)錄本的含量是一致的蝌戒;
- 測序技術(shù)誤差無論對于內(nèi)源基因還是外參轉(zhuǎn)錄本都有相同的模式的表達影響。
(2)適用情形
- 之前提到的細胞文庫size factor標準化相當于是把所有細胞的文庫大小拉到同一水平進行基因的比較沼琉;
- 但是如果觀察的目的之一就是細胞內(nèi)基因表達總量的變化北苟,例如T細胞激活前后等,具體要結(jié)合生物背景知識了打瘪;
- 相關(guān)函數(shù)有
computeSpikeFactors()
友鼻,示例在原教程里有,這里就不多展開了闺骚。