使用ArchR分析單細胞ATAC-seq數據(第九章)

本文首發于我的個人博客, http://xuzhougeng.top/

往期回顧:

第9章 ArchR的擬混池重復

因為scATAC-seq數據本質上只有兩種值,也就是說每個位點要么開放要么不開放,所以你會發現某些情況下無法使用單個細胞進行數據分析。此外,許多我們想要做的分析也依賴于重復才能計算統計顯著性。對于單細胞數據,我們通過構建擬混池重復(pseudo-bulk replicates)來解決該問題。所謂的擬混池(pesudo-bulk)指的就是將單細胞進行合并模擬成混池測序的ATAC-seq實驗得到的數據。ArchR為每個目標細胞分組構建多個擬混池樣本,也就得到了擬混池重復。這個模擬過程背后的假設是將單細胞進行合并結果和實際的混池結果非常接近,以至于不需要在乎背后的差異。這些細胞分組通常都是來自于單個細胞類群,或者是一直細胞類型對應的可能聚類。我們這一章會介紹如何使用ArchR生成這些擬混池重復。

9.1 ArchR如何構建擬混池重復

ArchR使用分級優先法(tiered priority approach)構建擬混池重復。使用者定義: i)最小和最大重復數(minReps/maxReps), ii)每個重復的最少和最多細胞數(minCells/maxCells), iii)缺少足夠細胞用于構建足夠重復時的采樣率(Sampling Ratio)。舉個例子,當采樣率等于0.8時,每個重復中80%的細胞來自于無放回抽樣(這會導致重復間出現有放回抽樣)。在這種情況下,多個重復中可能有一些相同的細胞,但是為了能在缺少足夠細胞的分組里得到擬混池重復,這是必要的犧牲。

我們的擬混池重復生成過程可以用如下的決策樹進行描述

pseudobulkReplicate_DecisionTree

流程有些復雜,這里概述下這個流程中的幾個關鍵注意事項。

首先,用戶確定細胞的分組,ArchR通常會稱之為聚類,我們可以在第五章分析分析得到。

其次,對于每一組,ArchR嘗試去創建理想的擬混池重復。所謂理想的擬混池重復,指的是每個重復只有一個樣本構成,這就要求每個樣本得保證足量的細胞數。這樣保證了重復間的樣本多樣性和生物學變異,是ArchR所期望得到的最佳結果,但這一過程實際上會有5種可能的結果,根據ArchR的偏好排序如下

  1. 數據擁有足夠多的樣本(至少要等于maxRep定義的重復),且每個樣本的細胞數都大于 minCell, 于是每個樣本都可以作為擬混池重復,每個重復的細胞都來自于同一個樣本。
  2. 一些樣本的細胞數超過minCell,因此能夠單獨形成一個重復。剩下的重復則是通過將余下的細胞進行混合,然后通過無放回抽樣得到。
  3. 數據里沒有一個樣本的細胞數超過minCell, 但是總細胞數超過minCells * minReps。因此將所有的細胞進行混合,然后進行無放回抽樣,抽樣時不考慮細胞來源。
  4. 一個細胞分組中的總細胞數低于 minCells * minReps,但是大于minCells / Sample Ratio。此時單個樣本的構建采取無放回抽樣,重復間則需要有放回抽樣,降低多個擬混池重復間的相同細胞數。
  5. 一個細胞分組中的總細胞數低于 minCells / Sample Ratio 。這意味著我們必須在單個重復和跨重復中都采取有放回抽樣策略。這是最糟糕的情況,后續在使用這些擬混池重復做下游分析分析要特別小心。后續可以通過設置ArchR的minCells參數進行淘汰。

我們使用如下的數據集闡述這一過程

Sample  Cluster1  Cluster2  Cluster3  Cluster4  Cluster5
A       800       600       900       100       75
B       1000      50        400       150       25
C       600       900       100       200       50
D       1200      500       50        50        25
E       900       100       50        150       50
F       700       200       100       100       25

我們設置的參數為minRep=3,maxRep=5, minCells=300, maxCells=1000sampleRatio=0.8,也就是最少有3個重復,最多是5個重復,每個重復至少有300個細胞,最多是1000個細胞,當細胞數不滿住要求,抽樣率設置為0.8.

9.1.1 Cluster1

