Skip to content

Inconsistent results from pseudo-time heatmap and UMAP embedding of peaks #2306

@callmeracle

Description

@callmeracle

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
    )

Trajectory_heatmap_hotspot_clusters.pdf

P2.pdf

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions