single cell ATAC(11)ArchR鉴定标记Peak
第十一章「一句话 + 一张图」速记卡
3 分钟回忆整章内容
一、一句话流程
拿第十章的 PeakMatrix → 用 getMarkerFeatures()
一条函数:既能无监督找 marker peaks,也能做两组差异检验 → 结果一键热图 / MA / 火山 / Browser 可视化。
二、ASCII 流程图
PeakMatrix
│
├─ 无监督(所有细胞类型互比)
│ └─ getMarkerFeatures()
│ ├─ markersPeaks
│ ├─ getMarkers() ──► markerList / GRanges
│ ├─ markerHeatmap()
│ ├─ markerPlot(MA / Volcano)
│ └─ plotBrowserTrack()
│
└─ 有监督(指定 use vs bgd)└─ getMarkerFeatures(useGroups="A", bgdGroups="B")└─ markerTest ──► 同上可视化
三、常用代码模板(复制即用)
通常而言,我们想知道哪些peak是某个聚类或者某一些聚类所特有的。在ArchR中,这可以通过设置addMarkFeatures()函数的useMatrix="PeakMatrix"来实现(无需监督)。
首先,我们需要再看一眼projHeme5中有哪些细胞类型,以及它们的相对比例
11.1 鉴定Marker Peak ASCII 流程图(含中文注释)
------------------------------------------------
projHeme5(ArchR项目)│├─ table(Cluster2) # 1. 查看各细胞类型及占比│├─ getMarkerFeatures() # 2. 无监督鉴定标记Peak│ ├─ useMatrix = "PeakMatrix" # 使用Peak计数矩阵│ ├─ groupBy = "Clusters2" # 按Cluster2分组│ ├─ bias = c("TSSEnrichment","log10(nFrags)") # 校正TSS富集与片段数│ └─ testMethod= "wilcoxon" # 统计检验方法│ ↓│ SummarizedExperiment (markersPeaks) # 3. 返回结果对象│ ││ ├─ getMarkers(cutOff="FDR<=0.01 & Log2FC>=1") # 4a. DataFrame列表│ │ ↓│ ├─ markerList (DataFrame List)│ │ └─ $Erythroid # 提取Erythroid组的标记Peak│ └─ getMarkers(returnGR=TRUE) # 4b. 返回GRangesList│ ↓│ GRangesList│ └─ $Erythroid # 直接用于下游分析(如motif)│
11.2 可视化│├─ markerHeatmap() # 5. 绘制Marker Peak热图│ ├─ seMarker = markersPeaks│ ├─ cutOff = "FDR<=0.1 & Log2FC>=0.5"│ └─ transpose= TRUE # 行列转置│ ↓└─ plotPDF(heatmap, name="Peak-Marker-Heatmap") # 6. 保存PDF
1. 无监督 marker peaks
markers <- getMarkerFeatures(proj, useMatrix="PeakMatrix", groupBy="celltype",bias=c("TSSEnrichment","log10(nFrags)")
)
markerGR <- getMarkers(markers,cutOff="FDR<=0.01 & Log2FC>=1",returnGR=TRUE)
2. 两组差异
diff <- getMarkerFeatures(proj, useMatrix="PeakMatrix", groupBy="celltype",useGroups="A", bgdGroups="B",bias=c("TSSEnrichment","log10(nFrags)"),testMethod="wilcoxon"
)
3. 四连可视化
heatmap <- markerHeatmap(markers,cutOff="FDR<=0.1 & Log2FC>=0.5", transpose=TRUE)
plotPDF(heatmap, name="Peak-Marker-Heatmap")pma <- markerPlot(markers, name="A", plotAs="MA")
pv <- markerPlot(markers, name="A", plotAs="Volcano")
plotPDF(pma, pv, name="A-Markers-MA-Volcano")bt <- plotBrowserTrack(proj, geneSymbol="GATA1",features=markerGR["A"], up=50e3, down=50e3)
grid::grid.draw(bt$GATA1)
plotPDF(bt, name="Browser-With-Markers")
四、关键参数速查
参数 | 作用 |
---|---|
useMatrix="PeakMatrix" | 指定用 peak 级计数 |
bias= | 校正 TSS 富集、测序深度等协变量 |
cutOff= | getMarkers 时同时筛 FDR & Log2FC |
returnGR=TRUE | 输出 GRangesList,直接衔接 motif 分析 |
记住:整章就学“一个函数三种玩法”——
getMarkerFeatures()
玩得溜,marker & 差异 & 可视化全搞定。