scATAC分析神器ArchR初探-簡介(1)
scATAC分析神器ArchR初探-ArchR進行doublet處理(2)
scATAC分析神器ArchR初探-創(chuàng)建ArchRProject(3)
scATAC分析神器ArchR初探-使用ArchR降維(4)
scATAC分析神器ArchR初探--使用ArchR進行聚類(5)
scATAC分析神器ArchR初探-單細胞嵌入(6)
scATAC分析神器ArchR初探-使用ArchR計算基因活性值和標記基因(7)
scATAC分析神器ArchR初探-scRNA-seq確定細胞類型(8)
scATAC分析神器ArchR初探-ArchR中的偽批次重復(fù)處理(9)
scATAC分析神器ArchR初探-使用ArchR-peak-calling(10)
scATAC分析神器ArchR初探-使用ArchR識別標記峰(11)
scATAC分析神器ArchR初探-使用ArchR進行主題和功能豐富(12)
scATAC分析神器ArchR初探-利用ArchR豐富ChromVAR偏差(13)
scATAC分析神器ArchR初探-使用ArchR進行足跡(14)
scATAC分析神器ArchR初探-使用ArchR進行整合分析(15)
scATAC分析神器ArchR初探-使用ArchR進行軌跡分析(16)
14-使用ArchR進行足跡
轉(zhuǎn)錄因子(TF)足跡可以預(yù)測TF在特定位點的精確結(jié)合位置碰酝。這是因為實際上可以保護直接與TF結(jié)合的DNA堿基不易轉(zhuǎn)位,而可以接近與TF結(jié)合緊鄰的DNA堿基镊绪。
理想情況下璧榄,TF足跡在單個位置執(zhí)行言蛇,以確定TF的精確結(jié)合位置钝侠。但是檬嘀,實際上倒彰,這需要很高的測序深度秘症,通常比大多數(shù)用戶從批量或單細胞ATAC序列獲得的測序深度要高得多照卦。為了解決這個問題,我們可以在預(yù)計的TF綁定的許多實例中組合Tn5插入位置乡摹。例如役耕,我們可以獲取所有帶有CTCF基序的峰,并在整個基因組中為CTCF繪制總計的TF足跡聪廉。
該足跡的準確性取決于為感興趣的TF生成可靠的預(yù)測結(jié)合位點清單瞬痘。ArchR addMotifAnnotations()通過在峰區(qū)域中搜索與基序匹配的任何DNA序列,以一種幼稚的方式通過功能實現(xiàn)了此功能板熊。取決于目的基元的簡并性框全,這可能是足夠的,也可能不是足夠的干签。這些基元注釋ArchRProject以每個峰的二進制表示形式添加到中(0 =無基元津辩,1 =存在基元)。有了這些圖案注釋后容劳,ArchR將使用將getFootprints()一個ArchRProject對象和一個GenomicRanges包含圖案位置的對象作為輸入的功能執(zhí)行覆蓋喘沿。這些位置可以ArchRProject通過getPositions()功能從中訪問。然后可以使用plotFootprints() 功能竭贩。
也許最重要的是蚜印,ArchR中的足跡分析分析了已知的Tn5插入序列偏差。為此留量,ArchR在Tn5插入位點使用六聚體位置頻率矩陣和k-mer頻率矩陣:
綜上所述窄赋,該工作流生成的足跡圖考慮了Tn5插入偏差。
ArchR支持主題足跡和用戶提供的功能的自定義足跡楼熄,本章將對這兩者進行討論忆绰。
14.1主題足跡
重要的是,從本教程數(shù)據(jù)生成的足跡并不理想可岂,這是因為教程數(shù)據(jù)集的大小很小错敢。從較大的數(shù)據(jù)集生成的足跡將顯示出更少的變化。
進行覆蓋時青柄,我們要做的第一件事就是獲取相關(guān)圖案的位置伐债。為此,我們調(diào)用getPositions()
函數(shù)致开。該函數(shù)有一個可選參數(shù)name
峰锁,它可以接受peakAnnotation
我們要從中獲取位置的對象的名稱。如果為name = NULL
双戳,則ArchR將使用peakAnnotation
插槽中的第一個條目虹蒋。在下面顯示的示例中,我們未指定name
并且ArchR使用第一個條目即CIS-BP主題飒货。
motifPositions <- getPositions(projHeme5)
這將創(chuàng)建一個GRangesList
對象魄衅,其中每個TF主題都由一個單獨的GRanges
對象表示。
motifPositions
我們可以將其子集GRangesList
化為我們感興趣的幾個TF主題塘辅。由于在搜索“ EBF1”時出現(xiàn)了SREBF1 TF晃虫,因此我們使用%ni%
提供與%in%
base 相對功能的輔助函數(shù)從下面的下游分析中明確刪除了它。R.
motifs <- c("GATA1", "CEBPA", "EBF1", "IRF4", "TBX21", "PAX5")
markerMotifs <- unlist(lapply(motifs, function(x) grep(x, names(motifPositions), value = TRUE)))
markerMotifs <- markerMotifs[markerMotifs %ni% "SREBF1_22"]
markerMotifs
為了準確地描繪TF足跡扣墩,需要進行大量讀取哲银。因此,將單元分組以創(chuàng)建偽批量ATAC-seq配置文件呻惕,然后將其用于TF足跡荆责。這些偽批量配置文件存儲為組覆蓋文件,我們最初在上一章中創(chuàng)建了這些文件以執(zhí)行高峰調(diào)用亚脆。如果您尚未將網(wǎng)上論壇報道添加到中ArchRProject
做院,請立即進行。
projHeme5 <- addGroupCoverages(ArchRProj = projHeme5, groupBy = "Clusters2")
通過計算組覆蓋率濒持,我們現(xiàn)在可以計算先前使用該getFootprints()
功能選擇的標記模體子集的足跡键耕。即使ArchR實現(xiàn)了高度優(yōu)化的足跡工作流程,還是建議對子集而不是所有主題執(zhí)行足跡弥喉。因此郁竟,我們通過positions
參數(shù)將圖案的子集提供給足跡。
seFoot <- getFootprints(
ArchRProj = projHeme5,
positions = motifPositions[markerMotifs],
groupBy = "Clusters2"
)
一旦檢索到這些足跡由境,就可以使用plotFootprints()函數(shù)將其繪制出來棚亩。此功能可以同時以各種方式對足跡進行歸一化。下一部分將討論足跡的標準化和實際繪制虏杰。
14.2 Tn5偏差的足跡歸一化
使用ATAC-seq數(shù)據(jù)進行TF足跡的一個主要挑戰(zhàn)是Tn5轉(zhuǎn)座酶的插入序列偏倚讥蟆,這可能導(dǎo)致TF足跡的錯誤分類。為了解決Tn5插入偏差纺阔,ArchR會識別每個Tn5插入位點周圍的k-mer(用戶定義的長度瘸彤,默認長度6)序列。為了進行此分析笛钝,ArchR會為每個假體識別單堿基分辨率Tn5插入位點质况,將這些1 bp位點的大小調(diào)整為k-bp窗口(插入后為-k / 2和+(k / 2-1)bp)愕宋,然后使用包中的oligonucleotidefrequency(w=k, simplify.as="collapse")
函數(shù)創(chuàng)建一個k-mer頻率表Biostrings
。然后结榄,ArchR使用與BSgenome
相關(guān)的基因組文件中贝。為了計算偽大量足跡的插入偏差,ArchR創(chuàng)建了一個k-mer頻率矩陣臼朗,該矩陣表示為距圖案中心+/- N bp(用戶定義邻寿,默認為250 bp)的窗口上所有可能的k-mer。 视哑。然后绣否,在每個主題位點上迭代,ArchR將定位的k-mers填充到k-mer頻率矩陣中挡毅。然后針對全基因組范圍內(nèi)的每個基序位置進行計算蒜撮。使用樣本的k-mer頻率表,ArchR可以通過將k-mer位置頻率表乘以觀察到/預(yù)期的Tn5 k-mer頻率來計算預(yù)期的Tn5插入慷嗜。
所有這些都發(fā)生在plotFootprints()
功能內(nèi)部淀弹。
14.2.1減去Tn5偏置
一種歸一化方法是從覆蓋信號中減去Tn5偏置。通過normMethod = "Subtract"
調(diào)用時的設(shè)置來執(zhí)行此規(guī)范化plotFootprints()
庆械。
plotFootprints(
seFoot = seFoot,
ArchRProj = projHeme5,
normMethod = "Subtract",
plotName = "Footprints-Subtract-Bias",
addDOC = FALSE,
smoothWindow = 5
)
默認情況下薇溃,這些圖將保存在outputDirectory中ArchRProject。如果您要求繪制所有圖案并將其作為ggplot對象返回缭乘,則該ggplot對象將非常大沐序。偏差減去分析后的圖案足跡示例如下所示。
14.2.2除以Tn5偏差
歸一化的第二種策略是將足跡信號除以Tn5偏置信號堕绩。通過normMethod = "Divide"
調(diào)用時的設(shè)置來執(zhí)行此規(guī)范化plotFootprints()
策幼。
plotFootprints(
seFoot = seFoot,
ArchRProj = projHeme5,
normMethod = "Divide",
plotName = "Footprints-Divide-Bias",
addDOC = FALSE,
smoothWindow = 5
)
下面顯示了來自偏差劃分的分析的圖案足跡示例。
14.2.3 Tn5偏差未歸一化的封裝
雖然我們強烈推薦的Tn5序列插入偏置正火的腳印奴紧,就可以不進行歸通過設(shè)置執(zhí)行足跡normMethod = "None"
的plotFootprints()
功能特姐。
plotFootprints(
seFoot = seFoot,
ArchRProj = projHeme5,
normMethod = "None",
plotName = "Footprints-No-Normalization",
addDOC = FALSE,
smoothWindow = 5
)
沒有歸一化的圖案足跡示例如下所示。
14.3功能足跡
除了覆蓋圖案之外黍氮,ArchR還可以覆蓋任何用戶定義的功能集唐含。為了說明這種功能,我們將使用該plotFootprints()
功能來創(chuàng)建TSS插入配置文件(先前在數(shù)據(jù)質(zhì)量控制部分中介紹過)沫浆。TSS插入配置文件只是占位的特殊子情況捷枯。
如上一部分所述,使用從偽批量復(fù)制中導(dǎo)出的組覆蓋文件來執(zhí)行覆蓋专执。我們最初在上一章中創(chuàng)建了這些函數(shù)以執(zhí)行峰值調(diào)用淮捆。如果您尚未將網(wǎng)上論壇報道添加到中ArchRProject
,請立即進行。
projHeme5 <- addGroupCoverages(ArchRProj = projHeme5, groupBy = "Clusters2")
我們創(chuàng)建的TSS插入配置文件沒有對Tn5偏差進行歸一化攀痊。與我們之前的分析的主要區(qū)別在于桐腌,我們指定flank = 2000
在每個TSS的每一側(cè)將這些足跡擴展2000 bp。
seTSS <- getFootprints(
ArchRProj = projHeme5,
positions = GRangesList(TSS = getTSS(projHeme5)),
groupBy = "Clusters2",
flank = 2000
)
然后苟径,我們可以使用繪制每個細胞組的TSS插入圖plotFootprints()
哩掺。
plotFootprints(
seFoot = seTSS,
ArchRProj = projHeme5,
normMethod = "None",
plotName = "TSS-No-Normalization",
addDOC = FALSE,
flank = 2000,
flankNorm = 100
)