`heatmapCodex`: ERROR while rich displaying an object: Error in grid.Call.graphics(C_downvppath, name$path, name$name, strict): Viewport 'Norm. Enrichment -log10(P-adj) [0-Max]_heatmap_body_1_1' was not found
Hello:
projHeme5 <- addArchRAnnotations(ArchRProj = projHeme5,
db = "LOLA",
collection = "Codex")
enrichCodex <- peakAnnoEnrichment(
seMarker = markersPeaks,
ArchRProj = projHeme5,
peakAnnotation = "EncodeTFBS",
cutOff = "FDR <= 0.1 & Log2FC >= 0.5"
)
heatmapCodex <- plotEnrichHeatmap(enrichCodex, n = 7,
transpose = TRUE)
heatmapCodex
How should I solve this problem?
Error in grid.Call.graphics(C_downvppath, name$path, name$name, strict): Viewport 'Norm. Enrichment -log10(P-adj) [0-Max]_heatmap_body_1_1' was not found
Traceback:
1. ComplexHeatmap::draw(heatmapCodex, heatmap_legend_side = "bot",
. annotation_legend_side = "bot")
2. .local(object, ...)
3. draw(ht_list, ...)
4. draw(ht_list, ...)
5. .local(object, ...)
6. grid.draw(p)
7. grid.draw.gTree(p)
8. recordGraphics(drawGTree(x), list(x = x), getNamespace("grid"))
9. drawGTree(x)
10. grid.draw(x$children[[i]], recording = FALSE)
11. grid.draw.grob(x$children[[i]], recording = FALSE)
12. recordGraphics(drawGrob(x), list(x = x), getNamespace("grid"))
13. drawGrob(x)
14. preDraw(x)
15. preDraw.grob(x)
16. pushvpgp(x)
17. pushgrobvp(x$vp)
18. pushgrobvp.vpPath(x$vp)
19. downViewport(vp, strict = TRUE, recording = FALSE)
20. downViewport.vpPath(vp, strict = TRUE, recording = FALSE)
21. grid.Call.graphics(C_downvppath, name$path, name$name, strict)
22. .handleSimpleError(function (cnd)
. {
. watcher$capture_plot_and_output()
. cnd <- sanitize_call(cnd)
. watcher$push(cnd)
. switch(on_error, continue = invokeRestart("eval_continue"),
. stop = invokeRestart("eval_stop"), error = invokeRestart("eval_error",
. cnd))
. }, "Viewport 'Norm. Enrichment -log10(P-adj) [0-Max]_heatmap_body_1_1' was not found",
. base::quote(grid.Call.graphics(C_downvppath, name$path, name$name,
. strict)))
Hi @danli349! Thanks for using ArchR! Lately, it has been very challenging for me to keep up with maintenance of this package and all of my other responsibilities as a PI. I have not been responding to issue posts and I have not been pushing updates to the software. We are actively searching to hire a computational biologist to continue to develop and maintain ArchR and related tools. If you know someone who might be a good fit, please let us know! In the meantime, your issue will likely go without a reply. Most issues with ArchR right not relate to compatibility. Try reverting to R 4.1 and Bioconductor 3.15. Newer versions of Seurat and Matrix also are causing issues. Sorry for not being able to provide active support for this package at this time.
Hi @danli349, I just pushed some changes to release 1.0.3. Can you tell me if you still have these issues with the new changes?
嗨,我刚刚将一些更改推送到 1.0.3 版本。您能告诉我您对新更改是否仍然存在这些问题吗?
hello, I have some questions about ArchR, Q1. ArchR is based on the Cell Ranger 1.0 reagent. After Cell Ranger updates its reagent, the number of fragments obtained increases. Should the corresponding recommended threshold also be raised accordingly? Q2.I want to represent the differences in chromatin accessibility. Do you think it's reasonable to use the GeneScoreMatrix to represent it? Q3.I want to separately represent the differences in chromatin openness in the promoter region. I'd like to use the original PeakMatrix. Could you please provide a relatively good function to normalize the number of fragments for cell types, samples, etc.? I've noticed that the row names of the PeakMatrix are peak information and the column names are barcode information, which makes it rather troublesome to normalize. I think the way that ArchR calls cells first and then calls peaks is superior to that of Signac. I hope you will continue to update ArchR. Sincerely, thank you.
@danli349, have you fixed this error? I'm currently facing the same issue. If you have fixed it, could you please help me solve this error? Thank You
similar error
ComplexHeatmap::draw(heatmapEM, heatmap_legend_side = "bot", annotation_legend_side = "bot")
Error in grid.Call.graphics(C_downvppath, name$path, name$name, strict): Viewport 'Norm. Enrichment -log10(P-adj) [0-Max]_heatmap_body_1_1' was not found Traceback:
- ComplexHeatmap::draw(heatmapEM, heatmap_legend_side = "bot", . annotation_legend_side = "bot")
- .local(object, ...)
- draw(ht_list, ...)
- draw(ht_list, ...)
- .local(object, ...)
- grid.draw(p)
- grid.draw.gTree(p)
- recordGraphics(drawGTree(x), list(x = x), getNamespace("grid"))
- drawGTree(x)
- grid.draw(x$children[[i]], recording = FALSE)
- grid.draw.grob(x$children[[i]], recording = FALSE)
- recordGraphics(drawGrob(x), list(x = x), getNamespace("grid"))
- drawGrob(x)
- preDraw(x)
- preDraw.grob(x)
- pushvpgp(x)
- pushgrobvp(x$vp)
- pushgrobvp.vpPath(x$vp)
- downViewport(vp, strict = TRUE, recording = FALSE)
- downViewport.vpPath(vp, strict = TRUE, recording = FALSE)
- grid.Call.graphics(C_downvppath, name$path, name$name, strict)
- .handleSimpleError(function (cnd) . { . watcher$capture_plot_and_output() . cnd <- sanitize_call(cnd) . watcher$push(cnd) . switch(on_error, continue = invokeRestart("eval_continue"), . stop = invokeRestart("eval_stop"), error = NULL) . }, "Viewport 'Norm. Enrichment -log10(P-adj) [0-Max]_heatmap_body_1_1' was not found", . base::quote(grid.Call.graphics(C_downvppath, name$path, name$name, . strict)))
I think this is an issue that has to do with non-alphanumeric characters in the name of the heatmap. Removing it solves the problem in my case or using the legend title parameter instead of the name parameter.
I think this is an issue that has to do with non-alphanumeric characters in the name of the heatmap. Removing it solves the problem in my case or using the legend title parameter instead of the name parameter.
@eddykay310 You’re exactly right—the error comes from the non-alphanumeric characters in the heat-map’s name field. Strip those characters (or supply the text via legend_title instead of name) and the problem goes away.