scATAC分析神器ArchR初探-簡(jiǎn)介(1)
scATAC分析神器ArchR初探-ArchR進(jìn)行doublet處理(2)
scATAC分析神器ArchR初探-創(chuàng)建ArchRProject(3)
scATAC分析神器ArchR初探-使用ArchR降維(4)
scATAC分析神器ArchR初探--使用ArchR進(jìn)行聚類(5)
scATAC分析神器ArchR初探-單細(xì)胞嵌入(6)
scATAC分析神器ArchR初探-使用ArchR計(jì)算基因活性值和標(biāo)記基因(7)
scATAC分析神器ArchR初探-scRNA-seq確定細(xì)胞類型(8)
scATAC分析神器ArchR初探-ArchR中的偽批次重復(fù)處理(9)
scATAC分析神器ArchR初探-使用ArchR-peak-calling(10)
scATAC分析神器ArchR初探-使用ArchR識(shí)別標(biāo)記峰(11)
scATAC分析神器ArchR初探-使用ArchR進(jìn)行主題和功能豐富(12)
scATAC分析神器ArchR初探-利用ArchR豐富ChromVAR偏差(13)
scATAC分析神器ArchR初探-使用ArchR進(jìn)行足跡(14)
scATAC分析神器ArchR初探-使用ArchR進(jìn)行整合分析(15)
scATAC分析神器ArchR初探-使用ArchR進(jìn)行軌跡分析(16)
4-使用ArchR降維
由于稀疏性姆另,使用scATAC-seq降低尺寸具有挑戰(zhàn)性的數(shù)據(jù)储耐。在scATAC-seq中果元,可以在一個(gè)等位基因(兩個(gè)等位基因或一個(gè)等位基因)上訪問(wèn)特定位點(diǎn)。即使在高質(zhì)量的scATAC-seq數(shù)據(jù)中邻悬,大多數(shù)可訪問(wèn)區(qū)域也不會(huì)轉(zhuǎn)座搏明,這導(dǎo)致許多具有0個(gè)可訪問(wèn)等位基因的基因座省艳。此外,當(dāng)我們?cè)趩蝹€(gè)單元格的單個(gè)峰區(qū)域內(nèi)看到(例如)三個(gè)Tn5插入片段時(shí)颁股,數(shù)據(jù)的稀疏性使我們無(wú)法自信地確定該單元格中的該位點(diǎn)實(shí)際上比只有一個(gè)單元格的另一個(gè)單元格高出三倍在同一站點(diǎn)插入一個(gè)。因此傻丝,許多分析策略都對(duì)二進(jìn)制化的scATAC-seq數(shù)據(jù)矩陣起作用甘有。由于轉(zhuǎn)置很少,因此該二值化矩陣最終仍大部分為0葡缰。然而亏掀,重要的是要注意,scATAC-seq中的0可能表示“不可訪問(wèn)”或“未采樣”泛释,并且從生物學(xué)的角度來(lái)看滤愕,這兩個(gè)推論有很大不同。因此怜校,1具有信息间影,而0沒(méi)有。如此低的信息量是我們的scATAC-seq數(shù)據(jù)的來(lái)源稀疏的茄茁。
如果要在此稀疏插入計(jì)數(shù)矩陣上執(zhí)行標(biāo)準(zhǔn)降維(例如主成分分析)并繪制前兩個(gè)主成分魂贬,則將無(wú)法獲得所需的結(jié)果,因?yàn)橄∈栊詫?dǎo)致所有0都具有較高的小區(qū)間相似度職位胰丁。為了解決這個(gè)問(wèn)題随橘,我們使用分層降維方法喂分。首先锦庸,我們使用潛在語(yǔ)義索引(LSI),這是自然語(yǔ)言處理中的一種方法蒲祈,最初旨在根據(jù)字?jǐn)?shù)評(píng)估文檔的相似性甘萧。該解決方案是為自然語(yǔ)言處理而創(chuàng)建的,因?yàn)閿?shù)據(jù)稀疏且嘈雜(許多不同的單詞和許多低頻單詞)梆掸。LSI由Cusanovich等人首次針對(duì)scATAC-seq引入扬卷。(2015年科學(xué))。對(duì)于scATAC-seq酸钦,不同的樣本是文檔怪得,不同的區(qū)域/峰是單詞。首先卑硫,我們通過(guò)每個(gè)單元的深度歸一化來(lái)計(jì)算頻率項(xiàng)徒恋。然后欢伏,通過(guò)反文檔頻率對(duì)這些值進(jìn)行歸一化入挣,反文檔頻率通過(guò)對(duì)特征進(jìn)行加權(quán)的頻率來(lái)對(duì)特征進(jìn)行加權(quán),以識(shí)別更“特定”而不是通诚跖。可訪問(wèn)的特征径筏。最終的詞頻-反文檔頻率(TF-IDF)矩陣反映了單詞(即區(qū)域/峰值)對(duì)文檔(即樣本)的重要性葛假。然后,通過(guò)一種叫做奇異值分解(SVD)滋恬,最有價(jià)值跨樣本的信息被識(shí)別并在較低維度的空間中表示聊训。LSI使您可以將稀疏插入計(jì)數(shù)矩陣的維數(shù)從數(shù)千減少到數(shù)十或數(shù)百。然后恢氯,可以使用更常規(guī)的降維技術(shù)魔眨,例如均勻流形近似和投影(UMAP)或t分布隨機(jī)鄰居嵌入(t-SNE),將數(shù)據(jù)可視化酿雪。在ArchR中遏暴,這些可視化方法稱為嵌入。
4.1 ArchR的LSI實(shí)現(xiàn)
ArchR實(shí)現(xiàn)了幾種不同的LSI實(shí)現(xiàn)指黎,我們已經(jīng)在多個(gè)不同的測(cè)試數(shù)據(jù)集中對(duì)許多方法進(jìn)行了基準(zhǔn)測(cè)試朋凉。ArchR的默認(rèn)LSI實(shí)現(xiàn)與Timacy Stuart在Signac中引入的方法有關(guān),該方法使用的術(shù)語(yǔ)頻率已被深度歸一化為常數(shù)(10,000)醋安,然后使用反文檔頻率進(jìn)行歸一化杂彭,然后對(duì)結(jié)果矩陣進(jìn)行對(duì)數(shù)轉(zhuǎn)換(aka log(TF-IDF)
)。
降低LSI尺寸的關(guān)鍵輸入之一是起始矩陣吓揪。到目前為止亲怠,scATAC-seq中的兩個(gè)主要策略是(1)使用峰區(qū)域或(2)全基因組圖塊。但是柠辞,將峰區(qū)域用于LSI本身就具有挑戰(zhàn)性团秽,因?yàn)樵诮稻S之前我們沒(méi)有簇或簇特定峰。此外叭首,在聚類之前在聚集的細(xì)胞上調(diào)用峰會(huì)掩蓋特定于細(xì)胞類型的峰习勤。而且,將新樣品添加到實(shí)驗(yàn)中時(shí)焙格,任何聯(lián)合峰集都會(huì)改變图毕,從而使該策略的穩(wěn)定性降低。第二種策略是使用全基因組切片眷唉,通過(guò)使用一致且無(wú)偏的特征集(全基因組切片)來(lái)緩解這些問(wèn)題予颤。但是,所有區(qū)域中所有細(xì)胞的全基因組圖塊矩陣可能會(huì)變得過(guò)大冬阳。為此原因蛤虐,大多數(shù)實(shí)現(xiàn)都使用大于或等于5 KB的小塊。因?yàn)榇蠖鄶?shù)可訪問(wèn)區(qū)域只有幾百個(gè)堿基對(duì)長(zhǎng)摩泪,所以這大大降低了方法的分辨率笆焰。
由于Arrow文件的設(shè)計(jì)方式,ArchR能夠使用全基因組范圍的500 bp切片快速執(zhí)行LSI见坑。這解決了分辨率問(wèn)題嚷掠,并允許在調(diào)用峰之前識(shí)別簇捏检。挑戰(zhàn)在于,500 bp的條帶生成約600萬(wàn)個(gè)特征不皆,并按圖塊矩陣包含在單元中贯城。雖然ArchR可以通過(guò)分塊相關(guān)矩陣將大量數(shù)據(jù)讀取到R中,但我們還實(shí)現(xiàn)了“估計(jì)LSI”方法霹娄,該方法對(duì)所有單元的子集執(zhí)行初始降維能犯。這種估計(jì)的LSI方法具有兩個(gè)主要用途-(i)加快降維速度;(ii)減少初始降維時(shí)使用的單元數(shù)犬耻,這會(huì)降低數(shù)據(jù)的粒度踩晶。粒度的減少可用于您的優(yōu)勢(shì),以減少數(shù)據(jù)中的批量影響枕磁。但是渡蜻,它也可能掩蓋真實(shí)的生物學(xué)信息,因此應(yīng)在密切的人工監(jiān)督下使用估計(jì)的LSI方法计济。
4.2迭代潛在語(yǔ)義索引(LSI)
在scRNA-seq中茸苇,識(shí)別可變基因是計(jì)算降維的常用方法(例如PCA)。這樣做是因?yàn)檫@些高度可變的基因在生物學(xué)上更可能具有重要意義沦寂,并且可以減少實(shí)驗(yàn)噪音学密。在scATAC-seq中,數(shù)據(jù)是二進(jìn)制的传藏,因此您無(wú)法識(shí)別可變峰以降低維數(shù)腻暮。我們沒(méi)有確定最大的峰,而是嘗試使用最易訪問(wèn)的功能作為L(zhǎng)SI的輸入漩氨。但是西壮,運(yùn)行多個(gè)樣品時(shí)的結(jié)果顯示出較高的噪聲水平和低重現(xiàn)性遗增。為了解決這個(gè)問(wèn)題叫惊,我們引入了``迭代LSI''方法(Satpathy *,Granja *等人做修,Nature Biotechnology 2019和Granja *霍狰,Klemm *和McGinnis *等人,Nature Biotechnology 2019)饰及。此方法在最易訪問(wèn)的圖塊上計(jì)算初始LSI轉(zhuǎn)換蔗坯,并標(biāo)識(shí)沒(méi)有批次混淆的較低分辨率的群集。例如燎含,當(dāng)對(duì)外周血單核細(xì)胞進(jìn)行檢測(cè)時(shí)宾濒,這將鑒定出與主要細(xì)胞類型(T細(xì)胞,B細(xì)胞和單核細(xì)胞)相對(duì)應(yīng)的簇屏箍。然后绘梦,ArchR計(jì)算所有要素中所有這些集群的平均可訪問(wèn)性橘忱。然后,ArchR識(shí)別這些群集中變化最大的峰卸奉,并將這些功能再次用于LSI钝诚。在第二次迭代中,變化最大的峰與scRNA-seq LSI實(shí)現(xiàn)中使用的變化基因更加相似榄棵。用戶可以設(shè)置應(yīng)執(zhí)行的LSI迭代次數(shù)凝颇。
要在ArchR中執(zhí)行迭代LSI,我們使用該
addIterativeLSI()
功能疹鳄。默認(rèn)參數(shù)應(yīng)涵蓋大多數(shù)情況拧略,但我們建議您探索可用參數(shù)以及它們各自如何影響您的特定數(shù)據(jù)集。請(qǐng)參閱?addIterativeLSI
以獲取有關(guān)輸入的更多詳細(xì)信息瘪弓。要調(diào)整最常用的參數(shù)是iterations
辑鲤,varFeatures
和resolution
。重要的是要注意杠茬,LSI不是確定性的月褥。這意味著即使您使用完全相同的參數(shù)以完全相同的方式運(yùn)行LSI,也不會(huì)獲得完全相同的結(jié)果瓢喉。當(dāng)然宁赤,它們將高度相似,但不完全相同栓票。因此决左,ArchRProject
一旦確定了理想的尺寸縮減,請(qǐng)確保保存您或相關(guān)的LSI信息走贪。
在本教程中佛猛,我們將創(chuàng)建一個(gè)reducedDims
名為“ IterativeLSI” 的對(duì)象。
projHeme2 <- addIterativeLSI(
ArchRProj = projHeme2,
useMatrix = "TileMatrix",
name = "IterativeLSI",
iterations = 2,
clusterParams = list( #See Seurat::FindClusters
resolution = c(0.2),
sampleCells = 10000,
n.start = 10
),
varFeatures = 25000,
dimsToUse = 1:30
)
如果您在下游看到具有細(xì)微的批處理效果坠狡,則另一個(gè)選擇是添加更多的LSI迭代继找,并從較低的初始群集分辨率開(kāi)始,如下所示逃沿。另外婴渡,可變特征的數(shù)量可以減少以增加對(duì)更多可變特征的關(guān)注。
reducedDims
為了說(shuō)明的目的凯亮,我們將該對(duì)象命名為“ IterativeLSI2”边臼,但我們不會(huì)在下游使用它。
projHeme2 <- addIterativeLSI(
ArchRProj = projHeme2,
useMatrix = "TileMatrix",
name = "IterativeLSI2",
iterations = 4,
clusterParams = list( #See Seurat::FindClusters
resolution = c(0.1, 0.2, 0.4),
sampleCells = 10000,
n.start = 10
),
varFeatures = 15000,
dimsToUse = 1:30
)
4.3估計(jì)的LSI
對(duì)于非常大的scATAC-seq數(shù)據(jù)集假消,ArchR可以估計(jì)帶有LSI投影的LSI維數(shù)減少柠并。此過(guò)程與迭代LSI工作流程相似,但是LSI過(guò)程不同。首先臼予,將隨機(jī)選擇的“地標(biāo)”單元的子集用于LSI降維亿傅。其次,使用從界標(biāo)單元確定的反文檔頻率對(duì)其余單元進(jìn)行TF-IDF歸一化瘟栖。第三葵擎,將這些歸一化的單元投影到由界標(biāo)單元定義的SVD子空間中。這導(dǎo)致了基于一小部分單元的LSI轉(zhuǎn)換半哟,這些單元被用作剩余單元的投影的界標(biāo)酬滤。這種估計(jì)的LSI程序?qū)τ贏rchR是有效的,因?yàn)樵趯⑿聠卧队暗浇鐦?biāo)單元LSI中時(shí) ArchR迭代地從每個(gè)樣本讀取單元寓涨,而LSI將其投影而不將其全部存儲(chǔ)在內(nèi)存中盯串。這種優(yōu)化導(dǎo)致最小的內(nèi)存使用,并進(jìn)一步提高了超大型數(shù)據(jù)集的可伸縮性戒良。重要的是体捏,所需的界標(biāo)集大小取決于數(shù)據(jù)集中不同像元的比例。
addIterativeLSI()通過(guò)設(shè)置sampleCellsFinal和projectCellsPre參數(shù)糯崎,可以通過(guò)功能在ArchR中訪問(wèn)估計(jì)的LSI 几缭。samplesCellsFinal指定界標(biāo)單元格子集的大小,并projectCellsPre告訴ArchR使用此界標(biāo)單元格子集進(jìn)行其余單元格的投影沃呢。
4.4通過(guò)諧波校正批效應(yīng)
有時(shí)年栓,迭代LSI方法不足以解決強(qiáng)批處理差異。因此薄霜,ArchR實(shí)現(xiàn)了一種常用的批處理校正工具Harmony某抓,該工具最初是為scRNA-seq設(shè)計(jì)的。我們提供了一個(gè)包裝器惰瓜,該包裝器會(huì)將降維對(duì)象從ArchR直接傳遞給HarmonyMatrix()
函數(shù)否副。附加參數(shù)可以HarmonyMatrix()
通過(guò)附加參數(shù)(...
)直接傳遞到函數(shù)中。請(qǐng)參閱?addHarmony()
以獲取更多詳細(xì)信息崎坊。用戶應(yīng)了解針對(duì)其特定應(yīng)用的批處理糾正的注意事項(xiàng)备禀。
projHeme2 <- addHarmony(
ArchRProj = projHeme2,
reducedDims = "IterativeLSI",
name = "Harmony",
groupBy = "Sample"
)