From 7965809c12e90905dd553853543d3b2b17e56d1d Mon Sep 17 00:00:00 2001 From: yun Date: Tue, 23 Jul 2024 01:20:13 +0800 Subject: [PATCH] remove unused `data` --- R/htanno-.R | 5 ++++- R/htanno-gg.R | 20 +++++++++++------- R/htanno-reorder.R | 1 + R/initialize-htanno.R | 9 +++++--- tests/testthat/_snaps/htanno/dendro.png | Bin 6344 -> 6857 bytes .../testthat/_snaps/htanno/dendro_cutree.png | Bin 7352 -> 7858 bytes .../dendro_left_between_group_reorder.png | Bin 7676 -> 8037 bytes .../htanno/dendro_top_between_group.png | Bin 6447 -> 6972 bytes 8 files changed, 23 insertions(+), 12 deletions(-) diff --git a/R/htanno-.R b/R/htanno-.R index 55d1b26e..ccbce764 100644 --- a/R/htanno-.R +++ b/R/htanno-.R @@ -188,7 +188,10 @@ HtannoProto <- ggplot2::ggproto("HtannoProto", # otherwise, they won't be collected. extra_params = character(), setup_params = function(self) .subset2(self, "params"), - setup_data = function(self) .subset2(self, "data"), + + # use `NULL`, if you don't need any data from the heatmap + # use `.subset2(self, "data")` if you want to attach the matrix + setup_data = function(self) NULL, # Following fields should be defined for the new `Htanno` object. # argument name in the function doesn't matter. diff --git a/R/htanno-gg.R b/R/htanno-gg.R index 8e0c8535..02414b5b 100644 --- a/R/htanno-gg.R +++ b/R/htanno-gg.R @@ -44,6 +44,18 @@ gganno_left <- function(...) htanno_gg(position = "left", ...) gganno_right <- function(...) htanno_gg(position = "right", ...) HtannoGG <- ggplot2::ggproto("HtannoGG", HtannoProto, + setup_data = function(self) { + data <- .subset2(self, "data") + # matrix: will be reshaped to the long-format data.frame + # data.frame: won't do any thing special + if (is.matrix(data)) { + data <- melt_matrix(data) + } else { + data <- as_tibble0(data, rownames = ".row_names") + data$.row_index <- seq_len(nrow(data)) + } + data + }, ggplot = function(self, mapping) { ans <- ggplot2::ggplot(mapping = mapping) + ggplot2::theme_bw() @@ -57,14 +69,6 @@ HtannoGG <- ggplot2::ggproto("HtannoGG", HtannoProto, draw = function(self, panels, index) { data <- .subset2(self, "data") axis <- to_coord_axis(.subset2(self, "position")) - # matrix: will be reshaped to the long-format data.frame - # data.frame: won't do any thing special - if (is.matrix(data)) { - data <- melt_matrix(data) - } else { - data <- as_tibble0(data, rownames = ".row_names") - data$.row_index <- seq_len(nrow(data)) - } coords <- data_frame0(.panel = panels[index], .index = index) coords[[paste0(".", axis)]] <- seq_along(index) data <- merge(data, coords, diff --git a/R/htanno-reorder.R b/R/htanno-reorder.R index b9b784be..ee664a4a 100644 --- a/R/htanno-reorder.R +++ b/R/htanno-reorder.R @@ -38,6 +38,7 @@ htanno_reorder <- function(fun = rowMeans, ..., strict = TRUE, } HtannoReorder <- ggplot2::ggproto("HtannoReorder", HtannoProto, + setup_data = function(self) .subset2(self, "data"), compute = function(self, panels, index, fun, fun_params, strict) { data <- .subset2(self, "data") position <- .subset2(self, "position") diff --git a/R/initialize-htanno.R b/R/initialize-htanno.R index 30192207..0f31d34e 100644 --- a/R/initialize-htanno.R +++ b/R/initialize-htanno.R @@ -66,9 +66,12 @@ initialize_htanno_layout <- function(object, heatmap, object_name) { params <- object$setup_params() object$params <- params - # prepare data -------------------------------------- - data <- object$setup_data() - object$data <- data + # rows are observations, this data came from `htanno_setup_data`, which can + # be used to check the axis dimention + data <- .subset2(object, "data") + + # set up data -------------------------------------- + object$data <- object$setup_data() # prepare old layout -------------------------------- old_panels <- slot(heatmap, paste0(axis, "_panels")) diff --git a/tests/testthat/_snaps/htanno/dendro.png b/tests/testthat/_snaps/htanno/dendro.png index 91e52c600b777fdc78c7d116f3055e2bf9ebc99d..d9b27ce137a182284ff7cd93617472f052d0ef10 100644 GIT binary patch literal 6857 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 literal 6344 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 diff --git a/tests/testthat/_snaps/htanno/dendro_cutree.png b/tests/testthat/_snaps/htanno/dendro_cutree.png index 4e63f5d42bfc556b6f4f3f0f6d574ea309a247d1..581a2ef164a48238389d5347dd2263e1b29cfa50 100644 GIT binary patch literal 7858 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 diff --git a/tests/testthat/_snaps/htanno/dendro_top_between_group.png b/tests/testthat/_snaps/htanno/dendro_top_between_group.png index b4745746cc8e1da1065690025679807f123bfbc9..883463aa333e4220ccd4a6018b0e8ce085f55e9a 100644 GIT binary patch literal 6972 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 literal 6447 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 Kt+G1~k^coB{1{jO