0. 簡介
這篇文章是2019年發(fā)表在Nature Communications上的使用自編碼器對單細胞RNA-Seq數(shù)據(jù)進行降噪的工作,通訊作者是Fabian J. Theis, 來自于德國。這篇文章對自編碼器做了改進,常規(guī)的自編碼器只有一層輸出,該文章提出的DCA方法有三層輸出。
1. 摘要
- scRNA-seq (Single-cell RNA sequencing)使得研究人員可以在單個細胞分辨率水平上研究基因表達;然而由amplification以及dropout帶來的噪音可能阻礙下游的分析,因此需要對scRNA-seq(維度高、稀疏)開發(fā)專門的方法;
- 作者在這里提出DCA(deep count autoencoder network)對scRNA-seq進行降噪;DCA使用binomial noise model with or without zero-inflation考慮到count distribution, overdispersion and sparsity of the data;
- 使用模擬數(shù)據(jù)和真實數(shù)據(jù)作者證明了DCA降噪可以提高各種各樣傳統(tǒng)的scRNA-seq分析,DCA在數(shù)據(jù)填充和速度上也比目前已有的方法。
2. 前言
- 單細胞轉錄組的進步使得研究人員可以發(fā)現(xiàn)新的細胞類型,研究復雜細胞分化、發(fā)育過程追溯以及提高對人類疾病的理解;
- 單細胞測序技術雖然有了很大的提升,但是由各種各樣的技術因素(例如:amplification bias, cell cycle effects, library size differences and especially low RNA capture rate)導致在scRNA-seq實驗中存在著大量的噪音;這些技術由于測序深度較低所以非常稀疏;總之,技術因此帶來了大量的噪音,這可能會破壞本身的生物學信號因此阻礙下游分析;
- RNA捕獲率低會導致檢測不到某個基因的表達,也就是所謂的"false" zero count, 叫做"dropout event"。但是也有一些zero count是由于該基因在這個細胞中沒有表達,因此在scRNA-seq中并不是所有的zero count都是缺失值。在統(tǒng)計學上,缺失值通常可以補充,要么通過隨機替換要么是根據(jù)數(shù)據(jù)結構推斷, 由于true zero count與false zero count之間的不平凡的差別,傳統(tǒng)的方法對于scRNA-seq的imputation并不合適;
- 降噪的概念在圖像領域被普遍用來從噪音中描繪信號;降噪通過從原始圖像中抑制或者去除噪音來提升圖片的質量;作者這里假設,從無噪數(shù)據(jù)得來的結果可以反應潛在的生物學過程以及細胞狀態(tài)。然而,諸如成像或測序的測量技術會產生corrupted representation (Figure 1A);
- 目前已有一些針對于scRNA-seq的填充或者降噪方法。這些方法依賴于單細胞基因表達數(shù)據(jù)之間的相關性結構利用細胞之間或基因之間的相關性來推斷矯正好的基因表達。例如:scImpute使用混合模型定義可能的dropout values,然后將likely dropout values替換;而MAGIC和SAVER對每個基因和細胞輸入輸出降噪后的結果。但是這些方法都忽略了數(shù)據(jù)之間的count的非線性關系,而且,隨著scRNA數(shù)據(jù)量的增大,這些方法不能分析上百萬個細胞,這些方法分析不了如此大尺度的數(shù)據(jù);
- 人工神經(jīng)網(wǎng)絡中的自編碼器可以以一種非監(jiān)督的模式學習到數(shù)據(jù)有效的壓縮。自編碼器的壓縮部分強迫自編碼器只能學習到重要的潛在特征,這種重構可以忽略隨機噪音,目前自編碼器在分子生物學領域已有很多應用;
- 作者為了能將自編碼器應用于scRNA數(shù)據(jù)的填充而開發(fā)了deep count autoencoder, 方法的核心是將重構的錯誤定義為噪音模型的概率分布而不是輸入數(shù)據(jù)本身 (FIgure 1B),在訓練的過程中, DCA通過最小化重構錯誤來學習基因特異性的分布參數(shù);DCA有三個隱層可以捕獲scRNA-seq數(shù)據(jù)中的復雜性以及非線性;
3. 結果
3.1 Count noise model is neccessary to denoise scRNA-seq data
- 作者首先將DCA應用于模擬scRNA-seq(使用Splatter)數(shù)據(jù)探究DCA方法的屬性;首先可以獲得有dropout和沒有dropout的數(shù)據(jù),作者模擬了兩組數(shù)據(jù):
- 兩個細胞類型(2000個細胞)中的200個基因, 63%被設置為0;
- 六個細胞類型(2000個細胞)中的200個基因,35%被設置為0;
- 為了指導用戶選擇合適的噪聲模型,作者提出檢查從同一cluster或細胞類型的細胞計算的基因平均值和經(jīng)驗dropout之間的關系,通過構建NB(negative binomial distribution without zero-inflation)
與ZINB(negative binomial distribution with zero-inflation)思然比檢驗來決定zero-inflation是否存在從而決定DCA選擇的噪音模型的參數(shù); -
Figure 2A-2B: 從模擬數(shù)據(jù)結果來看,dropout帶來了大量的噪音阻礙了西北類型的發(fā)現(xiàn),但是在用DCA降噪之后又可以恢復之前的細胞類型;為了檢驗count-based損失函數(shù)是不是必要的,作者比較了DCA與傳統(tǒng)的自編碼器(MSE作為損失函數(shù),log轉換),從最右邊的圖可以看出基于自編碼器的MSE不能恢復細胞類型,表明specialized count loss function對于scRNA-seq數(shù)據(jù)的必要性
- Figure 2C-2D: 上述結論在更復雜的六個細胞類型的數(shù)據(jù)上也得到了驗證;
- 模擬數(shù)據(jù)的優(yōu)點就是可以進行各種各樣的評估,包括潛在的overimpudtation的評估;
3.2 DCA可以捕獲真實數(shù)據(jù)中細胞群體結構 (DCA captures cell population structure in real data)
- 作者在這里使用了68579個外周血單核細胞和1000個highly variable genes (92%都是0)(Figure 3A)。
- Figure 3B: 作者將自編碼器的瓶頸層限制成2個神經(jīng)元然后可視化其輸出;
- Figure 3C-3F: 已知的細胞類型marker基因表現(xiàn)出了cluster-specific表達,表明DCA在真是數(shù)據(jù)集中捕獲到了細胞群體的結構;
4. 方法
4.1 自編碼器
- 自編碼器使用三層來預測輸入數(shù)據(jù),分別是:輸入層、隱層(瓶頸層)以及輸出層。輸入輸出都是相同大小維度,隱層是輸入數(shù)據(jù)的低維展示,也就是降維,傳統(tǒng)的自編碼器通過最小化MSE損失函數(shù)來優(yōu)化權重,自編碼器中的壓縮模型強制其只能學習到重要的潛在特征;PCA可以看作是以MSE為損失函數(shù)的線性自編碼器;
4.2 噪音模型
- ZINB分布模擬高度稀疏和過度分散的count數(shù)據(jù),其考慮了兩個成分:
- 點質量為零,表示數(shù)據(jù)中的過零值 (a point mass at zero which represents excess zero values in the data);
- 表示計數(shù)分布的負二項式分量 (a negative binomial component representing the count distribution)
- 成分1可捕獲dropout事件;
- 成分2代表從潛在的分子中抽樣reads的過程;
- ZINB分布用下式表示:
-
和
分別代表負二項分布的均值和離散度;
4.3 模型結構與訓練
- 接下來作者用自編碼器框架以每個基因輸入數(shù)據(jù)為條件估計ZINB分布的三個參數(shù),因此與傳統(tǒng)的自編碼器不同的是,這個模型除了估計均值
外,還要估計
和dispersion參數(shù)
;
- 與傳統(tǒng)的自編碼器不同的是DCA有三個輸出層,分別代表每個基因的三個參數(shù),三個參數(shù)組成了gene-specific損失函數(shù)來比較這個基因原始輸入與輸出的差異;
- 對而分類模型來說,輸出層可以解釋為邏輯回歸,因此DCA輸出層可以看作是ZINB回歸,predictor就是細胞的重新展示:
- E, B, D分別代表encoder、bottleneck和decoder層,
代表log轉換的表達值的z-score。每個細胞的大小因子(size factor), 用每個細胞總的count數(shù)目除以每個細胞counts的median,
通過一下公式來計算:
- X代表基因表達count矩陣,"zscore"代表z-score標準化;
- 輸出激活以矩陣的形式展現(xiàn)





