sc-Review:單細胞RNA-seq數據分析最佳實踐

Luecken MD, Theis FJ. Current best practices in single-cell RNA-seq analysis: a tutorial. Mol. Syst. Biol. 2019, 15: e8746.

摘要

single cell RNA-seq 提高了基因表達研究的分辨率,這項技術也帶來越來越多的單細胞分析方法。這使得研究者難以駕馭這一多工具格局并從中搭建最新的工作流程來分析自己的數據。在這里,我們詳細介紹了典型的單細胞 RNA-seq 數據分析步驟,包括預處理(質量控制、標準化、數據校正、特征選擇和降維)以及細胞及基因水平的下游分析。我們根據獨立比較研究為這些步驟制定了當前(2019年)最佳實踐建議。我們已將這些最佳實踐建議整合到工作流中,并將其應用于公共數據集,以進一步說明這些步驟在實踐中如何工作。我們的案例研究可參見https://www.github.com/theislab/single-cell-tutorial。這篇綜述將作為單細胞新手進入該領域的數據分析流程指南,并幫助現有的研究人員更新他們的分析流程。

關鍵詞:分析流程開發;計算生物學;數據分析教程;單細胞 RNA-seq

概述

近年來,單細胞 RNA 測序 (scRNA-seq) 推進了我們對生物系統的認識。我們已經能夠研究斑馬魚、青蛙和渦蟲的細胞異質性 (Briggs et al,2018;Plass et al,2018;Wagner et al,2018),并發現之前被掩蓋的細胞群 (Montoro et al,2018;Plasschaert et al,2018)。該技術的巨大潛力促使計算生物學家開發一系列分析工具 (Rostom et al,2017)。盡管該領域正在努力確保單個工具的可用性,但單細胞數據分析中,新手的一個進入障礙( a barrier of entry)是由于該領域相對不成熟而缺乏標準。在本文中,我們簡述目前scRNA-seq 分析的最佳做法,為今后的分析標準化奠定基礎。

標準化面臨的挑戰包括分析方法不斷增加(截至 2019 年 3 月 7 日已達 385多種工具)和數據集規模爆炸性增長 (Angerer et al,2017;Zappia et al,2018)。我們正在不斷尋找新的方法來使用我們所測得的數據。例如,最近的工具可預測分化中的細胞命運 (La Manno et al,2018)。分析工具的不斷改進有利于產生新的科學洞察力,但這也使標準化更加復雜。

標準化的第二個挑戰在于技術方面。scRNA-seq 數據的分析工具用各種編程語言,最突出的是 R 和 Python (Zappia et al,2018)。盡管跨環境的工具正在增長(預印:Scholz et al,2018),但編程語言的選擇通常也是分析工具之間的一種選擇。Seurat (Butler et al,2018)、Scater (McCarthy et al,2017) 或 Scanpy (Wolf et al,2018) 等熱門平臺提供了開發流程的集成環境,且包含大型分析工具。然而,這些平臺僅限于使用各自編程語言開發的工具。通過擴展,語言限制也適用于目前可用的 scRNA-seq 分析教程,其中許多教程圍繞上述平臺(R 和 bioconductor 工具:https://github.com/drisso/bioc2016singlecellhttps://hemberg-lab.github.io/scRNA.seq.Lun 等人,2016b;Seuratscanpy.

考慮到上述挑戰,我們并沒有標準化分析流程,而是概述了當前的最佳實踐和獨立于編程語言的通用工具。我們指導讀者完成 scRNA-seq 分析流程的各個步驟(圖 1),介紹當前的最佳實踐,并討論分析陷阱提出開放性問題。由于工具的新穎性和缺乏比較,事實上無法確定最佳實踐,因此我們列出了流行的可用工具。所概述的步驟從reads或計數矩陣開始,得出潛在分析終點,Lun et al (2016b) 涵蓋了早期預處理步驟。整合現有最佳實踐的詳細案例研究可從我們的 github 獲得,網址為:https://github.com/theislab/single-cell-tutorial/。在這里,我們在一個實際的示例工作流中應用了當前的最佳實踐來分析公共數據集。分析工作流程用rpy2在 Jupyter-Ipython notebook中集成了 R 和 Python 工具。有了可用的文檔,它很容易作為工作流模板進行二次修改。

圖 1. 典型的單細胞 RNA-seq 分析工作流程示意圖。原始測序數據經過處理和比對,得到計數矩陣,代表工作流程的開始。計數矩陣經過預處理和下游分析。使用 Haber et al (2017) 腸上皮細胞數據的最佳實踐工作流程生成子圖。
框1:實驗性scRNA-seq工作流的關鍵元素

從生物樣本到可分析的單細胞數據需要經過多個步驟。典型的工作流程包括:單細胞解離、單細胞分離、文庫構建和測序。對這些階段的簡要概述如下:單細胞實驗的起始材料通常以生物組織樣本的形式獲得。

單細胞懸浮液的制備作為第一步,是在一個被稱為單細胞解離的過程中產生的,其中組織被消化。為分析每個細胞中的 mRNA,必須分離細胞。單細胞分離根據實驗方案的不同而不同。雖然基于平板的技術將細胞隔離到平板上的孔中,但基于液滴的方法依賴于在自己的微流體液滴中捕獲每個細胞。在這兩種情況下,都可能發生錯誤,導致多個細胞被捕獲在一起(doublets or multiplets)、非活細胞被捕獲或完全沒有細胞被捕獲(空液滴/孔)形成空滴的情況尤其常見,因為基于液滴的方法依靠低濃度的輸入細胞流動來控制雙聯體率。每孔或液滴中都含有分解細胞膜和進行文庫構建所必需的化學物質。胞內 mRNA 被捕獲、反轉錄為 cDNA 分子并擴增的過程稱為文庫構建。當細胞隔離進行這一過程時,每個細胞的 mRNA 可以被一個孔或滴特定的細胞條形碼標記。此外,許多實驗方案也用唯一分子標識符 (UMI) 標記捕獲的分子。測序前擴增細胞 cDNA,以增加其被測量的概率。UMIs 允許我們區分相同 mRNA 分子的擴增拷貝和從相同基因轉錄的不同 mRNA 分子的reads。

構建好文庫后,使用細胞條形碼進行標記,并根據協議進行UMIs標記。這些庫匯集在一起(multiplexed)用于測序。序列產生reads數據,這些數據經過質量控制,再準備階段根據指定的條形碼(demultiplexing)和reads比對區分細胞。對于基于umi的協議,reads數據可以被進一步解復用以產生捕獲的mRNA分子計數(count data)。

Pre-processing and visualization

對測序儀生成的原始數據進行處理,以獲得分子計數(count 矩陣)或讀數(reads矩陣)的矩陣,這取決于是否在單細胞文庫構建方案中納入了獨特的分子標識符 ( unique molecular
identifiers ,UMI)(有關分析前的實驗步驟概述,請參見框 1)。Cell Ranger (Zheng et al,2017)、indrops (Klein et al,2015)、SEQC (Azizi et al,2018) 或 zUMIs (Parekh et al,2018) 等原始數據處理流程負責reads質量控制 (QC),為其細胞barcode和 mRNA 來源分子(也稱為解復用,demultiplexing)分配reads、基因組比對和定量。得到的reads或計數矩陣包含barcode x 轉錄本數量的高緯數據。此處使用術語barcode代替細胞,因為所有reads均為分配給相同的barcode可能與來自同一細胞的reads不一致。一個barcode可能錯誤地標記多個細胞(雙聯體)或可能不標記任何細胞(空滴/孔)。雖然reads和計數數據的測量噪聲水平不同,但典型分析流程中的處理步驟相同。為了簡單起見,我們將在本教程中將這些數據稱為count矩陣。如果reads和count矩陣的結果不同,則專門指出reads矩陣。

Quality control

在分析單細胞基因表達數據之前,我們必須確保所有的細胞barcode數據都對應于活細胞。細胞 QC 通常基于三個 QC 變量進行:

  • 每個barcode的計數數量(count depth )
  • 每個barcode的基因數量
  • 每個barcode的線粒體基因計數分數 (Ilicic et al,2016;Griffiths et al,2018)

檢查這些 QC 變量的分布,以確定是否存在通過閾值處理過濾掉的離群峰(圖 2)。這些異常barcode可能對應于死細胞、膜破損的細胞或雙聯體。例如,低計數深度的barcode、很少檢測到的基因以及線粒體計數的高分數都表明細胞的細胞質 mRNA 已經通過破損的膜漏出,只有位于線粒體中的 mRNA 仍然是保守的(圖 2)。與之相反,非預期高計數和大量檢測基因的細胞可能代表雙聯體。因此,高計數深度閾值常用于過濾掉潛在的雙峰。最近的三種雙聯檢測工具提供了更優雅和可能更好的解決方案 (DoubletDecon:preprint:DePasquale et al,2018;Scrublet:Wolock et al,2019;doublet Finder:McGinnis et al,2018)。

圖 2. Haber et al (2017) 的小鼠腸上皮數據集過濾決策的質量控制指標圖。(A) 每個cell的計數深度直方圖。較小的直方圖在計數深度低于 4,000 時放大。根據在約 1,200 個計數處檢測到的峰值,此處應用的閾值為 1,500。(B) 每個細胞檢測到的基因數的直方圖。在大約 400 個基因處可見一個小的噪聲峰。這些細胞使用描述的閾值(紅線)700 個基因過濾掉。計數深度分布從高到低計數深度。該可視化與 Cell Ranger 輸出中顯示的 logClog 圖相關,該輸出用于過濾空液滴。它顯示了一個肘部的計數深度開始迅速減少約 1500 計數。(D) 通過線粒體讀數部分染色的基因數量與計數深度的關系。線粒體讀取片段僅在檢測基因很少的特別低計數細胞中高。這些細胞被我們的計數和基因數閾值過濾掉。聯合可視化計數和基因閾值顯示聯合過濾效果,表明較低的基因閾值可能已經足夠

單獨考慮這三個細胞 QC 變量中的任何一個都可能導致對細胞信號的誤解。例如,具有較高線粒體計數的細胞可能參與呼吸過程。同樣,其他 QC 變量也有生物學解釋。低count和(或)基因的細胞可對應靜止細胞群,高count的細胞體積可能更大。事實上,細胞之間的分子計數可能存在強烈差異(參見項目 github 的案例研究)。因此,當單變量閾值決策時,應聯合考慮細胞 QC 變量(圖 2D),這些閾值應盡可能設置為允許的,以避免無意中過濾掉活細胞群。考慮到多變量細胞 QC 的依賴性,篩選模型可能提供更敏感的 QC 選項。

含有異質混合細胞類型的數據集可能顯示多個 細胞QC 變量峰值。例如,圖 2D 顯示了具有不同 QC 分布的兩個細胞群。如果之前沒有進行過濾步驟(注意 Cell Ranger 也進行細胞 QC),那么只有每個barcode峰的最低計數深度和基因應該被認為是非活細胞。進一步的閾值指導原則是使用所選閾值過濾掉的細胞比例。對于高計數過濾,該比例不應超過預期的雙聯率。

除了檢查細胞的完整性,細胞 QC 步驟也必須在轉錄本水平上進行。原始計數基質通常超過 20,000 個基因。通過過濾掉在少數細胞中不表達的基因,可以大幅減少這一數量。設置此閾值的一個準則是使用最小cell群,并留下一些dropout 效應(dropout effects. )的余地。例如,篩選出少于 20 個細胞中表達的基因可能會使檢測少于 20 個細胞的細胞團變得困難。對于高脫落(dropout )率的數據集,這個閾值也可能使較大簇的檢測復雜化。閾值的選擇應根據數據集中的細胞數量和預期的下游分析進行調整

可直接對計數數據進行進一步 QC。Ambient gene expression(環境基因表達)指不是來自barcode細胞,而是來自其他溶解細胞的count,這些細胞的 mRNA 在文庫構建之前污染了細胞懸液。這些增加的環境計數會扭曲下游分析,如標記基因鑒定或其他差異表達檢測,尤其是當樣本之間的水平變化時。在基于液滴的 scRNA-seq 數據集中校正這些影響是可能的,由于大量的空液滴,可用于模擬環境RNA表達譜。最近開發的SoupX(預印本:Young &
使用這種方法直接糾正計數數據。在下游分析中忽視強環境基因的實用方法也被用來解決這個問題(Ange- lidis et al, 2019)。

進行質量控制以確保數據質量足以用于下游分析。由于無法先驗確定足夠的數據質量,因此根據下游分析性能(例如,聚類注釋)進行判斷。在分析數據時,可能需要多次重新審查質量控制參數。通常,從允許的質控閾值開始,在執行更嚴格的質控之前研究這些閾值的影響是有益的。這種方法對于包含異質性細胞群的數據集特別重要,其中細胞類型或狀態可能被錯誤解釋為低質量離群細胞。在低質量數據集中,嚴格的 QC 閾值可能是必要的。可通過試驗 QC 指標確定數據集的質量(見附錄補充文本 S2,卑微小王手頭并沒有補充文檔,從略)。在這種迭代 QC 優化中,應該注意數據窺視(data peeking.)。不應調整 QC 閾值以改善統計檢驗的結果。相反,可根據數據集可視化和聚類中的 QC 變量分布來評價 QC效用。

問題和建議:
?通過基因數量、計數深度和線粒體reads分數的異常峰來執行細胞QC。考慮這些共同的影響而不是單獨的考慮它們。
?盡可能地容忍QC閾值化,如果下游聚類無法解釋,則重新QC。
?如果QC變量在樣品之間的分布不同,則應針對每個樣品分別QC,以解釋樣品質量差異,如Plasschaert等(2018)。

Normalization

計數矩陣中的每個計數代表細胞 mRNA 分子的成功捕獲、逆轉錄和測序(框 1)。由于每個步驟固有的變異性,相同細胞的計數深度結果卻可能不同。因此,當基于計數數據比較細胞間的基因表達時,任何差異可能僅由采樣效應( sampling effects.)引起。通過例如縮放( sampling effects)計數數據以獲得正確的細胞間相對基因表達豐度來解決這一問題。

bulk RNA數據已有許多標準化方法 (preprint:Pachter,2011;Dillies et al,2013)。雖然其中一些方法已應用于 scRNA-seq 分析,但單細胞數據特有的變異來源如技術脫落(technical dropouts )(取樣導致的零計數,雙零問題)促使開發出了針對 scRNA-seq 的標準化方法 (Lun et al,2016a;Vallejos et al,2017)。

最常用的規范化協議是 count depth scaling,也稱為每百萬計數或 CPM 規范化。該方案來自bulk 表達分析,并使用與每個細胞計數深度成比例的所謂大小因子對計數數據進行標準化。該方法的變體使用不同的因子或數據集中每個細胞的中位計數深度縮放。CPM 標準化假設數據集中的所有細胞最初包含相同數量的 mRNA 分子,計數深度差異僅由于取樣產生。該假設與下采樣(downsampling)方案相同,下采樣方案是從數據中隨機取樣讀取或計數,使所有細胞的計數預先規定的數量或更少。在下采樣丟掉數據的同時,也增加了技術脫落率,而 CPM 和其他全局縮放標準化方法則沒有。因此,下采樣可以提供類似計數深度下細胞表達譜的更真實表示。

由于單細胞數據集通常由具有不同大小和分子計數的異質細胞群組成,因此更復雜的標準化方法通常是合適的。例如,Weinreb et al (2018) 使用了 CPM 的簡單延伸,計算它們的大小因子時,排除了任何細胞中占總計數至少 5% 的基因。這種方法考慮到了少數高表達基因的分子計數變異性。基于 Scran 合并的尺寸因素估計(pooling-based size factor estimation)方法允許更多的細胞異質性 (Lun et al,2016a)。細胞合并后,根據基因的線性回歸估算大小因子,以避免技術脫落效應。該方法將變異性限制在細胞間差異表達基因的 50% 以下,并且在獨立比較中始終是性能最佳的標準化方法。經證明,Scran 在批次校正( batch correction) (Buttner et al,2019) 和差異表達分析 (preprint:vith et al,2019) 方面的性能優于其他檢測的歸一化方法。在與原作者的小規模比較中,該方法也顯示出穩健的尺寸因子估計值 (Vallejos et al,2017)。

CPM、高計數過濾 CPM 和 scran 使用線性、全局縮放標準化計數數據。還存在非線性歸一化方法,可解釋更復雜的異質性(Cole et al,2019)。許多方法涉及到計數資料的參數化建模。例如,Mayer et al (2018) 使用技術變量(如測序深度和每個基因的計數數量)擬合負二項模型,以擬合模型參數。模型擬合的殘差作為基因表達的標準化定量。這種方法可以將技術和生物數據校正(例如批次校正或細胞周期效應校正)與計數深度歸一化相結合。已證明非線性歸一化方法優于全局縮放方法,尤其是在具有強批次效應的情況下 (Cole et al,2019)。因此,非線性歸一化方法對于基于平板的 scRNA-seq 數據尤其相關,這些數據往往在平板之間存在批次效應。此外,與基于液滴的數據相比,基于平板的數據可顯示每個細胞計數深度的較大變化 (Svensson et al,2017)。雖然非線性歸一化方法或替代方法(例如下采樣)似乎更適合這些條件,但需要進行比較研究來確認該假設。在本教程中,我們傾向于將標準化和數據校正(批次校正、噪聲校正等)步驟分開,以強調數據的不同處理階段(參見預處理數據部分的階段)。因此,我們著重研究全局尺度歸一化方法(global scaling normalization)。

我們不能期望單一的標準化方法適合所有類型的 scRNA-seq 數據。例如,vith et al (2017) 表明reads和計數數據可通過不同模型進行最佳擬合。事實上,Cole et al (2019) 發現沒有一種歸一化方法對不同的數據集表現都是最佳的,并認為應使用其 scone 工具為特定數據集選擇適當的歸一化方法。此外,scRNA-seq 技術可分為全長和 30 種富集方法 (Svensson et al,2017;Ziegenhain et al,2017)。來自全長方案的數據可能受益于考慮到基因長度的標準化方法(例如 Patel et al,2014;Kowalczyk et al,2015;Soneson)

細胞計數數據可以歸一化,使細胞間具有可比性,同樣,基因計數也可以按比例調整,以改善基因間的比較。基因歸一化構成基因計數的標度,使其均值和單位變異(z值)為零。這種比例的變化影響了所有的基因下游分析的權重。是否對基因進行歸一化目前尚無共識。雖然流行的Seurat教程(Butler et al, 2018)通常應用基因縮放(scaling,),但Slingshot方法的作者在他們的教程中選擇不縮放基因(Street et al, 2018)。這兩種選擇之間的偏好圍繞著是否所有的基因都應該在下游分析中得到同等的權重,或者一個基因的表達量是否代表了該基因的重要性。為了盡可能多地保留數據中的生物信息,我們選擇在本教程中避免對基因進行篩選。

歸一化后,數據矩陣通常是對數 (+ 1) 轉換的。這種轉變有三個重要作用。

  • 首先,對數轉換的表達值之間的距離代表對數倍數變化,這是衡量表達變化的經典方式。
  • 其次,對數轉換減輕(但不消除)單細胞數據中的均值方差關系 (Brennecke et al,2013)。
  • 最后,對數轉換降低了數據的偏斜度,以適用于假設數據呈正態分布的下游分析工具。

雖然 scRNA-seq 數據實際上不是對數正態分布 (Vieth et al,2017),但這三種效應使對數轉換成為一種粗糙但有用的工具。差異表達檢測 (Finak et al,2015;Ritchie et al,2015) 或批次校正 (Johnson et al,2006;Buttner et al,2019) 的下游應用強調了這種有用性,這些應用將對數轉換用于這些目的。但是,應該注意的是,歸一化數據的對數轉換可在數據中引入虛假差異表達效應(預印:Lun,2018)。當歸一化大小因子分布在試驗組之間存在強烈差異時,該效應尤其明顯。

問題和建議:
?我們建議使用scran對非全長數據集進行標準化。
另一種方法是通過scone評估基于平臺的數據集的標準化方法。全長scRNA-seq協議可以使用bulk 方法修正基因長度。
?對于將基因的均值和單位方差縮放到0沒有共識。
我們寧愿不縮放基因表達(We prefer not to scale gene expression.)。
?規范化的數據應該是log(x+1)-轉換后用于假設數據是正態分布的下游分析方法。

Data correction and integration

如上所述的標準化試圖消除計數采樣的影響。但是,歸一化數據仍可能包含不希望的變異性。數據進一步的校正針對技術和生物學變量,如批次、脫落或細胞周期效應。這些變量并不總是進行校正。相反,決定考慮哪些變量將取決于預期的下游分析。我們建議分別考慮生物和技術變量的校正,因為這些變量用于不同的目的,并且存在獨特的挑戰。

Regressing out biological effects

校正技術變量(covariates)對于揭示潛在生物信號至關重要,校正生物變量對于挑選出關注的特定生物信號更加重要。最常見的生物數據校正是去除細胞周期對轉錄組的影響。該數據校正可通過 Scanpy 和 Seurat 平臺 (Butler et al,2018;Wolf et al,2018) 或具有更復雜混合模型(如 scLVM (Buettner et al,2015) 或 fscLVM (Buettner et al,2017))的專門包裝中實施的細胞周期評分的簡單線性回歸進行。用于計算細胞周期評分的標記基因列表來自文獻 (Macosko et al,2015)。這些方法也可用于回歸其他已知的生物學效應如線粒體基因表達,其被解釋為細胞應激的指征。

在校正生物學效應數據之前,應考慮幾個方面。

  • 首先,校正生物學變量并不總是有助于解讀 scRNA-seq 數據。雖然去除細胞周期效應可改善發育軌跡的推斷 (Buettner et al,2015;Vento-Tormo et al,2018),但細胞周期信號也可提供生物學信息。例如,可根據細胞周期評分確定增殖細胞群(參見 github 項目的個案研究)。
  • 生物信號必須在語境中理解。鑒于生物過程發生在同一生物體內,這些過程之間存在依賴性。因此,糾正一個過程可能無意中掩蓋另一個過程的信號。
  • 最后,有人認為,細胞大小的變化解釋了通常歸因于細胞周期的轉錄組效應 (McDavid et al,2016)。因此,通過標準化校正細胞大小,或專用工具如 cgCorrect (Blasi et al,2017),也部分校正了 scRNA-seq 數據中的細胞周期影響。
Regressing out technical effects

用于回歸生物學變量的回歸模型變量也可應用于技術變量。單細胞數據中最顯著的技術變量是計數深度和批次。盡管標準化比例計數數據使細胞之間的基因計數相當,但計數深度效應通常保留在數據中。這種計數深度效應既可以是生物的,也可以是技術的。例如,細胞可能大小不同,因此 mRNA 分子計數也不同。然而,歸一化后的技術計數效應可能仍然存在,因為沒有縮放方法可以推斷由于采樣不佳而未檢測到的基因的表達值。回歸出計數深度效應可以提高軌跡推理算法的性能,它依賴于找到cell之間的轉換(參見 project github 的案例研究)。當校正多個變量(例如,細胞周期和計數深度)時,應在一個步驟中對所有變量進行回歸,以考慮變量之間的依賴性。

另一種基于回歸的消除計數影響的策略是使用更嚴格的標準化過程,如下采樣或非線性標準化方法(參見標準化部分)。這些方法可能特別適用于基于平板(plate-based )的 scRNA-seq 數據集,其中每個細胞計數深度的較大變化可以掩蓋細胞之間的異質性。

Batch effects and data integration

當細胞以不同的分組處理時,可能發生批次效應。批次效應可以由不同芯片上的細胞、不同測序泳道中的細胞或不同時間收獲的細胞組成。細胞經歷的不同環境會對轉錄組的測量或轉錄組本身產生影響。產生的影響存在于多個層面:實驗中的細胞組之間、在同一實驗室進行的實驗之間或來自不同實驗室的數據集之間。

在這里,我們區分前兩個和后兩個場景。

  • 在相同的實驗中校正樣品或細胞之間的批次效應是經典的來自 bulk RNA-seq 的批次校正(Batch effects)
  • 我們將這與多次實驗的數據整合區分開來,我們稱之為數據整合(data integration)。雖然批效應通常使用線性方法校正,但一般使用非線性方法進行數據整合。

最近對經典批次校正方法的比較顯示,ComBat (Johnson et al,2006) 在低至中等復雜度的單細胞實驗中也表現良好 (Buttner et al,2019)。ComBat 由基因表達的線性模型組成,其中在數據的平均值和方差中均考慮了批次貢獻(圖 3)。不考慮計算方法,**批量校正的最佳方法是通過巧妙的實驗設計預先消除影響并完全避免影響 **(Hicks et al,2017)。通過合并實驗條件和樣品中的細胞,可避免批次效應。使用諸如細胞標記 (preprint:Gehring et al,2018) 或通過遺傳變異 (Kang et al,2018) 等策略,可能分離實驗中合并的細胞。

圖3。批次校正前后的UMAP可視化。 細胞按樣本著色。批次的分離在批次校正前清晰可見,批次校正后不明顯。批次校正使用 Haber等(2017)對小鼠腸道上皮細胞的影響。

與批次校正相比,面臨的另一個挑戰是整合不同的數據集。估計批效應時,ComBat 使用一批中的所有細胞來擬合批次參數。這種方法將混淆批處理效應與細胞類型或數據集之間不相同狀態之間的生物學差異。為克服該問題,開發了典型相關分析 (CCA;Butler et al,2018)、相互最近鄰 (MNN;Haghverdi et al,2018)、Scanorama(預印:Hie et al,2018)、RISC(預印:Liu et al,2018)、scGen(預印:Lotfollahi et al,2018)、LIGER(預印:Welch et al,2018)、BBKNN(預打印:Park et al,2018)和 Harmony(預打印:Korsunsky et al,2018)等數據整合方法。數據整合方法雖然也可以應用于簡單的批次校正問題,但考慮到非線性數據集成方法的自由度增加,我們建議警惕過度修正。例如,在更簡單的批次校正設置中,MNN 的表現優于 ComBat (Buttner et al,2019)。需要對數據整合和批次校正方法進行進一步比較研究,以評估這些方法的應用范圍。

Expression recovery

另一種類型的技術數據校正是表達恢復(expression recovery)(也就是去噪或插補)。單細胞轉錄組的測量包含各種噪聲 (Gru net al,2014;Kharchenko et al,2014;Hicks et al,2017)。這種噪音的一個特別突出的方面是dropout。推斷dropout事件,用合適的表達值替換這些零,減少數據集中的噪聲,一直是幾個最新工具(MAGIC:van Dijk et al,2018;DCA:Eraslan et al,2019;scVI:Lopez et al,2018;SAVER:Huang et al,2018;scImpute:Li& Li, 2018).已證明執行表達恢復可改善基因相關性估計 (van Dijk et al,2018;Eraslan et al,2019)。此外,該步驟可與歸一化、批次校正和 scVI 工具中實施的其他下游分析整合 (Lopez et al,2018)。雖然大多數數據校正方法以歸一化數據作為輸入,但一些表達式恢復方法是基于預期負二項分布噪聲,因此在原始計數數據上運行。應用表達恢復時,應考慮到沒有一種方法是完美的。因此,任何方法均可能導致數據中的噪聲過度校正或校正不足。事實上,表達恢復的結果報告了假相關信號(Andrews & Hemberg, 2018).考慮到在實際應用中評估成功的表達恢復的難度,這個場景對考慮是否消噪的用戶來說是一個挑戰。此外,對于當前可用的表達式恢復方法,大型數據集的可伸縮性仍然是一個問題。鑒于這些考慮,目前對于如何使用消噪數據尚未達成共識(見處理數據章節的階段)。謹慎的方法是僅將表達恢復用于數據的直觀顯示,而不是在探索性數據分析過程中應用之。這里徹底的實驗驗證尤為重要。

問題和建議:
?回歸出(Regress out )生物變量只是為了軌跡推斷,其他生物過程被沒有回歸出的生物協變量所掩蓋。
?同時考慮回歸技術和生物變量,而不是針對某項回歸。
?基于平臺的數據預處理可能需要回歸計數,通過非線性歸一化方法進行歸一化或向下采樣。
?當cell類型和批次之間的狀態成分一致時,我們建議通過ComBat進行批次校正
?數據整合和批次校正應通過不同方法進行。數據集成工具可能過度糾正簡單的批處理效應。
?用戶應謹慎對待僅在表達恢復后發現的信號。最好不使用該步驟進行探索性分析

Feature selection, dimensionality reduction and visualization

一個人類的單細胞 RNA-seq 數據集可以包含多達 25,000 個基因的表達值。這些基因中的許多基因對于給定的 scRNA-seq 數據集不會提供有價值的信息,許多基因將大部分包含零計數。即使在 QC 步驟中過濾掉這些零計數基因后,單細胞數據集的特征空間也可以有超過 15000 個維度。為了減輕下游分析工具的計算負擔,減少數據中的噪聲,并使數據可視化,可以使用幾種方法降低數據集的維數。

Feature selection

scRNA-seq 數據集降維的第一步通常是特征選擇。在此步驟中,將篩選數據集僅保留可提供數據變異性信息的基因。因此,通常使用高度可變基因 (HVG) (Brennecke et al,2013)。根據任務和數據集的復雜性,通常選擇 1,000 至 5,000 個 HVG 用于下游分析(見圖 EV1 和數據集 EV1)。Klein et al (2015) 的初步結果表明,下游分析對 HVG 數量的準確選擇具有穩健性。在 200 到 2400 之間變化 HVGs 數量時,作者報告了 PCA 空間中類似的低維表示。基于這一結果,我們寧愿選擇更高數量的HVGs。

Dimensionality reduction

特征選擇后,單細胞表達矩陣的維數可以通過專門的降維算法進一步降低。這些算法將表達式矩陣嵌入到一個低維空間中,目的是在盡可能少的維度中捕獲數據中的底層結構。這種方法的工作原理是單細胞 RNA-seq 數據本身就是低維的 (Heimberg et al,2016)。換句話說,細胞表達譜所在的生物流形可以用比基因數量少得多的維度來充分描述。降維旨在找出這些維度。

降維方法主要有兩個目標:可視化和提取主要變化。可視化是嘗試以二維或三維的方式對數據集進行最佳描述。這些縮小的尺寸用作散點圖上的坐標,以獲得數據的直觀表示。相反,對于描述數據中存在的變異性,較高的組分變得不太重要。摘要技術可以通過找到數據的固有維數,將數據簡化為其基本組成部分,因此有助于下游分析。雖然 2 維可視化輸出不應用于匯總數據集,但可以使用匯總方法,使用領先的縮減組件對數據進行可視化,專門的可視化技術通常可以更好地表示變異性。

通過特征空間維度(基因表達載體)的線性或非線性組合減少維度。特別是在非線性的情況下,在這個過程中犧牲了降維的可解釋性。一些常用的降維方法的應用示例如圖 4 所示。隨著越來越多的方法可供選擇,詳細回顧這些方法超出了本教程的范圍。我們簡要概述了可能幫助用戶在常用降維方法之間進行選擇的實際考慮。Moon et al (2018) 提供了單細胞分析降維的更詳細綜述。

圖 4. scRNA-seq 數據的常見可視化方法。mhaber et al (2017) 提供的小鼠腸上皮區域數據顯示了前兩個組件:(A) PCA,(B) t-SNE,(C) 擴散圖,(D) UMAP 和 (E) 通過 ForceAtlas 2 的力導向圖布局。根據計數深度對細胞進行染色。(F) 前 31 個主成分 (PC) 解釋的方差。該圖用于選擇相關 PC 分析數據集,位于 PC 5 和 7 之間。

兩種流行的降維技術(主要是總結方法)是主成分分析 (PCA;Pearson,1901) 和擴散圖(diffusion maps )(Coifman 等,2005),Haghverdi 等 (2015) 推廣用于單細胞分析。主成分分析是一種線性方法,通過最大化每個進一步維度中捕獲的殘差來生成降維。盡管 PCA 并不像非線性方法那樣能夠捕獲很少維度的數據結構,但它是目前許多可用的聚類或軌跡推斷分析工具的基礎。PCA 是一種常用的非線性降維預處理方法。通常,PCA 通過其前 N 個主成分匯總數據集,其中 N 可以通過肘部啟發式(見圖 4F)或基于置換測試的 jackstraw 方法(Chung Storey, 2015; Macosko et al, 2015).PCA 的簡單線性的優點是在減少的維空間距離在這個空間的所有區域有一致的解釋。因此,我們可以將感興趣的數量與主成分相關聯來評估它們的重要性。例如,主成分可以投影到技術干擾協變量上,以研究 QC 的性能、數據校正和標準化步驟 (Buttner et al,2019),或顯示基因在數據集中的重要性 (Chung et al,2019)。由于擴散成分強調的是數據中的轉換,它們主要用于連續過程(如差異)感興趣的情況。通常,每個擴散組分(即擴散圖維度)突出顯示不同細胞群的異質性。

Visualization

出于可視化目的,使用非線性降維方法是標準實踐(圖 4)。scRNA-seq 可視化最常用的降維方法是 t 分布隨機鄰域嵌入(t-SNE;van derMaaten & Hinton, 2008)。t-SNE 降維以全局結構為代價來獲取局部相似性。因此,這些可視化可能夸大細胞群體之間的差異,并忽略這些群體之間的潛在聯系。另一個困難是選擇其復雜度參數,因為 t-SNE 圖可能顯示不同數值的簇 (Wattenberg et al,2016)。t-SNE 常用的替代方法是UMAP(預本: McInnes & Healy, 2018) 或者基于圖的工具,如 SPRING (Weinreb et al,2018)。UMAP 和彈簧力導向布局算法 ForceAtlas2 可以說是底層拓撲的最佳近似值(Wolf et al,2019,Supplemental Note 4)。該比較中 UMAP 的不同之處在于其擴展至大量細胞的速度和能力 (Becht et al,2018)。因此,在沒有特殊生物學問題的情況下,我們將 UMAP 視為探索性數據可視化的最佳實踐。而且,UMAP 還可以在兩個以上維度匯總數據。雖然我們不知道 UMAP 在數據匯總中的任何應用,但它可能證明是 PCA 的合適替代方法。

細胞水平上經典可視化的替代方法是基于分區的圖形抽象 (PAGA;Wolf et al,2019)。該工具已被證明可以充分近似數據的拓撲結構,同時使用集群粗粒化可視化。結合上述任何一種可視化方法,PAGA 都會產生粗粒度的可視化,這可以簡化單細胞數據的解釋,尤其是用大量細胞的時候。

問題和建議:
?我們建議根據數據集的復雜性選擇1000到5000個高度可變的基因。
?當基因表達值被歸一化為零均值和單位方差時,或當模型擬合的殘差被歸一化表達值時,不能使用使用基因表達均值和方差的特征選擇方法。因此,在選擇HVGs之前,必須考慮要進行什么預處理。
?應分別考慮降維方法進行總結和可視化。
?我們推薦使用 UMAP 進行探索性可視化;使用 PCA 進行一般性總結;使用擴散圖替代 PCA 進行軌跡推斷總結。
?具有 UMAP 的 PAGA 是可視化特別復雜數據集的合適替代方案。

Stages of pre-processed data

雖然我們已經將 scRNAseq 中常見的預處理步驟概述為上述工作流程,但下游分析通常傾向于采用不同水平的預處理數據,建議根據下游應用調整預處理。為了向新用戶闡明這種情況,我們將預處理劃分為 5 個數據處理階段:

  • (i) 原始數據,
  • (ii) 標準化數據,
  • (iii) 校正數據,
  • (iv) 特征選擇數據,
  • (v) 降維數據。

這些數據處理階段分為三個預處理層:

  • 測量數據、
  • 校正數據和
  • 縮減數據(降維)。

應始終進行細胞和基因 QC,因此從此處省略。而這些處理層的順序代表了 scRNA-seq 分析中的典型工作流程,也可以跳過某個處理層或者在處理階段的順序上有輕微的改變。例如,對于單批數據集,可能不需要進行數據校正。在表 1 中,我們總結了每一層預處理數據的適當下游應用。

表1

表 1 預處理階段分為實測數據、校正數據和縮減數據 3 組。我們將測量數據定義為原始數據和保留零結構的處理數據。通過使用cell特定因子縮放計數數據,全局縮放規范化方法即使在 log (+ 1)轉換之后也保留 0 表達值。相反,糾正不需要的變異性數據替代零表達值。校正后的數據層代表數據的最干凈版本,是基礎生物信號的最接近近似值。我們稱最后的預處理層為縮減數據。該數據層強調數據的主要方面,可以使用簡化的功能集進行描述。

上述特征決定了預處理數據對于特定下游應用的適用性。作為最后的預處理階段,縮減數據將是廣泛適用的數據層的候選。然而,差異表達檢測僅在基因空間中進行生物學解釋,未(完全)用簡化數據表示。約簡數據的作用在于生物學的總結和噪聲的減少,可能掩蓋生物信號。因此,縮減數據用于需要數據總結(可視化、鄰域圖推理、聚類)的探索性方法和計算復雜的下游分析工具(軌跡推理)。的確,許多軌跡推理方法在工具本身中加入了降維過程。

單個基因的表達譜只能在基因空間中進行比較,在測量和校正數據中捕獲。表達譜的比較可以通過可視化和統計學進行。我們認為應該對不同的數據層進行可視化和統計比較。基因表達的目測檢查,校正數據最為合適。如果提供原始數據進行可視化比較,則要求用戶固有地理解數據中的偏倚,以解釋結果,校正數據有助于這種解釋。然而,此處應單獨考慮技術和生物學變量的校正數據。對生物變量的校正可能增加特定生物信號的強度,也將掩蓋可能相關的其他信號。因此,生物校正數據主要適用于關注特定生物過程(如軌跡推理方法)的分析工具。

基因表達的統計學比較在測量數據層上最合適。沒有完美的數據校正方法可用于消噪、批次校正或其他變異來源的校正。因此,數據校正方法不可避免地對數據進行了過高或過低的校正,因此以一種非預期的方式改變了至少一些基因表達譜的方差。基因表達的統計檢驗依賴于評估背景方差,作為數據中噪聲的無效模型。由于數據校正傾向于減少背景變異(圖 EV2),背景變異被數據校正方法過度校正的基因將更可能被評估為顯著差異表達。此外,某些數據校正方法(例如 ComBat)將不符合實驗設計的表達信號解釋為噪聲,隨后從數據中刪除。除了低估噪聲外,這種實驗設計信號的優化會導致高估效應量。鑒于這些考慮,使用測量數據作為輸入,而不是使用校正數據,構成了對差異試驗更保守的方法。使用測量數據,在差異檢驗模型中可以并且應該考慮技術變量。

上述觀點得到了最近一次scRNA-seq差異分析方法比較的支持,該方法僅使用原始數據和規范化數據作為輸入(Soneson & Robinson, 2018)。本研究使用的歸一化數據僅圍繞全局標度方法。然而,目前許多可用的非線性歸一化方法模糊了歸一化和數據校正之間的界限(參見“歸一化”一節)。這種標準化的數據可能不再適合作為差異分析的輸入。

問題和建議:
?使用測量數據(measured data)進行統計檢驗,根據發現的生物數據流形,對數據進行可視化比較時使用修正數據(corrected data ),對其他下游分析時使用簡化數據( reduced data )。

Downstream analysis

預處理后,我們稱之為下游分析的方法被用于提取生物學見解并描述潛在的生物學系統。這些描述是通過擬合數據的可解釋模型獲得的。這些模型的例子是

  • 具有相似基因表達譜的細胞群代表細胞類型簇;
  • 相似細胞之間基因表達的微小變化表示連續(分化)軌跡;
  • 或具有相關表達譜的基因表明其共同調節作用。

下游分析可分為細胞水平和基因水平的方法,如圖 5 所示。細胞水平的分析通常集中于兩種結構的描述:簇和軌跡。這些結構又可以在細胞和基因水平上進行分析,從而形成聚類分析和軌跡分析方法。

圖 5. 下游分析方法概述。方法分為細胞水平和基因水平分析。細胞水平分析方法再次細分為聚類分析和軌跡分析分支,這也包括基因水平分析方法。所有藍色背景的方法都是基因水平的方法。

大體上,聚類分析方法試圖根據細胞的聚類來解釋數據的異質性。相比之下,在軌跡分析中,數據被視為動態過程的快照映射。在這里,我們描述了細胞和基因水平的群集和軌跡分析工具,在詳細描述獨立于這些細胞結構進行的基因水平分析之前。

Cluster analysis

將細胞聚類通常是任何單細胞分析的第一個中間結果,簇允許我們推斷細胞類型。根據細胞基因表達譜的相似性對細胞進行分組,得到細胞簇。通過距離度量來確定表達譜相似性,通常將降維結果作為輸入。相似性評分的一個常見示例是歐幾里德距離,該距離在 PC 縮減的表達空間上計算。目前主要有兩種方法聚類產生細胞簇:聚類算法和社區檢測算法(community detection)。

聚類是一種經典的無監督機器學習方法,直接基于距離矩陣。通過最小化簇內距離或在減少的表達空間中找到致密區域,將細胞分配給 clusers。流行的 k-means 聚類算法通過確定簇中心并將細胞分配到最近的簇中心,迭代優化質心位置,將細胞分為 k 個簇(MacQueen,1967)。這種方法需要輸入預期的簇數量,通常是未知的,必須進行啟發式校準。k-means 應用于單細胞數據的距離指標各不相同。標準歐氏距離的替代方法包括余弦相似性 (Haghverdi et al,2018)、基于相關性的距離度量 (Kim et al,2018) 或 SIMLR 方法,該方法使用高斯核學習每個數據集的距離度量 (Wang et al,2017)。最近的一項比較表明,當使用 k-means或作為高斯核的基礎時,基于相關的距離可能優于其他距離指標 (Kim et al,2018)。

社區檢測方法是圖聚類算法(graph-partitioning algorithms),依賴于單細胞數據的圖表示。這個圖的表示是使用 K 最近鄰方法(KNN 圖)。圖中將細胞表示為節點,每個細胞與其 K 個最相似的細胞相連,這些細胞通常使用歐氏距離在 PC 縮減的表達空間上獲得。根據數據集的大小,K 通常設置在 5 到 100 個最近的鄰居之間。所得圖表獲取了表達數據的基礎拓撲結構 (Wolf et al,2019)。表達空間的密集采樣區域表示為圖的密集連通區域。使用社區檢測方法檢測這些密集區。社區檢測通常比一般的聚類更快,因為只有相鄰的細胞對必須被認為屬于同一個集群。這種方法大大減少了可能群的搜索空間。

在首創表型法(PhenoGraph method) (Levine et al,2015) 后,單細胞數據集的標準聚類方法已成為多分辨率模塊優化(Newman & Girvan,2004;如Louvain算法(Blondel et al, 2008)實現在單細胞KNN圖上。已經成為Scanpy和Seurat單細胞分析平臺中默認聚類的方法。已有研究表明,它在單細胞RNA- seq數據聚類方面優于其他聚類方法(Duo ' et al, 2018;(Freytag et al, 2018)。

從概念上講,Louvain 算法將社區檢測為一組單元,它們之間的鏈接比從單元的總鏈接數預期的要多。優化的模塊功能包含一個解析參數,允許用戶確定集群分區的規模。通過子集 KNN 圖,也可以只對特定的集群進行子集。這樣的子聚類可以允許用戶識別細胞類型聚類內的細胞狀態 (Wagner et al,2016),但也可能導致僅來自數據噪聲的模式。

問題和建議:
?我們建議在單細胞KNN圖上通過Louvain社區檢測進行聚類。
?聚類不需要在單個分辨率下執行。
特定的cell群是關注數據集中更詳細的子結構的有效方法。

Cluster annotation

在基因水平上,通過尋找每個聚類的基因特征對聚類數據進行分析。這些所謂的標記基因(marker genes)表征了該簇,并被用來用一個有意義的生物學標簽來注釋它,該標簽代表細胞簇內細胞的身份。由于任何聚類算法都會產生數據的分區,所以只有成功注釋所代表的生物學才能確定所識別的聚類的有效性。

雖然可以假設在單細胞數據中檢測到的簇代表細胞類型,但有幾個變異軸決定了細胞同一性 (Wagner et al,2016;Clevers et al,2017)。首先,并不總是清楚什么是細胞類型。例如,雖然 T 細胞可能是某些細胞類型的滿意標記,但其他細胞可能在數據集中尋找 T 細胞亞型并區分 CD4 和 CD8 T 細胞 (Wagner et al,2016;Clevers et al,2017)。此外,相同細胞類型的細胞在不同狀態下可在單獨的簇中檢測到。由于上述原因,最好使用術語細胞身份(cell identities)而不是細胞類型(cell types)。在分群和注釋群之前,用戶必須決定哪一級別的注釋細節,從而決定哪一級集群的分辨率。

識別和注釋簇依賴于使用描述單個細胞身份預期表達譜的外部信息來源。感謝最近和正在進行的努力,如小鼠大腦圖譜 (Zeisel et al,2018) 或人類細胞圖譜 (Regev et al, 2017),可用的參考數據庫越來越多。這些數據庫極大地方便了細胞身份注釋。在沒有相關參考數據庫的情況下,可以通過比較數據來源的標記基因與來自文獻的標記基因(見 project github 的案例研究)或直接可視化文獻來源的標記基因的表達值(圖 6B)來注釋細胞身份。應該注意的是,后一種方法將用戶限制在對來源于表達研究的細胞類型的經典理解,而不是細胞身份。此外,研究表明,常用的細胞表面標志物定義細胞特性的能力有限 (Tabula Muris Consortium et al,2018)。

圖 6. Haber (2017) 小鼠腸上皮數據集的聚類分析結果。(A) 由Louvain聚類發現的帶注釋的細胞識別簇,在 UMAP 表示中可視化。(B) 細胞識別標記物表達,以鑒定干細胞 (Slc12a2)、腸細胞 (Arg2)、杯狀細胞 (Tff3) 和潘氏細胞 (Defa24)。從低表達(灰色)到高表達(紅色)可視化校正表達水平。如杯狀細胞和潘氏細胞所示,標記基因也可能在其他細胞同一性群體中表達。近端(上)和遠端(下)腸上皮區域的細胞-同一性組成熱圖。相對高細胞密度顯示為暗紅色。

使用參考數據庫信息注釋集群有兩種方式:使用數據來源的標記基因或使用全基因表達譜。可通過應用兩組之間的差異表達 (DE) 檢驗找到標記基因集:一組中的細胞和數據集中的所有其他細胞(參見差異表達檢驗)。典型的,我們集中在感興趣的簇中上調的基因。由于標記基因預期具有較強的差異表達效應,因此通常使用簡單的統計檢驗,如 Wilcoxon 秩和檢驗或 t 檢驗,通過基因在這兩組之間的表達差異進行排序。將各檢驗統計量中排名靠前的基因視為標記基因。通過富集試驗、Jaccard 指數或其他重疊統計,比較數據集中的標記基因和參考數據集中的標記基因,可對聚類結果進行注釋。引用 web 工具,如www.mousebrain.org(Zeisel et al,2018) 或http://dropviz.org/(Saunders et al,2018) 允許用戶可視化參考數據集中數據集標記基因的表達,以促進細胞識別注釋。

檢測標記基因時應注意兩個方面。首先,標記基因獲得的 P 值基于獲得的細胞簇代表實際生物學過程。如果考慮到聚類的不確定性,在統計檢驗中必須考慮到聚類與標記基因檢測的關系。由于聚類和標記基因通常是基于相同的基因表達數據確定的。DE 檢驗中隱含的無效假設是基因在兩組之間具有相同的表達值分布。然而,由于這兩組是由標記基因檢測中的聚類方法的輸出定義的,它們的基因表達譜在設計上存在差異。因此,即使對 splatter 生成的隨機數據進行聚類,我們也發現了顯著的標記基因 (Zappia et al,2017)(見附錄補充文本 S3)。為了在聚類數據中獲得一個合適的顯著性度量,可以使用置換檢驗來解釋聚類步驟。本試驗在附錄補充文本 S3 中詳細說明。最近的一種差異表達工具也專門解決了這一問題(預印:Zhang et al,2018)。在當前設置下,P 值通常被夸大,這可能導致高估標記基因的數量。然而,基于 P 值的基因排序不受影響。假設聚類有生物學意義,排名靠前的標記基因仍將是最佳標記基因候選。首先,我們可以通過可視化檢查預先驗證標記基因。我們強調,通過無監督的聚類方法,當通過單個基因的表達確定細胞同一性群集時,可以解釋所有其他基因的 P 值。這種單變量的聚類注釋方法雖然常見,但不推薦在特殊情況下使用(例如 β 細胞中的胰島素或紅細胞中的血紅蛋白)。其次,標記基因在數據集中區分一個簇與其他簇,因此不僅依賴于細胞簇,還依賴于數據集組成。如果數據集組成不能準確代表背景基因表達,檢測到的標記基因將偏向于缺失的部分。特別是在計算細胞多樣性較低的數據集的標記基因時,必須考慮這方面。

最近,自動集群注釋已經可用。通過直接將注釋參考簇的基因表達譜與單個細胞進行比較,scmap (Kiselev et al,2018b) 或 Gaett (preprint:Pliner et al,2019) 等工具可以在參考和數據集之間傳輸注釋。因此,這些方法可以同時執行注釋和聚類分群,而不需要數據驅動的聚類。由于細胞類型和狀態組成在實驗條件之間存在差異(Segerstolpe et al,2016;Tanay)基于參考數據的聚類不應取代數據驅動的方法。

聚類、聚類注釋、重新或子聚類和重新注釋的迭代可能是耗時的。自動注釋方法極大地加速了這一過程。然而,自動化和手工方法有其優點和局限性,很難推薦一種方法而不是另一種。速度的提高與靈活性的降低是一致的。如上所述,參考圖譜將不包含與研究數據集完全相同的細胞標識。因此,不應放棄標記基因計算進行手動注釋。特別是對于包含許多集群的大型數據集,目前的最佳實踐是兩種方法的組合。為了提高處理速度,自動化的細胞識別注釋可以用于粗略標記細胞和識別可能的子簇。隨后,應對數據集簇計算標記基因,并與來自參考數據集或文獻的已知標記基因集進行比較。對于較小的數據集和缺少參考圖譜的數據集,手動注釋即可。

問題和建議:
?不要使用標記基因p值來驗證細胞身份群集,特別是當檢測到的標記基因不能幫助注釋群落時。p值可能被夸大。
?請注意,同一細胞識別簇的標記基因在不同數據集之間可能完全由于數據集細胞類型和狀態組成而不同。
?如果存在相關的參考圖集,我們建議使用自動化的集群注釋,并結合基于數據的標記基因的手動注釋來注釋集群。

Compositional analysis

在細胞水平,我們可以根據其組成結構分析聚類數據。成分分析(Compositional analysis
)圍繞著每個細胞同一簇的細胞比例,這些比例可因疾病反應而改變。例如,已證實沙門氏菌感染可增加小鼠腸上皮中腸細胞的比例 (Haber et al,2017)。研究單細胞數據中的組成變化需要足夠的細胞數量來有力地評估細胞-同一簇的比例,以及足夠的樣本數量來評估細胞-同一簇組成中的預期背景變化。由于適當的數據集最近才出現,因此尚未開發專用工具。在上述小鼠研究中,使用泊松過程模擬細胞實體計數,包括條件作為協變量,檢測到的細胞總數作為偏移。此處,可對回歸系數進行統計檢驗,以評估特定細胞鑒別的頻率是否發生顯著變化。然而,相同數據集中其他細胞身份的檢測并不相互獨立。如果一個細胞同一性簇的比例發生變化,所有其他細胞同一性簇的比例也必須發生變化。因此,使用該模型無法評估總體組成是否發生顯著變化。在沒有專用工具的情況下,組成數據的可視化比較可以提供樣品之間組成變化的信息(圖 6C)。該領域的未來發展將可能借用流式細胞計數法(mass cytometry)(如 Tibshirani 等,2002;Arvaniti)或者微生物組文獻 (Gloor et al,2017),其中成分數據分析受到了更多關注。

問題和建議:
?考慮樣本間細胞同一簇比例變化的統計檢驗是相互依賴的。

Trajectory analysis

Trajectory inference

細胞多樣性不能用諸如群集這樣的離散類化系統來充分描述。驅動所觀察到的異質性生物學過程是連續的過程(Tanay & Regev, 2017)。因此,為了捕捉細胞身份、分支分化過程或生物功能中漸進的、不同步的變化,我們需要基因表達的動態模型,這類方法稱為軌跡推斷(TI)。

軌跡推理方法將單細胞數據解釋為連續過程的快照。通過尋找穿過細胞空間的路徑,使相鄰細胞之間的轉錄變化最小化,重建了這一過程(圖 7A 和 B)。細胞的排列順序徑由偽時間(pseudotime)變量描述。雖然該變量與根細胞的轉錄距離有關,但其通常被解釋為發育時間的代表 (Moignard et al,2015;Haghverdi et al,2016;Fischer et al,2018;Griffiths et al,2018)。


圖 7. Haber (2017) 小鼠腸上皮數據的軌跡分析和圖形提取(graph abstraction )。(A) Slingshot 推斷的遠端和近端腸細胞分化軌跡。遠端譜系顯示由紅到藍的偽時間顏色。數據集中的其他cell為灰色。PCA 空間中集群上的彈弓軌跡。細胞簇縮寫如下:EPenterocyte progenitors;Imm,耳鼻喉科。未成熟腸上皮細胞;耳鼻喉科。成熟腸細胞;近端;距離。遠端。(C) 圖 7A 中腸細胞遠端軌跡的密度。顏色代表每個假時間箱中的主導集群標簽。投射到 UMAP 表示的數據集的抽象圖形表示。集群顯示為彩色節點。將出現在其他軌跡中的群集標記為比較。TA 表示轉運擴增細胞。(E) 使用 GAM R 文庫在一般腸細胞軌跡中假時間內的基因表達動態。

自從 Monocle(Trapnell 等,2014)和 Wanderlust(Bendall 等,2014)方法提出以來,可用方法的數量激增。目前可用的 TI 方法在建模路徑的復雜性方面有所不同。模型的范圍從簡單的線性或分叉軌跡,到復雜的圖形、樹或多分支軌跡。在最近的 TI 方法綜合比較中 (Saelens et al,2018),得出的結論是,對于所有類型的軌跡,沒有一種方法的性能最佳。相反,TI 方法應根據預期軌跡的復雜性進行選擇。比較顯示,Slingshot (Street al,2018) 在線性模型、雙叉模型和多分支模型的簡單軌跡方面優于其他方法。如果預期有更復雜的軌跡,作者推薦 PAGA (Wolf et al,2019)。如果確切的軌跡模型已知,也可以使用更專業的方法來改善性能 (Saelens et al,2018)。一般而言,任何推斷的軌跡均應使用替代方法進行確認,以避免方法偏倚。

在典型的工作流中,當有一個內建的降維步驟時,TI 方法被應用于約簡數據或校正數據。由于多個生物過程通常在細胞內同時發生,因此逐步消除其他過程的生物效應可能有助于隔離預期軌跡。例如,T 細胞可能在成熟過程中進行細胞周期轉換 (Buettner et al,2015)。此外,由于一些性能最好的 TI 方法依賴于聚集數據,TI 通常在聚集后進行。推斷軌跡中的聚類可能代表穩定或亞穩態(參見亞穩態;圖 7B 和 C)。隨后,RNA 速度可以疊加到軌跡上,以增加方向性 (La Manno et al,2018)。

推斷軌跡不一定代表生物過程。首先,這些僅表示轉錄相似性。少數 TI 方法包括對其模型中不確定性的評價 (Griffiths et al,2018)。因此,需要更多信息來確認是否確實采集了生物過程。這些信息可以以擾動實驗、推斷調控基因動力學和 RNA 速度支持的形式出現。

問題和建議:
?我們建議以 Saelens et 等人(2018)的綜述為指南。
?推斷的軌跡不一定代表一個生物過程。
應該收集進一步的證據來源來解釋軌跡。

Gene expression dynamics

一種支持推斷軌跡不是擬合轉錄噪聲結果的方法是在基因水平分析軌跡。假時變化平滑的基因表征了軌跡,可用于識別潛在的生物學過程。再者,這組軌跡相關基因有望包含調控建模過程的基因。調節基因幫助我們理解如何以及為什么生物過程被觸發,并代表潛在的藥物靶標 (Gashaw et al,2012)。

雖然早期發現軌跡相關基因的方法涉及沿軌跡在細胞群之間進行 DE 測試 (Haghverdi et al,2016;Alpert et al,2018),但我們現在通過倒退假時基因表達檢測沿軌跡變化的基因。為了使表達沿該協變量平滑變化,通過擬合樣條或通過額外的局部回歸步驟(例如 loess)平滑假時間。回歸框架的噪聲模型假設和用于描述假時間函數表達式的函數類別不同。通過對偽時間依賴基因進行模型選擇,獲得潛在的調控基因。偽時間上的 DE 測試被軌跡推理方法混淆,就像集群之間的 DE 測試被集群方法混淆一樣(參見集群注釋部分)。因此,在該設置中獲得的 P 值不應視為顯著性評價。

目前很少有專門的基因時間動力學工具存在。BEAM 是集成到 Monocle TI 流水線中的工具 (Qiu et al,2017a),允許檢測分支特異性基因動態。在此管道之外,用戶可以選擇 LineagePulse(https://github.com/YosefLab/LineagePulse),它考慮了脫落噪聲,但仍在開發中,或者使用 limma 包 (Ritchie et al,2015) 或標準 R 庫編寫自己的測試框架。可在在線彈弓教程 (Street et al,2018) 和圖 7E 中找到這方面的示例。

由于可用的工具很少,研究基因時間動態的最佳實踐還不能確定。基因動力學的探索性研究當然有可能使用上述所有的方法。高斯過程是研究基因時間動態的一個自然模型。此外,檢測調控模塊而不是單個基因可能會提高信噪比并促進生物學解釋。

Metastable states

軌跡的細胞水平分析研究假時間內的細胞密度。假設細胞以無偏倚的方式被取樣,沿著軌跡的密集區域表明首選轉錄狀態。當把軌跡解釋為一個時間過程時,這些致密區域可能代表亞穩態,例如,發展(Haghverdi 等,2016)。我們可以通過繪制假時間坐標直方圖(圖 7C)找到這些亞穩態。

Cell-level analysis unification

聚類和軌跡推斷代表了單細胞數據的兩種不同觀點。這兩個視圖可以在粗粒度圖表示中進行協調。通過將單細胞簇表示為節點,將簇之間的軌跡表示為邊緣,可以表示數據的靜態和動態性質。這種統一是由基于分割的圖抽象工具提出的(PAGA;圖 7D;Wolf et al,2019)。PAGA 使用一個細胞簇相互作用的統計模型,在細胞簇節點之間放置一個比預期更相似的邊。在最近的綜述中,PAGA 優于其他 TI 方法(Saelens 等,2018)。這是唯一審查的方法能夠應付斷開的拓撲和復雜的圖表包含周期。這個特性使 PAGA 成為一個有用的工具,可以可視化整個數據集的拓撲結構,以便進行探索性分析。

Gene-level analysis

而我們到目前為止主要集中在表征細胞結構的基因水平分析方法,單細胞數據的基因水平分析具有更廣泛的范圍。差異表達檢測、基因集分析和基因調控網絡推斷直接研究數據中的分子信號。這些方法不是描述細胞的異質性,而是使用這種異質性作為理解基因表達的背景。

Differential expression testing

關于表達數據的一個常見問題是,在兩種實驗條件下是否存在差異表達的基因。DE是一個有大量文獻證明的問題,它起源于bulk rna 基因表達分析(Scholtens & von Heydebreck, 2005)。相對于bulk差異測試的一個優點是,我們可以通過在細胞識別簇中執行測試來解釋單細胞環境中的細胞異質性。這種設置告訴我們,在特定的實驗條件下,單個細胞的身份是如何進行轉錄反應的(Kang et al, 2018)。

盡管設計來回答相同的問題,但 bulk 和單細胞 DE 工具在方法上有所不同。雖然開發了bulk 方法以從少量樣本中準確估計基因方差,但單細胞數據不存在此問題。另一方面,單細胞數據包含獨特的技術噪聲偽影,如脫落和高細胞間變異性 (Hicks et al,2017;Vallejos et al,2017)。專門為單細胞數據設計的方法考慮了這些人為因素 (Kharchenko et al,2014;Finak et al,2015)。然而,最近一項大規模的 DE 分析比較研究表明,bulk DE 測試包的性能與性能最好的單細胞工具(Soneson & Robinson, 2018)此外,當通過在測試中引入基因權重使散裝工具適合模擬單細胞數據時,建議這些工具優于其單細胞對應物 (Van den Berge et al,2018)。根據該比較,性能最佳的 DE 分析工具為 DESeq2 (Love et al,2014) 和 EdgeR (Robinson et al,2010),結合 ZINB-wave (Risso et al,2018) 估計的權重。需要包括加權批量 DE 檢測方法的獨立比較研究來確認這些結果。

加權批量 DE 測試的改進性能是以犧牲計算效率為代價的。鑒于單細胞實驗中細胞數量增加的趨勢,算法運行時間正成為方法選擇中越來越重要的考慮因素。因此,single-celltool MAST (Finak et al,2015) 代表了重量bulk DE 工具的有效替代品。MAST 使用柵欄模型來解釋脫落,同時建立依賴于條件和技術協變量的基因表達變化模型。它是上述研究中表現最好的單細胞 DE 測試方法(Soneson & Robin-
son), 并在單個數據集的小規模比較中,表現優于bulk和單細胞方法 (Vieth et al,2017)。雖然 emast 的運行時間比加權批量方法快 10-100 倍 (Van den Berge et al,2018),但使用 limmaCvoom 可實現進一步 10 倍加速 (Law et al,2014)。盡管 limma 是一種bulk rna DE 試驗方法,但 limmaCvoom 已被證明可實現與 MAST 相當的性能。

未校正的實測數據應用于 DE 檢驗,解釋混雜因素對穩健估計差異表達基因至關重要。雖然 DE 測試工具通常允許用戶靈活地加入混雜因素,但用戶必須警惕哪些變量被添加到模型中。例如,在大多數單細胞實驗設置中,樣本和條件協變量被混淆,因為在多種條件下很少可能獲得單個樣本。如果我們將樣本和條件協變量合并到模型中,與這些協變量相關的變異性就不能再明確分配。因此,當檢驗條件時,我們不能將樣本協變量納入給定形式的模型中。當校正多個分類批次協變量時,目測發現混雜的協變量組變得越來越困難。在這種情況下,檢驗模型設計矩陣是否是滿秩的是有幫助的。即使設計矩陣不是完全秩,DE 測試工具也會經常調整矩陣并在沒有輸出警告的情況下運行。這不會產生預期結果。

在我們在此描述的情景中,條件協變量在實驗設置中確定。因此,對該協變量(在同一聚類內)的 DE 檢驗獨立于聚類程序。該設置區分了條件上的 DE 測試和分群上的 DE 測試。在條件下獲得的 DE 檢驗 P 值代表預期的顯著性指標,必須進行多重檢驗校正。為了減少多重檢測負擔,可能不相關的轉錄本可以從數據集中排除。而假基因或非編碼 RNA 可以提供信息 (An et al,2017),它們在分析中往往被忽略。

問題和建議:
?DE測試不應該在校正數據(去噪、批次校正等)上進行,而應該在模型中包含技術協變量的測量數據上進行。
?用戶不應該依賴DE測試工具來糾正帶有混淆的協變量的模型。模型規范應該謹慎執行,以確保完整的設計矩陣。
?我們建議使用MAST或limma進行DE測試。

Gene set analysis

基因水平分析方法通常會產生長長的候選基因列表,難以解釋。例如,數千個基因可能在處理細胞和對照細胞之間差異表達。我們可以根據共享特征將基因分組到集合中,并檢測這些特征是否在候選基因列表中過度表達,從而促進這些結果的解釋。

基因集信息可以在各種應用的精選標簽數據庫中找到。為了解釋 DE 結果,我們通常根據共同的生物學過程對基因進行分組。生物過程標簽存儲在數據庫中,如 MSigDB (Liberzon et al,2011)、Gene Ontology (Ashbuer et al,2000;the Gene Ontology Consortium,2017) 或 pathway 數據庫 KEGG (Kanehisa et al,2017) 和 Reactome (Fabregat et al,2018)。Huang et al (2009) 和 Tarca et al (2013) 回顧并比較了大量工具,可以測試基因列表上注釋的富集。

單細胞分析領域的一個最新進展是利用配對的基因標記進行配體受體分析。這里,細胞簇之間的相互作用是根據受體及其同源配體的表達推斷的。配體受體對標記可以是從最近的 CellPhoneDB 中獲得 (Vento-Tormo et al,2018),并使用統計模型解釋跨集群的高表達基因 (Zepp et al,2017;Zhou et al,2017;Cohen et al,2018;Vento-Tormo et al,2018)。

Gene regulatory networks

基因并不獨立發揮作用。相反,一個基因的表達水平是由與其他基因和小分子的調控相互作用的復雜的相互作用決定的。揭示這些調控相互作用是基因調控網絡 (GRN) 推理方法的目標。

基因調控網絡推斷是基于相關、互信息等基因共表達的測量,或通過回歸模型進行的(Chen & Mar, 2018)。如果兩個基因表現出一種共表達信號,即使考慮到所有其他基因都是潛在的混雜因子,這些基因也被認為具有因果調控關系。推斷基因調控關系與軌跡相關調控基因的檢測有關。事實上,幾種單細胞 GRN 推理方法使用軌跡與差異分析方程模型 (Ocone et al,2015;Matsumoto et al,2017)。

雖然有專門針對scRNA-seq數據開發的GRN推理方法(SCONE: Matsumoto et al, 2017;
PIDC: Chan等人,2017;最近的一項比較顯示,bulk和單細胞方法在這些數據上的表現都很差(Chen & Mar, 2018)。GRN推斷方法仍可能為識別生物過程的因果調節因子提供有價值的見解,但我們建議謹慎使用這些方法。

問題和建議:
?用戶應警惕由此推斷出生物關系中的不確定性。為調控關系而富集的基因模塊比單個更可靠。

Analysis platforms

單細胞分析工作流是獨立開發的工具。為了促進數據在這些工具之間的轉移,圍繞著一致的數據格式開發了單細胞平臺,這些平臺為分析管道的建設提供了依據。當前可用的平臺存在于 R (McCarthy et al,2017;Butler et al,2018) 或 Python (Wolf et al,2018) 的命令行中,并作為本地應用程序 (Patel,2018;preprint:Scholz et al,2018) 或 Web 服務器 (Gardeux et al,2017;Zhu et al,2017) 使用圖形用戶界面 (GUI)。Zhu et al (2017) 和 Zappia et al (2018) 提供了平臺概述。

在命令行平臺中,Scater (McCarthy et al,2017) 和 Seurat (Butler et al,2018) 很容易與 R Bioconductor 項目提供的大量分析工具連接 (Huber et al,2015)。Scater 在 QC 和預處理方面具有特別的優勢,而 Seurat 可以說是最流行和最全面的平臺,它包括了大量的工具和教程。這個小組最近增加了 scanpy (Wolf et al,2018),這是一個不斷增長的基于 python 的平臺,它展示了對大量細胞。它充分利用了越來越多的用 Python 編寫的工具,這些工具在機器學習應用程序中特別流行。

圖形用戶界面平臺使非專業用戶能夠構建單細胞分析工作流程。用戶通常通過規定的工作流程進行指導,以便于分析,但也限制了用戶的靈活性。這些平臺尤其適用于探索性分析。Granatum (Zhu et al,2017) 和 ASAP (Gardeux et al,2017) 等平臺集成的工具不同,Granatum 包括的方法種類更多。作為網絡服務器,這兩個平臺是現成的,但計算基礎設施將限制其擴展到大型數據集的能力。例如,在僅有 92 個細胞的數據集上測試 ASAP。基于 Web 的 GUI 平臺的替代方案是程序包,例如 FASTGenomics(預印:Scholz et al,2018)、iSEE (Rue-Albrecht et al,2018)、IS-CellR (Patel,2018) 和 Granatum(在本地服務器上運行)。這些都是平臺和 GUI 包裝器,可以與本地可用的計算能力進行縮放。未來,人類細胞圖譜門戶網站的持續發展(https://www.humancellatlas.org/data-sharing)將帶來更強大的可視化數據探索工具,可擴展到大的cell數。

Conclusions and outlook

我們回顧了典型的 scRNA-seq 分析工作流程,并展示案例研究教程(httpsfwww.github.com/theislab/single-cell-tutorial)。本教程旨在遵循現有方法確定當前的最佳實踐。雖然聚合單個最佳實踐工具不能保證就是最佳的分析流程,但是我們的工作流程代表了單細胞分析領域最新技術水平的最新概覽。因此,它為新來者提供了進入該領域的合適切入點,并借助人類細胞圖譜的努力,以建立 scRNA-seq 分析的最佳實踐 (preprint:Regev et al,2018)。應當注意的是,現有方法比較必然落后于最新方法開發。因此,我們提到了尚未在可能情況下獨立評估的新發展。隨著未來新的和更好的工具的發展,以及進一步的比較研究,這里提出的個別工具建議將需要更新,但關于數據處理階段的一般考慮應保持不變。

兩個特別感興趣的開發途徑是深度學習工作流和單細胞組學集成,因為它們有可能破壞現有分析流程。由于其向大數據擴展的靈活性,深度學習已經徹底改變了從計算機視覺到自然語言處理的領域,并開始在基因組學中產生強大的影響 (Webb,2018)。scRNA-seq 的首批應用開始從降維到去噪(例如 scVis:Ding et al,2018;scGen:preprint:Lotfollahi et al,2018;DCA:Eraslan et al,2019)。最近,深度學習已被用于產生一個嵌入式工作流,該工作流可擬合數據、消噪并在模型框架內進行聚類和差異表達等下游分析 (scVI:Lopez et al,2018)。在該設置中,可能將噪聲和批效應估計值納入下游統計檢驗中,同時保持數據方差的準確估計值。

隨著單細胞 omic 技術的提高,對集成 omic 分析的需求將逐漸增長(Tanay & Regev, 2017)。未來的單細胞平臺將必須能夠處理不同的數據源,如 DNA 甲基化 (Smallwood et al,2014)、染色質可及性 (Buenrostro et al,2015) 或蛋白質豐度 (Stoeckius et al,2017),并包括整合這些模態的工具。對于這種設置,不再可能只使用單個讀取或計數矩陣,我們將其用作本教程的起點。然而,平臺已經在適應多模態數據結構,以整合 RNA velocity,這是根據未拼接和拼接讀數數據計算的 (La Manno et al,2018)。單細胞多基因整合可以通過一致性聚類方法(SC3)、多基因因素分析 (Argelaguet et al,2018) 或多基因調控網絡推斷 (Colome-tatchen) 來實現。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,283評論 6 530
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 97,947評論 3 413
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,094評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,485評論 1 308
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,268評論 6 405
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,817評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 42,906評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,039評論 0 285
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,551評論 1 331
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,502評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,662評論 1 366
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,188評論 5 356
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 43,907評論 3 345
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,304評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,563評論 1 281
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,255評論 3 389
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,637評論 2 370

推薦閱讀更多精彩內容