對于Cluster1, 我們的6個樣本(大于maxRep)的細胞數都高于minCells(300)。這是最理想的情況,對應上述第一種情況,我們將會得到5個擬混池重復,保證每個重復都來自獨立的樣本。

Rep1 = 800 cells from SampleA
Rep2 = 1000 cells from SampleB
Rep3 = 1000 cells from SampleD
Rep4 = 900 cells from SampleE
Rep5 = 700 cells from SampleF

對于這些重復,我們需要注意兩個事情:(1) 因為我們的樣本數足夠多,能夠保證每個重復都來自獨立的樣本,所以可以淘汰其中細胞數最少的SampleC。(2)由于maxCells設置為1000,因此最多只能有1000個細胞。

9.1.2 Cluster2

對于Cluster2, 我們有3個樣本的細胞數超過minCells, 另外3個樣本的細胞數都不夠。這對應上述第二種情況,我們會以如下的方法構建擬混池重復。

Rep1 = 600 cells from SampleA
Rep2 = 900 cells from SampleC
Rep3 = 500 cells from SampleD
Rep4 = 350 cells [50 cells from SampleB + 100 from SampleE + 200 from SampleF]

在這個例子中,Rep4由其他幾個樣本的細胞混合后通過無放回抽樣得到

9.1.3 Cluster3

對于Cluster3,我們只有兩個樣本超過minCells, 不滿足minReps。但是如果我們將剩余的樣本的細胞進行混合形成額外的重復,它的細胞數就超過了minCells。最終我們得到了3個擬混池重復,對應上述的情況3。我們將得到如下重復

Rep1 = 900 cells from SampleA
Rep2 = 400 cells from SampleB
Rep3 = 250 cells [100 cells from SampleC + 50 from SampleD + 50 from SampleE + 50 from SampleF]

和Cluster2類似,Cluster3的Rep3由其他幾個樣本的細胞混合后通過無放回抽樣得到

9.1.4 Cluster4

對于Cluster4,總細胞數是570個,小于minCells * minReps(900). 在這個情況下,我們無法保證有足夠多的細胞通過無放回抽樣的方式保證每個重復都有最小的細胞數。但是,總的細胞數依舊依舊大于minCells / sampleRatio(375個細胞),這意味著每個重復中細胞可以來自于無放回抽樣,重復之間的細胞需要放回抽樣。這對應著上述的情況4,我們將得到如下重復

Rep1 = 300 cells [250 unique cells + 25 cells overlapping Rep2 + 25 cells overlapping Rep3]
Rep2 = 300 cells [250 unique cells + 25 cells overlapping Rep1 + 25 cells overlapping Rep3]
Rep3 = 300 cells [250 unique cells + 25 cells overlapping Rep1 + 25 cells overlapping Rep2]

在這個情況中,ArchR會盡可能降低任意兩個擬混池重復的相同細胞。

9.1.5 Cluster5

對于Cluster5,總共是250個細胞,同時小于minCells * minReps(900)和minCells / sampleRatio(375). 這意味著每個樣本都需要有放回的抽樣,重復之間也需要有放回抽樣,才能得到擬混池重復。這是上述說到的第5種情況,是其中最糟糕的情況。對于這類擬混池重復,在后續的分析中需要謹慎使用。我們將得到如下的重復:

Rep1 = 300 cells [250 unique cells + 25 cells overlapping Rep2 + 25 cells overlapping Rep3]
Rep2 = 300 cells [250 unique cells + 25 cells overlapping Rep1 + 25 cells overlapping Rep3]
Rep3 = 300 cells [250 unique cells + 25 cells overlapping Rep1 + 25 cells overlapping Rep2]

9.2 構建擬混池重復

通過上一節了解ArchR構建擬混池重復的邏輯后,我們就可以開始實際操作了。在ArchR中,我們通過調用addGroupCoverages()函數來構建擬混池重復。它的關鍵參數groupBy,定義了擬混池重復需要使用的分組。這里我們用的是上一章scRNA-seq數據標記的細胞類型,也就是Cluster2

projHeme4 <- addGroupCoverages(ArchRProj = projHeme3, groupBy = "Clusters2")

得到這些擬混池重復后,我們就能從數據中鑒定peak了。就像之前所說的,我們不希望使用所有的細胞鑒定peak,而是單獨根據每一組細胞(例如聚類)單獨鑒定peak,這樣才有可能分析出不同組的特異性peak。這一章得到數據就為后續鑒定peak提供了良好的開始。

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