系列回顧:
ArchR官網教程學習筆記1:Getting Started with ArchR
(一)什么是Doublets?
單細胞數據的一個主要問題是“doublets”對分析的影響。doublets是指單個液滴捕獲了一個barcoded珠和多于一個的核。這就導致了從多個細胞讀取的reads顯示為單個細胞,該細胞實際上是兩個細胞的平均值。在本章中,我們將用計算方法去除這些doublet,并詳細描述去除doublet的過程。
(二)ArchR是如何識別Doublets的?
在任何平臺上生成的單細胞數據都容易受到doublets的影響。doublets是指單個液滴接收一個barcode珠和一個以上的核。在10x平臺下,總“細胞”中的doublets實際上與加載到反應中的細胞數成正比。即使使用標準試劑盒產生的較低水平的doublets,也有超過5%的數據可能來自doublets,這對聚類產生了重大影響。這個問題在發(fā)育/軌跡數據的背景下變得問題會嚴重的多,因為doublets看起來像是兩種細胞類型之間的混合物,這可能會與中間細胞類型或細胞狀態(tài)相混淆。
為了預測哪些“細胞”實際上是doublets,我們合成doublets(通過混合成千上萬個單獨細胞組合數據)。然后將這些合成的doublets投射到UMAP中,并識別它們的近鄰。通過數千次重復這一過程,我們可以在數據中識別出和duoblets信號非常相似的“細胞”。

為了開發(fā)和驗證ArchR的doublet識別,我們從10個基因不同的細胞系的混合pool中生成了scATAC-seq數據。在scATAC-seq中,這10個細胞系應該形成10個不同的clusters,但當我們故意過量增加10xGenomics的scATAC-seq反應,每個反應靶標25000個細胞,許多的doublets居然消失了。我們知道這些是doublets因為我們用 demuxlet 來識別含有來自兩種不同細胞基因型的液滴。

在通過計算去除了doublets后,數據結構與我們預期的是符合的:

(三)代碼操作:去除doublets
默認情況下,ArchR使用doublet 參數。我們鼓勵所有用戶檢查去除前后的數據,以了解doublet 去除是如何影響細胞的。下面我們將展示一些主要的可調節(jié)的特性。
在ArchR中,使用addDoubletScores()在單個步驟中執(zhí)行doublets移除。它會把推斷的doublet分數添加到每個Arrow file 中,每個樣品大概花大約2-5分鐘來處理。你可以嘗試使用?addDoubletScores來查看有關doublets識別參數的文檔。
> doubScores <- addDoubletScores(
input = ArrowFiles,
k = 10, #Refers to how many cells near a "pseudo-doublet" to count.
knnMethod = "UMAP", #Refers to the embedding to use for nearest neighbor search with doublet projection.
LSIMethod = 1
)
#運行的時候會彈出很多信息:
ArchR logging to : ArchRLogs\ArchR-addDoubletScores-537c1086681d-Date-2020-11-18_Time-11-36-10.log
If there is an issue, please report to github with logFile!
2020-11-18 11:36:10 : Batch Execution w/ safelapply!, 0 mins elapsed.
2020-11-18 11:36:10 : scATAC_BMMC_R1 (1 of 3) : Computing Doublet Statistics, 0 mins elapsed.
scATAC_BMMC_R1 (1 of 3) : UMAP Projection R^2 = 0.98315
2020-11-18 11:39:13 : scATAC_CD34_BMMC_R1 (2 of 3) : Computing Doublet Statistics, 3.051 mins elapsed.
Biased Clusters : Cluster12
scATAC_CD34_BMMC_R1 (2 of 3) : UMAP Projection R^2 = 0.9736
2020-11-18 11:41:26 : scATAC_PBMC_R1 (3 of 3) : Computing Doublet Statistics, 5.266 mins elapsed.
scATAC_PBMC_R1 (3 of 3) : UMAP Projection R^2 = 0.97657
ArchR logging successful to : ArchRLogs\ArchR-addDoubletScores-537c1086681d-Date-2020-11-18_Time-11-36-10.log
在上面代碼運行后的輸出文件中,ArchR報告了每個Arrow file的UMAP投影的R2值。如果這些R2值非常低(比如小于0.9),這通常表明Arrow file中的細胞具有很小的異質性。這使得doublets calling的準確性變差了,因為大多數的doublets都是“同型的”(homotypic)——或者是帶有兩個非常相似細胞的單個液滴。在這些情況下,我們建議跳過doublets預測。或者,你可以嘗試設置knnMethod =“LSI”和force = TRUE(在LSI中執(zhí)行投影)。但是,你應該手動評估結果,并確保其如你預期的那樣執(zhí)行。
添加doublets分數將在“QualityControl”文件夾中創(chuàng)建plot圖。在每個樣品文件夾中各有3個plots(實際上3個plot合并到了一個pdf文件里):
1.Doublet Enrichments - 這些代表了在每個細胞附近的模擬doublets的富集程度,與我們的預期相比。
2.Doublet Scores - 代表了在每個單細胞附近模擬的doublets與預期相比的顯著性(-log10(binomial adjusted p-value)) 。我們發(fā)現這個值與Doublet Enrichments不一樣,所以使用Doublet Enrichments來進行doublets的鑒定。
3.Doublet Density - 表示doublets的密度,表示duoblet在二維空間的投影。
下面是三個樣品的結果圖:


