-
Notifications
You must be signed in to change notification settings - Fork 152
Description
Hi,
Recently, I used the ArchR package to process my scATAC-seq data and my goal was to investigate the openness dynamics of 27 custom-defined hotspots (not identified by MACS2) during differentiation. To achieve this, I generated pseudotime heatmaps (see attached file 1) and visualized hotspot openness using UMAP embeddings (attached file 2, only show one of the hotspots as an example). However, I observed an inconsistency between the openness changes displayed in the pseudotime heatmaps and those reflected in the UMAP embeddings. Notably, the UMAP embeddings were derived from the TileMatrix rather than the PeakMatrix.
I would greatly appreciate your insights on how to resolve this discrepancy. Attached, you will find the heatmap and UMAP embedding plot for reference.
proj_SC <- addIterativeLSI(
ArchRProj = proj_SC,
useMatrix = "TileMatrix",
name = "IterativeLSI_SC",
)
proj_SC <- addHarmony(
ArchRProj = proj_SC,
reducedDims = "IterativeLSI_SC",
name = "Harmony",
groupBy = "group",
force= TRUE
)
proj_SC <- addClusters(
input = proj_SC,
reducedDims = "Harmony",
method = "Seurat",
name = "Clusters_SC",
resolution = 0.8,
force=TRUE
)
proj_SC <- addUMAP(
ArchRProj = proj_SC,
reducedDims = "Harmony",
name = "UMAP_SC",
force =TRUE
)
hotspot = read.table("Hotspot.bed")
hotspot.gr = GRanges(hotspot[,1],IRanges(hotspot[,2], hotspot[,3]), name=hotspot[,4])
proj_SC <- addPeakSet(proj_SC, peakSet = hotspot.gr, force=TRUE)
proj_SC <- addPeakMatrix(proj_SC)
proj_SC <- addImputeWeights(proj_SC)
trajectory <- c("Self renewing","Quiescent","Activated/Proliferating","Differentiate 1","Differentiate 2")
proj_SC <- addTrajectory(
ArchRProj = proj_SC,
name = "traj",
groupBy = "Clusters_SC",
trajectory = trajectory,
embedding = "UMAP_SC",
force = TRUE
)
traj_hotspot <- getTrajectory(ArchRProj = proj_SC, name = "traj", useMatrix = "PeakMatrix", log2Norm = TRUE,trajectoryLabel = "group")
p4 <- plotTrajectoryHeatmap(traj_hotspot,varCutOff=0, pal = paletteContinuous(set = "solarExtra"),colorColumns=TRUE,columnPal = paletteDiscrete(values = unique(colData(traj_hotspot)$label)))
p <- plotTrajectory(
proj_SC,
trajectory = "traj",
colorBy = "PeakMatrix",
name = "P2",
continuousSet = "horizonExtra",
embedding = "UMAP_SC",
plotAs = "points",
size = 2,
addArrow = FALSE
)