系列回顧:
ArchR官網(wǎng)教程學(xué)習(xí)筆記1:Getting Started with ArchR
(一)什么是Doublets?
單細(xì)胞數(shù)據(jù)的一個(gè)主要問題是“doublets”對分析的影響撑毛。doublets是指單個(gè)液滴捕獲了一個(gè)barcoded珠和多于一個(gè)的核书聚。這就導(dǎo)致了從多個(gè)細(xì)胞讀取的reads顯示為單個(gè)細(xì)胞,該細(xì)胞實(shí)際上是兩個(gè)細(xì)胞的平均值藻雌。在本章中雌续,我們將用計(jì)算方法去除這些doublet,并詳細(xì)描述去除doublet的過程胯杭。
(二)ArchR是如何識(shí)別Doublets的驯杜?
在任何平臺(tái)上生成的單細(xì)胞數(shù)據(jù)都容易受到doublets的影響。doublets是指單個(gè)液滴接收一個(gè)barcode珠和一個(gè)以上的核做个。在10x平臺(tái)下鸽心,總“細(xì)胞”中的doublets實(shí)際上與加載到反應(yīng)中的細(xì)胞數(shù)成正比滚局。即使使用標(biāo)準(zhǔn)試劑盒產(chǎn)生的較低水平的doublets,也有超過5%的數(shù)據(jù)可能來自doublets顽频,這對聚類產(chǎn)生了重大影響藤肢。這個(gè)問題在發(fā)育/軌跡數(shù)據(jù)的背景下變得問題會(huì)嚴(yán)重的多,因?yàn)閐oublets看起來像是兩種細(xì)胞類型之間的混合物糯景,這可能會(huì)與中間細(xì)胞類型或細(xì)胞狀態(tài)相混淆嘁圈。
為了預(yù)測哪些“細(xì)胞”實(shí)際上是doublets,我們合成doublets(通過混合成千上萬個(gè)單獨(dú)細(xì)胞組合數(shù)據(jù))蟀淮。然后將這些合成的doublets投射到UMAP中最住,并識(shí)別它們的近鄰。通過數(shù)千次重復(fù)這一過程灭贷,我們可以在數(shù)據(jù)中識(shí)別出和duoblets信號非常相似的“細(xì)胞”温学。
為了開發(fā)和驗(yàn)證ArchR的doublet識(shí)別,我們從10個(gè)基因不同的細(xì)胞系的混合pool中生成了scATAC-seq數(shù)據(jù)甚疟。在scATAC-seq中仗岖,這10個(gè)細(xì)胞系應(yīng)該形成10個(gè)不同的clusters,但當(dāng)我們故意過量增加10xGenomics的scATAC-seq反應(yīng)览妖,每個(gè)反應(yīng)靶標(biāo)25000個(gè)細(xì)胞轧拄,許多的doublets居然消失了。我們知道這些是doublets因?yàn)槲覀冇?demuxlet 來識(shí)別含有來自兩種不同細(xì)胞基因型的液滴讽膏。
在通過計(jì)算去除了doublets后檩电,數(shù)據(jù)結(jié)構(gòu)與我們預(yù)期的是符合的:
(三)代碼操作:去除doublets
默認(rèn)情況下,ArchR使用doublet 參數(shù)府树。我們鼓勵(lì)所有用戶檢查去除前后的數(shù)據(jù)俐末,以了解doublet 去除是如何影響細(xì)胞的。下面我們將展示一些主要的可調(diào)節(jié)的特性奄侠。
在ArchR中卓箫,使用addDoubletScores()
在單個(gè)步驟中執(zhí)行doublets移除。它會(huì)把推斷的doublet分?jǐn)?shù)添加到每個(gè)Arrow file 中垄潮,每個(gè)樣品大概花大約2-5分鐘來處理烹卒。你可以嘗試使用?addDoubletScores
來查看有關(guān)doublets識(shí)別參數(shù)的文檔。
> 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
)
#運(yùn)行的時(shí)候會(huì)彈出很多信息:
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
在上面代碼運(yùn)行后的輸出文件中弯洗,ArchR報(bào)告了每個(gè)Arrow file的UMAP投影的R2值旅急。如果這些R2值非常低(比如小于0.9),這通常表明Arrow file中的細(xì)胞具有很小的異質(zhì)性牡整。這使得doublets calling的準(zhǔn)確性變差了藐吮,因?yàn)榇蠖鄶?shù)的doublets都是“同型的”(homotypic)——或者是帶有兩個(gè)非常相似細(xì)胞的單個(gè)液滴。在這些情況下,我們建議跳過doublets預(yù)測炎码∶顺伲或者赋访,你可以嘗試設(shè)置knnMethod =“LSI”和force = TRUE(在LSI中執(zhí)行投影)浓体。但是牵啦,你應(yīng)該手動(dòng)評估結(jié)果,并確保其如你預(yù)期的那樣執(zhí)行歉闰。
添加doublets分?jǐn)?shù)將在“QualityControl”文件夾中創(chuàng)建plot圖。在每個(gè)樣品文件夾中各有3個(gè)plots(實(shí)際上3個(gè)plot合并到了一個(gè)pdf文件里):
1.Doublet Enrichments - 這些代表了在每個(gè)細(xì)胞附近的模擬doublets的富集程度卓起,與我們的預(yù)期相比和敬。
2.Doublet Scores - 代表了在每個(gè)單細(xì)胞附近模擬的doublets與預(yù)期相比的顯著性(-log10(binomial adjusted p-value)) 。我們發(fā)現(xiàn)這個(gè)值與Doublet Enrichments不一樣戏阅,所以使用Doublet Enrichments來進(jìn)行doublets的鑒定昼弟。
3.Doublet Density - 表示doublets的密度,表示duoblet在二維空間的投影奕筐。
下面是三個(gè)樣品的結(jié)果圖: