From 446de66536abdc39f29905d10c01702500314501 Mon Sep 17 00:00:00 2001 From: stemangiola Date: Thu, 10 Feb 2022 04:02:35 +1100 Subject: [PATCH 1/6] change scale argument and set it to none --- DESCRIPTION | 2 +- R/functions.R | 12 ++++++------ R/methods.R | 38 +++++++++++++++++++++++++++----------- man/heatmap-method.Rd | 15 ++++++++++----- man/input_heatmap.Rd | 4 ++-- 5 files changed, 46 insertions(+), 25 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 1c5bc0a..37b2d67 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: tidyHeatmap Title: A Tidy Implementation of Heatmap -Version: 1.6.0 +Version: 1.7.0 Authors@R: c(person(given = "Stefano", family = "Mangiola", diff --git a/R/functions.R b/R/functions.R index 72580b3..22c22cb 100644 --- a/R/functions.R +++ b/R/functions.R @@ -34,7 +34,7 @@ #' @param .vertical The name of the column vertically presented in the heatmap #' @param .abundance The name of the transcript/gene abundance column #' @param transform A function, used to transform .value, for example log1p -#' @param .scale A character string. Possible values are c(\"none\", \"row\", \"column\", \"both\") +#' @param scale A character string. Possible values are c(\"none\", \"row\", \"column\", \"both\") #' @param palette_value A character vector, or a function for higher customisation (colorRamp2). This is the palette that will be used as gradient for abundance. If palette_value is a vector of hexadecimal colours, it should have 3 values. If you want more customisation, you can pass to palette_value a function, that is derived as for example `colorRamp2(c(-2, 0, 2), palette_value)` #' @param palette_grouping A list of character vectors. This is the list of palettes that will be used for grouping #' @param ... Further arguments to be passed to ComplexHeatmap::Heatmap @@ -53,7 +53,7 @@ input_heatmap = function(.data, .vertical, .abundance, transform = NULL, - .scale = "row", + scale = "none", palette_value = c("#440154FF", "#21908CFF", "#fefada" ), #c(viridis(3)[1:2],"#fefada") palette_grouping = list(), ...) { @@ -105,18 +105,18 @@ input_heatmap = function(.data, ~ (.) ) %>% - # If .scale row + # If scale row when( - .scale %in% c("row", "both") ~ (.) %>% + scale %in% c("row", "both") ~ (.) %>% nest(data = -!!.vertical) %>% mutate(data = map(data, ~ .x %>% mutate(!!.abundance := !!.abundance %>% scale_robust()))) %>% unnest(data), ~ (.) ) %>% - # If .scale column + # If scale column when( - .scale %in% c("column", "both") ~ (.) %>% + scale %in% c("column", "both") ~ (.) %>% nest(data = -!!.horizontal) %>% mutate(data = map(data, ~ .x %>% mutate(!!.abundance := !!.abundance %>% scale_robust()))) %>% unnest(data), diff --git a/R/methods.R b/R/methods.R index 88bb0a1..1c5be9e 100644 --- a/R/methods.R +++ b/R/methods.R @@ -124,7 +124,7 @@ setMethod("show", "InputHeatmap", function(object){ #' @param .column The name of the column horizontally presented in the heatmap #' @param .value The name of the column for the value of the element/feature pair #' @param transform A function, used to transform .value row-wise (e.g., transform = log1p) -#' @param .scale A character string. Possible values are c(\"none\", \"row\", \"column\", \"both\") +#' @param scale A character string. Possible values are c(\"none\", \"row\", \"column\", \"both\") #' @param palette_value A character vector This is the palette that will be used as gradient for .value. For example c("red", "white", "blue"). For higher flexibility you can use circlize::colorRamp2\(c\(-2, -1, 0, 1, 2\), viridis::magma\(5\)\) #' @param palette_grouping A list of character vectors. This is the list of palettes that will be used for grouping. For example list(RColorBrewer::brewer.pal(8, "Accent")) or list(c("#B3E2CD", "#FDCDAC", "#CBD5E8")) or list(c("black", "red")) #' @param ... Further arguments to be passed to ComplexHeatmap::Heatmap @@ -162,7 +162,7 @@ setGeneric("heatmap", function(.data, .column, .value, transform = NULL, - .scale = "row", + scale = "none", palette_value = c("#440154FF", "#21908CFF", "#fefada" ), palette_grouping = list(), @@ -171,6 +171,7 @@ setGeneric("heatmap", function(.data, type = rep("tile", length(quo_names(annotation))), palette_discrete = list(), palette_continuous = list(), + .scale = NULL, ...) standardGeneric("heatmap")) #' Creates a `InputHeatmap` object from `tbl_df` on evaluation creates a `ComplexHeatmap` @@ -187,7 +188,7 @@ heatmap_ <- .column, .value, transform = NULL, - .scale = "row", + scale = "none", palette_value = c("#440154FF", "#21908CFF", "#fefada" ), palette_grouping = list(), @@ -207,17 +208,23 @@ heatmap_ <- # Check if transform is of correct type if(!(is.null(transform) || is_function(transform))) stop("tidyHeatmap says: transform has to be a function. is_function(transform) == TRUE") - # Check if .scale is of correct type - if(.scale %in% c("none", "row", "column", "both") %>% `!`) stop("tidyHeatmap says: the .scale parameter has to be one of c(\"none\", \"row\", \"column\", \"both\")") + # Check if scale is of correct type + if(scale %in% c("none", "row", "column", "both") %>% `!`) stop("tidyHeatmap says: the scale parameter has to be one of c(\"none\", \"row\", \"column\", \"both\")") # Check if type is of the right kind if(type %>% setdiff(names(type_to_annot_function)) %>% length %>% gt(0)) stop("tidyHeatmap says: not all components of `type` parameter are valid.") - # Message about change of style, once per session - if(length(palette_grouping)==0 & getOption("tidyHeatmap_white_group_message",TRUE)) { - message("tidyHeatmap says: (once per session) from release 1.2.3 the grouping labels have white background by default. To add color for one-ay grouping specify palette_grouping = list(c(\"red\", \"blue\"))") - options("tidyHeatmap_white_group_message"=FALSE) + # # Message about change of style, once per session + # if(length(palette_grouping)==0 & getOption("tidyHeatmap_white_group_message",TRUE)) { + # message("tidyHeatmap says: (once per session) from release 1.2.3 the grouping labels have white background by default. To add color for one-ay grouping specify palette_grouping = list(c(\"red\", \"blue\"))") + # options("tidyHeatmap_white_group_message"=FALSE) + # } + + # Message about change of scale, once per session + if(scale == "none" & getOption("tidyHeatmap_default_scaling_none",TRUE)) { + message("tidyHeatmap says: (once per session) from release 1.7.0 the scaling is set to \"none\" by default. Please use scale = \"row\", \"column\" or \"both\" to apply scaling") + options("tidyHeatmap_default_scaling_none"=FALSE) } .row = enquo(.row) @@ -242,13 +249,22 @@ heatmap_ <- annotation = !!annotation, type = type, transform = transform, - .scale = .scale, + scale = scale, palette_value = palette_value, palette_discrete = palette_discrete, palette_continuous = palette_continuous, ... )) } + + # DEPRECATION OF SCALE + if (is_present(.scale)) { + + # Signal the deprecation to the user + deprecate_warn("2.0.0", "tidyHeatmap::heatmap(.scale = )", details = "Please use scale (without dot prefix) instead: heatmap(scale = ...)") + + scale = .scale + } .data %>% @@ -265,7 +281,7 @@ heatmap_ <- .vertical = !!.row, .abundance = !!.value, transform = transform, - .scale = .scale, + scale = scale, palette_value = palette_value, palette_grouping = palette_grouping, ... diff --git a/man/heatmap-method.Rd b/man/heatmap-method.Rd index ab0cc95..3be1548 100644 --- a/man/heatmap-method.Rd +++ b/man/heatmap-method.Rd @@ -14,13 +14,14 @@ heatmap( .column, .value, transform = NULL, - .scale = "row", + scale = "none", palette_value = c("#440154FF", "#21908CFF", "#fefada"), palette_grouping = list(), annotation = NULL, type = rep("tile", length(quo_names(annotation))), palette_discrete = list(), palette_continuous = list(), + .scale = NULL, ... ) @@ -30,7 +31,7 @@ heatmap_( .column, .value, transform = NULL, - .scale = "row", + scale = "none", palette_value = c("#440154FF", "#21908CFF", "#fefada"), palette_grouping = list(), annotation = NULL, @@ -46,13 +47,14 @@ heatmap_( .column, .value, transform = NULL, - .scale = "row", + scale = "none", palette_value = c("#440154FF", "#21908CFF", "#fefada"), palette_grouping = list(), annotation = NULL, type = rep("tile", length(quo_names(annotation))), palette_discrete = list(), palette_continuous = list(), + .scale = NULL, ... ) @@ -62,13 +64,14 @@ heatmap_( .column, .value, transform = NULL, - .scale = "row", + scale = "none", palette_value = c("#440154FF", "#21908CFF", "#fefada"), palette_grouping = list(), annotation = NULL, type = rep("tile", length(quo_names(annotation))), palette_discrete = list(), palette_continuous = list(), + .scale = NULL, ... ) } @@ -83,7 +86,7 @@ heatmap_( \item{transform}{A function, used to transform .value row-wise (e.g., transform = log1p)} -\item{.scale}{A character string. Possible values are c(\"none\", \"row\", \"column\", \"both\")} +\item{scale}{A character string. Possible values are c(\"none\", \"row\", \"column\", \"both\")} \item{palette_value}{A character vector This is the palette that will be used as gradient for .value. For example c("red", "white", "blue"). For higher flexibility you can use circlize::colorRamp2\(c\(-2, -1, 0, 1, 2\), viridis::magma\(5\)\)} @@ -97,6 +100,8 @@ heatmap_( \item{palette_continuous}{DEPRECATED. please use the annotation functions add_* function \(\* one of tile, point, bar, line \).} +\item{.scale}{A character string. Possible values are c(\"none\", \"row\", \"column\", \"both\")} + \item{...}{The arguments that will be passed to the Heatmap function of ComplexHeatmap backend} } \value{ diff --git a/man/input_heatmap.Rd b/man/input_heatmap.Rd index d797f88..991d98d 100644 --- a/man/input_heatmap.Rd +++ b/man/input_heatmap.Rd @@ -10,7 +10,7 @@ input_heatmap( .vertical, .abundance, transform = NULL, - .scale = "row", + scale = "none", palette_value = c("#440154FF", "#21908CFF", "#fefada"), palette_grouping = list(), ... @@ -27,7 +27,7 @@ input_heatmap( \item{transform}{A function, used to transform .value, for example log1p} -\item{.scale}{A character string. Possible values are c(\"none\", \"row\", \"column\", \"both\")} +\item{scale}{A character string. Possible values are c(\"none\", \"row\", \"column\", \"both\")} \item{palette_value}{A character vector, or a function for higher customisation (colorRamp2). This is the palette that will be used as gradient for abundance. If palette_value is a vector of hexadecimal colours, it should have 3 values. If you want more customisation, you can pass to palette_value a function, that is derived as for example `colorRamp2(c(-2, 0, 2), palette_value)`} From 95b2e047a9ee70c9650b738657dc2a22c96175c0 Mon Sep 17 00:00:00 2001 From: stemangiola Date: Thu, 10 Feb 2022 04:58:32 +1100 Subject: [PATCH 2/6] clean all OLD deprecation, because .scale deprecation causes problems with the old famework. Fix tests --- R/methods.R | 50 +- man/heatmap-method.Rd | 27 +- tests/testthat/Rplots.pdf | Bin 3611 -> 3611 bytes .../_snaps/tests/annotated-heatmap-1.svg | 1777 +++++---- .../_snaps/tests/annotated-heatmap-2.svg | 1799 +++++---- tests/testthat/_snaps/tests/base.svg | 1755 ++++----- tests/testthat/_snaps/tests/colorramp2.svg | 1542 ++++---- .../tests/grouped-annotated-heatmap-1.svg | 1757 +++++---- .../tests/grouped-annotated-heatmap-2.svg | 2105 +++++----- .../tests/grouped-custom-color-both.svg | 2130 +++++----- tests/testthat/_snaps/tests/grouped.svg | 1735 ++++---- tests/testthat/_snaps/tests/layer-symbol.svg | 1815 +++++---- tests/testthat/_snaps/tests/legend.svg | 1616 ++++---- tests/testthat/_snaps/tests/multi-type.svg | 2291 ++++++----- .../_snaps/tests/show-heatmap-legend.svg | 1921 ++++----- .../testthat/_snaps/tests/size-annotation.svg | 1616 ++++---- tests/testthat/_snaps/tests/sparse-matrix.svg | 254 +- tests/testthat/_snaps/tests/sparse.svg | 1540 ++++---- tests/testthat/_snaps/tests/split.svg | 1763 +++++---- tests/testthat/_snaps/tests/wrap-heatmap.svg | 3510 ++++++++--------- tests/testthat/tests.R | 21 +- 21 files changed, 15464 insertions(+), 15560 deletions(-) diff --git a/R/methods.R b/R/methods.R index 1c5be9e..00a7a47 100644 --- a/R/methods.R +++ b/R/methods.R @@ -127,12 +127,8 @@ setMethod("show", "InputHeatmap", function(object){ #' @param scale A character string. Possible values are c(\"none\", \"row\", \"column\", \"both\") #' @param palette_value A character vector This is the palette that will be used as gradient for .value. For example c("red", "white", "blue"). For higher flexibility you can use circlize::colorRamp2\(c\(-2, -1, 0, 1, 2\), viridis::magma\(5\)\) #' @param palette_grouping A list of character vectors. This is the list of palettes that will be used for grouping. For example list(RColorBrewer::brewer.pal(8, "Accent")) or list(c("#B3E2CD", "#FDCDAC", "#CBD5E8")) or list(c("black", "red")) -#' @param ... Further arguments to be passed to ComplexHeatmap::Heatmap #' -#' @param annotation DEPRECATED. please use the annotation functions add_* function \(\* one of tile, point, bar, line \). -#' @param type DEPRECATED. please use the annotation functions add_* function \(\* one of tile, point, bar, line \). -#' @param palette_discrete DEPRECATED. please use the annotation functions add_* function \(\* one of tile, point, bar, line \). -#' @param palette_continuous DEPRECATED. please use the annotation functions add_* function \(\* one of tile, point, bar, line \). +#' @param .scale DEPRECATED. please use scale instead \( with no dot prefix \). #' @param ... The arguments that will be passed to the Heatmap function of ComplexHeatmap backend #' #' @details This function takes a tbl as an input and creates a `ComplexHeatmap` plot. The information is stored in a `InputHeatmap` object that is updated along the pipe statement, for example adding annotation layers. @@ -167,10 +163,6 @@ setGeneric("heatmap", function(.data, palette_grouping = list(), # DEPRECATED - annotation = NULL, - type = rep("tile", length(quo_names(annotation))), - palette_discrete = list(), - palette_continuous = list(), .scale = NULL, ...) standardGeneric("heatmap")) @@ -193,28 +185,18 @@ heatmap_ <- palette_grouping = list(), # DEPRECATED - annotation = NULL, - type = rep("tile", length(quo_names(annotation))), - palette_discrete = list(), - palette_continuous = list(), + .scale = NULL, ...) { # Comply with CRAN NOTES . = NULL - # Make col names - annotation = enquo(annotation) - # Check if transform is of correct type if(!(is.null(transform) || is_function(transform))) stop("tidyHeatmap says: transform has to be a function. is_function(transform) == TRUE") # Check if scale is of correct type if(scale %in% c("none", "row", "column", "both") %>% `!`) stop("tidyHeatmap says: the scale parameter has to be one of c(\"none\", \"row\", \"column\", \"both\")") - # Check if type is of the right kind - if(type %>% setdiff(names(type_to_annot_function)) %>% length %>% gt(0)) - stop("tidyHeatmap says: not all components of `type` parameter are valid.") - # # Message about change of style, once per session # if(length(palette_grouping)==0 & getOption("tidyHeatmap_white_group_message",TRUE)) { # message("tidyHeatmap says: (once per session) from release 1.2.3 the grouping labels have white background by default. To add color for one-ay grouping specify palette_grouping = list(c(\"red\", \"blue\"))") @@ -234,38 +216,14 @@ heatmap_ <- # Validation .data %>% validation(!!.column, !!.row, !!.value) - # DEPRECATION OF ANNOTATION - if (is_present(annotation) & !quo_is_null(annotation)) { - - # Signal the deprecation to the user - deprecate_warn("1.1.0", "tidyHeatmap::heatmap(annotation = )", details = "Please use the new annotation framework instead: heatmap(...) %>% add_tile(...) %>% add_point(...) %>% add_bar() %>% add_line() %>% ...") - - # Deal with the deprecated argument for compatibility - return( .data %>% - plot_heatmap( - .horizontal = !!.column, - .vertical = !!.row, - .abundance = !!.value, - annotation = !!annotation, - type = type, - transform = transform, - scale = scale, - palette_value = palette_value, - palette_discrete = palette_discrete, - palette_continuous = palette_continuous, - ... - )) - } - # DEPRECATION OF SCALE - if (is_present(.scale)) { + if (is_present(.scale) && !is.null(.scale)) { # Signal the deprecation to the user - deprecate_warn("2.0.0", "tidyHeatmap::heatmap(.scale = )", details = "Please use scale (without dot prefix) instead: heatmap(scale = ...)") + deprecate_warn("1.7.0", "tidyHeatmap::heatmap(.scale = )", details = "Please use scale (without dot prefix) instead: heatmap(scale = ...)") scale = .scale } - .data %>% diff --git a/man/heatmap-method.Rd b/man/heatmap-method.Rd index 3be1548..b052180 100644 --- a/man/heatmap-method.Rd +++ b/man/heatmap-method.Rd @@ -17,10 +17,6 @@ heatmap( scale = "none", palette_value = c("#440154FF", "#21908CFF", "#fefada"), palette_grouping = list(), - annotation = NULL, - type = rep("tile", length(quo_names(annotation))), - palette_discrete = list(), - palette_continuous = list(), .scale = NULL, ... ) @@ -34,10 +30,7 @@ heatmap_( scale = "none", palette_value = c("#440154FF", "#21908CFF", "#fefada"), palette_grouping = list(), - annotation = NULL, - type = rep("tile", length(quo_names(annotation))), - palette_discrete = list(), - palette_continuous = list(), + .scale = NULL, ... ) @@ -50,10 +43,6 @@ heatmap_( scale = "none", palette_value = c("#440154FF", "#21908CFF", "#fefada"), palette_grouping = list(), - annotation = NULL, - type = rep("tile", length(quo_names(annotation))), - palette_discrete = list(), - palette_continuous = list(), .scale = NULL, ... ) @@ -67,10 +56,6 @@ heatmap_( scale = "none", palette_value = c("#440154FF", "#21908CFF", "#fefada"), palette_grouping = list(), - annotation = NULL, - type = rep("tile", length(quo_names(annotation))), - palette_discrete = list(), - palette_continuous = list(), .scale = NULL, ... ) @@ -92,15 +77,7 @@ heatmap_( \item{palette_grouping}{A list of character vectors. This is the list of palettes that will be used for grouping. For example list(RColorBrewer::brewer.pal(8, "Accent")) or list(c("#B3E2CD", "#FDCDAC", "#CBD5E8")) or list(c("black", "red"))} -\item{annotation}{DEPRECATED. please use the annotation functions add_* function \(\* one of tile, point, bar, line \).} - -\item{type}{DEPRECATED. please use the annotation functions add_* function \(\* one of tile, point, bar, line \).} - -\item{palette_discrete}{DEPRECATED. please use the annotation functions add_* function \(\* one of tile, point, bar, line \).} - -\item{palette_continuous}{DEPRECATED. please use the annotation functions add_* function \(\* one of tile, point, bar, line \).} - -\item{.scale}{A character string. Possible values are c(\"none\", \"row\", \"column\", \"both\")} +\item{.scale}{DEPRECATED. please use scale instead \( with no dot prefix \).} \item{...}{The arguments that will be passed to the Heatmap function of ComplexHeatmap backend} } diff --git a/tests/testthat/Rplots.pdf b/tests/testthat/Rplots.pdf index 6b4e8ace890b7265edcc20d5db34a241221fde69..57a7fbf12cc97e4be9ca93c2ddc56aeca0fe263b 100644 GIT binary patch delta 48 wcmbO&Gh1eYnW~YYfq{vssj;ypm%eX)ic4Zis)B}#m63rF5W(a&Mjzk>05Gf!eE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UBR symbol_ct - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -M_CHPT1 -F_C5 -E_EPHA6 -E_DCN -T_LIF -T_NOTCH3 -T_PDGFD -F_CXCL14 -M_CD47 -F_VWF -M_ANGPT2 -M_VWF -T_PRG4 -E_CPA3 -M_MDK -F_GPER1 -M_PLOD3 -M_SERPINE1 -E_CHI3L1 -F_ADAMTS13 -E_COL3A1 -M_HEG1 -M_CAV1 -T_PROK2 -F_CXCL10 -M_ADAM12 -M_ITGA4 -M_ITGB8 -E_ORM1 -F_C1QA -F_C1QB -M_FN1 -M_SEMA3E -M_MEGF8 -M_PRKD1 -E_SPINK5 -T_HYAL1 -T_MFAP4 -M_SEMA6A -F_FGFR2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +M_CD47 +F_CXCL14 +F_CXCL10 +M_CHPT1 +E_SPINK5 +F_C1QB +F_C1QA +E_ORM1 +M_FN1 +M_SEMA3E +M_MEGF8 +M_PRKD1 +T_HYAL1 +T_MFAP4 +F_VWF +M_SEMA6A +F_FGFR2 +M_HEG1 +M_CAV1 +M_ITGA4 +F_C5 +M_ITGB8 +M_PLOD3 +M_SERPINE1 +E_COL3A1 +E_CHI3L1 +F_ADAMTS13 +T_PROK2 +E_EPHA6 +T_PDGFD +T_NOTCH3 +M_VWF +M_ANGPT2 +E_CPA3 +T_PRG4 +M_MDK +F_GPER1 +T_LIF +E_DCN +M_ADAM12 11420 -11405 -11438 -11437 -11452 -11444 +11438 +11405 +11427 +11450 +11467 11433 -11425 -11427 -11453 -11458 -11450 -11467 +11453 +11458 +11437 +11452 +11444 +11425 - - - - - + + + + + - - - - - - + + + + + + CAPRA_TOTAL read count normalised log --2 -0 -2 -4 +0 +5 +10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + - - + CAPRA_TOTAL 0 diff --git a/tests/testthat/_snaps/tests/annotated-heatmap-2.svg b/tests/testthat/_snaps/tests/annotated-heatmap-2.svg index da0fec2..d9f0443 100644 --- a/tests/testthat/_snaps/tests/annotated-heatmap-2.svg +++ b/tests/testthat/_snaps/tests/annotated-heatmap-2.svg @@ -19,924 +19,923 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UBR symbol_ct - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -M_CHPT1 -F_C5 -E_EPHA6 -E_DCN -T_LIF -T_NOTCH3 -T_PDGFD -F_CXCL14 -M_CD47 -F_VWF -M_ANGPT2 -M_VWF -T_PRG4 -E_CPA3 -M_MDK -F_GPER1 -M_PLOD3 -M_SERPINE1 -E_CHI3L1 -F_ADAMTS13 -E_COL3A1 -M_HEG1 -M_CAV1 -T_PROK2 -F_CXCL10 -M_ADAM12 -M_ITGA4 -M_ITGB8 -E_ORM1 -F_C1QA -F_C1QB -M_FN1 -M_SEMA3E -M_MEGF8 -M_PRKD1 -E_SPINK5 -T_HYAL1 -T_MFAP4 -M_SEMA6A -F_FGFR2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +M_CD47 +F_CXCL14 +F_CXCL10 +M_CHPT1 +E_SPINK5 +F_C1QB +F_C1QA +E_ORM1 +M_FN1 +M_SEMA3E +M_MEGF8 +M_PRKD1 +T_HYAL1 +T_MFAP4 +F_VWF +M_SEMA6A +F_FGFR2 +M_HEG1 +M_CAV1 +M_ITGA4 +F_C5 +M_ITGB8 +M_PLOD3 +M_SERPINE1 +E_COL3A1 +E_CHI3L1 +F_ADAMTS13 +T_PROK2 +E_EPHA6 +T_PDGFD +T_NOTCH3 +M_VWF +M_ANGPT2 +E_CPA3 +T_PRG4 +M_MDK +F_GPER1 +T_LIF +E_DCN +M_ADAM12 11420 -11405 -11438 -11437 -11452 -11444 +11438 +11405 +11427 +11450 +11467 11433 -11425 -11427 -11453 -11458 -11450 -11467 +11453 +11458 +11437 +11452 +11444 +11425 - - - - - + + + + + - - - - - - + + + + + + a - - - - - + + + + + - - - - - - + + + + + + CAPRA_TOTAL read count normalised log --2 -0 -2 -4 +0 +5 +10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + - - + a -10 diff --git a/tests/testthat/_snaps/tests/base.svg b/tests/testthat/_snaps/tests/base.svg index 63af24f..ec1089d 100644 --- a/tests/testthat/_snaps/tests/base.svg +++ b/tests/testthat/_snaps/tests/base.svg @@ -19,896 +19,895 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UBR symbol_ct - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -M_CHPT1 -F_C5 -E_EPHA6 -E_DCN -T_LIF -T_NOTCH3 -T_PDGFD -F_CXCL14 -M_CD47 -F_VWF -M_ANGPT2 -M_VWF -T_PRG4 -E_CPA3 -M_MDK -F_GPER1 -M_PLOD3 -M_SERPINE1 -E_CHI3L1 -F_ADAMTS13 -E_COL3A1 -M_HEG1 -M_CAV1 -T_PROK2 -F_CXCL10 -M_ADAM12 -M_ITGA4 -M_ITGB8 -E_ORM1 -F_C1QA -F_C1QB -M_FN1 -M_SEMA3E -M_MEGF8 -M_PRKD1 -E_SPINK5 -T_HYAL1 -T_MFAP4 -M_SEMA6A -F_FGFR2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +M_CD47 +F_CXCL14 +F_CXCL10 +M_CHPT1 +E_SPINK5 +F_C1QB +F_C1QA +E_ORM1 +M_FN1 +M_SEMA3E +M_MEGF8 +M_PRKD1 +T_HYAL1 +T_MFAP4 +F_VWF +M_SEMA6A +F_FGFR2 +M_HEG1 +M_CAV1 +M_ITGA4 +F_C5 +M_ITGB8 +M_PLOD3 +M_SERPINE1 +E_COL3A1 +E_CHI3L1 +F_ADAMTS13 +T_PROK2 +E_EPHA6 +T_PDGFD +T_NOTCH3 +M_VWF +M_ANGPT2 +E_CPA3 +T_PRG4 +M_MDK +F_GPER1 +T_LIF +E_DCN +M_ADAM12 11420 -11405 -11438 -11437 -11452 -11444 +11438 +11405 +11427 +11450 +11467 11433 -11425 -11427 -11453 -11458 -11450 -11467 +11453 +11458 +11437 +11452 +11444 +11425 read count normalised log --2 -0 -2 -4 +0 +5 +10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + - - + diff --git a/tests/testthat/_snaps/tests/colorramp2.svg b/tests/testthat/_snaps/tests/colorramp2.svg index 7879368..742fe2e 100644 --- a/tests/testthat/_snaps/tests/colorramp2.svg +++ b/tests/testthat/_snaps/tests/colorramp2.svg @@ -19,785 +19,785 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + UBR symbol_ct - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -M_CHPT1 -F_C5 -E_EPHA6 -E_DCN -T_LIF -T_NOTCH3 -T_PDGFD -F_CXCL14 -M_CD47 -F_VWF -M_ANGPT2 -M_VWF -T_PRG4 -E_CPA3 -M_MDK -F_GPER1 -M_PLOD3 -M_SERPINE1 -E_CHI3L1 -F_ADAMTS13 -E_COL3A1 -M_HEG1 -M_CAV1 -T_PROK2 -F_CXCL10 -M_ADAM12 -M_ITGA4 -M_ITGB8 -E_ORM1 -F_C1QA -F_C1QB -M_FN1 -M_SEMA3E -M_MEGF8 -M_PRKD1 -E_SPINK5 -T_HYAL1 -T_MFAP4 -M_SEMA6A -F_FGFR2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +M_CD47 +F_CXCL14 +F_CXCL10 +M_CHPT1 +E_SPINK5 +F_C1QB +F_C1QA +E_ORM1 +M_FN1 +M_SEMA3E +M_MEGF8 +M_PRKD1 +T_HYAL1 +T_MFAP4 +F_VWF +M_SEMA6A +F_FGFR2 +M_HEG1 +M_CAV1 +M_ITGA4 +F_C5 +M_ITGB8 +M_PLOD3 +M_SERPINE1 +E_COL3A1 +E_CHI3L1 +F_ADAMTS13 +T_PROK2 +E_EPHA6 +T_PDGFD +T_NOTCH3 +M_VWF +M_ANGPT2 +E_CPA3 +T_PRG4 +M_MDK +F_GPER1 +T_LIF +E_DCN +M_ADAM12 11420 -11405 -11438 -11437 -11452 -11444 +11438 +11405 +11427 +11450 +11467 11433 -11425 -11427 -11453 -11458 -11450 -11467 +11453 +11458 +11437 +11452 +11444 +11425 read count normalised log -2 -1 diff --git a/tests/testthat/_snaps/tests/grouped-annotated-heatmap-1.svg b/tests/testthat/_snaps/tests/grouped-annotated-heatmap-1.svg index 67ee1d1..970fedb 100644 --- a/tests/testthat/_snaps/tests/grouped-annotated-heatmap-1.svg +++ b/tests/testthat/_snaps/tests/grouped-annotated-heatmap-1.svg @@ -19,786 +19,786 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UBR symbol_ct - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -E_ORM1 -E_SPINK5 -E_DCN -E_EPHA6 -E_CPA3 -E_CHI3L1 -E_COL3A1 -F_VWF -F_FGFR2 -F_C1QA -F_C1QB -F_C5 -F_CXCL14 -F_GPER1 -F_ADAMTS13 -F_CXCL10 -M_ANGPT2 -M_VWF -M_MDK -M_PLOD3 -M_SERPINE1 -M_HEG1 -M_CAV1 -M_CHPT1 -M_CD47 -M_ADAM12 -M_ITGA4 -M_ITGB8 -M_SEMA3E -M_MEGF8 -M_PRKD1 -M_FN1 -M_SEMA6A -T_PRG4 -T_LIF -T_PROK2 -T_NOTCH3 -T_PDGFD -T_HYAL1 -T_MFAP4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +E_SPINK5 +E_ORM1 +E_EPHA6 +E_DCN +E_CHI3L1 +E_COL3A1 +E_CPA3 +F_CXCL14 +F_CXCL10 +F_C1QB +F_C1QA +F_VWF +F_C5 +F_ADAMTS13 +F_GPER1 +F_FGFR2 +M_CD47 +M_CHPT1 +M_SEMA6A +M_FN1 +M_SEMA3E +M_MEGF8 +M_PRKD1 +M_HEG1 +M_CAV1 +M_PLOD3 +M_SERPINE1 +M_ITGA4 +M_ITGB8 +M_ANGPT2 +M_VWF +M_MDK +M_ADAM12 +T_PROK2 +T_PDGFD +T_NOTCH3 +T_LIF +T_PRG4 +T_MFAP4 +T_HYAL1 11420 -11405 -11438 -11437 -11452 -11444 +11438 +11405 +11427 +11450 +11467 11433 -11425 -11427 -11453 -11458 -11450 -11467 +11453 +11458 +11437 +11452 +11444 +11425 - - - - - + + + + + - - - - - - + + + + + + CAPRA_TOTAL E @@ -809,116 +809,115 @@ T read count normalised log --2 -0 -2 -4 +0 +5 +10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + - - + CAPRA_TOTAL 0 diff --git a/tests/testthat/_snaps/tests/grouped-annotated-heatmap-2.svg b/tests/testthat/_snaps/tests/grouped-annotated-heatmap-2.svg index a3390fa..778ed1e 100644 --- a/tests/testthat/_snaps/tests/grouped-annotated-heatmap-2.svg +++ b/tests/testthat/_snaps/tests/grouped-annotated-heatmap-2.svg @@ -19,976 +19,976 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sample symbol - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Cyp9b1 -comm3 -twz -CG16713 -CG8500 -Hml -CG32407 -CG3168 -Sox100B -CG9782 -Prx2540-1 -CG30116 -CG34330 -NimC2 -CG14625 -snoRNA:Psi28S-3342 -Cht6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Hml +Ant2 +CG3168 +CG8500 +CG32407 +CG9119 +LpR2 +NimC4 +firl +CG1124 +CG34330 +Sox100B +Pgant9 +CG9503 +Cyp6w1 +CG5895 +CG5418 SP1173 -Pgant9 -Cyp6w1 -CG9119 -CG9503 -Tsp68C -firl -CG1124 -LpR2 -Ant2 -NimC4 -CG5418 -CG5895 +NimC2 +twz +comm3 +Prx2540-1 +CG16713 +CG9782 +CG30116 +CG14625 +Cyp9b1 +snoRNA:Psi28S-3342 +CG8785 +Tsp68C dpr9 -Pvf1 -CG8785 -Glut1 -Slob -snoRNA:Or-CD8 -CG10013 -CG6356 -Pkd2 -CG12880 -ppk10 -CG31909 -Kaz-m1 -stet -Ama -nemy -Src64B -Sema2a -Npc2b -bou -CG32335 -CR33318 -Acbp2 -gas -CG1544 -Picot -SPARC -Rgk1 -TwdlU -CG3770 -Kal1 -sesB -MtnA -CG15695 -TwdlF -Cyt-b5-r -CG12116 -CG9164 -CAHbeta -mthl6 -CG18128 -Pde6 +Cht6 +Pvf1 +SPARC +sesB +Kal1 +CG3770 +Ama +Src64B +Sema2a +CG15695 +CG1544 +Cyt-b5-r +gas +Rgk1 +MtnA +Picot +CG12116 +nemy +Npc2b +bou +CAHbeta +TwdlU +Pde6 +stet +CG6356 +CG32335 +CG12880 +mthl6 +CG9164 +CG18128 +Acbp2 +snoRNA:Or-CD8 +CR33318 +CG31909 +Kaz-m1 +CG10013 +TwdlF +Pkd2 +ppk10 +Glut1 +Slob untreated4 untreated3 treated3 treated2 -treated1 +untreated1 untreated2 -untreated1 +treated1 paired-end single-read - - + + condition Intracellular - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - + + Secretory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + activation activation -2 @@ -1106,119 +1106,116 @@ count normalised adjusted --2 --1 -0 -1 -2 - - - - - +0 +20000 +40000 +60000 + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + - - - + + condition treated diff --git a/tests/testthat/_snaps/tests/grouped-custom-color-both.svg b/tests/testthat/_snaps/tests/grouped-custom-color-both.svg index a86b939..bb0d401 100644 --- a/tests/testthat/_snaps/tests/grouped-custom-color-both.svg +++ b/tests/testthat/_snaps/tests/grouped-custom-color-both.svg @@ -19,978 +19,979 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sample symbol - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Cyp9b1 -comm3 -twz -CG16713 -CG8500 -Hml -CG32407 -CG3168 -Sox100B -CG9782 -Prx2540-1 -CG30116 -CG34330 -NimC2 -CG14625 -snoRNA:Psi28S-3342 -Cht6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Hml +Ant2 +CG3168 +CG8500 +CG32407 +CG9119 +LpR2 +NimC4 +firl +CG1124 +CG34330 +Sox100B +Pgant9 +CG9503 +Cyp6w1 +CG5895 +CG5418 SP1173 -Pgant9 -Cyp6w1 -CG9119 -CG9503 -Tsp68C -firl -CG1124 -LpR2 -Ant2 -NimC4 -CG5418 -CG5895 +NimC2 +twz +comm3 +Prx2540-1 +CG16713 +CG9782 +CG30116 +CG14625 +Cyp9b1 +snoRNA:Psi28S-3342 +CG8785 +Tsp68C dpr9 -Pvf1 -CG8785 -Glut1 -Slob -snoRNA:Or-CD8 -CG10013 -CG6356 -Pkd2 -CG12880 -ppk10 -CG31909 -Kaz-m1 -stet -Ama -nemy -Src64B -Sema2a -Npc2b -bou -CG32335 -CR33318 -Acbp2 -gas -CG1544 -Picot -SPARC -Rgk1 -TwdlU -CG3770 -Kal1 -sesB -MtnA -CG15695 -TwdlF -Cyt-b5-r -CG12116 -CG9164 -CAHbeta -mthl6 -CG18128 -Pde6 -treated1 -treated3 -treated2 -untreated3 -untreated4 -untreated2 -untreated1 - - +Cht6 +Pvf1 +SPARC +sesB +Kal1 +CG3770 +Ama +Src64B +Sema2a +CG15695 +CG1544 +Cyt-b5-r +gas +Rgk1 +MtnA +Picot +CG12116 +nemy +Npc2b +bou +CAHbeta +TwdlU +Pde6 +stet +CG6356 +CG32335 +CG12880 +mthl6 +CG9164 +CG18128 +Acbp2 +snoRNA:Or-CD8 +CR33318 +CG31909 +Kaz-m1 +CG10013 +TwdlF +Pkd2 +ppk10 +Glut1 +Slob +untreated4 +untreated3 +untreated1 +untreated2 +treated3 +treated2 +treated1 + + condition - - - + + + + type Intracellular - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - + + Secretory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + activation activation -2 @@ -1108,119 +1109,116 @@ count normalised adjusted --2 --1 -0 -1 -2 - - - - - +0 +20000 +40000 +60000 + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + - - - + + condition treated diff --git a/tests/testthat/_snaps/tests/grouped.svg b/tests/testthat/_snaps/tests/grouped.svg index 2ab3330..99b8b67 100644 --- a/tests/testthat/_snaps/tests/grouped.svg +++ b/tests/testthat/_snaps/tests/grouped.svg @@ -19,773 +19,773 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UBR symbol_ct - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -E_ORM1 -E_SPINK5 -E_DCN -E_EPHA6 -E_CPA3 -E_CHI3L1 -E_COL3A1 -F_VWF -F_FGFR2 -F_C1QA -F_C1QB -F_C5 -F_CXCL14 -F_GPER1 -F_ADAMTS13 -F_CXCL10 -M_ANGPT2 -M_VWF -M_MDK -M_PLOD3 -M_SERPINE1 -M_HEG1 -M_CAV1 -M_CHPT1 -M_CD47 -M_ADAM12 -M_ITGA4 -M_ITGB8 -M_SEMA3E -M_MEGF8 -M_PRKD1 -M_FN1 -M_SEMA6A -T_PRG4 -T_LIF -T_PROK2 -T_NOTCH3 -T_PDGFD -T_HYAL1 -T_MFAP4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +E_SPINK5 +E_ORM1 +E_EPHA6 +E_DCN +E_CHI3L1 +E_COL3A1 +E_CPA3 +F_CXCL14 +F_CXCL10 +F_C1QB +F_C1QA +F_VWF +F_C5 +F_ADAMTS13 +F_GPER1 +F_FGFR2 +M_CD47 +M_CHPT1 +M_SEMA6A +M_FN1 +M_SEMA3E +M_MEGF8 +M_PRKD1 +M_HEG1 +M_CAV1 +M_PLOD3 +M_SERPINE1 +M_ITGA4 +M_ITGB8 +M_ANGPT2 +M_VWF +M_MDK +M_ADAM12 +T_PROK2 +T_PDGFD +T_NOTCH3 +T_LIF +T_PRG4 +T_MFAP4 +T_HYAL1 11420 -11405 -11438 -11437 -11452 -11444 +11438 +11405 +11427 +11450 +11467 11433 -11425 -11427 -11453 -11458 -11450 -11467 +11453 +11458 +11437 +11452 +11444 +11425 E @@ -795,116 +795,115 @@ T read count normalised log --2 -0 -2 -4 +0 +5 +10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + - - + diff --git a/tests/testthat/_snaps/tests/layer-symbol.svg b/tests/testthat/_snaps/tests/layer-symbol.svg index 671a2c0..9304226 100644 --- a/tests/testthat/_snaps/tests/layer-symbol.svg +++ b/tests/testthat/_snaps/tests/layer-symbol.svg @@ -19,926 +19,925 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UBR symbol_ct - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -M_CHPT1 -F_C5 -E_EPHA6 -E_DCN -T_LIF -T_NOTCH3 -T_PDGFD -F_CXCL14 -M_CD47 -F_VWF -M_ANGPT2 -M_VWF -T_PRG4 -E_CPA3 -M_MDK -F_GPER1 -M_PLOD3 -M_SERPINE1 -E_CHI3L1 -F_ADAMTS13 -E_COL3A1 -M_HEG1 -M_CAV1 -T_PROK2 -F_CXCL10 -M_ADAM12 -M_ITGA4 -M_ITGB8 -E_ORM1 -F_C1QA -F_C1QB -M_FN1 -M_SEMA3E -M_MEGF8 -M_PRKD1 -E_SPINK5 -T_HYAL1 -T_MFAP4 -M_SEMA6A -F_FGFR2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +M_CD47 +F_CXCL14 +F_CXCL10 +M_CHPT1 +E_SPINK5 +F_C1QB +F_C1QA +E_ORM1 +M_FN1 +M_SEMA3E +M_MEGF8 +M_PRKD1 +T_HYAL1 +T_MFAP4 +F_VWF +M_SEMA6A +F_FGFR2 +M_HEG1 +M_CAV1 +M_ITGA4 +F_C5 +M_ITGB8 +M_PLOD3 +M_SERPINE1 +E_COL3A1 +E_CHI3L1 +F_ADAMTS13 +T_PROK2 +E_EPHA6 +T_PDGFD +T_NOTCH3 +M_VWF +M_ANGPT2 +E_CPA3 +T_PRG4 +M_MDK +F_GPER1 +T_LIF +E_DCN +M_ADAM12 11420 -11405 -11438 -11437 -11452 -11444 +11438 +11405 +11427 +11450 +11467 11433 -11425 -11427 -11453 -11458 -11450 -11467 +11453 +11458 +11437 +11452 +11444 +11425 read count normalised log --2 -0 -2 -4 +0 +5 +10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + - - + diff --git a/tests/testthat/_snaps/tests/legend.svg b/tests/testthat/_snaps/tests/legend.svg index e4d1a37..1669b7c 100644 --- a/tests/testthat/_snaps/tests/legend.svg +++ b/tests/testthat/_snaps/tests/legend.svg @@ -19,826 +19,826 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UBR symbol_ct - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -M_CHPT1 -F_C5 -E_EPHA6 -E_DCN -T_LIF -T_NOTCH3 -T_PDGFD -F_CXCL14 -M_CD47 -F_VWF -M_ANGPT2 -M_VWF -T_PRG4 -E_CPA3 -M_MDK -F_GPER1 -M_PLOD3 -M_SERPINE1 -E_CHI3L1 -F_ADAMTS13 -E_COL3A1 -M_HEG1 -M_CAV1 -T_PROK2 -F_CXCL10 -M_ADAM12 -M_ITGA4 -M_ITGB8 -E_ORM1 -F_C1QA -F_C1QB -M_FN1 -M_SEMA3E -M_MEGF8 -M_PRKD1 -E_SPINK5 -T_HYAL1 -T_MFAP4 -M_SEMA6A -F_FGFR2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +M_CD47 +F_CXCL14 +F_CXCL10 +M_CHPT1 +E_SPINK5 +F_C1QB +F_C1QA +E_ORM1 +M_FN1 +M_SEMA3E +M_MEGF8 +M_PRKD1 +T_HYAL1 +T_MFAP4 +F_VWF +M_SEMA6A +F_FGFR2 +M_HEG1 +M_CAV1 +M_ITGA4 +F_C5 +M_ITGB8 +M_PLOD3 +M_SERPINE1 +E_COL3A1 +E_CHI3L1 +F_ADAMTS13 +T_PROK2 +E_EPHA6 +T_PDGFD +T_NOTCH3 +M_VWF +M_ANGPT2 +E_CPA3 +T_PRG4 +M_MDK +F_GPER1 +T_LIF +E_DCN +M_ADAM12 11420 -11405 -11438 -11437 -11452 -11444 +11438 +11405 +11427 +11450 +11467 11433 -11425 -11427 -11453 -11458 -11450 -11467 +11453 +11458 +11437 +11452 +11444 +11425 - - - - - + + + + + - - - - - - + + + + + + UBR - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - + + + + + + + + + Cell type diff --git a/tests/testthat/_snaps/tests/multi-type.svg b/tests/testthat/_snaps/tests/multi-type.svg index 353b2bf..3bff3c7 100644 --- a/tests/testthat/_snaps/tests/multi-type.svg +++ b/tests/testthat/_snaps/tests/multi-type.svg @@ -19,909 +19,909 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sample symbol - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Acbp2 -CG30116 -Prx2540-1 -CG16713 -CG8500 -TwdlF -CG34330 -CG3770 -Kal1 -sesB -MtnA -CG15695 -gas -CG3168 -SPARC -Rgk1 -Hml -CG1544 -CG32407 -Picot -TwdlU -Sox100B -CG9782 -comm3 -twz -NimC2 -CG14625 -Cyt-b5-r -CG12116 -CG9164 -CAHbeta -Cyp9b1 -mthl6 -CG18128 -Pde6 -Glut1 -Slob -snoRNA:Psi28S-3342 -snoRNA:Or-CD8 -stet -LpR2 -Ant2 -firl -Ama -NimC4 -Tsp68C -CG1124 -Kaz-m1 -SP1173 -nemy -Src64B -Sema2a -Pgant9 -Cyp6w1 -CG9119 -CG9503 -CG10013 -CG6356 -CG5418 -ppk10 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +SPARC +sesB +Hml +Ant2 +Kal1 +CG3770 +CG3168 +Ama +Src64B +CG9119 +Sema2a +LpR2 +Cyt-b5-r +CG15695 +CG1544 +CG8500 +gas +CG32407 +Rgk1 +MtnA +Picot +CG12116 +NimC4 +firl +CG1124 +nemy +Npc2b +bou +Pgant9 +CG9503 +stet +Cyp6w1 +CG34330 +Sox100B +CAHbeta +TwdlU +Pde6 +NimC2 +twz +mthl6 +CG5895 +SP1173 +CG32335 +CG5418 +CG6356 +CG12880 +CG9164 +CG18128 +comm3 +Acbp2 +CG16713 +CG9782 +Prx2540-1 +CG8785 +Tsp68C +dpr9 +CR33318 +Cht6 +snoRNA:Or-CD8 +snoRNA:Psi28S-3342 CG31909 -Pkd2 -CG12880 -Pvf1 -CG8785 -CG5895 -dpr9 -Npc2b -bou -CG32335 -Cht6 -CR33318 -treated1 -treated3 -treated2 -untreated3 -untreated4 -untreated2 -untreated1 - - +Kaz-m1 +CG10013 +Pkd2 +ppk10 +Pvf1 +Glut1 +Slob +TwdlF +CG30116 +CG14625 +Cyp9b1 +untreated4 +untreated3 +untreated1 +untreated2 +treated3 +treated2 +treated1 + + condition - - - - - - - + + + + + + + @@ -931,7 +931,7 @@ 4 size - + @@ -941,78 +941,78 @@ 200 age - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + @@ -1024,78 +1024,78 @@ 1 activation - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + act act -2 @@ -1213,119 +1213,116 @@ count normalised adjusted --2 --1 -0 -1 -2 - - - - - +0 +20000 +40000 +60000 + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + - - - + + condition treated diff --git a/tests/testthat/_snaps/tests/show-heatmap-legend.svg b/tests/testthat/_snaps/tests/show-heatmap-legend.svg index 91e11f2..744bfcd 100644 --- a/tests/testthat/_snaps/tests/show-heatmap-legend.svg +++ b/tests/testthat/_snaps/tests/show-heatmap-legend.svg @@ -19,978 +19,979 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sample symbol - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Cyp9b1 -comm3 -twz -CG16713 -CG8500 -Hml -CG32407 -CG3168 -Sox100B -CG9782 -Prx2540-1 -CG30116 -CG34330 -NimC2 -CG14625 -snoRNA:Psi28S-3342 -Cht6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Hml +Ant2 +CG3168 +CG8500 +CG32407 +CG9119 +LpR2 +NimC4 +firl +CG1124 +CG34330 +Sox100B +Pgant9 +CG9503 +Cyp6w1 +CG5895 +CG5418 SP1173 -Pgant9 -Cyp6w1 -CG9119 -CG9503 -Tsp68C -firl -CG1124 -LpR2 -Ant2 -NimC4 -CG5418 -CG5895 +NimC2 +twz +comm3 +Prx2540-1 +CG16713 +CG9782 +CG30116 +CG14625 +Cyp9b1 +snoRNA:Psi28S-3342 +CG8785 +Tsp68C dpr9 -Pvf1 -CG8785 -Glut1 -Slob -snoRNA:Or-CD8 -CG10013 -CG6356 -Pkd2 -CG12880 -ppk10 -CG31909 -Kaz-m1 -stet -Ama -nemy -Src64B -Sema2a -Npc2b -bou -CG32335 -CR33318 -Acbp2 -gas -CG1544 -Picot -SPARC -Rgk1 -TwdlU -CG3770 -Kal1 -sesB -MtnA -CG15695 -TwdlF -Cyt-b5-r -CG12116 -CG9164 -CAHbeta -mthl6 -CG18128 -Pde6 -treated1 -treated3 -treated2 -untreated3 -untreated4 -untreated2 -untreated1 - - +Cht6 +Pvf1 +SPARC +sesB +Kal1 +CG3770 +Ama +Src64B +Sema2a +CG15695 +CG1544 +Cyt-b5-r +gas +Rgk1 +MtnA +Picot +CG12116 +nemy +Npc2b +bou +CAHbeta +TwdlU +Pde6 +stet +CG6356 +CG32335 +CG12880 +mthl6 +CG9164 +CG18128 +Acbp2 +snoRNA:Or-CD8 +CR33318 +CG31909 +Kaz-m1 +CG10013 +TwdlF +Pkd2 +ppk10 +Glut1 +Slob +untreated4 +untreated3 +untreated1 +untreated2 +treated3 +treated2 +treated1 + + condition - - - + + + + type Intracellular - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - + + Secretory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + activation activation -2 diff --git a/tests/testthat/_snaps/tests/size-annotation.svg b/tests/testthat/_snaps/tests/size-annotation.svg index f99d888..2c825ec 100644 --- a/tests/testthat/_snaps/tests/size-annotation.svg +++ b/tests/testthat/_snaps/tests/size-annotation.svg @@ -19,826 +19,826 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UBR symbol_ct - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -M_CHPT1 -F_C5 -E_EPHA6 -E_DCN -T_LIF -T_NOTCH3 -T_PDGFD -F_CXCL14 -M_CD47 -F_VWF -M_ANGPT2 -M_VWF -T_PRG4 -E_CPA3 -M_MDK -F_GPER1 -M_PLOD3 -M_SERPINE1 -E_CHI3L1 -F_ADAMTS13 -E_COL3A1 -M_HEG1 -M_CAV1 -T_PROK2 -F_CXCL10 -M_ADAM12 -M_ITGA4 -M_ITGB8 -E_ORM1 -F_C1QA -F_C1QB -M_FN1 -M_SEMA3E -M_MEGF8 -M_PRKD1 -E_SPINK5 -T_HYAL1 -T_MFAP4 -M_SEMA6A -F_FGFR2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +M_CD47 +F_CXCL14 +F_CXCL10 +M_CHPT1 +E_SPINK5 +F_C1QB +F_C1QA +E_ORM1 +M_FN1 +M_SEMA3E +M_MEGF8 +M_PRKD1 +T_HYAL1 +T_MFAP4 +F_VWF +M_SEMA6A +F_FGFR2 +M_HEG1 +M_CAV1 +M_ITGA4 +F_C5 +M_ITGB8 +M_PLOD3 +M_SERPINE1 +E_COL3A1 +E_CHI3L1 +F_ADAMTS13 +T_PROK2 +E_EPHA6 +T_PDGFD +T_NOTCH3 +M_VWF +M_ANGPT2 +E_CPA3 +T_PRG4 +M_MDK +F_GPER1 +T_LIF +E_DCN +M_ADAM12 11420 -11405 -11438 -11437 -11452 -11444 +11438 +11405 +11427 +11450 +11467 11433 -11425 -11427 -11453 -11458 -11450 -11467 +11453 +11458 +11437 +11452 +11444 +11425 - - - - - + + + + + - - - - - - + + + + + + UBR - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - + + + + + + + + + Cell type Cell type E diff --git a/tests/testthat/_snaps/tests/sparse-matrix.svg b/tests/testthat/_snaps/tests/sparse-matrix.svg index f2a20e9..4bcd172 100644 --- a/tests/testthat/_snaps/tests/sparse-matrix.svg +++ b/tests/testthat/_snaps/tests/sparse-matrix.svg @@ -19,133 +19,133 @@ - - - - - - -Y + + + + + + +Y G -G1 -G2 -G3 -M1 -M2 -V --1 --0.5 -0 -0.5 -1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +G1 +G2 +G3 +M1 +M2 +V +1 +1.5 +2 +2.5 +3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/testthat/_snaps/tests/sparse.svg b/tests/testthat/_snaps/tests/sparse.svg index 65c9244..200597d 100644 --- a/tests/testthat/_snaps/tests/sparse.svg +++ b/tests/testthat/_snaps/tests/sparse.svg @@ -19,785 +19,785 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + UBR symbol_ct - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -M_CHPT1 -F_C5 -E_EPHA6 -E_DCN -T_LIF -T_NOTCH3 -T_PDGFD -F_CXCL14 -M_CD47 -M_ADAM12 -M_ITGA4 -M_ITGB8 -F_VWF -M_ANGPT2 -M_VWF -T_PRG4 -E_CPA3 -M_MDK -F_GPER1 -M_PLOD3 -M_SERPINE1 -E_CHI3L1 -F_ADAMTS13 -E_COL3A1 -M_HEG1 -M_CAV1 -T_PROK2 -F_CXCL10 -E_ORM1 -F_C1QA -F_C1QB -M_FN1 -M_SEMA3E -M_MEGF8 -M_PRKD1 -E_SPINK5 -T_HYAL1 -T_MFAP4 -M_SEMA6A -F_FGFR2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +M_CD47 +F_CXCL14 +F_CXCL10 +M_CHPT1 +E_SPINK5 +F_C1QB +F_C1QA +E_ORM1 +M_FN1 +M_SEMA3E +M_MEGF8 +M_PRKD1 +T_HYAL1 +T_MFAP4 +F_VWF +M_SEMA6A +F_FGFR2 +M_HEG1 +M_CAV1 +M_ITGA4 +F_C5 +M_ITGB8 +M_PLOD3 +M_SERPINE1 +E_COL3A1 +E_CHI3L1 +F_ADAMTS13 +T_PROK2 +E_EPHA6 +T_PDGFD +T_NOTCH3 +M_VWF +M_ANGPT2 +E_CPA3 +T_PRG4 +M_MDK +F_GPER1 +T_LIF +E_DCN +M_ADAM12 11420 -11405 -11438 -11437 -11452 -11444 +11438 +11405 +11427 +11450 +11467 11433 -11425 -11427 -11453 -11458 -11450 -11467 +11453 +11458 +11437 +11452 +11444 +11425 read count normalised log -2 -1 diff --git a/tests/testthat/_snaps/tests/split.svg b/tests/testthat/_snaps/tests/split.svg index 68c4ec7..ed044ef 100644 --- a/tests/testthat/_snaps/tests/split.svg +++ b/tests/testthat/_snaps/tests/split.svg @@ -19,898 +19,897 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UBR symbol_ct - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -M_CHPT1 -F_C5 -E_EPHA6 -E_DCN -T_LIF -T_NOTCH3 -T_PDGFD -F_CXCL14 -M_CD47 -F_VWF -M_ANGPT2 -M_VWF -T_PRG4 -E_CPA3 -M_MDK -F_GPER1 -M_PLOD3 -M_SERPINE1 -E_CHI3L1 -F_ADAMTS13 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +E_SPINK5 +F_C1QB +F_C1QA +E_ORM1 +M_FN1 +M_SEMA3E +M_MEGF8 +M_PRKD1 +T_HYAL1 +T_MFAP4 +F_VWF +M_SEMA6A +F_FGFR2 +M_HEG1 +M_CAV1 +M_ITGA4 +F_C5 +M_ITGB8 +M_PLOD3 +M_SERPINE1 E_COL3A1 -M_HEG1 -M_CAV1 +E_CHI3L1 +F_ADAMTS13 T_PROK2 -F_CXCL10 -M_ADAM12 -M_ITGA4 -M_ITGB8 -E_ORM1 -F_C1QA -F_C1QB -M_FN1 -M_SEMA3E -M_MEGF8 -M_PRKD1 -E_SPINK5 -T_HYAL1 -T_MFAP4 -M_SEMA6A -F_FGFR2 -11420 -11405 -11438 -11437 -11452 -11444 -11433 -11425 -11427 -11453 -11458 -11450 -11467 +E_EPHA6 +T_PDGFD +T_NOTCH3 +M_VWF +M_ANGPT2 +E_CPA3 +T_PRG4 +M_MDK +F_GPER1 +T_LIF +E_DCN +M_ADAM12 +M_CD47 +F_CXCL14 +F_CXCL10 +M_CHPT1 +11427 +11450 +11467 +11433 +11453 +11458 +11437 +11452 +11444 +11425 +11420 +11438 +11405 read count normalised log --2 -0 -2 -4 +0 +5 +10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + - - + diff --git a/tests/testthat/_snaps/tests/wrap-heatmap.svg b/tests/testthat/_snaps/tests/wrap-heatmap.svg index af3527c..6b5cf23 100644 --- a/tests/testthat/_snaps/tests/wrap-heatmap.svg +++ b/tests/testthat/_snaps/tests/wrap-heatmap.svg @@ -51,896 +51,895 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UBR symbol_ct - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -M_CHPT1 -F_C5 -E_EPHA6 -E_DCN -T_LIF -T_NOTCH3 -T_PDGFD -F_CXCL14 -M_CD47 -F_VWF -M_ANGPT2 -M_VWF -T_PRG4 -E_CPA3 -M_MDK -F_GPER1 -M_PLOD3 -M_SERPINE1 -E_CHI3L1 -F_ADAMTS13 -E_COL3A1 -M_HEG1 -M_CAV1 -T_PROK2 -F_CXCL10 -M_ADAM12 -M_ITGA4 -M_ITGB8 -E_ORM1 -F_C1QA -F_C1QB -M_FN1 -M_SEMA3E -M_MEGF8 -M_PRKD1 -E_SPINK5 -T_HYAL1 -T_MFAP4 -M_SEMA6A -F_FGFR2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +M_CD47 +F_CXCL14 +F_CXCL10 +M_CHPT1 +E_SPINK5 +F_C1QB +F_C1QA +E_ORM1 +M_FN1 +M_SEMA3E +M_MEGF8 +M_PRKD1 +T_HYAL1 +T_MFAP4 +F_VWF +M_SEMA6A +F_FGFR2 +M_HEG1 +M_CAV1 +M_ITGA4 +F_C5 +M_ITGB8 +M_PLOD3 +M_SERPINE1 +E_COL3A1 +E_CHI3L1 +F_ADAMTS13 +T_PROK2 +E_EPHA6 +T_PDGFD +T_NOTCH3 +M_VWF +M_ANGPT2 +E_CPA3 +T_PRG4 +M_MDK +F_GPER1 +T_LIF +E_DCN +M_ADAM12 11420 -11405 -11438 -11437 -11452 -11444 +11438 +11405 +11427 +11450 +11467 11433 -11425 -11427 -11453 -11458 -11450 -11467 +11453 +11458 +11437 +11452 +11444 +11425 read count normalised log --2 -0 -2 -4 +0 +5 +10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + - - + @@ -978,896 +977,895 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UBR symbol_ct - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -M_CHPT1 -F_C5 -E_EPHA6 -E_DCN -T_LIF -T_NOTCH3 -T_PDGFD -F_CXCL14 -M_CD47 -F_VWF -M_ANGPT2 -M_VWF -T_PRG4 -E_CPA3 -M_MDK -F_GPER1 -M_PLOD3 -M_SERPINE1 -E_CHI3L1 -F_ADAMTS13 -E_COL3A1 -M_HEG1 -M_CAV1 -T_PROK2 -F_CXCL10 -M_ADAM12 -M_ITGA4 -M_ITGB8 -E_ORM1 -F_C1QA -F_C1QB -M_FN1 -M_SEMA3E -M_MEGF8 -M_PRKD1 -E_SPINK5 -T_HYAL1 -T_MFAP4 -M_SEMA6A -F_FGFR2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +M_CD47 +F_CXCL14 +F_CXCL10 +M_CHPT1 +E_SPINK5 +F_C1QB +F_C1QA +E_ORM1 +M_FN1 +M_SEMA3E +M_MEGF8 +M_PRKD1 +T_HYAL1 +T_MFAP4 +F_VWF +M_SEMA6A +F_FGFR2 +M_HEG1 +M_CAV1 +M_ITGA4 +F_C5 +M_ITGB8 +M_PLOD3 +M_SERPINE1 +E_COL3A1 +E_CHI3L1 +F_ADAMTS13 +T_PROK2 +E_EPHA6 +T_PDGFD +T_NOTCH3 +M_VWF +M_ANGPT2 +E_CPA3 +T_PRG4 +M_MDK +F_GPER1 +T_LIF +E_DCN +M_ADAM12 11420 -11405 -11438 -11437 -11452 -11444 +11438 +11405 +11427 +11450 +11467 11433 -11425 -11427 -11453 -11458 -11450 -11467 +11453 +11458 +11437 +11452 +11444 +11425 read count normalised log --2 -0 -2 -4 +0 +5 +10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + - - + diff --git a/tests/testthat/tests.R b/tests/testthat/tests.R index 9d85d4d..ec1347a 100644 --- a/tests/testthat/tests.R +++ b/tests/testthat/tests.R @@ -1,7 +1,7 @@ context('tests') # For resetting -# testthat::snapshot_review() +# testthat::snapshot_review('tests') test_that("basic plot",{ @@ -388,8 +388,8 @@ vdiffr::expect_doppelganger("scale both", p) .column = UBR, .row = symbol_ct, .value = `read count`, - .scale = "WRONG_INPUT" - ), "the .scale parameter has to be one") + scale = "WRONG_INPUT" + ), "the scale parameter has to be one") }) test_that("multi-type",{ @@ -486,21 +486,6 @@ test_that("managing palette usage",{ }) -test_that("annotated plot numerical continuous intereg nominal annot",{ - - expect_warning( - tidyHeatmap::heatmap( - dplyr::filter(tidyHeatmap::N52, Category == "Angiogenesis"), - .column = UBR, - .row = symbol_ct, - .value = `read count normalised log`, - annotation = CAPRA_TOTAL - ), "Please use the new annotation framework instead" - ) - - -}) - test_that("test sparse matrix",{ p=data.frame(G = c('G1', 'G2', 'G3'), Y = c('M1', 'M1', 'M2'), V = c(1,2,3)) |> From 08773725ccf1553aabb994a057c674f1b764b6dd Mon Sep 17 00:00:00 2001 From: stemangiola Date: Thu, 10 Feb 2022 04:02:35 +1100 Subject: [PATCH 3/6] change scale argument and set it to none --- DESCRIPTION | 2 +- R/functions.R | 12 ++++++------ R/methods.R | 38 +++++++++++++++++++++++++++----------- man/heatmap-method.Rd | 15 ++++++++++----- man/input_heatmap.Rd | 4 ++-- 5 files changed, 46 insertions(+), 25 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 1c5bc0a..37b2d67 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: tidyHeatmap Title: A Tidy Implementation of Heatmap -Version: 1.6.0 +Version: 1.7.0 Authors@R: c(person(given = "Stefano", family = "Mangiola", diff --git a/R/functions.R b/R/functions.R index 72580b3..22c22cb 100644 --- a/R/functions.R +++ b/R/functions.R @@ -34,7 +34,7 @@ #' @param .vertical The name of the column vertically presented in the heatmap #' @param .abundance The name of the transcript/gene abundance column #' @param transform A function, used to transform .value, for example log1p -#' @param .scale A character string. Possible values are c(\"none\", \"row\", \"column\", \"both\") +#' @param scale A character string. Possible values are c(\"none\", \"row\", \"column\", \"both\") #' @param palette_value A character vector, or a function for higher customisation (colorRamp2). This is the palette that will be used as gradient for abundance. If palette_value is a vector of hexadecimal colours, it should have 3 values. If you want more customisation, you can pass to palette_value a function, that is derived as for example `colorRamp2(c(-2, 0, 2), palette_value)` #' @param palette_grouping A list of character vectors. This is the list of palettes that will be used for grouping #' @param ... Further arguments to be passed to ComplexHeatmap::Heatmap @@ -53,7 +53,7 @@ input_heatmap = function(.data, .vertical, .abundance, transform = NULL, - .scale = "row", + scale = "none", palette_value = c("#440154FF", "#21908CFF", "#fefada" ), #c(viridis(3)[1:2],"#fefada") palette_grouping = list(), ...) { @@ -105,18 +105,18 @@ input_heatmap = function(.data, ~ (.) ) %>% - # If .scale row + # If scale row when( - .scale %in% c("row", "both") ~ (.) %>% + scale %in% c("row", "both") ~ (.) %>% nest(data = -!!.vertical) %>% mutate(data = map(data, ~ .x %>% mutate(!!.abundance := !!.abundance %>% scale_robust()))) %>% unnest(data), ~ (.) ) %>% - # If .scale column + # If scale column when( - .scale %in% c("column", "both") ~ (.) %>% + scale %in% c("column", "both") ~ (.) %>% nest(data = -!!.horizontal) %>% mutate(data = map(data, ~ .x %>% mutate(!!.abundance := !!.abundance %>% scale_robust()))) %>% unnest(data), diff --git a/R/methods.R b/R/methods.R index 88bb0a1..1c5be9e 100644 --- a/R/methods.R +++ b/R/methods.R @@ -124,7 +124,7 @@ setMethod("show", "InputHeatmap", function(object){ #' @param .column The name of the column horizontally presented in the heatmap #' @param .value The name of the column for the value of the element/feature pair #' @param transform A function, used to transform .value row-wise (e.g., transform = log1p) -#' @param .scale A character string. Possible values are c(\"none\", \"row\", \"column\", \"both\") +#' @param scale A character string. Possible values are c(\"none\", \"row\", \"column\", \"both\") #' @param palette_value A character vector This is the palette that will be used as gradient for .value. For example c("red", "white", "blue"). For higher flexibility you can use circlize::colorRamp2\(c\(-2, -1, 0, 1, 2\), viridis::magma\(5\)\) #' @param palette_grouping A list of character vectors. This is the list of palettes that will be used for grouping. For example list(RColorBrewer::brewer.pal(8, "Accent")) or list(c("#B3E2CD", "#FDCDAC", "#CBD5E8")) or list(c("black", "red")) #' @param ... Further arguments to be passed to ComplexHeatmap::Heatmap @@ -162,7 +162,7 @@ setGeneric("heatmap", function(.data, .column, .value, transform = NULL, - .scale = "row", + scale = "none", palette_value = c("#440154FF", "#21908CFF", "#fefada" ), palette_grouping = list(), @@ -171,6 +171,7 @@ setGeneric("heatmap", function(.data, type = rep("tile", length(quo_names(annotation))), palette_discrete = list(), palette_continuous = list(), + .scale = NULL, ...) standardGeneric("heatmap")) #' Creates a `InputHeatmap` object from `tbl_df` on evaluation creates a `ComplexHeatmap` @@ -187,7 +188,7 @@ heatmap_ <- .column, .value, transform = NULL, - .scale = "row", + scale = "none", palette_value = c("#440154FF", "#21908CFF", "#fefada" ), palette_grouping = list(), @@ -207,17 +208,23 @@ heatmap_ <- # Check if transform is of correct type if(!(is.null(transform) || is_function(transform))) stop("tidyHeatmap says: transform has to be a function. is_function(transform) == TRUE") - # Check if .scale is of correct type - if(.scale %in% c("none", "row", "column", "both") %>% `!`) stop("tidyHeatmap says: the .scale parameter has to be one of c(\"none\", \"row\", \"column\", \"both\")") + # Check if scale is of correct type + if(scale %in% c("none", "row", "column", "both") %>% `!`) stop("tidyHeatmap says: the scale parameter has to be one of c(\"none\", \"row\", \"column\", \"both\")") # Check if type is of the right kind if(type %>% setdiff(names(type_to_annot_function)) %>% length %>% gt(0)) stop("tidyHeatmap says: not all components of `type` parameter are valid.") - # Message about change of style, once per session - if(length(palette_grouping)==0 & getOption("tidyHeatmap_white_group_message",TRUE)) { - message("tidyHeatmap says: (once per session) from release 1.2.3 the grouping labels have white background by default. To add color for one-ay grouping specify palette_grouping = list(c(\"red\", \"blue\"))") - options("tidyHeatmap_white_group_message"=FALSE) + # # Message about change of style, once per session + # if(length(palette_grouping)==0 & getOption("tidyHeatmap_white_group_message",TRUE)) { + # message("tidyHeatmap says: (once per session) from release 1.2.3 the grouping labels have white background by default. To add color for one-ay grouping specify palette_grouping = list(c(\"red\", \"blue\"))") + # options("tidyHeatmap_white_group_message"=FALSE) + # } + + # Message about change of scale, once per session + if(scale == "none" & getOption("tidyHeatmap_default_scaling_none",TRUE)) { + message("tidyHeatmap says: (once per session) from release 1.7.0 the scaling is set to \"none\" by default. Please use scale = \"row\", \"column\" or \"both\" to apply scaling") + options("tidyHeatmap_default_scaling_none"=FALSE) } .row = enquo(.row) @@ -242,13 +249,22 @@ heatmap_ <- annotation = !!annotation, type = type, transform = transform, - .scale = .scale, + scale = scale, palette_value = palette_value, palette_discrete = palette_discrete, palette_continuous = palette_continuous, ... )) } + + # DEPRECATION OF SCALE + if (is_present(.scale)) { + + # Signal the deprecation to the user + deprecate_warn("2.0.0", "tidyHeatmap::heatmap(.scale = )", details = "Please use scale (without dot prefix) instead: heatmap(scale = ...)") + + scale = .scale + } .data %>% @@ -265,7 +281,7 @@ heatmap_ <- .vertical = !!.row, .abundance = !!.value, transform = transform, - .scale = .scale, + scale = scale, palette_value = palette_value, palette_grouping = palette_grouping, ... diff --git a/man/heatmap-method.Rd b/man/heatmap-method.Rd index ab0cc95..3be1548 100644 --- a/man/heatmap-method.Rd +++ b/man/heatmap-method.Rd @@ -14,13 +14,14 @@ heatmap( .column, .value, transform = NULL, - .scale = "row", + scale = "none", palette_value = c("#440154FF", "#21908CFF", "#fefada"), palette_grouping = list(), annotation = NULL, type = rep("tile", length(quo_names(annotation))), palette_discrete = list(), palette_continuous = list(), + .scale = NULL, ... ) @@ -30,7 +31,7 @@ heatmap_( .column, .value, transform = NULL, - .scale = "row", + scale = "none", palette_value = c("#440154FF", "#21908CFF", "#fefada"), palette_grouping = list(), annotation = NULL, @@ -46,13 +47,14 @@ heatmap_( .column, .value, transform = NULL, - .scale = "row", + scale = "none", palette_value = c("#440154FF", "#21908CFF", "#fefada"), palette_grouping = list(), annotation = NULL, type = rep("tile", length(quo_names(annotation))), palette_discrete = list(), palette_continuous = list(), + .scale = NULL, ... ) @@ -62,13 +64,14 @@ heatmap_( .column, .value, transform = NULL, - .scale = "row", + scale = "none", palette_value = c("#440154FF", "#21908CFF", "#fefada"), palette_grouping = list(), annotation = NULL, type = rep("tile", length(quo_names(annotation))), palette_discrete = list(), palette_continuous = list(), + .scale = NULL, ... ) } @@ -83,7 +86,7 @@ heatmap_( \item{transform}{A function, used to transform .value row-wise (e.g., transform = log1p)} -\item{.scale}{A character string. Possible values are c(\"none\", \"row\", \"column\", \"both\")} +\item{scale}{A character string. Possible values are c(\"none\", \"row\", \"column\", \"both\")} \item{palette_value}{A character vector This is the palette that will be used as gradient for .value. For example c("red", "white", "blue"). For higher flexibility you can use circlize::colorRamp2\(c\(-2, -1, 0, 1, 2\), viridis::magma\(5\)\)} @@ -97,6 +100,8 @@ heatmap_( \item{palette_continuous}{DEPRECATED. please use the annotation functions add_* function \(\* one of tile, point, bar, line \).} +\item{.scale}{A character string. Possible values are c(\"none\", \"row\", \"column\", \"both\")} + \item{...}{The arguments that will be passed to the Heatmap function of ComplexHeatmap backend} } \value{ diff --git a/man/input_heatmap.Rd b/man/input_heatmap.Rd index d797f88..991d98d 100644 --- a/man/input_heatmap.Rd +++ b/man/input_heatmap.Rd @@ -10,7 +10,7 @@ input_heatmap( .vertical, .abundance, transform = NULL, - .scale = "row", + scale = "none", palette_value = c("#440154FF", "#21908CFF", "#fefada"), palette_grouping = list(), ... @@ -27,7 +27,7 @@ input_heatmap( \item{transform}{A function, used to transform .value, for example log1p} -\item{.scale}{A character string. Possible values are c(\"none\", \"row\", \"column\", \"both\")} +\item{scale}{A character string. Possible values are c(\"none\", \"row\", \"column\", \"both\")} \item{palette_value}{A character vector, or a function for higher customisation (colorRamp2). This is the palette that will be used as gradient for abundance. If palette_value is a vector of hexadecimal colours, it should have 3 values. If you want more customisation, you can pass to palette_value a function, that is derived as for example `colorRamp2(c(-2, 0, 2), palette_value)`} From 6f6c6db3e4d28b116aa86ea0933e8ec8304d4992 Mon Sep 17 00:00:00 2001 From: stemangiola Date: Thu, 10 Feb 2022 04:58:32 +1100 Subject: [PATCH 4/6] clean all OLD deprecation, because .scale deprecation causes problems with the old famework. Fix tests --- R/methods.R | 50 +- man/heatmap-method.Rd | 27 +- tests/testthat/Rplots.pdf | Bin 3611 -> 3611 bytes .../_snaps/tests/annotated-heatmap-1.svg | 1777 +++++---- .../_snaps/tests/annotated-heatmap-2.svg | 1799 +++++---- tests/testthat/_snaps/tests/base.svg | 1755 ++++----- tests/testthat/_snaps/tests/colorramp2.svg | 1542 ++++---- .../tests/grouped-annotated-heatmap-1.svg | 1757 +++++---- .../tests/grouped-annotated-heatmap-2.svg | 2105 +++++----- .../tests/grouped-custom-color-both.svg | 2130 +++++----- tests/testthat/_snaps/tests/grouped.svg | 1735 ++++---- tests/testthat/_snaps/tests/layer-symbol.svg | 1815 +++++---- tests/testthat/_snaps/tests/legend.svg | 1616 ++++---- tests/testthat/_snaps/tests/multi-type.svg | 2291 ++++++----- .../_snaps/tests/show-heatmap-legend.svg | 1921 ++++----- .../testthat/_snaps/tests/size-annotation.svg | 1616 ++++---- tests/testthat/_snaps/tests/sparse-matrix.svg | 254 +- tests/testthat/_snaps/tests/sparse.svg | 1540 ++++---- tests/testthat/_snaps/tests/split.svg | 1763 +++++---- tests/testthat/_snaps/tests/wrap-heatmap.svg | 3510 ++++++++--------- tests/testthat/tests.R | 21 +- 21 files changed, 15464 insertions(+), 15560 deletions(-) diff --git a/R/methods.R b/R/methods.R index 1c5be9e..00a7a47 100644 --- a/R/methods.R +++ b/R/methods.R @@ -127,12 +127,8 @@ setMethod("show", "InputHeatmap", function(object){ #' @param scale A character string. Possible values are c(\"none\", \"row\", \"column\", \"both\") #' @param palette_value A character vector This is the palette that will be used as gradient for .value. For example c("red", "white", "blue"). For higher flexibility you can use circlize::colorRamp2\(c\(-2, -1, 0, 1, 2\), viridis::magma\(5\)\) #' @param palette_grouping A list of character vectors. This is the list of palettes that will be used for grouping. For example list(RColorBrewer::brewer.pal(8, "Accent")) or list(c("#B3E2CD", "#FDCDAC", "#CBD5E8")) or list(c("black", "red")) -#' @param ... Further arguments to be passed to ComplexHeatmap::Heatmap #' -#' @param annotation DEPRECATED. please use the annotation functions add_* function \(\* one of tile, point, bar, line \). -#' @param type DEPRECATED. please use the annotation functions add_* function \(\* one of tile, point, bar, line \). -#' @param palette_discrete DEPRECATED. please use the annotation functions add_* function \(\* one of tile, point, bar, line \). -#' @param palette_continuous DEPRECATED. please use the annotation functions add_* function \(\* one of tile, point, bar, line \). +#' @param .scale DEPRECATED. please use scale instead \( with no dot prefix \). #' @param ... The arguments that will be passed to the Heatmap function of ComplexHeatmap backend #' #' @details This function takes a tbl as an input and creates a `ComplexHeatmap` plot. The information is stored in a `InputHeatmap` object that is updated along the pipe statement, for example adding annotation layers. @@ -167,10 +163,6 @@ setGeneric("heatmap", function(.data, palette_grouping = list(), # DEPRECATED - annotation = NULL, - type = rep("tile", length(quo_names(annotation))), - palette_discrete = list(), - palette_continuous = list(), .scale = NULL, ...) standardGeneric("heatmap")) @@ -193,28 +185,18 @@ heatmap_ <- palette_grouping = list(), # DEPRECATED - annotation = NULL, - type = rep("tile", length(quo_names(annotation))), - palette_discrete = list(), - palette_continuous = list(), + .scale = NULL, ...) { # Comply with CRAN NOTES . = NULL - # Make col names - annotation = enquo(annotation) - # Check if transform is of correct type if(!(is.null(transform) || is_function(transform))) stop("tidyHeatmap says: transform has to be a function. is_function(transform) == TRUE") # Check if scale is of correct type if(scale %in% c("none", "row", "column", "both") %>% `!`) stop("tidyHeatmap says: the scale parameter has to be one of c(\"none\", \"row\", \"column\", \"both\")") - # Check if type is of the right kind - if(type %>% setdiff(names(type_to_annot_function)) %>% length %>% gt(0)) - stop("tidyHeatmap says: not all components of `type` parameter are valid.") - # # Message about change of style, once per session # if(length(palette_grouping)==0 & getOption("tidyHeatmap_white_group_message",TRUE)) { # message("tidyHeatmap says: (once per session) from release 1.2.3 the grouping labels have white background by default. To add color for one-ay grouping specify palette_grouping = list(c(\"red\", \"blue\"))") @@ -234,38 +216,14 @@ heatmap_ <- # Validation .data %>% validation(!!.column, !!.row, !!.value) - # DEPRECATION OF ANNOTATION - if (is_present(annotation) & !quo_is_null(annotation)) { - - # Signal the deprecation to the user - deprecate_warn("1.1.0", "tidyHeatmap::heatmap(annotation = )", details = "Please use the new annotation framework instead: heatmap(...) %>% add_tile(...) %>% add_point(...) %>% add_bar() %>% add_line() %>% ...") - - # Deal with the deprecated argument for compatibility - return( .data %>% - plot_heatmap( - .horizontal = !!.column, - .vertical = !!.row, - .abundance = !!.value, - annotation = !!annotation, - type = type, - transform = transform, - scale = scale, - palette_value = palette_value, - palette_discrete = palette_discrete, - palette_continuous = palette_continuous, - ... - )) - } - # DEPRECATION OF SCALE - if (is_present(.scale)) { + if (is_present(.scale) && !is.null(.scale)) { # Signal the deprecation to the user - deprecate_warn("2.0.0", "tidyHeatmap::heatmap(.scale = )", details = "Please use scale (without dot prefix) instead: heatmap(scale = ...)") + deprecate_warn("1.7.0", "tidyHeatmap::heatmap(.scale = )", details = "Please use scale (without dot prefix) instead: heatmap(scale = ...)") scale = .scale } - .data %>% diff --git a/man/heatmap-method.Rd b/man/heatmap-method.Rd index 3be1548..b052180 100644 --- a/man/heatmap-method.Rd +++ b/man/heatmap-method.Rd @@ -17,10 +17,6 @@ heatmap( scale = "none", palette_value = c("#440154FF", "#21908CFF", "#fefada"), palette_grouping = list(), - annotation = NULL, - type = rep("tile", length(quo_names(annotation))), - palette_discrete = list(), - palette_continuous = list(), .scale = NULL, ... ) @@ -34,10 +30,7 @@ heatmap_( scale = "none", palette_value = c("#440154FF", "#21908CFF", "#fefada"), palette_grouping = list(), - annotation = NULL, - type = rep("tile", length(quo_names(annotation))), - palette_discrete = list(), - palette_continuous = list(), + .scale = NULL, ... ) @@ -50,10 +43,6 @@ heatmap_( scale = "none", palette_value = c("#440154FF", "#21908CFF", "#fefada"), palette_grouping = list(), - annotation = NULL, - type = rep("tile", length(quo_names(annotation))), - palette_discrete = list(), - palette_continuous = list(), .scale = NULL, ... ) @@ -67,10 +56,6 @@ heatmap_( scale = "none", palette_value = c("#440154FF", "#21908CFF", "#fefada"), palette_grouping = list(), - annotation = NULL, - type = rep("tile", length(quo_names(annotation))), - palette_discrete = list(), - palette_continuous = list(), .scale = NULL, ... ) @@ -92,15 +77,7 @@ heatmap_( \item{palette_grouping}{A list of character vectors. This is the list of palettes that will be used for grouping. For example list(RColorBrewer::brewer.pal(8, "Accent")) or list(c("#B3E2CD", "#FDCDAC", "#CBD5E8")) or list(c("black", "red"))} -\item{annotation}{DEPRECATED. please use the annotation functions add_* function \(\* one of tile, point, bar, line \).} - -\item{type}{DEPRECATED. please use the annotation functions add_* function \(\* one of tile, point, bar, line \).} - -\item{palette_discrete}{DEPRECATED. please use the annotation functions add_* function \(\* one of tile, point, bar, line \).} - -\item{palette_continuous}{DEPRECATED. please use the annotation functions add_* function \(\* one of tile, point, bar, line \).} - -\item{.scale}{A character string. Possible values are c(\"none\", \"row\", \"column\", \"both\")} +\item{.scale}{DEPRECATED. please use scale instead \( with no dot prefix \).} \item{...}{The arguments that will be passed to the Heatmap function of ComplexHeatmap backend} } diff --git a/tests/testthat/Rplots.pdf b/tests/testthat/Rplots.pdf index 6b4e8ace890b7265edcc20d5db34a241221fde69..57a7fbf12cc97e4be9ca93c2ddc56aeca0fe263b 100644 GIT binary patch delta 48 wcmbO&Gh1eYnW~YYfq{vssj;ypm%eX)ic4Zis)B}#m63rF5W(a&Mjzk>05Gf!eE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UBR symbol_ct - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -M_CHPT1 -F_C5 -E_EPHA6 -E_DCN -T_LIF -T_NOTCH3 -T_PDGFD -F_CXCL14 -M_CD47 -F_VWF -M_ANGPT2 -M_VWF -T_PRG4 -E_CPA3 -M_MDK -F_GPER1 -M_PLOD3 -M_SERPINE1 -E_CHI3L1 -F_ADAMTS13 -E_COL3A1 -M_HEG1 -M_CAV1 -T_PROK2 -F_CXCL10 -M_ADAM12 -M_ITGA4 -M_ITGB8 -E_ORM1 -F_C1QA -F_C1QB -M_FN1 -M_SEMA3E -M_MEGF8 -M_PRKD1 -E_SPINK5 -T_HYAL1 -T_MFAP4 -M_SEMA6A -F_FGFR2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +M_CD47 +F_CXCL14 +F_CXCL10 +M_CHPT1 +E_SPINK5 +F_C1QB +F_C1QA +E_ORM1 +M_FN1 +M_SEMA3E +M_MEGF8 +M_PRKD1 +T_HYAL1 +T_MFAP4 +F_VWF +M_SEMA6A +F_FGFR2 +M_HEG1 +M_CAV1 +M_ITGA4 +F_C5 +M_ITGB8 +M_PLOD3 +M_SERPINE1 +E_COL3A1 +E_CHI3L1 +F_ADAMTS13 +T_PROK2 +E_EPHA6 +T_PDGFD +T_NOTCH3 +M_VWF +M_ANGPT2 +E_CPA3 +T_PRG4 +M_MDK +F_GPER1 +T_LIF +E_DCN +M_ADAM12 11420 -11405 -11438 -11437 -11452 -11444 +11438 +11405 +11427 +11450 +11467 11433 -11425 -11427 -11453 -11458 -11450 -11467 +11453 +11458 +11437 +11452 +11444 +11425 - - - - - + + + + + - - - - - - + + + + + + CAPRA_TOTAL read count normalised log --2 -0 -2 -4 +0 +5 +10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + - - + CAPRA_TOTAL 0 diff --git a/tests/testthat/_snaps/tests/annotated-heatmap-2.svg b/tests/testthat/_snaps/tests/annotated-heatmap-2.svg index da0fec2..d9f0443 100644 --- a/tests/testthat/_snaps/tests/annotated-heatmap-2.svg +++ b/tests/testthat/_snaps/tests/annotated-heatmap-2.svg @@ -19,924 +19,923 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UBR symbol_ct - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -M_CHPT1 -F_C5 -E_EPHA6 -E_DCN -T_LIF -T_NOTCH3 -T_PDGFD -F_CXCL14 -M_CD47 -F_VWF -M_ANGPT2 -M_VWF -T_PRG4 -E_CPA3 -M_MDK -F_GPER1 -M_PLOD3 -M_SERPINE1 -E_CHI3L1 -F_ADAMTS13 -E_COL3A1 -M_HEG1 -M_CAV1 -T_PROK2 -F_CXCL10 -M_ADAM12 -M_ITGA4 -M_ITGB8 -E_ORM1 -F_C1QA -F_C1QB -M_FN1 -M_SEMA3E -M_MEGF8 -M_PRKD1 -E_SPINK5 -T_HYAL1 -T_MFAP4 -M_SEMA6A -F_FGFR2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +M_CD47 +F_CXCL14 +F_CXCL10 +M_CHPT1 +E_SPINK5 +F_C1QB +F_C1QA +E_ORM1 +M_FN1 +M_SEMA3E +M_MEGF8 +M_PRKD1 +T_HYAL1 +T_MFAP4 +F_VWF +M_SEMA6A +F_FGFR2 +M_HEG1 +M_CAV1 +M_ITGA4 +F_C5 +M_ITGB8 +M_PLOD3 +M_SERPINE1 +E_COL3A1 +E_CHI3L1 +F_ADAMTS13 +T_PROK2 +E_EPHA6 +T_PDGFD +T_NOTCH3 +M_VWF +M_ANGPT2 +E_CPA3 +T_PRG4 +M_MDK +F_GPER1 +T_LIF +E_DCN +M_ADAM12 11420 -11405 -11438 -11437 -11452 -11444 +11438 +11405 +11427 +11450 +11467 11433 -11425 -11427 -11453 -11458 -11450 -11467 +11453 +11458 +11437 +11452 +11444 +11425 - - - - - + + + + + - - - - - - + + + + + + a - - - - - + + + + + - - - - - - + + + + + + CAPRA_TOTAL read count normalised log --2 -0 -2 -4 +0 +5 +10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + - - + a -10 diff --git a/tests/testthat/_snaps/tests/base.svg b/tests/testthat/_snaps/tests/base.svg index 63af24f..ec1089d 100644 --- a/tests/testthat/_snaps/tests/base.svg +++ b/tests/testthat/_snaps/tests/base.svg @@ -19,896 +19,895 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UBR symbol_ct - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -M_CHPT1 -F_C5 -E_EPHA6 -E_DCN -T_LIF -T_NOTCH3 -T_PDGFD -F_CXCL14 -M_CD47 -F_VWF -M_ANGPT2 -M_VWF -T_PRG4 -E_CPA3 -M_MDK -F_GPER1 -M_PLOD3 -M_SERPINE1 -E_CHI3L1 -F_ADAMTS13 -E_COL3A1 -M_HEG1 -M_CAV1 -T_PROK2 -F_CXCL10 -M_ADAM12 -M_ITGA4 -M_ITGB8 -E_ORM1 -F_C1QA -F_C1QB -M_FN1 -M_SEMA3E -M_MEGF8 -M_PRKD1 -E_SPINK5 -T_HYAL1 -T_MFAP4 -M_SEMA6A -F_FGFR2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +M_CD47 +F_CXCL14 +F_CXCL10 +M_CHPT1 +E_SPINK5 +F_C1QB +F_C1QA +E_ORM1 +M_FN1 +M_SEMA3E +M_MEGF8 +M_PRKD1 +T_HYAL1 +T_MFAP4 +F_VWF +M_SEMA6A +F_FGFR2 +M_HEG1 +M_CAV1 +M_ITGA4 +F_C5 +M_ITGB8 +M_PLOD3 +M_SERPINE1 +E_COL3A1 +E_CHI3L1 +F_ADAMTS13 +T_PROK2 +E_EPHA6 +T_PDGFD +T_NOTCH3 +M_VWF +M_ANGPT2 +E_CPA3 +T_PRG4 +M_MDK +F_GPER1 +T_LIF +E_DCN +M_ADAM12 11420 -11405 -11438 -11437 -11452 -11444 +11438 +11405 +11427 +11450 +11467 11433 -11425 -11427 -11453 -11458 -11450 -11467 +11453 +11458 +11437 +11452 +11444 +11425 read count normalised log --2 -0 -2 -4 +0 +5 +10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + - - + diff --git a/tests/testthat/_snaps/tests/colorramp2.svg b/tests/testthat/_snaps/tests/colorramp2.svg index 7879368..742fe2e 100644 --- a/tests/testthat/_snaps/tests/colorramp2.svg +++ b/tests/testthat/_snaps/tests/colorramp2.svg @@ -19,785 +19,785 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + UBR symbol_ct - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -M_CHPT1 -F_C5 -E_EPHA6 -E_DCN -T_LIF -T_NOTCH3 -T_PDGFD -F_CXCL14 -M_CD47 -F_VWF -M_ANGPT2 -M_VWF -T_PRG4 -E_CPA3 -M_MDK -F_GPER1 -M_PLOD3 -M_SERPINE1 -E_CHI3L1 -F_ADAMTS13 -E_COL3A1 -M_HEG1 -M_CAV1 -T_PROK2 -F_CXCL10 -M_ADAM12 -M_ITGA4 -M_ITGB8 -E_ORM1 -F_C1QA -F_C1QB -M_FN1 -M_SEMA3E -M_MEGF8 -M_PRKD1 -E_SPINK5 -T_HYAL1 -T_MFAP4 -M_SEMA6A -F_FGFR2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +M_CD47 +F_CXCL14 +F_CXCL10 +M_CHPT1 +E_SPINK5 +F_C1QB +F_C1QA +E_ORM1 +M_FN1 +M_SEMA3E +M_MEGF8 +M_PRKD1 +T_HYAL1 +T_MFAP4 +F_VWF +M_SEMA6A +F_FGFR2 +M_HEG1 +M_CAV1 +M_ITGA4 +F_C5 +M_ITGB8 +M_PLOD3 +M_SERPINE1 +E_COL3A1 +E_CHI3L1 +F_ADAMTS13 +T_PROK2 +E_EPHA6 +T_PDGFD +T_NOTCH3 +M_VWF +M_ANGPT2 +E_CPA3 +T_PRG4 +M_MDK +F_GPER1 +T_LIF +E_DCN +M_ADAM12 11420 -11405 -11438 -11437 -11452 -11444 +11438 +11405 +11427 +11450 +11467 11433 -11425 -11427 -11453 -11458 -11450 -11467 +11453 +11458 +11437 +11452 +11444 +11425 read count normalised log -2 -1 diff --git a/tests/testthat/_snaps/tests/grouped-annotated-heatmap-1.svg b/tests/testthat/_snaps/tests/grouped-annotated-heatmap-1.svg index 67ee1d1..970fedb 100644 --- a/tests/testthat/_snaps/tests/grouped-annotated-heatmap-1.svg +++ b/tests/testthat/_snaps/tests/grouped-annotated-heatmap-1.svg @@ -19,786 +19,786 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UBR symbol_ct - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -E_ORM1 -E_SPINK5 -E_DCN -E_EPHA6 -E_CPA3 -E_CHI3L1 -E_COL3A1 -F_VWF -F_FGFR2 -F_C1QA -F_C1QB -F_C5 -F_CXCL14 -F_GPER1 -F_ADAMTS13 -F_CXCL10 -M_ANGPT2 -M_VWF -M_MDK -M_PLOD3 -M_SERPINE1 -M_HEG1 -M_CAV1 -M_CHPT1 -M_CD47 -M_ADAM12 -M_ITGA4 -M_ITGB8 -M_SEMA3E -M_MEGF8 -M_PRKD1 -M_FN1 -M_SEMA6A -T_PRG4 -T_LIF -T_PROK2 -T_NOTCH3 -T_PDGFD -T_HYAL1 -T_MFAP4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +E_SPINK5 +E_ORM1 +E_EPHA6 +E_DCN +E_CHI3L1 +E_COL3A1 +E_CPA3 +F_CXCL14 +F_CXCL10 +F_C1QB +F_C1QA +F_VWF +F_C5 +F_ADAMTS13 +F_GPER1 +F_FGFR2 +M_CD47 +M_CHPT1 +M_SEMA6A +M_FN1 +M_SEMA3E +M_MEGF8 +M_PRKD1 +M_HEG1 +M_CAV1 +M_PLOD3 +M_SERPINE1 +M_ITGA4 +M_ITGB8 +M_ANGPT2 +M_VWF +M_MDK +M_ADAM12 +T_PROK2 +T_PDGFD +T_NOTCH3 +T_LIF +T_PRG4 +T_MFAP4 +T_HYAL1 11420 -11405 -11438 -11437 -11452 -11444 +11438 +11405 +11427 +11450 +11467 11433 -11425 -11427 -11453 -11458 -11450 -11467 +11453 +11458 +11437 +11452 +11444 +11425 - - - - - + + + + + - - - - - - + + + + + + CAPRA_TOTAL E @@ -809,116 +809,115 @@ T read count normalised log --2 -0 -2 -4 +0 +5 +10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + - - + CAPRA_TOTAL 0 diff --git a/tests/testthat/_snaps/tests/grouped-annotated-heatmap-2.svg b/tests/testthat/_snaps/tests/grouped-annotated-heatmap-2.svg index a3390fa..778ed1e 100644 --- a/tests/testthat/_snaps/tests/grouped-annotated-heatmap-2.svg +++ b/tests/testthat/_snaps/tests/grouped-annotated-heatmap-2.svg @@ -19,976 +19,976 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sample symbol - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Cyp9b1 -comm3 -twz -CG16713 -CG8500 -Hml -CG32407 -CG3168 -Sox100B -CG9782 -Prx2540-1 -CG30116 -CG34330 -NimC2 -CG14625 -snoRNA:Psi28S-3342 -Cht6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Hml +Ant2 +CG3168 +CG8500 +CG32407 +CG9119 +LpR2 +NimC4 +firl +CG1124 +CG34330 +Sox100B +Pgant9 +CG9503 +Cyp6w1 +CG5895 +CG5418 SP1173 -Pgant9 -Cyp6w1 -CG9119 -CG9503 -Tsp68C -firl -CG1124 -LpR2 -Ant2 -NimC4 -CG5418 -CG5895 +NimC2 +twz +comm3 +Prx2540-1 +CG16713 +CG9782 +CG30116 +CG14625 +Cyp9b1 +snoRNA:Psi28S-3342 +CG8785 +Tsp68C dpr9 -Pvf1 -CG8785 -Glut1 -Slob -snoRNA:Or-CD8 -CG10013 -CG6356 -Pkd2 -CG12880 -ppk10 -CG31909 -Kaz-m1 -stet -Ama -nemy -Src64B -Sema2a -Npc2b -bou -CG32335 -CR33318 -Acbp2 -gas -CG1544 -Picot -SPARC -Rgk1 -TwdlU -CG3770 -Kal1 -sesB -MtnA -CG15695 -TwdlF -Cyt-b5-r -CG12116 -CG9164 -CAHbeta -mthl6 -CG18128 -Pde6 +Cht6 +Pvf1 +SPARC +sesB +Kal1 +CG3770 +Ama +Src64B +Sema2a +CG15695 +CG1544 +Cyt-b5-r +gas +Rgk1 +MtnA +Picot +CG12116 +nemy +Npc2b +bou +CAHbeta +TwdlU +Pde6 +stet +CG6356 +CG32335 +CG12880 +mthl6 +CG9164 +CG18128 +Acbp2 +snoRNA:Or-CD8 +CR33318 +CG31909 +Kaz-m1 +CG10013 +TwdlF +Pkd2 +ppk10 +Glut1 +Slob untreated4 untreated3 treated3 treated2 -treated1 +untreated1 untreated2 -untreated1 +treated1 paired-end single-read - - + + condition Intracellular - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - + + Secretory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + activation activation -2 @@ -1106,119 +1106,116 @@ count normalised adjusted --2 --1 -0 -1 -2 - - - - - +0 +20000 +40000 +60000 + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + - - - + + condition treated diff --git a/tests/testthat/_snaps/tests/grouped-custom-color-both.svg b/tests/testthat/_snaps/tests/grouped-custom-color-both.svg index a86b939..bb0d401 100644 --- a/tests/testthat/_snaps/tests/grouped-custom-color-both.svg +++ b/tests/testthat/_snaps/tests/grouped-custom-color-both.svg @@ -19,978 +19,979 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sample symbol - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Cyp9b1 -comm3 -twz -CG16713 -CG8500 -Hml -CG32407 -CG3168 -Sox100B -CG9782 -Prx2540-1 -CG30116 -CG34330 -NimC2 -CG14625 -snoRNA:Psi28S-3342 -Cht6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Hml +Ant2 +CG3168 +CG8500 +CG32407 +CG9119 +LpR2 +NimC4 +firl +CG1124 +CG34330 +Sox100B +Pgant9 +CG9503 +Cyp6w1 +CG5895 +CG5418 SP1173 -Pgant9 -Cyp6w1 -CG9119 -CG9503 -Tsp68C -firl -CG1124 -LpR2 -Ant2 -NimC4 -CG5418 -CG5895 +NimC2 +twz +comm3 +Prx2540-1 +CG16713 +CG9782 +CG30116 +CG14625 +Cyp9b1 +snoRNA:Psi28S-3342 +CG8785 +Tsp68C dpr9 -Pvf1 -CG8785 -Glut1 -Slob -snoRNA:Or-CD8 -CG10013 -CG6356 -Pkd2 -CG12880 -ppk10 -CG31909 -Kaz-m1 -stet -Ama -nemy -Src64B -Sema2a -Npc2b -bou -CG32335 -CR33318 -Acbp2 -gas -CG1544 -Picot -SPARC -Rgk1 -TwdlU -CG3770 -Kal1 -sesB -MtnA -CG15695 -TwdlF -Cyt-b5-r -CG12116 -CG9164 -CAHbeta -mthl6 -CG18128 -Pde6 -treated1 -treated3 -treated2 -untreated3 -untreated4 -untreated2 -untreated1 - - +Cht6 +Pvf1 +SPARC +sesB +Kal1 +CG3770 +Ama +Src64B +Sema2a +CG15695 +CG1544 +Cyt-b5-r +gas +Rgk1 +MtnA +Picot +CG12116 +nemy +Npc2b +bou +CAHbeta +TwdlU +Pde6 +stet +CG6356 +CG32335 +CG12880 +mthl6 +CG9164 +CG18128 +Acbp2 +snoRNA:Or-CD8 +CR33318 +CG31909 +Kaz-m1 +CG10013 +TwdlF +Pkd2 +ppk10 +Glut1 +Slob +untreated4 +untreated3 +untreated1 +untreated2 +treated3 +treated2 +treated1 + + condition - - - + + + + type Intracellular - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - + + Secretory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + activation activation -2 @@ -1108,119 +1109,116 @@ count normalised adjusted --2 --1 -0 -1 -2 - - - - - +0 +20000 +40000 +60000 + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + - - - + + condition treated diff --git a/tests/testthat/_snaps/tests/grouped.svg b/tests/testthat/_snaps/tests/grouped.svg index 2ab3330..99b8b67 100644 --- a/tests/testthat/_snaps/tests/grouped.svg +++ b/tests/testthat/_snaps/tests/grouped.svg @@ -19,773 +19,773 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UBR symbol_ct - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -E_ORM1 -E_SPINK5 -E_DCN -E_EPHA6 -E_CPA3 -E_CHI3L1 -E_COL3A1 -F_VWF -F_FGFR2 -F_C1QA -F_C1QB -F_C5 -F_CXCL14 -F_GPER1 -F_ADAMTS13 -F_CXCL10 -M_ANGPT2 -M_VWF -M_MDK -M_PLOD3 -M_SERPINE1 -M_HEG1 -M_CAV1 -M_CHPT1 -M_CD47 -M_ADAM12 -M_ITGA4 -M_ITGB8 -M_SEMA3E -M_MEGF8 -M_PRKD1 -M_FN1 -M_SEMA6A -T_PRG4 -T_LIF -T_PROK2 -T_NOTCH3 -T_PDGFD -T_HYAL1 -T_MFAP4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +E_SPINK5 +E_ORM1 +E_EPHA6 +E_DCN +E_CHI3L1 +E_COL3A1 +E_CPA3 +F_CXCL14 +F_CXCL10 +F_C1QB +F_C1QA +F_VWF +F_C5 +F_ADAMTS13 +F_GPER1 +F_FGFR2 +M_CD47 +M_CHPT1 +M_SEMA6A +M_FN1 +M_SEMA3E +M_MEGF8 +M_PRKD1 +M_HEG1 +M_CAV1 +M_PLOD3 +M_SERPINE1 +M_ITGA4 +M_ITGB8 +M_ANGPT2 +M_VWF +M_MDK +M_ADAM12 +T_PROK2 +T_PDGFD +T_NOTCH3 +T_LIF +T_PRG4 +T_MFAP4 +T_HYAL1 11420 -11405 -11438 -11437 -11452 -11444 +11438 +11405 +11427 +11450 +11467 11433 -11425 -11427 -11453 -11458 -11450 -11467 +11453 +11458 +11437 +11452 +11444 +11425 E @@ -795,116 +795,115 @@ T read count normalised log --2 -0 -2 -4 +0 +5 +10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + - - + diff --git a/tests/testthat/_snaps/tests/layer-symbol.svg b/tests/testthat/_snaps/tests/layer-symbol.svg index 671a2c0..9304226 100644 --- a/tests/testthat/_snaps/tests/layer-symbol.svg +++ b/tests/testthat/_snaps/tests/layer-symbol.svg @@ -19,926 +19,925 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UBR symbol_ct - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -M_CHPT1 -F_C5 -E_EPHA6 -E_DCN -T_LIF -T_NOTCH3 -T_PDGFD -F_CXCL14 -M_CD47 -F_VWF -M_ANGPT2 -M_VWF -T_PRG4 -E_CPA3 -M_MDK -F_GPER1 -M_PLOD3 -M_SERPINE1 -E_CHI3L1 -F_ADAMTS13 -E_COL3A1 -M_HEG1 -M_CAV1 -T_PROK2 -F_CXCL10 -M_ADAM12 -M_ITGA4 -M_ITGB8 -E_ORM1 -F_C1QA -F_C1QB -M_FN1 -M_SEMA3E -M_MEGF8 -M_PRKD1 -E_SPINK5 -T_HYAL1 -T_MFAP4 -M_SEMA6A -F_FGFR2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +M_CD47 +F_CXCL14 +F_CXCL10 +M_CHPT1 +E_SPINK5 +F_C1QB +F_C1QA +E_ORM1 +M_FN1 +M_SEMA3E +M_MEGF8 +M_PRKD1 +T_HYAL1 +T_MFAP4 +F_VWF +M_SEMA6A +F_FGFR2 +M_HEG1 +M_CAV1 +M_ITGA4 +F_C5 +M_ITGB8 +M_PLOD3 +M_SERPINE1 +E_COL3A1 +E_CHI3L1 +F_ADAMTS13 +T_PROK2 +E_EPHA6 +T_PDGFD +T_NOTCH3 +M_VWF +M_ANGPT2 +E_CPA3 +T_PRG4 +M_MDK +F_GPER1 +T_LIF +E_DCN +M_ADAM12 11420 -11405 -11438 -11437 -11452 -11444 +11438 +11405 +11427 +11450 +11467 11433 -11425 -11427 -11453 -11458 -11450 -11467 +11453 +11458 +11437 +11452 +11444 +11425 read count normalised log --2 -0 -2 -4 +0 +5 +10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + - - + diff --git a/tests/testthat/_snaps/tests/legend.svg b/tests/testthat/_snaps/tests/legend.svg index e4d1a37..1669b7c 100644 --- a/tests/testthat/_snaps/tests/legend.svg +++ b/tests/testthat/_snaps/tests/legend.svg @@ -19,826 +19,826 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UBR symbol_ct - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -M_CHPT1 -F_C5 -E_EPHA6 -E_DCN -T_LIF -T_NOTCH3 -T_PDGFD -F_CXCL14 -M_CD47 -F_VWF -M_ANGPT2 -M_VWF -T_PRG4 -E_CPA3 -M_MDK -F_GPER1 -M_PLOD3 -M_SERPINE1 -E_CHI3L1 -F_ADAMTS13 -E_COL3A1 -M_HEG1 -M_CAV1 -T_PROK2 -F_CXCL10 -M_ADAM12 -M_ITGA4 -M_ITGB8 -E_ORM1 -F_C1QA -F_C1QB -M_FN1 -M_SEMA3E -M_MEGF8 -M_PRKD1 -E_SPINK5 -T_HYAL1 -T_MFAP4 -M_SEMA6A -F_FGFR2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +M_CD47 +F_CXCL14 +F_CXCL10 +M_CHPT1 +E_SPINK5 +F_C1QB +F_C1QA +E_ORM1 +M_FN1 +M_SEMA3E +M_MEGF8 +M_PRKD1 +T_HYAL1 +T_MFAP4 +F_VWF +M_SEMA6A +F_FGFR2 +M_HEG1 +M_CAV1 +M_ITGA4 +F_C5 +M_ITGB8 +M_PLOD3 +M_SERPINE1 +E_COL3A1 +E_CHI3L1 +F_ADAMTS13 +T_PROK2 +E_EPHA6 +T_PDGFD +T_NOTCH3 +M_VWF +M_ANGPT2 +E_CPA3 +T_PRG4 +M_MDK +F_GPER1 +T_LIF +E_DCN +M_ADAM12 11420 -11405 -11438 -11437 -11452 -11444 +11438 +11405 +11427 +11450 +11467 11433 -11425 -11427 -11453 -11458 -11450 -11467 +11453 +11458 +11437 +11452 +11444 +11425 - - - - - + + + + + - - - - - - + + + + + + UBR - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - + + + + + + + + + Cell type diff --git a/tests/testthat/_snaps/tests/multi-type.svg b/tests/testthat/_snaps/tests/multi-type.svg index 353b2bf..3bff3c7 100644 --- a/tests/testthat/_snaps/tests/multi-type.svg +++ b/tests/testthat/_snaps/tests/multi-type.svg @@ -19,909 +19,909 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sample symbol - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Acbp2 -CG30116 -Prx2540-1 -CG16713 -CG8500 -TwdlF -CG34330 -CG3770 -Kal1 -sesB -MtnA -CG15695 -gas -CG3168 -SPARC -Rgk1 -Hml -CG1544 -CG32407 -Picot -TwdlU -Sox100B -CG9782 -comm3 -twz -NimC2 -CG14625 -Cyt-b5-r -CG12116 -CG9164 -CAHbeta -Cyp9b1 -mthl6 -CG18128 -Pde6 -Glut1 -Slob -snoRNA:Psi28S-3342 -snoRNA:Or-CD8 -stet -LpR2 -Ant2 -firl -Ama -NimC4 -Tsp68C -CG1124 -Kaz-m1 -SP1173 -nemy -Src64B -Sema2a -Pgant9 -Cyp6w1 -CG9119 -CG9503 -CG10013 -CG6356 -CG5418 -ppk10 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +SPARC +sesB +Hml +Ant2 +Kal1 +CG3770 +CG3168 +Ama +Src64B +CG9119 +Sema2a +LpR2 +Cyt-b5-r +CG15695 +CG1544 +CG8500 +gas +CG32407 +Rgk1 +MtnA +Picot +CG12116 +NimC4 +firl +CG1124 +nemy +Npc2b +bou +Pgant9 +CG9503 +stet +Cyp6w1 +CG34330 +Sox100B +CAHbeta +TwdlU +Pde6 +NimC2 +twz +mthl6 +CG5895 +SP1173 +CG32335 +CG5418 +CG6356 +CG12880 +CG9164 +CG18128 +comm3 +Acbp2 +CG16713 +CG9782 +Prx2540-1 +CG8785 +Tsp68C +dpr9 +CR33318 +Cht6 +snoRNA:Or-CD8 +snoRNA:Psi28S-3342 CG31909 -Pkd2 -CG12880 -Pvf1 -CG8785 -CG5895 -dpr9 -Npc2b -bou -CG32335 -Cht6 -CR33318 -treated1 -treated3 -treated2 -untreated3 -untreated4 -untreated2 -untreated1 - - +Kaz-m1 +CG10013 +Pkd2 +ppk10 +Pvf1 +Glut1 +Slob +TwdlF +CG30116 +CG14625 +Cyp9b1 +untreated4 +untreated3 +untreated1 +untreated2 +treated3 +treated2 +treated1 + + condition - - - - - - - + + + + + + + @@ -931,7 +931,7 @@ 4 size - + @@ -941,78 +941,78 @@ 200 age - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + @@ -1024,78 +1024,78 @@ 1 activation - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + act act -2 @@ -1213,119 +1213,116 @@ count normalised adjusted --2 --1 -0 -1 -2 - - - - - +0 +20000 +40000 +60000 + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + - - - + + condition treated diff --git a/tests/testthat/_snaps/tests/show-heatmap-legend.svg b/tests/testthat/_snaps/tests/show-heatmap-legend.svg index 91e11f2..744bfcd 100644 --- a/tests/testthat/_snaps/tests/show-heatmap-legend.svg +++ b/tests/testthat/_snaps/tests/show-heatmap-legend.svg @@ -19,978 +19,979 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sample symbol - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Cyp9b1 -comm3 -twz -CG16713 -CG8500 -Hml -CG32407 -CG3168 -Sox100B -CG9782 -Prx2540-1 -CG30116 -CG34330 -NimC2 -CG14625 -snoRNA:Psi28S-3342 -Cht6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Hml +Ant2 +CG3168 +CG8500 +CG32407 +CG9119 +LpR2 +NimC4 +firl +CG1124 +CG34330 +Sox100B +Pgant9 +CG9503 +Cyp6w1 +CG5895 +CG5418 SP1173 -Pgant9 -Cyp6w1 -CG9119 -CG9503 -Tsp68C -firl -CG1124 -LpR2 -Ant2 -NimC4 -CG5418 -CG5895 +NimC2 +twz +comm3 +Prx2540-1 +CG16713 +CG9782 +CG30116 +CG14625 +Cyp9b1 +snoRNA:Psi28S-3342 +CG8785 +Tsp68C dpr9 -Pvf1 -CG8785 -Glut1 -Slob -snoRNA:Or-CD8 -CG10013 -CG6356 -Pkd2 -CG12880 -ppk10 -CG31909 -Kaz-m1 -stet -Ama -nemy -Src64B -Sema2a -Npc2b -bou -CG32335 -CR33318 -Acbp2 -gas -CG1544 -Picot -SPARC -Rgk1 -TwdlU -CG3770 -Kal1 -sesB -MtnA -CG15695 -TwdlF -Cyt-b5-r -CG12116 -CG9164 -CAHbeta -mthl6 -CG18128 -Pde6 -treated1 -treated3 -treated2 -untreated3 -untreated4 -untreated2 -untreated1 - - +Cht6 +Pvf1 +SPARC +sesB +Kal1 +CG3770 +Ama +Src64B +Sema2a +CG15695 +CG1544 +Cyt-b5-r +gas +Rgk1 +MtnA +Picot +CG12116 +nemy +Npc2b +bou +CAHbeta +TwdlU +Pde6 +stet +CG6356 +CG32335 +CG12880 +mthl6 +CG9164 +CG18128 +Acbp2 +snoRNA:Or-CD8 +CR33318 +CG31909 +Kaz-m1 +CG10013 +TwdlF +Pkd2 +ppk10 +Glut1 +Slob +untreated4 +untreated3 +untreated1 +untreated2 +treated3 +treated2 +treated1 + + condition - - - + + + + type Intracellular - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - + + Secretory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + activation activation -2 diff --git a/tests/testthat/_snaps/tests/size-annotation.svg b/tests/testthat/_snaps/tests/size-annotation.svg index f99d888..2c825ec 100644 --- a/tests/testthat/_snaps/tests/size-annotation.svg +++ b/tests/testthat/_snaps/tests/size-annotation.svg @@ -19,826 +19,826 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UBR symbol_ct - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -M_CHPT1 -F_C5 -E_EPHA6 -E_DCN -T_LIF -T_NOTCH3 -T_PDGFD -F_CXCL14 -M_CD47 -F_VWF -M_ANGPT2 -M_VWF -T_PRG4 -E_CPA3 -M_MDK -F_GPER1 -M_PLOD3 -M_SERPINE1 -E_CHI3L1 -F_ADAMTS13 -E_COL3A1 -M_HEG1 -M_CAV1 -T_PROK2 -F_CXCL10 -M_ADAM12 -M_ITGA4 -M_ITGB8 -E_ORM1 -F_C1QA -F_C1QB -M_FN1 -M_SEMA3E -M_MEGF8 -M_PRKD1 -E_SPINK5 -T_HYAL1 -T_MFAP4 -M_SEMA6A -F_FGFR2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +M_CD47 +F_CXCL14 +F_CXCL10 +M_CHPT1 +E_SPINK5 +F_C1QB +F_C1QA +E_ORM1 +M_FN1 +M_SEMA3E +M_MEGF8 +M_PRKD1 +T_HYAL1 +T_MFAP4 +F_VWF +M_SEMA6A +F_FGFR2 +M_HEG1 +M_CAV1 +M_ITGA4 +F_C5 +M_ITGB8 +M_PLOD3 +M_SERPINE1 +E_COL3A1 +E_CHI3L1 +F_ADAMTS13 +T_PROK2 +E_EPHA6 +T_PDGFD +T_NOTCH3 +M_VWF +M_ANGPT2 +E_CPA3 +T_PRG4 +M_MDK +F_GPER1 +T_LIF +E_DCN +M_ADAM12 11420 -11405 -11438 -11437 -11452 -11444 +11438 +11405 +11427 +11450 +11467 11433 -11425 -11427 -11453 -11458 -11450 -11467 +11453 +11458 +11437 +11452 +11444 +11425 - - - - - + + + + + - - - - - - + + + + + + UBR - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - + + + + + + + + + Cell type Cell type E diff --git a/tests/testthat/_snaps/tests/sparse-matrix.svg b/tests/testthat/_snaps/tests/sparse-matrix.svg index f2a20e9..4bcd172 100644 --- a/tests/testthat/_snaps/tests/sparse-matrix.svg +++ b/tests/testthat/_snaps/tests/sparse-matrix.svg @@ -19,133 +19,133 @@ - - - - - - -Y + + + + + + +Y G -G1 -G2 -G3 -M1 -M2 -V --1 --0.5 -0 -0.5 -1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +G1 +G2 +G3 +M1 +M2 +V +1 +1.5 +2 +2.5 +3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/testthat/_snaps/tests/sparse.svg b/tests/testthat/_snaps/tests/sparse.svg index 65c9244..200597d 100644 --- a/tests/testthat/_snaps/tests/sparse.svg +++ b/tests/testthat/_snaps/tests/sparse.svg @@ -19,785 +19,785 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + UBR symbol_ct - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -M_CHPT1 -F_C5 -E_EPHA6 -E_DCN -T_LIF -T_NOTCH3 -T_PDGFD -F_CXCL14 -M_CD47 -M_ADAM12 -M_ITGA4 -M_ITGB8 -F_VWF -M_ANGPT2 -M_VWF -T_PRG4 -E_CPA3 -M_MDK -F_GPER1 -M_PLOD3 -M_SERPINE1 -E_CHI3L1 -F_ADAMTS13 -E_COL3A1 -M_HEG1 -M_CAV1 -T_PROK2 -F_CXCL10 -E_ORM1 -F_C1QA -F_C1QB -M_FN1 -M_SEMA3E -M_MEGF8 -M_PRKD1 -E_SPINK5 -T_HYAL1 -T_MFAP4 -M_SEMA6A -F_FGFR2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +M_CD47 +F_CXCL14 +F_CXCL10 +M_CHPT1 +E_SPINK5 +F_C1QB +F_C1QA +E_ORM1 +M_FN1 +M_SEMA3E +M_MEGF8 +M_PRKD1 +T_HYAL1 +T_MFAP4 +F_VWF +M_SEMA6A +F_FGFR2 +M_HEG1 +M_CAV1 +M_ITGA4 +F_C5 +M_ITGB8 +M_PLOD3 +M_SERPINE1 +E_COL3A1 +E_CHI3L1 +F_ADAMTS13 +T_PROK2 +E_EPHA6 +T_PDGFD +T_NOTCH3 +M_VWF +M_ANGPT2 +E_CPA3 +T_PRG4 +M_MDK +F_GPER1 +T_LIF +E_DCN +M_ADAM12 11420 -11405 -11438 -11437 -11452 -11444 +11438 +11405 +11427 +11450 +11467 11433 -11425 -11427 -11453 -11458 -11450 -11467 +11453 +11458 +11437 +11452 +11444 +11425 read count normalised log -2 -1 diff --git a/tests/testthat/_snaps/tests/split.svg b/tests/testthat/_snaps/tests/split.svg index 68c4ec7..ed044ef 100644 --- a/tests/testthat/_snaps/tests/split.svg +++ b/tests/testthat/_snaps/tests/split.svg @@ -19,898 +19,897 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UBR symbol_ct - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -M_CHPT1 -F_C5 -E_EPHA6 -E_DCN -T_LIF -T_NOTCH3 -T_PDGFD -F_CXCL14 -M_CD47 -F_VWF -M_ANGPT2 -M_VWF -T_PRG4 -E_CPA3 -M_MDK -F_GPER1 -M_PLOD3 -M_SERPINE1 -E_CHI3L1 -F_ADAMTS13 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +E_SPINK5 +F_C1QB +F_C1QA +E_ORM1 +M_FN1 +M_SEMA3E +M_MEGF8 +M_PRKD1 +T_HYAL1 +T_MFAP4 +F_VWF +M_SEMA6A +F_FGFR2 +M_HEG1 +M_CAV1 +M_ITGA4 +F_C5 +M_ITGB8 +M_PLOD3 +M_SERPINE1 E_COL3A1 -M_HEG1 -M_CAV1 +E_CHI3L1 +F_ADAMTS13 T_PROK2 -F_CXCL10 -M_ADAM12 -M_ITGA4 -M_ITGB8 -E_ORM1 -F_C1QA -F_C1QB -M_FN1 -M_SEMA3E -M_MEGF8 -M_PRKD1 -E_SPINK5 -T_HYAL1 -T_MFAP4 -M_SEMA6A -F_FGFR2 -11420 -11405 -11438 -11437 -11452 -11444 -11433 -11425 -11427 -11453 -11458 -11450 -11467 +E_EPHA6 +T_PDGFD +T_NOTCH3 +M_VWF +M_ANGPT2 +E_CPA3 +T_PRG4 +M_MDK +F_GPER1 +T_LIF +E_DCN +M_ADAM12 +M_CD47 +F_CXCL14 +F_CXCL10 +M_CHPT1 +11427 +11450 +11467 +11433 +11453 +11458 +11437 +11452 +11444 +11425 +11420 +11438 +11405 read count normalised log --2 -0 -2 -4 +0 +5 +10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + - - + diff --git a/tests/testthat/_snaps/tests/wrap-heatmap.svg b/tests/testthat/_snaps/tests/wrap-heatmap.svg index af3527c..6b5cf23 100644 --- a/tests/testthat/_snaps/tests/wrap-heatmap.svg +++ b/tests/testthat/_snaps/tests/wrap-heatmap.svg @@ -51,896 +51,895 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UBR symbol_ct - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -M_CHPT1 -F_C5 -E_EPHA6 -E_DCN -T_LIF -T_NOTCH3 -T_PDGFD -F_CXCL14 -M_CD47 -F_VWF -M_ANGPT2 -M_VWF -T_PRG4 -E_CPA3 -M_MDK -F_GPER1 -M_PLOD3 -M_SERPINE1 -E_CHI3L1 -F_ADAMTS13 -E_COL3A1 -M_HEG1 -M_CAV1 -T_PROK2 -F_CXCL10 -M_ADAM12 -M_ITGA4 -M_ITGB8 -E_ORM1 -F_C1QA -F_C1QB -M_FN1 -M_SEMA3E -M_MEGF8 -M_PRKD1 -E_SPINK5 -T_HYAL1 -T_MFAP4 -M_SEMA6A -F_FGFR2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +M_CD47 +F_CXCL14 +F_CXCL10 +M_CHPT1 +E_SPINK5 +F_C1QB +F_C1QA +E_ORM1 +M_FN1 +M_SEMA3E +M_MEGF8 +M_PRKD1 +T_HYAL1 +T_MFAP4 +F_VWF +M_SEMA6A +F_FGFR2 +M_HEG1 +M_CAV1 +M_ITGA4 +F_C5 +M_ITGB8 +M_PLOD3 +M_SERPINE1 +E_COL3A1 +E_CHI3L1 +F_ADAMTS13 +T_PROK2 +E_EPHA6 +T_PDGFD +T_NOTCH3 +M_VWF +M_ANGPT2 +E_CPA3 +T_PRG4 +M_MDK +F_GPER1 +T_LIF +E_DCN +M_ADAM12 11420 -11405 -11438 -11437 -11452 -11444 +11438 +11405 +11427 +11450 +11467 11433 -11425 -11427 -11453 -11458 -11450 -11467 +11453 +11458 +11437 +11452 +11444 +11425 read count normalised log --2 -0 -2 -4 +0 +5 +10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + - - + @@ -978,896 +977,895 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UBR symbol_ct - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -M_CHPT1 -F_C5 -E_EPHA6 -E_DCN -T_LIF -T_NOTCH3 -T_PDGFD -F_CXCL14 -M_CD47 -F_VWF -M_ANGPT2 -M_VWF -T_PRG4 -E_CPA3 -M_MDK -F_GPER1 -M_PLOD3 -M_SERPINE1 -E_CHI3L1 -F_ADAMTS13 -E_COL3A1 -M_HEG1 -M_CAV1 -T_PROK2 -F_CXCL10 -M_ADAM12 -M_ITGA4 -M_ITGB8 -E_ORM1 -F_C1QA -F_C1QB -M_FN1 -M_SEMA3E -M_MEGF8 -M_PRKD1 -E_SPINK5 -T_HYAL1 -T_MFAP4 -M_SEMA6A -F_FGFR2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +M_CD47 +F_CXCL14 +F_CXCL10 +M_CHPT1 +E_SPINK5 +F_C1QB +F_C1QA +E_ORM1 +M_FN1 +M_SEMA3E +M_MEGF8 +M_PRKD1 +T_HYAL1 +T_MFAP4 +F_VWF +M_SEMA6A +F_FGFR2 +M_HEG1 +M_CAV1 +M_ITGA4 +F_C5 +M_ITGB8 +M_PLOD3 +M_SERPINE1 +E_COL3A1 +E_CHI3L1 +F_ADAMTS13 +T_PROK2 +E_EPHA6 +T_PDGFD +T_NOTCH3 +M_VWF +M_ANGPT2 +E_CPA3 +T_PRG4 +M_MDK +F_GPER1 +T_LIF +E_DCN +M_ADAM12 11420 -11405 -11438 -11437 -11452 -11444 +11438 +11405 +11427 +11450 +11467 11433 -11425 -11427 -11453 -11458 -11450 -11467 +11453 +11458 +11437 +11452 +11444 +11425 read count normalised log --2 -0 -2 -4 +0 +5 +10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + - - + diff --git a/tests/testthat/tests.R b/tests/testthat/tests.R index 9d85d4d..ec1347a 100644 --- a/tests/testthat/tests.R +++ b/tests/testthat/tests.R @@ -1,7 +1,7 @@ context('tests') # For resetting -# testthat::snapshot_review() +# testthat::snapshot_review('tests') test_that("basic plot",{ @@ -388,8 +388,8 @@ vdiffr::expect_doppelganger("scale both", p) .column = UBR, .row = symbol_ct, .value = `read count`, - .scale = "WRONG_INPUT" - ), "the .scale parameter has to be one") + scale = "WRONG_INPUT" + ), "the scale parameter has to be one") }) test_that("multi-type",{ @@ -486,21 +486,6 @@ test_that("managing palette usage",{ }) -test_that("annotated plot numerical continuous intereg nominal annot",{ - - expect_warning( - tidyHeatmap::heatmap( - dplyr::filter(tidyHeatmap::N52, Category == "Angiogenesis"), - .column = UBR, - .row = symbol_ct, - .value = `read count normalised log`, - annotation = CAPRA_TOTAL - ), "Please use the new annotation framework instead" - ) - - -}) - test_that("test sparse matrix",{ p=data.frame(G = c('G1', 'G2', 'G3'), Y = c('M1', 'M1', 'M2'), V = c(1,2,3)) |> From 888295f3fcb80433eee2ceec8768a1445e124f25 Mon Sep 17 00:00:00 2001 From: stemangiola Date: Fri, 13 May 2022 14:57:44 +1000 Subject: [PATCH 5/6] update tests --- man/fragments/figures/unnamed-chunk-27-1.png | Bin 0 -> 49911 bytes tests/testthat/Rplots.pdf | Bin 3611 -> 3611 bytes .../_snaps/tests/annotated-heatmap-1.svg | 1777 ++++----- .../_snaps/tests/annotated-heatmap-2.svg | 1799 ++++----- tests/testthat/_snaps/tests/base.svg | 1755 +++++---- tests/testthat/_snaps/tests/colorramp2.svg | 1542 ++++---- .../tests/grouped-annotated-heatmap-1.svg | 1757 ++++----- .../tests/grouped-annotated-heatmap-2.svg | 2105 +++++----- .../tests/grouped-custom-color-both.svg | 2130 +++++----- tests/testthat/_snaps/tests/grouped.svg | 1735 ++++---- tests/testthat/_snaps/tests/layer-symbol.svg | 1815 ++++----- tests/testthat/_snaps/tests/legend.svg | 1616 ++++---- .../_snaps/tests/show-heatmap-legend.svg | 1921 +++++---- .../testthat/_snaps/tests/size-annotation.svg | 1616 ++++---- tests/testthat/_snaps/tests/sparse-matrix.svg | 254 +- tests/testthat/_snaps/tests/sparse.svg | 1540 ++++---- tests/testthat/_snaps/tests/split.svg | 1763 ++++----- tests/testthat/_snaps/tests/wrap-heatmap.svg | 3510 +++++++++-------- tests/testthat/tests.R | 94 +- 19 files changed, 14386 insertions(+), 14343 deletions(-) create mode 100644 man/fragments/figures/unnamed-chunk-27-1.png diff --git a/man/fragments/figures/unnamed-chunk-27-1.png b/man/fragments/figures/unnamed-chunk-27-1.png new file mode 100644 index 0000000000000000000000000000000000000000..f4bdbe75e4a5544a0076e6b07492eb87bef3ca5f GIT binary patch literal 49911 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 z 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UBR symbol_ct - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -M_CD47 -F_CXCL14 -F_CXCL10 -M_CHPT1 -E_SPINK5 -F_C1QB -F_C1QA -E_ORM1 -M_FN1 -M_SEMA3E -M_MEGF8 -M_PRKD1 -T_HYAL1 -T_MFAP4 -F_VWF -M_SEMA6A -F_FGFR2 -M_HEG1 -M_CAV1 -M_ITGA4 -F_C5 -M_ITGB8 -M_PLOD3 -M_SERPINE1 -E_COL3A1 -E_CHI3L1 -F_ADAMTS13 -T_PROK2 -E_EPHA6 -T_PDGFD -T_NOTCH3 -M_VWF -M_ANGPT2 -E_CPA3 -T_PRG4 -M_MDK -F_GPER1 -T_LIF -E_DCN -M_ADAM12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +M_CHPT1 +F_C5 +E_EPHA6 +E_DCN +T_LIF +T_NOTCH3 +T_PDGFD +F_CXCL14 +M_CD47 +F_VWF +M_ANGPT2 +M_VWF +T_PRG4 +E_CPA3 +M_MDK +F_GPER1 +M_PLOD3 +M_SERPINE1 +E_CHI3L1 +F_ADAMTS13 +E_COL3A1 +M_HEG1 +M_CAV1 +T_PROK2 +F_CXCL10 +M_ADAM12 +M_ITGA4 +M_ITGB8 +E_ORM1 +F_C1QA +F_C1QB +M_FN1 +M_SEMA3E +M_MEGF8 +M_PRKD1 +E_SPINK5 +T_HYAL1 +T_MFAP4 +M_SEMA6A +F_FGFR2 11420 -11438 -11405 -11427 -11450 -11467 +11405 +11438 +11437 +11452 +11444 11433 -11453 -11458 -11437 -11452 -11444 -11425 +11425 +11427 +11453 +11458 +11450 +11467 - - - - - + + + + + - - - - - - + + + + + + CAPRA_TOTAL read count normalised log -0 -5 -10 +-2 +0 +2 +4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + - + + CAPRA_TOTAL 0 diff --git a/tests/testthat/_snaps/tests/annotated-heatmap-2.svg b/tests/testthat/_snaps/tests/annotated-heatmap-2.svg index d9f0443..da0fec2 100644 --- a/tests/testthat/_snaps/tests/annotated-heatmap-2.svg +++ b/tests/testthat/_snaps/tests/annotated-heatmap-2.svg @@ -19,923 +19,924 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UBR symbol_ct - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -M_CD47 -F_CXCL14 -F_CXCL10 -M_CHPT1 -E_SPINK5 -F_C1QB -F_C1QA -E_ORM1 -M_FN1 -M_SEMA3E -M_MEGF8 -M_PRKD1 -T_HYAL1 -T_MFAP4 -F_VWF -M_SEMA6A -F_FGFR2 -M_HEG1 -M_CAV1 -M_ITGA4 -F_C5 -M_ITGB8 -M_PLOD3 -M_SERPINE1 -E_COL3A1 -E_CHI3L1 -F_ADAMTS13 -T_PROK2 -E_EPHA6 -T_PDGFD -T_NOTCH3 -M_VWF -M_ANGPT2 -E_CPA3 -T_PRG4 -M_MDK -F_GPER1 -T_LIF -E_DCN -M_ADAM12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +M_CHPT1 +F_C5 +E_EPHA6 +E_DCN +T_LIF +T_NOTCH3 +T_PDGFD +F_CXCL14 +M_CD47 +F_VWF +M_ANGPT2 +M_VWF +T_PRG4 +E_CPA3 +M_MDK +F_GPER1 +M_PLOD3 +M_SERPINE1 +E_CHI3L1 +F_ADAMTS13 +E_COL3A1 +M_HEG1 +M_CAV1 +T_PROK2 +F_CXCL10 +M_ADAM12 +M_ITGA4 +M_ITGB8 +E_ORM1 +F_C1QA +F_C1QB +M_FN1 +M_SEMA3E +M_MEGF8 +M_PRKD1 +E_SPINK5 +T_HYAL1 +T_MFAP4 +M_SEMA6A +F_FGFR2 11420 -11438 -11405 -11427 -11450 -11467 +11405 +11438 +11437 +11452 +11444 11433 -11453 -11458 -11437 -11452 -11444 -11425 +11425 +11427 +11453 +11458 +11450 +11467 - - - - - + + + + + - - - - - - + + + + + + a - - - - - + + + + + - - - - - - + + + + + + CAPRA_TOTAL read count normalised log -0 -5 -10 +-2 +0 +2 +4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + - + + a -10 diff --git a/tests/testthat/_snaps/tests/base.svg b/tests/testthat/_snaps/tests/base.svg index ec1089d..63af24f 100644 --- a/tests/testthat/_snaps/tests/base.svg +++ b/tests/testthat/_snaps/tests/base.svg @@ -19,895 +19,896 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UBR symbol_ct - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -M_CD47 -F_CXCL14 -F_CXCL10 -M_CHPT1 -E_SPINK5 -F_C1QB -F_C1QA -E_ORM1 -M_FN1 -M_SEMA3E -M_MEGF8 -M_PRKD1 -T_HYAL1 -T_MFAP4 -F_VWF -M_SEMA6A -F_FGFR2 -M_HEG1 -M_CAV1 -M_ITGA4 -F_C5 -M_ITGB8 -M_PLOD3 -M_SERPINE1 -E_COL3A1 -E_CHI3L1 -F_ADAMTS13 -T_PROK2 -E_EPHA6 -T_PDGFD -T_NOTCH3 -M_VWF -M_ANGPT2 -E_CPA3 -T_PRG4 -M_MDK -F_GPER1 -T_LIF -E_DCN -M_ADAM12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +M_CHPT1 +F_C5 +E_EPHA6 +E_DCN +T_LIF +T_NOTCH3 +T_PDGFD +F_CXCL14 +M_CD47 +F_VWF +M_ANGPT2 +M_VWF +T_PRG4 +E_CPA3 +M_MDK +F_GPER1 +M_PLOD3 +M_SERPINE1 +E_CHI3L1 +F_ADAMTS13 +E_COL3A1 +M_HEG1 +M_CAV1 +T_PROK2 +F_CXCL10 +M_ADAM12 +M_ITGA4 +M_ITGB8 +E_ORM1 +F_C1QA +F_C1QB +M_FN1 +M_SEMA3E +M_MEGF8 +M_PRKD1 +E_SPINK5 +T_HYAL1 +T_MFAP4 +M_SEMA6A +F_FGFR2 11420 -11438 -11405 -11427 -11450 -11467 +11405 +11438 +11437 +11452 +11444 11433 -11453 -11458 -11437 -11452 -11444 -11425 +11425 +11427 +11453 +11458 +11450 +11467 read count normalised log -0 -5 -10 +-2 +0 +2 +4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + - + + diff --git a/tests/testthat/_snaps/tests/colorramp2.svg b/tests/testthat/_snaps/tests/colorramp2.svg index 742fe2e..7879368 100644 --- a/tests/testthat/_snaps/tests/colorramp2.svg +++ b/tests/testthat/_snaps/tests/colorramp2.svg @@ -19,785 +19,785 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + UBR symbol_ct - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -M_CD47 -F_CXCL14 -F_CXCL10 -M_CHPT1 -E_SPINK5 -F_C1QB -F_C1QA -E_ORM1 -M_FN1 -M_SEMA3E -M_MEGF8 -M_PRKD1 -T_HYAL1 -T_MFAP4 -F_VWF -M_SEMA6A -F_FGFR2 -M_HEG1 -M_CAV1 -M_ITGA4 -F_C5 -M_ITGB8 -M_PLOD3 -M_SERPINE1 -E_COL3A1 -E_CHI3L1 -F_ADAMTS13 -T_PROK2 -E_EPHA6 -T_PDGFD -T_NOTCH3 -M_VWF -M_ANGPT2 -E_CPA3 -T_PRG4 -M_MDK -F_GPER1 -T_LIF -E_DCN -M_ADAM12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +M_CHPT1 +F_C5 +E_EPHA6 +E_DCN +T_LIF +T_NOTCH3 +T_PDGFD +F_CXCL14 +M_CD47 +F_VWF +M_ANGPT2 +M_VWF +T_PRG4 +E_CPA3 +M_MDK +F_GPER1 +M_PLOD3 +M_SERPINE1 +E_CHI3L1 +F_ADAMTS13 +E_COL3A1 +M_HEG1 +M_CAV1 +T_PROK2 +F_CXCL10 +M_ADAM12 +M_ITGA4 +M_ITGB8 +E_ORM1 +F_C1QA +F_C1QB +M_FN1 +M_SEMA3E +M_MEGF8 +M_PRKD1 +E_SPINK5 +T_HYAL1 +T_MFAP4 +M_SEMA6A +F_FGFR2 11420 -11438 -11405 -11427 -11450 -11467 +11405 +11438 +11437 +11452 +11444 11433 -11453 -11458 -11437 -11452 -11444 -11425 +11425 +11427 +11453 +11458 +11450 +11467 read count normalised log -2 -1 diff --git a/tests/testthat/_snaps/tests/grouped-annotated-heatmap-1.svg b/tests/testthat/_snaps/tests/grouped-annotated-heatmap-1.svg index 970fedb..67ee1d1 100644 --- a/tests/testthat/_snaps/tests/grouped-annotated-heatmap-1.svg +++ b/tests/testthat/_snaps/tests/grouped-annotated-heatmap-1.svg @@ -19,786 +19,786 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UBR symbol_ct - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -E_SPINK5 -E_ORM1 -E_EPHA6 -E_DCN -E_CHI3L1 -E_COL3A1 -E_CPA3 -F_CXCL14 -F_CXCL10 -F_C1QB -F_C1QA -F_VWF -F_C5 -F_ADAMTS13 -F_GPER1 -F_FGFR2 -M_CD47 -M_CHPT1 -M_SEMA6A -M_FN1 -M_SEMA3E -M_MEGF8 -M_PRKD1 -M_HEG1 -M_CAV1 -M_PLOD3 -M_SERPINE1 -M_ITGA4 -M_ITGB8 -M_ANGPT2 -M_VWF -M_MDK -M_ADAM12 -T_PROK2 -T_PDGFD -T_NOTCH3 -T_LIF -T_PRG4 -T_MFAP4 -T_HYAL1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +E_ORM1 +E_SPINK5 +E_DCN +E_EPHA6 +E_CPA3 +E_CHI3L1 +E_COL3A1 +F_VWF +F_FGFR2 +F_C1QA +F_C1QB +F_C5 +F_CXCL14 +F_GPER1 +F_ADAMTS13 +F_CXCL10 +M_ANGPT2 +M_VWF +M_MDK +M_PLOD3 +M_SERPINE1 +M_HEG1 +M_CAV1 +M_CHPT1 +M_CD47 +M_ADAM12 +M_ITGA4 +M_ITGB8 +M_SEMA3E +M_MEGF8 +M_PRKD1 +M_FN1 +M_SEMA6A +T_PRG4 +T_LIF +T_PROK2 +T_NOTCH3 +T_PDGFD +T_HYAL1 +T_MFAP4 11420 -11438 -11405 -11427 -11450 -11467 +11405 +11438 +11437 +11452 +11444 11433 -11453 -11458 -11437 -11452 -11444 -11425 +11425 +11427 +11453 +11458 +11450 +11467 - - - - - + + + + + - - - - - - + + + + + + CAPRA_TOTAL E @@ -809,115 +809,116 @@ T read count normalised log -0 -5 -10 +-2 +0 +2 +4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + - + + CAPRA_TOTAL 0 diff --git a/tests/testthat/_snaps/tests/grouped-annotated-heatmap-2.svg b/tests/testthat/_snaps/tests/grouped-annotated-heatmap-2.svg index 778ed1e..a3390fa 100644 --- a/tests/testthat/_snaps/tests/grouped-annotated-heatmap-2.svg +++ b/tests/testthat/_snaps/tests/grouped-annotated-heatmap-2.svg @@ -19,976 +19,976 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sample symbol - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Hml -Ant2 -CG3168 -CG8500 -CG32407 -CG9119 -LpR2 -NimC4 -firl -CG1124 -CG34330 -Sox100B -Pgant9 -CG9503 -Cyp6w1 -CG5895 -CG5418 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Cyp9b1 +comm3 +twz +CG16713 +CG8500 +Hml +CG32407 +CG3168 +Sox100B +CG9782 +Prx2540-1 +CG30116 +CG34330 +NimC2 +CG14625 +snoRNA:Psi28S-3342 +Cht6 SP1173 -NimC2 -twz -comm3 -Prx2540-1 -CG16713 -CG9782 -CG30116 -CG14625 -Cyp9b1 -snoRNA:Psi28S-3342 -CG8785 -Tsp68C +Pgant9 +Cyp6w1 +CG9119 +CG9503 +Tsp68C +firl +CG1124 +LpR2 +Ant2 +NimC4 +CG5418 +CG5895 dpr9 -Cht6 -Pvf1 -SPARC -sesB -Kal1 -CG3770 -Ama -Src64B -Sema2a -CG15695 -CG1544 -Cyt-b5-r -gas -Rgk1 -MtnA -Picot -CG12116 -nemy -Npc2b -bou -CAHbeta -TwdlU -Pde6 -stet -CG6356 -CG32335 -CG12880 -mthl6 -CG9164 -CG18128 -Acbp2 -snoRNA:Or-CD8 -CR33318 -CG31909 -Kaz-m1 -CG10013 -TwdlF -Pkd2 -ppk10 -Glut1 -Slob +Pvf1 +CG8785 +Glut1 +Slob +snoRNA:Or-CD8 +CG10013 +CG6356 +Pkd2 +CG12880 +ppk10 +CG31909 +Kaz-m1 +stet +Ama +nemy +Src64B +Sema2a +Npc2b +bou +CG32335 +CR33318 +Acbp2 +gas +CG1544 +Picot +SPARC +Rgk1 +TwdlU +CG3770 +Kal1 +sesB +MtnA +CG15695 +TwdlF +Cyt-b5-r +CG12116 +CG9164 +CAHbeta +mthl6 +CG18128 +Pde6 untreated4 untreated3 treated3 treated2 -untreated1 +treated1 untreated2 -treated1 +untreated1 paired-end single-read - - + + condition Intracellular - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - + + Secretory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + activation activation -2 @@ -1106,116 +1106,119 @@ count normalised adjusted -0 -20000 -40000 -60000 - - - - - +-2 +-1 +0 +1 +2 + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + - - + + + condition treated diff --git a/tests/testthat/_snaps/tests/grouped-custom-color-both.svg b/tests/testthat/_snaps/tests/grouped-custom-color-both.svg index bb0d401..a86b939 100644 --- a/tests/testthat/_snaps/tests/grouped-custom-color-both.svg +++ b/tests/testthat/_snaps/tests/grouped-custom-color-both.svg @@ -19,979 +19,978 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sample symbol - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Hml -Ant2 -CG3168 -CG8500 -CG32407 -CG9119 -LpR2 -NimC4 -firl -CG1124 -CG34330 -Sox100B -Pgant9 -CG9503 -Cyp6w1 -CG5895 -CG5418 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Cyp9b1 +comm3 +twz +CG16713 +CG8500 +Hml +CG32407 +CG3168 +Sox100B +CG9782 +Prx2540-1 +CG30116 +CG34330 +NimC2 +CG14625 +snoRNA:Psi28S-3342 +Cht6 SP1173 -NimC2 -twz -comm3 -Prx2540-1 -CG16713 -CG9782 -CG30116 -CG14625 -Cyp9b1 -snoRNA:Psi28S-3342 -CG8785 -Tsp68C +Pgant9 +Cyp6w1 +CG9119 +CG9503 +Tsp68C +firl +CG1124 +LpR2 +Ant2 +NimC4 +CG5418 +CG5895 dpr9 -Cht6 -Pvf1 -SPARC -sesB -Kal1 -CG3770 -Ama -Src64B -Sema2a -CG15695 -CG1544 -Cyt-b5-r -gas -Rgk1 -MtnA -Picot -CG12116 -nemy -Npc2b -bou -CAHbeta -TwdlU -Pde6 -stet -CG6356 -CG32335 -CG12880 -mthl6 -CG9164 -CG18128 -Acbp2 -snoRNA:Or-CD8 -CR33318 -CG31909 -Kaz-m1 -CG10013 -TwdlF -Pkd2 -ppk10 -Glut1 -Slob -untreated4 -untreated3 -untreated1 -untreated2 -treated3 -treated2 -treated1 - - +Pvf1 +CG8785 +Glut1 +Slob +snoRNA:Or-CD8 +CG10013 +CG6356 +Pkd2 +CG12880 +ppk10 +CG31909 +Kaz-m1 +stet +Ama +nemy +Src64B +Sema2a +Npc2b +bou +CG32335 +CR33318 +Acbp2 +gas +CG1544 +Picot +SPARC +Rgk1 +TwdlU +CG3770 +Kal1 +sesB +MtnA +CG15695 +TwdlF +Cyt-b5-r +CG12116 +CG9164 +CAHbeta +mthl6 +CG18128 +Pde6 +treated1 +treated3 +treated2 +untreated3 +untreated4 +untreated2 +untreated1 + + condition - - - - + + + type Intracellular - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - + + Secretory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + activation activation -2 @@ -1109,116 +1108,119 @@ count normalised adjusted -0 -20000 -40000 -60000 - - - - - +-2 +-1 +0 +1 +2 + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + - - + + + condition treated diff --git a/tests/testthat/_snaps/tests/grouped.svg b/tests/testthat/_snaps/tests/grouped.svg index 99b8b67..2ab3330 100644 --- a/tests/testthat/_snaps/tests/grouped.svg +++ b/tests/testthat/_snaps/tests/grouped.svg @@ -19,773 +19,773 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UBR symbol_ct - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -E_SPINK5 -E_ORM1 -E_EPHA6 -E_DCN -E_CHI3L1 -E_COL3A1 -E_CPA3 -F_CXCL14 -F_CXCL10 -F_C1QB -F_C1QA -F_VWF -F_C5 -F_ADAMTS13 -F_GPER1 -F_FGFR2 -M_CD47 -M_CHPT1 -M_SEMA6A -M_FN1 -M_SEMA3E -M_MEGF8 -M_PRKD1 -M_HEG1 -M_CAV1 -M_PLOD3 -M_SERPINE1 -M_ITGA4 -M_ITGB8 -M_ANGPT2 -M_VWF -M_MDK -M_ADAM12 -T_PROK2 -T_PDGFD -T_NOTCH3 -T_LIF -T_PRG4 -T_MFAP4 -T_HYAL1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +E_ORM1 +E_SPINK5 +E_DCN +E_EPHA6 +E_CPA3 +E_CHI3L1 +E_COL3A1 +F_VWF +F_FGFR2 +F_C1QA +F_C1QB +F_C5 +F_CXCL14 +F_GPER1 +F_ADAMTS13 +F_CXCL10 +M_ANGPT2 +M_VWF +M_MDK +M_PLOD3 +M_SERPINE1 +M_HEG1 +M_CAV1 +M_CHPT1 +M_CD47 +M_ADAM12 +M_ITGA4 +M_ITGB8 +M_SEMA3E +M_MEGF8 +M_PRKD1 +M_FN1 +M_SEMA6A +T_PRG4 +T_LIF +T_PROK2 +T_NOTCH3 +T_PDGFD +T_HYAL1 +T_MFAP4 11420 -11438 -11405 -11427 -11450 -11467 +11405 +11438 +11437 +11452 +11444 11433 -11453 -11458 -11437 -11452 -11444 -11425 +11425 +11427 +11453 +11458 +11450 +11467 E @@ -795,115 +795,116 @@ T read count normalised log -0 -5 -10 +-2 +0 +2 +4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + - + + diff --git a/tests/testthat/_snaps/tests/layer-symbol.svg b/tests/testthat/_snaps/tests/layer-symbol.svg index 9304226..671a2c0 100644 --- a/tests/testthat/_snaps/tests/layer-symbol.svg +++ b/tests/testthat/_snaps/tests/layer-symbol.svg @@ -19,925 +19,926 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UBR symbol_ct - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -M_CD47 -F_CXCL14 -F_CXCL10 -M_CHPT1 -E_SPINK5 -F_C1QB -F_C1QA -E_ORM1 -M_FN1 -M_SEMA3E -M_MEGF8 -M_PRKD1 -T_HYAL1 -T_MFAP4 -F_VWF -M_SEMA6A -F_FGFR2 -M_HEG1 -M_CAV1 -M_ITGA4 -F_C5 -M_ITGB8 -M_PLOD3 -M_SERPINE1 -E_COL3A1 -E_CHI3L1 -F_ADAMTS13 -T_PROK2 -E_EPHA6 -T_PDGFD -T_NOTCH3 -M_VWF -M_ANGPT2 -E_CPA3 -T_PRG4 -M_MDK -F_GPER1 -T_LIF -E_DCN -M_ADAM12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +M_CHPT1 +F_C5 +E_EPHA6 +E_DCN +T_LIF +T_NOTCH3 +T_PDGFD +F_CXCL14 +M_CD47 +F_VWF +M_ANGPT2 +M_VWF +T_PRG4 +E_CPA3 +M_MDK +F_GPER1 +M_PLOD3 +M_SERPINE1 +E_CHI3L1 +F_ADAMTS13 +E_COL3A1 +M_HEG1 +M_CAV1 +T_PROK2 +F_CXCL10 +M_ADAM12 +M_ITGA4 +M_ITGB8 +E_ORM1 +F_C1QA +F_C1QB +M_FN1 +M_SEMA3E +M_MEGF8 +M_PRKD1 +E_SPINK5 +T_HYAL1 +T_MFAP4 +M_SEMA6A +F_FGFR2 11420 -11438 -11405 -11427 -11450 -11467 +11405 +11438 +11437 +11452 +11444 11433 -11453 -11458 -11437 -11452 -11444 -11425 +11425 +11427 +11453 +11458 +11450 +11467 read count normalised log -0 -5 -10 +-2 +0 +2 +4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + - + + diff --git a/tests/testthat/_snaps/tests/legend.svg b/tests/testthat/_snaps/tests/legend.svg index 1669b7c..e4d1a37 100644 --- a/tests/testthat/_snaps/tests/legend.svg +++ b/tests/testthat/_snaps/tests/legend.svg @@ -19,826 +19,826 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UBR symbol_ct - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -M_CD47 -F_CXCL14 -F_CXCL10 -M_CHPT1 -E_SPINK5 -F_C1QB -F_C1QA -E_ORM1 -M_FN1 -M_SEMA3E -M_MEGF8 -M_PRKD1 -T_HYAL1 -T_MFAP4 -F_VWF -M_SEMA6A -F_FGFR2 -M_HEG1 -M_CAV1 -M_ITGA4 -F_C5 -M_ITGB8 -M_PLOD3 -M_SERPINE1 -E_COL3A1 -E_CHI3L1 -F_ADAMTS13 -T_PROK2 -E_EPHA6 -T_PDGFD -T_NOTCH3 -M_VWF -M_ANGPT2 -E_CPA3 -T_PRG4 -M_MDK -F_GPER1 -T_LIF -E_DCN -M_ADAM12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +M_CHPT1 +F_C5 +E_EPHA6 +E_DCN +T_LIF +T_NOTCH3 +T_PDGFD +F_CXCL14 +M_CD47 +F_VWF +M_ANGPT2 +M_VWF +T_PRG4 +E_CPA3 +M_MDK +F_GPER1 +M_PLOD3 +M_SERPINE1 +E_CHI3L1 +F_ADAMTS13 +E_COL3A1 +M_HEG1 +M_CAV1 +T_PROK2 +F_CXCL10 +M_ADAM12 +M_ITGA4 +M_ITGB8 +E_ORM1 +F_C1QA +F_C1QB +M_FN1 +M_SEMA3E +M_MEGF8 +M_PRKD1 +E_SPINK5 +T_HYAL1 +T_MFAP4 +M_SEMA6A +F_FGFR2 11420 -11438 -11405 -11427 -11450 -11467 +11405 +11438 +11437 +11452 +11444 11433 -11453 -11458 -11437 -11452 -11444 -11425 +11425 +11427 +11453 +11458 +11450 +11467 - - - - - + + + + + - - - - - - + + + + + + UBR - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + Cell type diff --git a/tests/testthat/_snaps/tests/show-heatmap-legend.svg b/tests/testthat/_snaps/tests/show-heatmap-legend.svg index 744bfcd..91e11f2 100644 --- a/tests/testthat/_snaps/tests/show-heatmap-legend.svg +++ b/tests/testthat/_snaps/tests/show-heatmap-legend.svg @@ -19,979 +19,978 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sample symbol - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Hml -Ant2 -CG3168 -CG8500 -CG32407 -CG9119 -LpR2 -NimC4 -firl -CG1124 -CG34330 -Sox100B -Pgant9 -CG9503 -Cyp6w1 -CG5895 -CG5418 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Cyp9b1 +comm3 +twz +CG16713 +CG8500 +Hml +CG32407 +CG3168 +Sox100B +CG9782 +Prx2540-1 +CG30116 +CG34330 +NimC2 +CG14625 +snoRNA:Psi28S-3342 +Cht6 SP1173 -NimC2 -twz -comm3 -Prx2540-1 -CG16713 -CG9782 -CG30116 -CG14625 -Cyp9b1 -snoRNA:Psi28S-3342 -CG8785 -Tsp68C +Pgant9 +Cyp6w1 +CG9119 +CG9503 +Tsp68C +firl +CG1124 +LpR2 +Ant2 +NimC4 +CG5418 +CG5895 dpr9 -Cht6 -Pvf1 -SPARC -sesB -Kal1 -CG3770 -Ama -Src64B -Sema2a -CG15695 -CG1544 -Cyt-b5-r -gas -Rgk1 -MtnA -Picot -CG12116 -nemy -Npc2b -bou -CAHbeta -TwdlU -Pde6 -stet -CG6356 -CG32335 -CG12880 -mthl6 -CG9164 -CG18128 -Acbp2 -snoRNA:Or-CD8 -CR33318 -CG31909 -Kaz-m1 -CG10013 -TwdlF -Pkd2 -ppk10 -Glut1 -Slob -untreated4 -untreated3 -untreated1 -untreated2 -treated3 -treated2 -treated1 - - +Pvf1 +CG8785 +Glut1 +Slob +snoRNA:Or-CD8 +CG10013 +CG6356 +Pkd2 +CG12880 +ppk10 +CG31909 +Kaz-m1 +stet +Ama +nemy +Src64B +Sema2a +Npc2b +bou +CG32335 +CR33318 +Acbp2 +gas +CG1544 +Picot +SPARC +Rgk1 +TwdlU +CG3770 +Kal1 +sesB +MtnA +CG15695 +TwdlF +Cyt-b5-r +CG12116 +CG9164 +CAHbeta +mthl6 +CG18128 +Pde6 +treated1 +treated3 +treated2 +untreated3 +untreated4 +untreated2 +untreated1 + + condition - - - - + + + type Intracellular - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - + + Secretory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + activation activation -2 diff --git a/tests/testthat/_snaps/tests/size-annotation.svg b/tests/testthat/_snaps/tests/size-annotation.svg index 2c825ec..f99d888 100644 --- a/tests/testthat/_snaps/tests/size-annotation.svg +++ b/tests/testthat/_snaps/tests/size-annotation.svg @@ -19,826 +19,826 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UBR symbol_ct - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -M_CD47 -F_CXCL14 -F_CXCL10 -M_CHPT1 -E_SPINK5 -F_C1QB -F_C1QA -E_ORM1 -M_FN1 -M_SEMA3E -M_MEGF8 -M_PRKD1 -T_HYAL1 -T_MFAP4 -F_VWF -M_SEMA6A -F_FGFR2 -M_HEG1 -M_CAV1 -M_ITGA4 -F_C5 -M_ITGB8 -M_PLOD3 -M_SERPINE1 -E_COL3A1 -E_CHI3L1 -F_ADAMTS13 -T_PROK2 -E_EPHA6 -T_PDGFD -T_NOTCH3 -M_VWF -M_ANGPT2 -E_CPA3 -T_PRG4 -M_MDK -F_GPER1 -T_LIF -E_DCN -M_ADAM12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +M_CHPT1 +F_C5 +E_EPHA6 +E_DCN +T_LIF +T_NOTCH3 +T_PDGFD +F_CXCL14 +M_CD47 +F_VWF +M_ANGPT2 +M_VWF +T_PRG4 +E_CPA3 +M_MDK +F_GPER1 +M_PLOD3 +M_SERPINE1 +E_CHI3L1 +F_ADAMTS13 +E_COL3A1 +M_HEG1 +M_CAV1 +T_PROK2 +F_CXCL10 +M_ADAM12 +M_ITGA4 +M_ITGB8 +E_ORM1 +F_C1QA +F_C1QB +M_FN1 +M_SEMA3E +M_MEGF8 +M_PRKD1 +E_SPINK5 +T_HYAL1 +T_MFAP4 +M_SEMA6A +F_FGFR2 11420 -11438 -11405 -11427 -11450 -11467 +11405 +11438 +11437 +11452 +11444 11433 -11453 -11458 -11437 -11452 -11444 -11425 +11425 +11427 +11453 +11458 +11450 +11467 - - - - - + + + + + - - - - - - + + + + + + UBR - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + Cell type Cell type E diff --git a/tests/testthat/_snaps/tests/sparse-matrix.svg b/tests/testthat/_snaps/tests/sparse-matrix.svg index 4bcd172..f2a20e9 100644 --- a/tests/testthat/_snaps/tests/sparse-matrix.svg +++ b/tests/testthat/_snaps/tests/sparse-matrix.svg @@ -19,133 +19,133 @@ - - - - - - -Y + + + + + + +Y G -G1 -G2 -G3 -M1 -M2 -V -1 -1.5 -2 -2.5 -3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +G1 +G2 +G3 +M1 +M2 +V +-1 +-0.5 +0 +0.5 +1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/testthat/_snaps/tests/sparse.svg b/tests/testthat/_snaps/tests/sparse.svg index 200597d..65c9244 100644 --- a/tests/testthat/_snaps/tests/sparse.svg +++ b/tests/testthat/_snaps/tests/sparse.svg @@ -19,785 +19,785 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + UBR symbol_ct - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -M_CD47 -F_CXCL14 -F_CXCL10 -M_CHPT1 -E_SPINK5 -F_C1QB -F_C1QA -E_ORM1 -M_FN1 -M_SEMA3E -M_MEGF8 -M_PRKD1 -T_HYAL1 -T_MFAP4 -F_VWF -M_SEMA6A -F_FGFR2 -M_HEG1 -M_CAV1 -M_ITGA4 -F_C5 -M_ITGB8 -M_PLOD3 -M_SERPINE1 -E_COL3A1 -E_CHI3L1 -F_ADAMTS13 -T_PROK2 -E_EPHA6 -T_PDGFD -T_NOTCH3 -M_VWF -M_ANGPT2 -E_CPA3 -T_PRG4 -M_MDK -F_GPER1 -T_LIF -E_DCN -M_ADAM12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +M_CHPT1 +F_C5 +E_EPHA6 +E_DCN +T_LIF +T_NOTCH3 +T_PDGFD +F_CXCL14 +M_CD47 +M_ADAM12 +M_ITGA4 +M_ITGB8 +F_VWF +M_ANGPT2 +M_VWF +T_PRG4 +E_CPA3 +M_MDK +F_GPER1 +M_PLOD3 +M_SERPINE1 +E_CHI3L1 +F_ADAMTS13 +E_COL3A1 +M_HEG1 +M_CAV1 +T_PROK2 +F_CXCL10 +E_ORM1 +F_C1QA +F_C1QB +M_FN1 +M_SEMA3E +M_MEGF8 +M_PRKD1 +E_SPINK5 +T_HYAL1 +T_MFAP4 +M_SEMA6A +F_FGFR2 11420 -11438 -11405 -11427 -11450 -11467 +11405 +11438 +11437 +11452 +11444 11433 -11453 -11458 -11437 -11452 -11444 -11425 +11425 +11427 +11453 +11458 +11450 +11467 read count normalised log -2 -1 diff --git a/tests/testthat/_snaps/tests/split.svg b/tests/testthat/_snaps/tests/split.svg index ed044ef..68c4ec7 100644 --- a/tests/testthat/_snaps/tests/split.svg +++ b/tests/testthat/_snaps/tests/split.svg @@ -19,897 +19,898 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UBR symbol_ct - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -E_SPINK5 -F_C1QB -F_C1QA -E_ORM1 -M_FN1 -M_SEMA3E -M_MEGF8 -M_PRKD1 -T_HYAL1 -T_MFAP4 -F_VWF -M_SEMA6A -F_FGFR2 -M_HEG1 -M_CAV1 -M_ITGA4 -F_C5 -M_ITGB8 -M_PLOD3 -M_SERPINE1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +M_CHPT1 +F_C5 +E_EPHA6 +E_DCN +T_LIF +T_NOTCH3 +T_PDGFD +F_CXCL14 +M_CD47 +F_VWF +M_ANGPT2 +M_VWF +T_PRG4 +E_CPA3 +M_MDK +F_GPER1 +M_PLOD3 +M_SERPINE1 +E_CHI3L1 +F_ADAMTS13 E_COL3A1 -E_CHI3L1 -F_ADAMTS13 +M_HEG1 +M_CAV1 T_PROK2 -E_EPHA6 -T_PDGFD -T_NOTCH3 -M_VWF -M_ANGPT2 -E_CPA3 -T_PRG4 -M_MDK -F_GPER1 -T_LIF -E_DCN -M_ADAM12 -M_CD47 -F_CXCL14 -F_CXCL10 -M_CHPT1 -11427 -11450 -11467 -11433 -11453 -11458 -11437 -11452 -11444 -11425 -11420 -11438 -11405 +F_CXCL10 +M_ADAM12 +M_ITGA4 +M_ITGB8 +E_ORM1 +F_C1QA +F_C1QB +M_FN1 +M_SEMA3E +M_MEGF8 +M_PRKD1 +E_SPINK5 +T_HYAL1 +T_MFAP4 +M_SEMA6A +F_FGFR2 +11420 +11405 +11438 +11437 +11452 +11444 +11433 +11425 +11427 +11453 +11458 +11450 +11467 read count normalised log -0 -5 -10 +-2 +0 +2 +4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + - + + diff --git a/tests/testthat/_snaps/tests/wrap-heatmap.svg b/tests/testthat/_snaps/tests/wrap-heatmap.svg index 6b5cf23..af3527c 100644 --- a/tests/testthat/_snaps/tests/wrap-heatmap.svg +++ b/tests/testthat/_snaps/tests/wrap-heatmap.svg @@ -51,895 +51,896 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UBR symbol_ct - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -M_CD47 -F_CXCL14 -F_CXCL10 -M_CHPT1 -E_SPINK5 -F_C1QB -F_C1QA -E_ORM1 -M_FN1 -M_SEMA3E -M_MEGF8 -M_PRKD1 -T_HYAL1 -T_MFAP4 -F_VWF -M_SEMA6A -F_FGFR2 -M_HEG1 -M_CAV1 -M_ITGA4 -F_C5 -M_ITGB8 -M_PLOD3 -M_SERPINE1 -E_COL3A1 -E_CHI3L1 -F_ADAMTS13 -T_PROK2 -E_EPHA6 -T_PDGFD -T_NOTCH3 -M_VWF -M_ANGPT2 -E_CPA3 -T_PRG4 -M_MDK -F_GPER1 -T_LIF -E_DCN -M_ADAM12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +M_CHPT1 +F_C5 +E_EPHA6 +E_DCN +T_LIF +T_NOTCH3 +T_PDGFD +F_CXCL14 +M_CD47 +F_VWF +M_ANGPT2 +M_VWF +T_PRG4 +E_CPA3 +M_MDK +F_GPER1 +M_PLOD3 +M_SERPINE1 +E_CHI3L1 +F_ADAMTS13 +E_COL3A1 +M_HEG1 +M_CAV1 +T_PROK2 +F_CXCL10 +M_ADAM12 +M_ITGA4 +M_ITGB8 +E_ORM1 +F_C1QA +F_C1QB +M_FN1 +M_SEMA3E +M_MEGF8 +M_PRKD1 +E_SPINK5 +T_HYAL1 +T_MFAP4 +M_SEMA6A +F_FGFR2 11420 -11438 -11405 -11427 -11450 -11467 +11405 +11438 +11437 +11452 +11444 11433 -11453 -11458 -11437 -11452 -11444 -11425 +11425 +11427 +11453 +11458 +11450 +11467 read count normalised log -0 -5 -10 +-2 +0 +2 +4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + - + + @@ -977,895 +978,896 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UBR symbol_ct - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -M_CD47 -F_CXCL14 -F_CXCL10 -M_CHPT1 -E_SPINK5 -F_C1QB -F_C1QA -E_ORM1 -M_FN1 -M_SEMA3E -M_MEGF8 -M_PRKD1 -T_HYAL1 -T_MFAP4 -F_VWF -M_SEMA6A -F_FGFR2 -M_HEG1 -M_CAV1 -M_ITGA4 -F_C5 -M_ITGB8 -M_PLOD3 -M_SERPINE1 -E_COL3A1 -E_CHI3L1 -F_ADAMTS13 -T_PROK2 -E_EPHA6 -T_PDGFD -T_NOTCH3 -M_VWF -M_ANGPT2 -E_CPA3 -T_PRG4 -M_MDK -F_GPER1 -T_LIF -E_DCN -M_ADAM12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +M_CHPT1 +F_C5 +E_EPHA6 +E_DCN +T_LIF +T_NOTCH3 +T_PDGFD +F_CXCL14 +M_CD47 +F_VWF +M_ANGPT2 +M_VWF +T_PRG4 +E_CPA3 +M_MDK +F_GPER1 +M_PLOD3 +M_SERPINE1 +E_CHI3L1 +F_ADAMTS13 +E_COL3A1 +M_HEG1 +M_CAV1 +T_PROK2 +F_CXCL10 +M_ADAM12 +M_ITGA4 +M_ITGB8 +E_ORM1 +F_C1QA +F_C1QB +M_FN1 +M_SEMA3E +M_MEGF8 +M_PRKD1 +E_SPINK5 +T_HYAL1 +T_MFAP4 +M_SEMA6A +F_FGFR2 11420 -11438 -11405 -11427 -11450 -11467 +11405 +11438 +11437 +11452 +11444 11433 -11453 -11458 -11437 -11452 -11444 -11425 +11425 +11427 +11453 +11458 +11450 +11467 read count normalised log -0 -5 -10 +-2 +0 +2 +4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + - + + diff --git a/tests/testthat/tests.R b/tests/testthat/tests.R index ec1347a..622ffdc 100644 --- a/tests/testthat/tests.R +++ b/tests/testthat/tests.R @@ -1,7 +1,7 @@ context('tests') # For resetting -# testthat::snapshot_review('tests') +# testthat::snapshot_review('tests/') test_that("basic plot",{ @@ -10,7 +10,8 @@ test_that("basic plot",{ dplyr::filter(tidyHeatmap::N52, Category == "Angiogenesis"), .column = UBR, .row = symbol_ct, - .value = `read count normalised log` + .value = `read count normalised log`, + scale = "row" ) vdiffr::expect_doppelganger("base", p) @@ -28,7 +29,8 @@ test_that("grouped plot",{ ), .column = UBR, .row = symbol_ct, - .value = `read count normalised log` + .value = `read count normalised log`, + scale = "row" ) @@ -43,7 +45,8 @@ test_that("annotated plot numerical continuous intereg nominal annot",{ dplyr::filter(tidyHeatmap::N52, Category == "Angiogenesis"), .column = UBR, .row = symbol_ct, - .value = `read count normalised log` + .value = `read count normalised log`, + scale = "row" ) |> add_tile(CAPRA_TOTAL) @@ -59,7 +62,8 @@ test_that("annotated plot continuous annot MUST ERROR",{ left_join(my_df, dplyr::mutate(dplyr::distinct(my_df, sample), a = rnorm(n()))), .column = UBR, .row = symbol_ct, - .value = `read count normalised log` + .value = `read count normalised log`, + scale = "row" ) |> add_tile(a), "Your annotation*", fixed=FALSE) @@ -76,7 +80,8 @@ test_that("annotated plot continuous annot as well",{ left_join(my_df, dplyr::mutate(dplyr::distinct(my_df, UBR), a = my_UBR)), .column = UBR, .row = symbol_ct, - .value = `read count normalised log` + .value = `read count normalised log`, + scale = "row" ) |> add_tile(a) |> add_tile(CAPRA_TOTAL) @@ -95,7 +100,8 @@ test_that("grouped and annotated plot",{ ), .column = UBR, .row = symbol_ct, - .value = `read count normalised log` + .value = `read count normalised log`, + scale = "row" ) |> add_tile(CAPRA_TOTAL) @@ -111,7 +117,8 @@ test_that("grouped double and annotated plot",{ dplyr::group_by(tidyHeatmap::pasilla, location, type), .column = sample, .row = symbol, - .value = `count normalised adjusted` + .value = `count normalised adjusted`, + scale = "row" ) |> add_tile(condition) |> add_tile(activation) @@ -130,7 +137,8 @@ test_that("grouping error",{ dplyr::group_by(tidyHeatmap::pasilla, location, type, condition), .column = sample, .row = symbol, - .value = `count normalised adjusted` + .value = `count normalised adjusted`, + scale = "row" ) |> add_tile(condition) |> add_tile(activation), @@ -147,7 +155,8 @@ test_that("pasilla one annotation",{ tidyHeatmap::pasilla, .column = sample, .row = symbol, - .value = `count normalised adjusted log` + .value = `count normalised adjusted log`, + scale = "row" ) |> add_tile(condition) @@ -163,7 +172,8 @@ test_that("pasilla 2 annotations",{ tidyHeatmap::pasilla, .column = sample, .row = symbol, - .value = `count normalised adjusted log` + .value = `count normalised adjusted log`, + scale = "row" ) |> add_tile(condition) |> add_tile(type) @@ -182,7 +192,8 @@ test_that("pasilla custom color abundance",{ .column = sample, .row = symbol, .value = `count normalised adjusted log`, - palette_value = c("#d80000", "#ffffff", "#283cea") + palette_value = c("#d80000", "#ffffff", "#283cea"), + scale = "row" ) |> add_tile(condition) |> add_tile(type) @@ -201,7 +212,8 @@ test_that("pasilla custom color discrete",{ tidyHeatmap::pasilla, .column = sample, .row = symbol, - .value = `count normalised adjusted log` + .value = `count normalised adjusted log`, + scale = "row" ) |> add_tile(condition, c("#d80000", "#283cea")) |> add_tile(type) @@ -219,7 +231,8 @@ test_that("pasilla custom color contunuous",{ tidyHeatmap::pasilla, .column = sample, .row = symbol, - .value = `count normalised adjusted log` + .value = `count normalised adjusted log`, + scale = "row" ) |> add_tile(activation, c("#d80000", "#283cea")) @@ -236,7 +249,8 @@ test_that("pasilla custom color contunuous AND discrete",{ tidyHeatmap::pasilla, .column = sample, .row = symbol, - .value = `count normalised adjusted log` + .value = `count normalised adjusted log`, + scale = "row" ) |> add_tile(condition) |> add_tile(type) |> @@ -255,7 +269,8 @@ test_that("grouped and annotated plot both vertical and horizontal",{ dplyr::group_by(tidyHeatmap::pasilla, location), .column = sample, .row = symbol, - .value = `count normalised adjusted` + .value = `count normalised adjusted`, + scale = "row" ) |> add_tile(condition) |> add_tile(type) |> @@ -274,6 +289,7 @@ test_that("pass arguments with ...",{ .column = sample, .row = symbol, .value = `count normalised adjusted`, + scale = "row", show_heatmap_legend = FALSE ) |> add_tile(condition) |> @@ -294,6 +310,7 @@ test_that("Custom function for fill abundance palette",{ .column = UBR, .row = symbol_ct, .value = `read count normalised log`, + scale = "row", palette_value = circlize::colorRamp2(c(-2, -1, 0, 1, 2), viridis::magma(5)) ) @@ -309,7 +326,8 @@ test_that("Warning if data sparse",{ dplyr::slice(dplyr::filter(tidyHeatmap::N52, Category == "Angiogenesis"), -1), .column = UBR, .row = symbol_ct, - .value = `read count normalised log`, + .value = `read count normalised log`, + scale = "row", palette_value = circlize::colorRamp2(c(-2, -1, 0, 1, 2), viridis::magma(5)) ) @@ -326,7 +344,8 @@ test_that("test log of 0",{ dplyr::filter(tidyHeatmap::N52, Category == "Angiogenesis"), .column = UBR, .row = symbol_ct, - .value = `read count`, + .value = `read count`, + scale = "row", transform = log ), "you applied a transformation that introduced negative infinite .value" @@ -337,7 +356,8 @@ test_that("test log of 0",{ dplyr::filter(tidyHeatmap::N52, Category == "Angiogenesis"), .column = UBR, .row = symbol_ct, - .value = `read count`, + .value = `read count`, + scale = "row", transform = log1p ) @@ -351,8 +371,8 @@ test_that("test scale",{ dplyr::filter(tidyHeatmap::N52, Category == "Angiogenesis"), .column = UBR, .row = symbol_ct, - .value = `read count`, - .scale = "row" + .value = `read count`, + scale = "row" ) vdiffr::expect_doppelganger("scale row", p) @@ -361,7 +381,7 @@ test_that("test scale",{ .column = UBR, .row = symbol_ct, .value = `read count`, - .scale = "column" + scale = "column" ) vdiffr::expect_doppelganger("scale column", p) @@ -370,7 +390,7 @@ p=tidyHeatmap::heatmap( .column = UBR, .row = symbol_ct, .value = `read count`, - .scale = "both" + scale = "both" ) vdiffr::expect_doppelganger("scale both", p) @@ -379,7 +399,7 @@ vdiffr::expect_doppelganger("scale both", p) .column = UBR, .row = symbol_ct, .value = `read count`, - .scale = "none" + scale = "none" ) vdiffr::expect_doppelganger("scale none", p) @@ -429,7 +449,8 @@ test_that("save_pdf",{ dplyr::filter(tidyHeatmap::N52, Category == "Angiogenesis"), .column = UBR, .row = symbol_ct, - .value = `read count normalised log` + .value = `read count normalised log`, + scale = "row" ) |> save_pdf(filename) @@ -443,7 +464,8 @@ test_that("managing palette usage",{ tidyHeatmap::pasilla, .column = sample, .row = symbol, - .value = `count normalised adjusted` + .value = `count normalised adjusted`, + scale = "row" ) l1 = length(p1@palette_discrete) @@ -454,7 +476,8 @@ test_that("managing palette usage",{ dplyr::group_by(tidyHeatmap::pasilla, type), .column = sample, .row = symbol, - .value = `count normalised adjusted` + .value = `count normalised adjusted`, + scale = "row" ) expect_equal(length(p2@palette_discrete), l1 ) @@ -464,7 +487,8 @@ test_that("managing palette usage",{ dplyr::group_by(tidyHeatmap::pasilla, location, type), .column = sample, .row = symbol, - .value = `count normalised adjusted` + .value = `count normalised adjusted`, + scale = "row" ) expect_equal(length(p3@palette_discrete), length(p2@palette_discrete)) @@ -493,7 +517,8 @@ test_that("test sparse matrix",{ tidyHeatmap::heatmap( G, Y, V, cluster_rows = FALSE, - cluster_columns = FALSE + cluster_columns = FALSE, + scale = "row" ) vdiffr::expect_doppelganger("sparse matrix", p) @@ -511,7 +536,8 @@ test_that("layer symbol",{ tidyHeatmap::heatmap( .row = symbol_ct, .column = UBR, - .value = `read count normalised log` + .value = `read count normalised log`, + scale = "row" ) |> layer_point( `read count normalised log` > 4 & @@ -531,7 +557,8 @@ test_that("split",{ tidyHeatmap::heatmap( .row = symbol_ct, .column = UBR, - .value = `read count normalised log` + .value = `read count normalised log`, + scale = "row" ) |> split_rows(2) |> split_columns(2) @@ -550,6 +577,7 @@ test_that("legend",{ .row = symbol_ct, .column = UBR, .value = `read count normalised log`, + scale = "row", show_heatmap_legend = FALSE ) |> add_tile(UBR, show_legend = FALSE) |> @@ -568,6 +596,7 @@ test_that("size annotation",{ .row = symbol_ct, .column = UBR, .value = `read count normalised log`, + scale = "row", show_heatmap_legend = FALSE ) |> add_tile(UBR, size = unit(20, "mm")) |> @@ -587,7 +616,8 @@ test_that("wrap heatmap for patchwork",{ tidyHeatmap::heatmap( .row = symbol_ct, .column = UBR, - .value = `read count normalised log` + .value = `read count normalised log`, + scale = "row" ) %>% wrap_heatmap() From 24bb78d84b80053ee82169f045dd841d7a5ff613 Mon Sep 17 00:00:00 2001 From: stemangiola Date: Fri, 13 May 2022 15:01:05 +1000 Subject: [PATCH 6/6] update README with scaling --- README.md | 63 ++++++++++--------- man/fragments/figures/unnamed-chunk-18-1.png | Bin 48908 -> 48415 bytes man/fragments/figures/unnamed-chunk-19-1.png | Bin 46279 -> 45858 bytes man/fragments/figures/unnamed-chunk-26-1.png | Bin 51431 -> 51426 bytes man/fragments/intro.Rmd | 54 ++++++++++------ 5 files changed, 70 insertions(+), 47 deletions(-) diff --git a/README.md b/README.md index c42deae..4f225b4 100644 --- a/README.md +++ b/README.md @@ -138,13 +138,9 @@ mtcars ``` r mtcars_heatmap <- mtcars_tidy |> - heatmap(`Car name`, Property, Value ) |> + heatmap(`Car name`, Property, Value, scale = "row" ) |> add_tile(hp) -``` - - ## tidyHeatmap says: (once per session) from release 1.2.3 the grouping labels have white background by default. To add color for one-ay grouping specify palette_grouping = list(c("red", "blue")) -``` r mtcars_heatmap ``` @@ -170,7 +166,7 @@ mtcars_tidy_groupings = mtcars_tidy_groupings |> group_by(vs, property_group) |> - heatmap(`Car name`, Property, Value ) |> + heatmap(`Car name`, Property, Value, scale = "row" ) |> add_tile(hp) ``` @@ -182,7 +178,8 @@ We can provide colour palettes to groupings mtcars_tidy_groupings |> group_by(vs, property_group) |> heatmap( - `Car name`, Property, Value , + `Car name`, Property, Value , + scale = "row", palette_grouping = list( # For first grouping (vs) @@ -201,7 +198,7 @@ We can split based on the cladogram ``` r mtcars_tidy |> - heatmap(`Car name`, Property, Value ) |> + heatmap(`Car name`, Property, Value, scale = "row" ) |> split_rows(2) |> split_columns(2) ``` @@ -214,7 +211,8 @@ stochastic) ``` r mtcars_tidy |> heatmap( - `Car name`, Property, Value , + `Car name`, Property, Value, + scale = "row", row_km = 2, column_km = 2 ) @@ -232,7 +230,8 @@ mtcars_tidy |> heatmap( `Car name`, Property, - Value, + Value, + scale = "row", palette_value = c("red", "white", "blue") ) ``` @@ -246,7 +245,8 @@ mtcars_tidy |> heatmap( `Car name`, Property, - Value, + Value, + scale = "row", palette_value = circlize::colorRamp2( seq(-2, 2, length.out = 11), RColorBrewer::brewer.pal(11, "RdBu") @@ -263,7 +263,8 @@ mtcars_tidy |> heatmap( `Car name`, Property, - Value, + Value, + scale = "row", palette_value = circlize::colorRamp2(c(-2, -1, 0, 1, 2), viridis::magma(5)) ) ``` @@ -278,7 +279,8 @@ tidyHeatmap::pasilla |> heatmap( .column = sample, .row = symbol, - .value = `count normalised adjusted` + .value = `count normalised adjusted`, + scale = "row" ) |> add_tile(condition) |> add_tile(activation) @@ -295,7 +297,8 @@ tidyHeatmap::pasilla |> heatmap( .column = sample, .row = symbol, - .value = `count normalised adjusted`, + .value = `count normalised adjusted`, + scale = "row", show_heatmap_legend = FALSE ) |> add_tile(condition, show_legend = FALSE) |> @@ -323,7 +326,8 @@ pasilla_plus |> heatmap( .column = sample, .row = symbol, - .value = `count normalised adjusted` + .value = `count normalised adjusted`, + scale = "row" ) |> add_tile(condition) |> add_point(activation) |> @@ -344,7 +348,8 @@ pasilla_plus |> heatmap( .column = sample, .row = symbol, - .value = `count normalised adjusted` + .value = `count normalised adjusted`, + scale = "row" ) |> add_tile(condition, size = unit(0.3, "cm"), annotation_name_gp= gpar(fontsize = 8)) |> add_point(activation, size = unit(0.3, "cm"), annotation_name_gp= gpar(fontsize = 8)) |> @@ -368,7 +373,8 @@ tidyHeatmap::pasilla |> heatmap( .column = sample, .row = symbol, - .value = `count normalised adjusted` + .value = `count normalised adjusted`, + scale = "row" ) |> layer_point( `count normalised adjusted log` > 6 & sample == "untreated3" @@ -384,7 +390,8 @@ tidyHeatmap::pasilla |> ``` r mtcars_tidy |> heatmap( - `Car name`, Property, Value, + `Car name`, Property, Value, + scale = "row", rect_gp = grid::gpar(col = "#161616", lwd = 0.5) ) ``` @@ -396,7 +403,8 @@ mtcars_tidy |> ``` r mtcars_tidy |> heatmap( - `Car name`, Property, Value, + `Car name`, Property, Value, + scale = "row", cluster_rows = FALSE ) ``` @@ -407,15 +415,11 @@ mtcars_tidy |> ``` r library(forcats) -``` - - ## Warning: package 'forcats' was built under R version 4.1.2 - -``` r mtcars_tidy |> mutate(`Car name` = fct_reorder(`Car name`, `Car name`, .desc = TRUE)) %>% heatmap( - `Car name`, Property, Value, + `Car name`, Property, Value, + scale = "row", cluster_rows = FALSE ) ``` @@ -428,7 +432,8 @@ mtcars_tidy |> mtcars_tidy |> mutate(`Car name` = fct_reorder(`Car name`, `Car name`, .desc = TRUE)) %>% heatmap( - `Car name`, Property, Value, + `Car name`, Property, Value, + scale = "row", column_dend_height = unit(0.2, "cm"), row_dend_width = unit(0.2, "cm") ) @@ -442,7 +447,8 @@ mtcars_tidy |> mtcars_tidy |> mutate(`Car name` = fct_reorder(`Car name`, `Car name`, .desc = TRUE)) %>% heatmap( - `Car name`, Property, Value, + `Car name`, Property, Value, + scale = "row", row_names_gp = gpar(fontsize = 7), column_names_gp = gpar(fontsize = 7), column_title_gp = gpar(fontsize = 7), @@ -461,7 +467,8 @@ library(patchwork) p_heatmap = mtcars_tidy |> heatmap( - `Car name`, Property, Value, + `Car name`, Property, Value, + scale = "row", show_heatmap_legend = FALSE, row_names_gp = gpar(fontsize = 7) ) diff --git a/man/fragments/figures/unnamed-chunk-18-1.png b/man/fragments/figures/unnamed-chunk-18-1.png index a221da404788a9cdb6185e752e6cbe1857da53a8..61d6ec123c4fe18c4a052d2f30509f3d916db40d 100644 GIT binary patch literal 48415 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 literal 48908 zcmb@u2{e^&|311&AsIp_vrG+C%8)skWlBYaLQ)wsX3RWKNs^33naPlONJ1r~L7AgW znKEWP*M8q~{%iezXPvdqS?lbz-nV?)_I{rG{tVaWx~}^P)zMO+-hE&EQ&l`q zAdsdJ2qZ%kr1&pOGpgqJgVJ90vLk^&(?t9qNsHYJ3j%?Qpr&}{g4>fn{jLTKZR>l*KuePsW zUE1#R-Ts;vi!X?c-GBOyg^P>Jty?)IB_)1-ekmyf#pW$V_rHAkLPk1VSif~Z$|Wx# zARr^-XHT(tTwGi|^ZE1V?51KZ@Qmr7hb9K>)$(A={Q#9Je8%H^m}ylL2|O!uXpi(|NedQgpH4nFCZpA z-$q?MEGz5xW6|4(4mLymY<>S; zLqlVIZH*@&ic`+S*m(2rulHM<>jwjl3JFnDQx}@lhS9liZTuVWdb++cD`);TVr^~h zpi0!|FJEfCH-B_?>O9-lLMTwM5dwI`#hJNF?FMD7UsYCq|MW?Oi;K|9F6}ngnSQo1 z(A><7P9d5@=Cw=kp8Y&RLdmJA(bK|4<$JiDh8jo)USGR*jg97cPR?#_#mw_^UTXoh zYfDr5`}gmsrKPoYZMa9GmvyeOJU=hb+S(c$SKR;lwZhJwf%{Kd4lNJ^K|zUW;uX~# zL;Cq_toqwX);NC6PhDNyv8r~1b-(J?HvT#C%=?H(+_`gyPGQe3e~&kB-v((tH}BoG zYZnDK@k_q7w!TmrZi^F`nwm22{qf^RiDkQ_*V?JzCT=>4K9Rt{Kz!2XRAId;FTIQ6 z*|X+9hHhd(Y30bXNG7o}S)7zxU>vsF)ZNBcs*Ln+~+z8>@S{ zPx)Z|7seKtvUCKE?>SR<8tOKwC51~w1WdK4#kuTQ_) zdr>A%10tK4o92;=-|J81)+ zy?psHEv=!m(|-C#+3jxyLWd7OK7Q>rmNMa(smaBQWv;UWnn_|d-(T)L^5pU3AMv-5 zDf2T~&z|WBGTPYK4EP&x%KFN)NZ50&4EdAOR^2hiN6QjFnpar(V_)9}f~%(>DClk4 z8UGMPp5Uf`ixUh%;iq(O zD=RA|Cgy9i%b%VTw>}Gccz7H;c5HXxOP_7;ef#!VhsY8Li%u~^zA>$BZTFgiUHBJXhxu zPu}?Jk&pGfc=2MglxsmnMbD2PYror*P*d{5saeI2^7C8bldD~4`QzG}f~b4zyrgF3 zrLm-yS2I|-E)|8^(y&XGy3L#EwxGaekgW`nAP-KE{jWmjYY=*fl zCnxIV<)s_k+3)=77#pJcj6LoDRiXd4Z;$!^a;g9SzgdyVnUEI8#?HQvkx`IQeN1c2 zUg9Xz?a9yC$u#%cEWUpGCg(Pn)-8&gZ=mH}O*t$j<$WItQB7*vf zghNL6^Bs8CKD-MVcnjsjYi)7Di5fl1m~yDU+7&g>I6Hl+z_@z(?=KAm#)fcge7rN> zG(K*HzsJQnE{^MNOp+5eo^Un#bNu<5Z}k29cjJlR)pV0u_t>`4ckk4nOx`H@E})$f zfc{7)p*lAthl_vz?%j(Ele8LNzkap6al^>S$o1I|G>(P_c{{sVVe(Z@WDkOrRm_^s zy3BLGq?2I0I$xaBzuY&&_C40iFLa+uvJ>Lkcw<$gIpt=Ys0oB(#My?5qvJw`QaDPo zx552(%jcPyNH*tZKhn~;#FF}djR!m{FBdy>NKIWm=U^bZYVAYu$5PN~-!JSs0zdI2xVL*1sFiwaEz~M~IjH;zCYw@qB~t4yp5QooQ#-^DbS! zd|5#ugUW&O%R?cfkI7Qc^Yi;-Un8%#Hx{&2)}-;Fs=ViMJK-ZAKYmOO{cDO&c>n%= z<7^TF*F&zx9i8`meSL$2TVfBYkQq%+_r8i|m*Ve{Bq0oWAg{2E@_Wws{WnW^-Tq(v z*yuPX6JJ?bSyNNfkSi)8^4ffwNk*pj>&Xh||?Z;5i?d>0cRFXKGPSf2dg!6Hh@*A@~2DVhHt{PJut#{+T6OX4@^6&U(AC{L751vEjGBt7+F@juul$RGg5Mmoi%KK}8=$%d?e=fq zTv6^d5`^)VgY=c(V6ZVRf~Kq9WN!p6KnbsKqiq zTb_e;UaxHXf0W*2aOvys-~5!Rfu_*+%FYyVarNresUynD%33MXcaeNbN=j(ZHOHK1 zG6?s?&S*0eF^oMh((fiI-kL^Krm504XygYiwcEq_JuzlXUYF_U$ej^4INXs z1*AcZ`B#hU*8vr&cJD?5o_%@NNiwD{ZK8Xz(`Gp`?<9EA?s>UmXzcp6Yr_*0r(I|I*ri;?Cnf+e z>8hy;GBbaTj4brp)dM~~PE0heb`j#?`3dYY{Y}hs)m}xV1>qSK5U@DYzYZ`9m~ZnC zxP?>B`<$vO%kis(m8)1+DTn{-j-N9zF_m9y3c?4)KX_np`Lc}Xs*Z*R)ql_`HFYF5 z_xJDL_@@3U=i7Z14sv<;KC>@57tyb6ZEam#T}^A;=KCrgjhGky{&inl%zpaR+{A=q zcK)L=BcYR@G`MN6^PVA}t1@n6Q;j2gzWS3736QJ|1qw+>tOB?EXK1@n=7ca)Y*ny1a`kfYT;)Za(a^=d=qenk{_`r0`RD!F=A68XK zx(*0$oH}*tSyt9xkB8XlloSq*c|tnYj^^m=T@Bi#^ffU7fq|LNpRXXKDk>hG;};hd z6*8@3~EL z+r>DoM#?#qZ)O5jrx6bwJ*HNHkq@`CSZzFE{WFuy|=|eHrd0t#^ zQbf3%Mz#F?+p;c4iDGlUg%i=Vk@CgaTFe6p{OQvtb~!$N{$0vlq;uVVWXG%<8yhod zNVo!Y?%ut7?%W>N%+ECLs3VsyU6P_qX}3IPP?T0){&3Lk;W1NLr*R$c4pPEBVrF}r zFz!||HBBwl8vqFNCP9wP^quyuK7p8QZY$U7r$5c7f z&wEK~=qSieo;+Enh2q+Lh=tIgO@;R=Dk^&Z`^$IoWJy|Dns%xzBK=`P0<*IY0_+Xb zIj4iXs3h2YlshL$VqC)4eEvrka?Z@87ut081CYnfkORo(z^sHC9s#t*({| zZ&slAH9D%3eL+{55|_b zP^&zfJacVKAK)(^pOU`5E5@PC^_8*YqOY%Cn+*XQkkec^fBxs~0}Qx~ArG!(iZ)c^ zvkD3ruiw3UXHxHNV`0HN8A7m%&dd9gt@m7!eJ3Gp0a>K#>FG&NPk-**ISICpcJ-V5 z_p>_*;}!UB0Im?p-30luGk(nUl$4r^@>-TTT8@%H8GSDM|s z>79=fHtI)5Etr{^QDHGCV5XdTAcb0H!0d(UI_3Q9{rmUDW*BVBu$i&36WufOw4T|wbB3J6AoRm`ipDrAIPR#q%B?x*6~_E1yz*Litdx$@-IE7x!l zfHlsorI~&yJ-u#{9lNe}pF$zDAATK(;-g<^;_TwGyu2)XXEa1`fSiyJZbySRA|9lB{_)9yu+qL3aU zraGsmd+CxlN^U_xL4Cbkvev7YFRQ#a-IIuY&+_AwiRoz>uQjJXtq7C73gzYHhquwN ze%ebE+0zjE$x4R;1Dee=lO-=28cNE_nw&Y~>+wWA^N#*QkFAZn0$=x%rya@5%frNa z;J|^5r%zY@d>@&ZNPPVGmbLW75pb`@k1Hps8{1hT~mSKB^|GX;5 z?fNQCTzegWhK&I-<+P*a`tr1-q@+p|+x*hfzBOp1}sKS{_3u=jE88z_CVua$FTptSWvFm1x!f zjLYk|m>9xAAYTFnIX3hLA`!^<_KDr0Z5Ba+fuiE#2LoiiH(IYAS7Ze7MkpqwGQ zH8ogs*T3CDUso3_0ySUd=XpR|T^uN_g)7#J9kr^xIuNhbVvGaAD=h5M9mZ-EoK9~T!M7FMUvg|c5z5H)xU99VaEciZT!_iIN-$Ha5|^S~>ll#!7U6tqi5 zM#eT7cmaiDLz(B$p*AD6+W@@?(v3?RJh2gxk-dj>jEqpK-rJRtkv4+HOFp!=e~+@3 zmX<)ymv7(f#$;7-69{Pm*=@uf7G}^RzG>LP((>hZYwz65?g`}oG~+7hsJOP#SB9dZ zqWH3bgNW|uwY4(!O9X;D8=#ePc%X$zohPbbJNVQeKMc*yM^M33H8kYBHzefb>M;YN zW1^NetLJ2AH#aw5>+LPKL7U)o-FGa2F7X@?(zv2@O?+v#(M2OYJ%5!lAW^)g8Flpa zXBEp(C-K5hdU{ieW!7TVn?3_fxfL#Kc4dsacP26KCvYtz4R@8td_Zj|GNupZ<>o$< zuJi2KGeO4Pv8to?5@e(#Qhszi^t~*bF%KVRy?EgUq!M*y9#;W^kJOWD=thzI(qy4& zeHeoD-f=YI2<*)s4(STC1Pla?SFL-B&H!!#sh>Vg%_;jto~x&~7d6U^4;TssG<0d) zdv(rNl@|%)IvNHpjspt-+-dKwB3FWnM-%+?#S6hnc{18MM$);3dt}k!Ezz9Mv$ACG z{(V+e^#hHtsmZ@-*ucmL-^tE>>h{;8w&K|@U*5TTmFw%TYD}|ON*WU)VGe2?6s@qZ zutaTm>Y1}=&stjkZt(#!#7l%_52`%vFDUGO@r}S>R+c!8w^iOj$d zH%mP<#&nhfqzF(ZKQFJe`yx{9MS6PUj~@p#mT_Up99tl*SAjfOXgQ>NDjfw}D_(*W zL0QFwsK$HV%S$F%OMpJqTFgjUIjGqT%mr1><{0`M#y=EhB8pk~^Uy6fFK^W5!414D zEI@q0o()F0?@%16ee|N>x@h_i0bI5vz@U6xl(YLg)aQb-%fC|l&MZ`ii zRn`mn`+aFOFsrn*)S0KFy&a|W7ynr0F>F3^cIFEnJ{$#M1@YZ8gS;L2`4b>| zb7j!SXLarx`dfN>dR0{wPvl<0oE~zU>f*&OT~AeVb8>hBo;-PSUQe%HJdA_;+0&=~ zHm$9#PLjUa+1Y5o@7vnc^!4?*4z7~r78jpDt8o^74ydVUd-LYR@NoL`=g*%$ZTc25 z)xY1R{_5Af%M{$Z{2j(Sxj_klkPoC{4qMq|B;0ESC}$baT?D)vX^Dmc(hDAR``=jV zX~*AIw{GqBWb~p!aTxoUys)?!5fwEvWPSQIh}2(`lj{6&)O+?6U6~mgx@QB*C{$8% zIQGGVE4A)r5EY)Bb}Ycc{~c8m5)#ryC#J*nxASSUpgW+>_4f}Glae6D-2FS+hT!=3 z@1I*lhTS!+lF=($XGh2I$jFO2It?TA8z`^wNG7lkP!yHeHC|o4bqgr3`bGzbhQ|At z7&=Z)PGT#k)9&AlvefpC%s|aKzS0`8|KurAQJ`ZsHa0p1P#pVZ+?{}-0I8tF%^A^p zH~Q^-svP-P()pIFf!-)&8Z3aE!%s2`R}%}7(_CCb^CK-NDY%*uV<{F8iaY6RuI8cJ z_Vy;NwEmYFcw?MhlB~OkE=We|E6;VM!akiLys5k#${orOx>$k!mwizCOskwGfD!xp z`V?8!RxE67IhdKn!KDBx{`sc{{KKU>SF!qEGNJNp_FjeQh>XI*Lh$2kG&g>KNW_?E zTrU}_SYgIYx&dy?hnSPW&DD6U(9GU; z0IohQAt89=2ozfKmmV!(yovBlT6*Kvpm&m_^WhbLUNVqgMs=Q*v9XA_2fn^%R8=Wf z_{5TGuQlxg!eeJoCNhl%#b%$LsrBg-(W;G&(7}VFb@ew=+4+c7RL1f-SwgW2a7hFjcx&97RG8Bx6+ETOTu+Gj-=c%vL z-%G}3`m2H9nPc?MfRy@=7hpKW8HE#hT2)zTTGi@M5No z2Z!`3qQ6km`N~V&{cCae?myI_ohGLhtbhZJ%B@kpD3{;J(E%1!0%x(ydb$C1*VWZ6 zEiFkH3qo~ljo}7T1lkCRjQmv)@+c|k2p?aw$4Kb$Nl6$dQ=KDik_y|J z{E`c_1?CT9B5H@QLThvLFLW*lT_?oEw*LMKk9i)R5EDZ|OAET=9m0Xkz{b(Bq_A)n zVFPU4=Jk$~A|^ciJ=PA+g}nUyk&%&|CO+4%XM#Y*9bjxth>zdL#FUkvA6fe>Jsp!a zuyc#h2d^+%Ba3vTgOU#*VS2+sGJ?|qzzVAqVO#JtfTlx-LThz&b(M3SVT)CLla=#J z>-ND>3UqV3{;GW}EUTk!489jur+dY*|6oO)Yp3Sq=2AV=>U`|y_ZmA45<~>5Jmm4+ z<*XaPi<+96BqSsd6^OkG3?}m*KD2TAP^a}}8|zmuUW7=A07U+ulez;Q%9`_YLJ6g1AOAza>5Ywn+hu#%R01HB0>Z_ z1o#6{#<*`^Al(3`&qn%-7d@f-2Eb-b{QBiQ{X?{MhUZy!_Wr$lhe1fe5&*5C*x;yi zfx^=+Y(%+LR|bYj)G5doqhn*{m7Ijmg8+Vk;o%yfud(r<4>l*d1*D{;x}q}dFpq)R zfY0R5_mb!S&x^kQfh@KG@)?(2`s!7SsPx=fjK?i4V_$Oh0WKWw+83F-X&nQ=9cK#=eicE579gDy8a+d<+9njs=)M$nxp{Gze3(1z}! z5a1m+`S*~OJ3HrsbCZs#Qjsi8ICO8}N$N6>B1#j0K@HrrW{5EB>IROU?}XkjWe zLwf?f^t5|o&n|O_b?7&PtV$hb#h@jk`jv%_9%XFp9FHn_`BD;*`AjViU;v9%_;u&Y zk`nZ2XeK3qNj!UP$HBuylTdOnL*mfV)bs*oguAnALft?A?KuZS=Ah?bzged)MP&LHZqwd3VO4AX_{tGIM_O*d=rW}*0ind z(BZ?A9#6-MGl`@s(!U9fAk<1*Vuu!M9&hXfA=?v(SC6?znvSg|p z{}6JGDy7*B1AQI?Rc`bF(Xi^xx#6>QA5pB1t#r8r#KgvSy}bT@7cIvXef?MHB_Lx1 zI?*&i-)eEuX+4qP4!C}eWIP1EAl>ZG;M(n@t$WKOU75L^V9ElbLk{jDBcqU!C&&xz zHSA+$+5r;58Rh8Ctri*g#TU(cZ`>H8Nl8jb7#kgRvMM}csz1u3v%Qk{&!F~ua_%U3 z!tti-fh-D_cW`_WOB^aoX@AW}<91=4_c=xMttCc>%Y)Y=7Z?Znp~XSk0617h@E~M6 zySk8H(8#jRX9Mh#k)DC_gYpDm4dmWiY);O>O+uLK^f#JAGsON0@vDl9i<`c*2*s#Z zuQ~UXHp{gp2vkv>$4XS;drQkbwy&X}feoCPm_U*5eR*92ga}%dzrR1I zfc>njRQ+0n#iKHZ8sR@EDmpHi95u~^(i#+0Zcux{#H5Z$Wj?O%Ej>w~XhEkYqEr4j z^izELr9u;9J-xV;lqfo^-@DdU3To<2pi#_Qpa7bhn!tS`B-D86%jfakb945Zn(bJD z@U?sb!EjQIQugFYNK`(UFM4dDVFF#Gq?m-8*$vbT=l&2Y@er7~a$MDOaH(akpg}z* z-KpUIa`6M+`48D%LIWqHGCpo?p3|B4zB}@b80GC9u zO92+2;G~_ErwM4(4zh-Ly?%cUyDz z^AZG#bhrvP*QN?BL=qdX!W87azTDp4E(CJm#S0?og^4UOJUlKT!St1_@vU2j6+)VZ z(O=+VA|gRW9$}F2Ca&LyhMcy+I1x;+%MJl!Gq7h!w|`fjAsOLnjK=t zO(>C~u&%(-Tl#Mjfc9=ZHD0IFq0diQl_YkUE~R{pIrZ@f9s!;9#^TX>tBX14uHOBB&gu{)>Fri z+uPft-UEJtu*T+q%e-*-qMF(vDJj;Z%3*XDgD6)A2V4+QK9gJ!(0anMZ=cfBt~r_t z|Bp{jm!P_1);)6Q5Ng6SrVD{sRm@cwqi=%+D=l3_9KW*Zg;@WZNXxrGK0c?(Jz%)K z2qdtZib_AvV198zFQ5}b8e;n!x*5zTpu@q$0P8G_b?9Y(9vZr8z10F{6iA0(Kme6g zO?6{?a1y8tmduwgMToXbo)w17+}!svQFK373`x6c={?s`Vl~v&-BK^vX=-bCw6p{d zK2ASF>#YURQ<0}QD{Ge#y96vRH8p+R-6v0-dZ7HY`R&`621mhyoblgfGgv2c;zU<} ze{D{VIvB!4&2~0NNza*1qrl&U%VF-q$*+Gm`6X4b`8aa-A z)YQ`2f=UJ059%gLRN&9_^lU*gdt z%#g_B>A`xrBS+qMbZD!qPvTmrn1zqReA8ux?G_Ri=0JmaG1%e*6d-I^+KLj@)#U(6 z0J{gYQ43iNFc=8a6~GFZ3^qJ;kUF1j6Y#%P820q(2*?FAJ^&naOJb>IV!C8xl>78)cU4IuZap=%L&kgRt599R z(n)@|fEb_y+V^v!VJWW)>%!M4pH)|JBn;dvmldWydTCW(I)~lfi!VMagM7FukKc+9jU*jeCIaeEQEHG26aJ z=wP$6cGyO9^Ah)^TktHRvwbZigegIq`lTki;MT(erayp ziWNaItbkHXzM~=K)Wm8T+0t7N1HUnpic?VH0N@7vK`>#jtV^UHwhqU-5-PwX;UXjG z?zp=8z?=!5?$4h;AY8%qf`LMHF0*K(_wn)Jj|-)?szm^U%0_K~xeJ`_%~L-x9N#=; z`0DZNWssPt=YWu@u!>?_0!7eOKP6uNh?#1G_s7P>t5%90W$bVHd!Y|P4Ofr5x&Bjc z+Az`3akuxgv$DD>k|?zGvUE_1_B%Vl1f&5{`x}bT`}g3uG5058g2e(OHKDUZuQ``_ z9*j>;X66!xUL+)P=|ti=D3#WXwTX$}ac-f?vi*Q=ee`xnM1&#*yPUTtyerthW*Rdg z-$##Fz!W0%z+!{Bg4#p2GT}{Xv$dFT^s*ma6|g08uZTK;?&~vKhVqydbbd%WEPLMK zvg-9;E(zoSxOf`l>J9wB8m7Wwv`lLZvD3(?*Zu8kR7A!Y{m|@kb$QFycF)li8=8{1 zl3%6KF_%JB$}IG*C`XHrh;>Bv7>bS5Zop3s54&r@XumSC8MieH-u& zI5I@h3=|@aB2Y@oN=v~{!{7tHm=i-jHVa~bHKR7(7VB|xD!ke-Vn54ue-k^!hgLsL`TED%O)NUE4 z`V2f0tbgZ-YI;kw%_YpP4^Z`kAwolDw6p}yFTWhI9{Mx+LEzwRN_E<)qQk<%-izb0 zs7!dl1_LI?d!r&dd*X%9zqK`&BIs*72KySdqtr7~WISAuKj`S0I)b1pI7BQ$l9Q9c zOo7n@e;BC@_HmLpHH3v>68)BMByi|ZXk-RBl%? zIYp5U5Cm2pxEsGqbhOLK$sIpVH|1skrr^nwK76ktyJ&+hZdW9cZQs6M6BGYXpz(fG z92C%i^*N*4&=ZD-hoQTI^2Fb9g5ze1K~k!qcOjo(|83Dqh*&#z_|M9aN7KD)Z!aq; z!73h65EKx&0i?wspmk17?K_;Dmk3iCD=RC&K6Vba;Y^<21|{qQ!A^=e{*lt}m_2KG z=aun?G1n70<-?15Z^s@6s~tCSl=I5FwXWgHJp9>@GyQ3lN}25PNM$b=5jL8Zw{Now z3bd4!En%cU(qsJ`@7!5~VuSks57~ek4hL^d4OqxpaI$tl;PPBoS%oge?<6=Kk;w~B zNk9*cSFd%QO#$|>Q<156>~htbqVdU%eJ*ubzki!vnrHZwdYS;Wtd;fF%!MH1&qm6V zErF{me-8@3Z`L~TrSYku35so^n9YH>wh!&?$)|4KFDW@0seIek7Tkd*nwyhTDb$q8 z%Db3o0E95efTAzR$Urbh*bK3A5Ymny^S^a=61_rKuMR=TtSA{|VPQE6yIA|*K8FZ5 zCqp(U2o;N}zWP*z0%(hHto{C&?14!V*@u!?^xZn36T6QNIN?&DM4XYzOcoYy&6= z0IouSiwLw@98%JJ+J&hfd2_+Q0GA3)#tCT-3c$JvqyYpACrPh~Pnj9sM+o;Gx_kQR z>*?J-(L+)%yyo(>ry41a~?l7grf=*7jQ1@z{O*CVL{x#2ScV3viWB-B%8?M z$i>A)sD2G*a|9=C8EXv5VERYcm1f7r1WGl`lS$ZU#sDG|ss#z8Z>}B(Bb`%FP>117 zN~#(R3s^Lm7xGN&x3C2G9!P<>|K=Zyu;}!ZiuF<7ym>Q#ZaK#d_g)en9u9L8CLN+l zIsYx!j)p>xK|eH*KVNd0U2~`*#?36syEPqH?AZ?d*Gx({bMr<<5*SY8BAg;nU9ahN zLTY`Hn+thH4a9w$1&R-t0!r@B?q4kT-YPJ+F!g@@Z|i=yQ0x9%HzhZHQqeTJiKdju z1Mvu``1ru38x4hGWxo-Fx827XyVuZigfG7&5@mordAYfcPELPZnkN2DUl==7SWv)m;J~}u z5glFKGd!_mEC=ZJX*oJxZ1_RL^zhDpDoT?@aF^ifAW_$&qF7&t*3#EbZnsxNj(GnYI( zu{Iz~8XH1)I7Hp8e(KJY2z}VggRj3b9I^<|xj1=a#sM&6=I2FVemR)AFv$k&Jw;d@ z&!*f0Kp>hiV`FbxSpk=(irZoOHo@(Y?_s&8$1G##V%HzCvasM-(81JtolHlKb|o_O zo8WFW5#gum@tO9Ccg|C!?nJ8x>jNvp>c4-0BQ~I$P94a{p+Pieod1BCWeP`8VE>4S z*rO0q-9_#3yYj%1+ubxWZ?+~T@AP`_NzblYZsPP|P*n_|E6Eygn($#tx3#juK_^Em zt8r7GO;L0avD*ZK0M`BJks}PB8>Ukp4}pZnDKU6 zHbMhMY#qb)ICr@QTjTH*MgqzGgajxx#zj{f(OLjjkY{etUy*kZ?m+zUtlH1lxL=|JuKMK&)NeK<%kRvwV^t^ubAwWXYtWwi}{LN-aK z*0*n!14Nw+qkYcNa4Yi1K?hn|T*UMU0r$&11EsX2>rJW)#`!TMO~`n7ZX-Cw>q!%YAu6!nk44T2k70o;b>u)vRu=v}@{JkE(jk_RF!uU+${Gpu%*#+m}O+_-u3UsFyM zC26YbH8&p@&_=>SLLjf&LH9->RiHGH1d+Ql!F2}04i%UaM_56=!Yl%c59-Zn*mMA{ zp%cTQ1BmnCi8rlZ>b^sPh5UnT$Pz)~{7)VG;zJ2os zoBh0^!VT<222C6%+g6z@alZAc!GOXn|Ld*OgNm`Y?0)CEVJQF!;7fM^ryM5d6vc&t8XZr%KA&x2 zz4&0eLMMsQt=!?j>Bw$H@m0^>wj7&=Op}0f7f0t_l$X}UIkJ^?7|^eT+Cr3sJ8S@{NX1<=CD9RC71Lkyz8ncup)&QR<> zaG+e`ReQASJYydnWGT#;=7`R(4ME>KAAWdqIij4F^#X+oLm;gtC z!2mM|TI18SG?=e3mlt0)R@%I@#Tnb0rM_2cE9u;WKQlf%d|S)v7Nh{&`7|E>L7c%E z4@MQDASwaeum(9fg@tnXXUqj|W7pOPE}y*d@y}rWHcIrbnHg_%4x-$Ucv3|t)^&w; z1xh%mLmYN5?#FUIe*Exu=>4`)IDIlQc&wGzqO_g5E$uc|s%Cs%7#L^!^BHw+IK<9` zMZVYPVK{vNGr#E)351OQdI17%&0qdjmgkFcO@T#e8{-k&ls8~QfY$jP{35bn8EnhL zhhO{pkhPvzIMB&N(FAPsBMApH1A`tMgoH~)_(}yGMpibq4`#(c%Is`xb5SKDs=TBZ z???NH^T-7@Y7-5}!17W=Oi)U%Y+|y7u^QQik?zv@^M;joexas7d*nc_6q?Eb+XBA+ z_wXZpeD=2=;dsha37rC_6{03lY!(P!1hP3S@^9XaP^8bK4q+06>MINa)f&8ZLUsFf zbMuoRfH4rmw;fg}yv9^fJI_8*MJ~Sww#M#>Mbtf>030==2PEIW|K_!8x+W&xIO`7N z8xVuQiH`0-l-|B|i*&~h)T;HRsTG)M+0Q2ItljAgflJ*K< zG3H(nw>Z$$^XH?SQhWPU%#X$nd7P)j86Ztf8xTwv4)03}2i=WHP8HDS$kY6M&F9_t zolr$H`13GkUnt4E9%^O*yioNTWq2R-Ace@;OwJ5}}b&3WVDmOx3q%smM==_B@CpL?zg~r>NGTbwH&^UTTj2g7p5lE7QhNj zR`?AlCD2*InQ%`3FeH3nIU%vIfu0@-7}R0H1_I6SCKuWp!WPCG9DV2jui-E?D2ig}5QGSPMcG^9*b* z7+tMS8UA{ikc&Yq(ANxIHl*&9gfejMgRl#KB5Af`E+MkqNb znNfqImL=bza8LD>!7*|lsvk=5$K)vA&othLVW7a410U3HE*s&fsMs$@b8~Z?I0)N! z1d;)r!hc~u`0aoAU~v0lH$U;>@dE&*tE+Ch!GpUp$YRy?&nWUJge>IW?{2lKew1;T zCw8yGlkI|a;-MG3($ZjwKN4W&D{<5D+GYMYHJI~_&oU1u4WanqSsaqGt>rIY-j`xY zF(vLnXe3^o*k%U$PQjJ@HiI zDz&iZoB+!fp?Oy0X&2TUhHkWuBJw^cX=vxCa0@^OU@!||YCv&DPXhaM;>3wc5aM9s z=4lEURPWy}-B(>K%5IQd$lBEFCZ8%F7iTyxwaj-fIf3sF-I)$pRRo|^%q(U@hQd=+ z{y@qBiGh>e9bnOc2qO2N{aQAhtl^|C8-JGcXSoFilgdiZ^L)XG`-pLE{q!AuV8gsPSn=D#~m zPSPmkD_0E4ZwR=-e|$LJ@IUN_<1T+ZHKrVVoy)r>RX2j$=5nu{!SmA8)Ir!=fU`66 z@@fDSVFP>o_yFv$^FNhnf=kSrckkbyh>kT7>Hy0L-{f2`&l!Hzh2q_uB+swq%jdzK zftAk2>;f%u|4B?8zaH%Cx48B_C3y()F!Asf{3Jl^z)Jjapd=Cj+AW8pA_8W^=mxd4 zV%G&`X-rU*7Xo*sHvT)m8sV(sCS(`>=%}Y{-jMVzCgNjRz?`7sL`0ke%GJ@)@%FC6 zLr21yj{!hmwXq=zhY(E<1|Zk5^!E01=%DBvcbO~xT%zDre89gjAD0!<#?T>8;Z~vy zro1R}Hd1VwhU)$DAF>V{F?N6ojFY-ULqkCA!w!@)BY!*B$jzGGym|JYq01JQO&pd$ zU6@;15`sr4C+D^DeLNcH4m#$k1JvA3m<|Iv0fZG<9oHpzNqygSq>8E=d94yQ!rLt! z?YeME;7;`RT$YWifkC-IWbIly9%gecNsRiNhP(^;&ryIV+z*cPA-&nkKZ?K~8>!eB-A{JHH#p}ppgE%w(+x*$O&0nSy|cI zzTM)byvFF2^vLtr*<*^DtDeWwhwhy94KjKmaWa&EfNkW^uJn*H?BRviEw#n%LD+^X*Y*+tqoH3eR8=7#^MrT6=HT|q{itY5Cb z=FArHid@eBKjVb*f9$K4kcmLa;pETEXhIL;B1qY`j*i(cx!*w8oo3Uzc8xn(Ys@x8 zZ0jq91-(kxyB4#PFQh)UkduYWbHUT?Tywmjks?ll*DV531Fas9MM^SW6ymV3le2NP zt=Z%bjAo}AHKV%t>jf13Yg zwpZ74YnR_FoA8CRE2kw`!13`4xHjLsQMBH#IioE8hWid({Ob;%PCs(9++Z&c zJ~|2<3Bfo5_F70NAMR(kjxgFgNy@A{=SWN9N+Bf-@;fYx~R>c5K0%EXmSkY`vzfMOu$Tfpr&5z=7E z3YiIBvfC&u81#~ycMq4p%TOQrnC$kzH8=v(X~pNT#|{%3vkrrG?u(jIOySML_SlB~ z5!>doeIsV-gM_V=N-@oqbxr!f-CbdylpnnLT^>^QHB&*g@*;iuGlSyu;r(T{w=d@# ze|}4=YjZd=`~gqZc-H#$Tf(A_-ab$IPxLzHoYst6Sx@X}k-9OkP}8wL`R>Q{nvQkp zqr3dM1q50wL@3EfleKWtz|z)MIJl|n+c)?#aJWLk=1}Bt9GSFM?`$UD2i+&@i24S3U_W;G7X!lqo#l=Yl= zn5H9HN*sqGq@;S`lff*9?vF%)^i3e37Z4i2Tmc}w@nR>X3%Pf0`fLpQYR4X8zh@PS%RZ;yp!3asfSA$ zc}$8^HQ98(8vZ_e-+;Lm2LzRr0)b!A+an_)z;r_Z%)W3qRB;Vvc5NIiFfxLp7;4yO zfCn&>(AG_A+#KFLID`jw0YhWth8Xm-E@b;2o$9^5gnsf?pRJy+g{H^&_~P*(gnj!& zG4H`q2li`kE`{$Nrlyt#J;4V^QheYH>BO}*eTrv0fZDNj+1WQCE1}OqT^|H@1HXcW z#VF`o8cx}By!1G=*)oe`N)a}ZCB?;!QGfcYA)ULDlaN?s*C{4@K54|jvkgURcCh~2 zr%w=Y0dfNaV7Up(w9}_8MjNm<9zCRjikFRKHMS;_l^N7Y=`t0{q zpge)lbaNLi0i5p1aUmSP-*2}TJ7sw{SXnXSa}@gcqvA zFDJg=QamP_yr#nE9~x|M26U;Rkr7;OcVJS$VPln_2=k3&%SBCd++6Z z_H~U0rQQ>N7YC%4sFaO7W|P-ws@W3?SI$yV(H8rGAN%&Ld zbKtGP%1#gZY`0s8z$*h@FByuJj*dM}j|0box5FbB(EqTz+?GRo8K>W;@~zEB6WLmv zO2E9=BhAgn_pAHdRhs=`sxC48kQLw&0>}nCgFdpl@5m)^P^P^1ul;myeck{{w8y%< zzP=t59JEe&nnFX>VD81r;!y%HzSOTx<|4m<2w}Ab@ZA00AXsUX=u8B@IBOI2{_Gj4 z=61>=Vzn(L%etMQg(Bg9a_DRp8TR91S!QK zd_qE--*2SiFg6av2pbe}9Xdo=;)vt=iJPA5EE2!g$E3Zg80_fF09sG z=cQg7;7%3!KiGQju%7?+kNcxiNh*mX+7eQPM0=5$Ekr{$6{4gel@=;16e;s-mRV`4 z$d=5ILX<)!?QuUo-|z1_?&Cg=yFae$xLj19_xm-@^SMqe&r!pTv9}$X*8j1s2l;tl zzZO((&dcfbolqStW?PV56SINl7lqBHi=TQrs$9*|AL}C)SI|$cD8`~e+N5gKKLb?K zhllve$k~c-O^&^r8|o##F}LtfbiZtwd7k?ni}y_baiplDIm`Qp@umHfO$yxO(~o>I z95?R9&6~o!E>C@v4R!(zs!{x$-QjM}gQP;r}!g0i*Hh>Wg$!lmY33gFm zgYMgLXG)sM0LA_dg%uUogB3)SMC=|*XD27`%5#>B7;@?;p-o6(Ti(^Q{YVZ=cUMa^ z0PYj*)=rcVoYaZj7=$Pu>v+c<&3)a5+S>QP4G9O`FsNBPI_g@Q*!-&TKJps%2L?-? zHrBeA8_2cHvFzo0UqOdGkK}h(_1aMH;wZy6GaszJXSMHr57WE}bJGe|XpVC%NbckB zP^+L~JE*^Gs$l2+&_h1q;}`DFx30aoN7g62KOu43Kyk1uqxrazl0x-KG!qp=bW~K$ z=7=oBMXZcPixfQy+h!Vyg_wb&pN3E^@NzChJ~VHSZ{7Q}F<)7Brm>sPA2u6M4s>h> z3RXJFabw01XroMS<>B&5_&RcZAiP07EakLJO_wcP`1<|(r5~0wizyB@NVie*su~=- zGipn35hW?R%pknE2pda!MtfB!|DMwNCR@J6@mAolE~Dw?Gd1-pe(5MDKCx(d91!qS zC)Zk6;JmkbjY&a3;<4zkx0CxhzG#pH`UGwvFK!D27~u>Ywuu345tC1KvP|2*#e0CF z%cz(jSPswyKRBT4fCUU#j{R&vu)ZQ;8>d&xbB#!E;rR95yE+F0dsT~kxe zFTflxumJ2j6uHPJd?gW?|*3O0qw&3_uJdsQNufr`NJJY9YGWGiIh|{9Vp|b{%bA=RT|@s<6VE`$dcmX zcUZR5^ea_;bY7J1ll-0h+oewcXdeG)R9HUXZr|8#az!T%Zb)aM9Xs&A5o#J1B~_Dh z4{xPlCqXBEl&=B-R6ak_QrU?(8*UMzmm2K*2H5n?s2SpAo0>F0bk?l$Y1y+5!CCTw^sH;|Op%W86|qi;z2 zt)_xW*$vx&tJjHXXI8CT`QTxIV;zV`03A9|KObZAo+F42R!`h@lt(Oik1J)&unt&T z&@wy=^dhEfUz`SZfLz6BiFXOz>m*ZCe-Lu2{|$!i&=qB6Wk>Gdt$sic-3NeW%eOtk zXB;m1YHg!Nt(pD?y&aBagiJ{qVdicFb5~vGqY<{Sc*znJI{PYsXYIYzT+Bc&!?14G_7%S6P`4Tj&L*O|q9^Lvaogu>@^6cQBTo! z4lk4jiyH+}mz#kK&HmW9UV_?$5g# zC}tXZ`gre$OPBa|Zt>W-zHpF2(AOheFkV}>hzhWC-Y+byIHMtE;NZ2fythA9C4 z6jlLk)zI!~v@=aj-3kZJQ>our6N`JJs?1hD-1+b%qwd{)4`=`Ll8SD{Pr|{d3xHDn zTk3l3C}?hK+O}njG0JHuD@WX6qefw~rkfQP@Z_gpbtd}tT+^~V%k;tr5Cg9WYUJ0|itU=;rl|oA@sbCOl!oUK}t$fPZc8(M+r*t z#)V2_O4`7Gdpzl8pT54zCgpv?7EF^oyI}w5`3+G_|Z`N=gF~BdjD|$J~njB4jbW@TqQ9~K8-TudktmW}kG@;?d>m>FR!fm`O}@0`;@AD`IPj+s;cWZ;;eo zsJg$TK5g`YA#QJ9+zDDedLSXOz=?3T6dtNrevsKxqp52KKiYT7j51+6+`n$qx$io@ z#V^#YpTf1)tMnDg6SY*#LR3r?6p>YELEvQ2CnMIq2Ej1t_=$rDL)403P4Van1dt?0 zPMLvspif`8kVv-r&zaIaO5e+EbCNc(`gP_HrHI7YzG51NzGLcmJ)|vA{BuZg0*Q&J z^Qyr374;lZ>r6bH;u~W*=LUS&$dPYezZMr@>H9=#^|u7Y7q*{<`ZqkV&M|cxs8*GX z*2h*ZB)=llua&oMFn;`Bph(GGeogOIM?^$$*nueU(It2JY~P-wL%wJdsZ0Y0R-x1T zRnsCF*Sl?8u*6SKaapBXjjrVoTMOtkj~pRN`++&xJ|$fH908qhN=6so^h7QIMRsHi z$ufGwhvQBra7;4Cy4$gFh+jiz?C2-AR99~e3463fwDiO7Fo#_ldJ)uPOX}r%3(7zL z`Fm{L=Z4em%4SX;5-obZla4>-`S)X7^Xz7;L_E>zog*$=G;d($hf=-Hs z#?K_ASn$Z_3zz%Fix_`I#Vkn$7Q!L5vxi9C*fe{<0Uf^%krylUd?js?t1F}L02NO6 zdews~0BM`w{2v@m6Ht5;5MJw)^5jmki0z!mk5`1xHlRkzb!-IeSW4#Rp=n5E9z1@0 z@bK2Ud(!{Y0vx7S%7FxUkPsDcZYCcpJH4oycoDT%|s-ArrVfM|G#VV zR77HReUIjG?p4#oVF}r#yqqXy1Ocnot&6M9x& zuA4V|=>BMGRlQ$0?8A^@PLoRaOizyQxHrJ0Kt!OuzWnp_s~Zc?6#ZUfJ4waWIM=%v z-}hFQ0oIupFZSDMeXFeOBuE6+0Vf;%DEBO_F&H`jiJTD1Y=n-E5d_!K8D&WG)T)N- znmm6!O|ENgg6QhHn2PE8;=)P+nKAJxq;@KQ6My#TQEypUZsn}N?yi$--u45Z<>hdQ z-nXjC6F4^RTD&32UZo*|9iXqHXUdNI8DlS%r_)Bwga8GgkGfm16JiSLf<|}IvSt2Xi~1TI zMM+sxTT7-;720Qk1rRyrNeI3pS1WSVe(Hq2l9(`XYs`y27HY01oBivEKzF$2Hg);( zb%C@ihrM2Lg=6 zZh#`U21-1xdp{0KE|p4;R2ce@W=f44zJ)?3km3?keD9Q8c} z^Z*3!>&+6)Yc+K{Qmn4%53+`m4yGgkbq?w|UTXKmYNDA+keyPu@BnbzgK(_L=P3k^(t ze@6j~h_J?hZ;zF*fdJBM{Fw2VA~V=;xLlE-dZlfTH4xkv)-0TBwB^D*DGY4z_)Ex%&Izr0xwRvHQ=@ zH1=Oyt8ikS-`qQ*0=t$CbDziFANt|=i;(G_*=o|_`8a}Z-h2f~>g1FIJO#a7=!&RN zP0|2B1bKx2pC=Q9X;-{dcs=>Bwok(%B+hTp8{susbMu5QJI=cBaLM8S1ddRALy~{z z`Y?-0&!d7q-SLKKT!+@$`N3*c)kF$$7F0W1f@@?H*ox4*Pt)E*z@lLvIH+X>1?BP7 zY{o}AyDXM;Yax{4U~Fu~za0@h(ne~KRjYv1l~q;ol&WjQw(!L6-o4AM%4xphT%EFY zKZ71e-OfjTytVb_<^E^(9&hJUJheHF0!2Vwc4r{hH(x2+{QNpl2kMc|68~CGQjZOf zv`knJ2q6KKn80XeB!bVHM8ivgOVg*)mhw(@*aXfe2Q27F9(xGDNks<_Sr`%OH;L2$ zwhr#fZh`|~*f+YnH#Il2Vu#8{*l5IJ(R}oXHwBoCux=ac6oQu;6)tp^y*+>J_-GgM zBzH6GMo}>iYwVbT zd;V*gwTBKRA)*>NiBHXNleu%h#)!)L{wld!9wJ`gx^e5Mcj^1OwKB4O>XYN+l?AyU zKA7m~A<1y&L-GUJhSujCRm3z*vIe%`AP~miP}=sr^r8u!3NYg&Bct-uCBYI|9})#S z^>aF2Jp7TEHI-LMP!{R|@#JmA!QH;q6$vT^kB=CvjN}E7b1EpOT%t-M`-A$8696?E zy%R7m8Z%7KC+GgdpHDxm+e6^TPGAGhAF&lioeY@#;ZIk2T8K5}U0r&6Ut%4}e2)`h zygOO}p5*10NCtUPpLdaF?O+X4IQbND12D{$z&?_@zJB{wM(vuF<5k6M)I+@`Z8lez=E@!~ zIB>W8+qZjP>QjbXWKoJ96#qHtYe^CW5O*WyenLg6QJ{#9wuA{3xekyBc+~-()ML z#XRju=n|Jr?fIb4Cw!(~^dgyUWzE$-;d{l>!V5?4Hmh4PmZU8T^|yW`^d&MBh0fi? z#E*C)x+jdWAK_7i7K_0XtM94pr7vL>E*HOGnIBbaYsb3|^V^{4V zTfh9GSdg6tS6c!nlb4rJTudK^e6WW=7}__F)I$k@g{SNYF_Bm`z8Tvbg|(UYuLRug zX-$!Y4a37&%DQm=^QMm;UHtv2sCRL*!0|+w^jHc|z-JIFeC9My=r2-!%m!RzubxP| z8El~@nye`L>G^Xx1qG~C6OBr}9#E=5>glJwxdlfEQ`(WzDnmbtc;ry`!uj{o-lTLK z7_q2rZ$N9iiJ>eB`N@p8t4^OxGDc9CtFh zbWHJ_0~D|{)2F{uYtZm4y3*Kwb&yC<_|fIknMaQ*4LGhhnL!QRPzbmQ8=^_Z zxXnI)^zk+fK6gZ-f0NR;6$SYj)@u2?!3V`9Bda=$S8Lu>?R=%q`u7f%7#1o$GI zuVo6jT8VXF@!_ccWf_l-jqKxRl<*>@X6T~N>I2s1o;gwN;P;|fAQ*JNe1Sy|+0!Lv z<)${9H#eZqMUXOEfqnZ5PS?weN*a=h4L)YV1X(GmQeek~1V<>aQ>QeyEkrm;MJo`p zJMZV#R8|6aeXprm%I~~l{S{ea$PD9VQ&8 zDhJ)ekoMaql{txs88}uK=AvSTlwzpG9u?CiA(q=rRO}~D7J4F&JmnG9fk{yrSy@{HOcV4GYq!C}L&$s#;#6}jkeqZJW#AC; zU>A4y<$NSnRg_RZaALxnLVG|}DW(^Iw<}jp96o$c(JpB=bZ$R+d5B;3vM|OOK8*Lc z*xud)DH>2G(fG@kmvI&U%cG1W?0-E8*2KLKf{R6rVnA^AK(IyIOndQcg3R(O>NcKB zLztC8PPdPbPh27d6xfVd{8VQ;9Z~x!`bW}lE&7(#nsK#Zj7qN?y;?3cPuSBhufcNl z!N~YJxuqX8b{(`_mVCG1qTDFG8})T6F7%-+39fwV4QX-BQKKkX)^hKG)7oeh15W@D zGX@3Zj|pLjD}}~)>^kTm>9mD{Hz+0?S0>Q5oLOATX4I7gP$V8ZHe%E$A+0UM9?5P2 z>gE#%cGQQFuMZ`H``DKZFI;he!Sqbb7a_^3>c@`;WonI!OoD-%A#Q*7%FN&Co5zWX zRPQ?>ZGxn%u~GQL0JI7m>_3whX6ko=fdJrT8>SJt|N8a4Jz3{9zO)#sJpHJiFN--B z^3_#O==0-0Nz{F88;D<9FRtd>H^$sakZ%p!NcyEaGAmMh$ReSyE({oesfje%J_4ca zfAM0a_$M;GdeH<41Q^1RND73`P{PGr*RO9Uu#n9NJkLkWIjg3rp*nR=8Fnq(TvV_Y@dGjRwv}Q5qNLO%>4ViH8#gr?$WAH?6Oi1x1$JC7fEZrdgREE@nxd zU7Novp7332yB^qupi9}9v!K(fYG~0fk}N1M1cCukuU1a-P2ECOC^MzSxZKu#_l~Ak zC%wq3tL6GFmk;!M*V+F?KfOQNVAU?)j7$pdiJRYpixS+pRiSY>GCFDh-HRLaRI{V9 zQ&Q^qrfi9|>(*Vnaf2F%%B-j0d37VQRwC{MJMY|SXIZ5?x|0Jba0ZWO|I?c?qJWo% zHb-1=gy|}Gyk!L`Ue$92JDCGTbxgYfmFzTk?q;HK$<9O=YZ!0(^2cMTXVmm%&z}=c zUU=DV3bhbwwiKrgW5CML7@Q@LIC@K1t@p^JMuTAcAF+9J=J*WIa}4inbgt`@Qm!zV z44dMTk}aDy)i*ag-CRe!jW96*-jG;3zQH!A=EthrxUgAnA_52___~KVg)kcv*a|2k znUQdUU{+XFjzF@In(wb@Ko-RepBoUq6oyDD>6?%Wy1>uzIVs-mS7#tLxJ_amcoPjY z|CIPtfdwP)csP_3d=Wjj&omERCwwnkw6;JfvXyLr9wHh*%#u*Q6pSf=eOP>nxacb& zWh$@2)5l~vzQpqIkAHu=J6_5mJ#o#N^MG&wPkqINN&z}lqEx9YsYQ<`B%u5Q5Nchq z3{4b(@3=uTmoD7_dgQ3LXtsp*0eH>_iN#d>5I%D#6zuJV7_Wo;XGUI-c!MudT853uef21W5FZHid4xi(|c7@_pxc|0?EYX(tiA!Vn^?> z-hrL+G)<3etJ)A|K}pISuQh9Qnifu(axN*!a^Ac@R2?{6(zn(e#ui@CKi=iK&`Ct> zNf+%m>Y8lC)U^M4amM^LI9sw~8N~uO!v1u=)4HRa1;jCRA5$Dg3M_f^nRxkR!YAj& z{@?{6)t~;PVX8no;*cpKU|&ki(4Oby)J?;W{+teK^q4WiQ7KZw==Zl&eD@l^1pAous3SDiQ%CT`_80oACm7!w3s}rXq29j+gZ&( z7YpRo&!3N`CKx~d(BxB$E_r%v{G-Q@Ygxa@O!pVe9~+2Gi%lRjZ1Jd2;gV&+j^qfe zM1STK(28OYtyI~J$p9nfG`&s9SWM6XHTELe)+QY>D~|Nf!y

T6(kv;Tn`Mq(LT_cFKd1Y;Ht22C1)z`|0#2BFe;Q^5^dzl z(F4KdY7>%9KS~N@I_7fw+I@Pj`gOPqr(l>1pLBz$KQ?mSh z0Lak0_7og34>WsyADuA#aBUEFwb%!4f?Uwg9)b6WC~*NA z&K2^=eNbGp(Z4NYiU~DiNAY%x65`9Uh_she-Aww<4aru>m+y8 z`IxXFfRM0a86ZGrdQ*yiSLahdd*}V$0)?xJJ@P6;lhZQALn(BH zM|MWWpo?OEfX|3!AlQaZRU_8H$w?Jv-RM}j6t*|6)AQ8eqe%q@;Mt>Ut|IWn!hA{g z^=PI9YJYfJAh0dwLA&gh>$1$bv#H(Fv|E12kUjzfBv~|2owg6k?(bK2*HV?#|E+;^5!RV(@;aPI0-S^IX*>=fx_jcj) zaA~ffn}y;O>$4L)I^UaUBzhI6FGz7jf`LpNBwI>-35A(Zb zWNeJ;17i#jTn%H_5F6|0gxhH`0!=t%VCYc58>i3m517&S^8NdEs<&~2e)1{65Me;K zd3g=yEg*mZ9g4NfL|f0JOTA<~f5cz*+%`{7ol&Fuf0M8wSn|m#2}T9HPWiR(*S()p zl-%k41-Z1cxR$^+dI{k3s;>z1uGo}JN=id$#wJhFSw{*r_BmNTI>JBFC2It9bUgI)r-00C&4K+XKnyUSK7lo^3Juc@G4`{7a95!qiZe|!B zw(eifI2_umIL5#aXkA#7GiJ^-_L!_X!$EhzfI0)5K3sU}&#bz8+P_kZQQr%ZOEf=D z5;SCF5CK@+wKwahtlVDvZtT<mn-p4}JtvXWft*JrCG*$_qqo}2dQEUQzrrky6+|jfY{78$S=b`6WwG}I zUL|opaMv&ks5!G3nM04Ve(hS&YEL2R7p+PLh8YW!HW>jH>SWwiaKiwHaif-Me|>&8 z;qAva@6Y&Jl;8Pz`+}UMZ!a~n=N$FC`PW2XQEH?T2AbopoCqk2@`K0n^c>HR)j)V) za(+E<$(&P@w=Ob2dzH3vOS&WH2epB~V#yL>7nKi3UJUfw_Nci-ctILcLv$z~?dmfn z#ptPrlh2@6=IW*;xu46`59i$*>M^6?cG~u`x@W)48e2zp?FitSFUMVUWc9wur=S#K z?X&O_CT7*&^WyQ)HAsLO5UQ0m^gZj7|`XLa@P zxtH6-nV_7$MR@B`_(P6?r5RcT`MBi;TkKY&;zot{kV+J75A3*bFu46ZO^4iGB7If3 z<^_Vill$G)h$(YynFhk4Gb8we( zmkrqb9y^25uKy4sBn~MK5#VrmNGL<8gH|!l306o&p^tF6hu{CgE2SHVSgI&# z+boR721l=4x#A$x3q8gehhDO>_kU#kdVl*j{iv{uC*WUi)!t1^yD4H6G05|xMa`t; zddBsE%`UWcBI|K&iS~x?k15_^&QnF^VW36zJ4m|c4jZ74GiQ2Q#&D_O&Tpl#ruf~U z=iBpL(4+E-KRb5Ki`*e)b|SFD_2ZmLdW#puYC9SZ-#IJ&vCXXM)1#nSmJM{T1@={fMKnkFmvkEe{gLBfCCcQ z79%$Nb5W`(KKoZ}u!WW)01s(-sQ=ai;GMOute}7E`)RiAfrL?R|8us|or>?hUznwvAN975Nm4L{V zN}Z2NOXB`91Jq)ryL%U{cjVIMUsc^-(h$XS;df6EoBn#F2D-H|&~lX5MNgkLH8$GF zeFcjGh-b+xMo$E$ zpN5KCQ5vGVykTalh4*cv*VuhgUl_wygX3qAA*?|%eTS{>N~&}E0>;zR)nW_()6_&3 zcp36@B1rGAx=yGXQH6oczm{e8ubH3|xqo=K+w0HuOVWSdT;^pJ?sn~UPN(?*T~M*y zhPR>uZfC|5j61EdS1l$Ru?KlqJLulmt{r}88Xvu<@PZ@qm|Py~g$u=|Kh+4j|Am4| z=HjQ5#5s^2*F&l{XK$E=mT>SA+2Bl>7FrEh)(asdgy5bJXoz43rro z4n0JP`S|ADuUq;n>XbgM80YfGM`2^W)a7lv?tgjJQKD*jCSuyIL_z?O6eA)LMp6>J z;JsH}?t|Qgw|krmU1>|XVk*wstNv%egtjiP_o3sBAG1QdYJR|+5DR5lrGQL2G8jz| z3!WS^KafLgFf=wX8Eh$s2@P_9C{&O_&}Y;i*NA!n7J`G+l3z=|$-kma_?*3KpXYX+ z>oX+-`(IURj}u6~5Xn)Z6y&!89}$WirSdG*_D7|>`np@qL?wFK8QvPb^MI&Ig87Er z*N@Czt^92J>u1w$&b@AStMZKJgCVD<-LFjl4iKo~x@kt8RqoLI9vXX}`G*8f+Rfbv z>c!%FMN43A9>|FV0D#))-vNa#yN(`xhxo)!Yd>8WAC2FhR1RvJpWnV2x@rEHvvYIX zH95_y3tv2qXs{vA0=Rg;Z?2UKFHp}DUyf~Iq@gf21}o z_UgBYo@}M(_Pb%FeI-?QOt!T}weC@RjW$eA{fw?8~4r0*=lRJjb`3hA2Y-MX*EgR z`n}s1C%j#J^7!I8Z_L$QT{5l=QgOXLsP2KXs9=(K+}A#KmYOQAb2ffhZ%SI?c93Y! zA|dPP?vAeYTuC*>;{Q!KUT%l`7v6``lRRm6);?fL_rI9)bwEhDO9SuOZXfJ!EH~-> zja)I6miG1)b3){b>MXAHF$v3`NKm%3?~*y`RXr=-`xqrbJkIfoC+m2AWv}*is(beP%Y{3{)GBpwL%}*353XIW;O}(2>0`yX zC1SBZzAV^Ouby+^USU|rl>u=&z9EtCFGWU7AHRIGR9uL8(Nf2*H)8(~VTDsMIPdMv z^@}KICr`e|gG0`6hl-qr_R5l*Qt{ba(m$Z-=7lqzxsVPo)$<2DFs$?AmI&LpMA+*X8vaT;SAJ|#!a-}ZO|+>(LGFbM$BrNGs^llvnORV3fC@bZo~Cru8PJnbJ4rY<|kr>M?$ zzjP*wB_P;{#^|TO+8i(Wr7X3(O?j}gO(RyTZ5v`X*kX4-D*j$FGWX`bBlkbSh*^$b zK}}sp9Zv09>ugwR%2 z;!F?9f-w??;{*;GJb2G|&zWADZ+9E2XjC(b;x|26=ILNoKRDhN~3d5?hNFT%j zhB*=%()q`56O)7QU&pQ7DnDyzw0exXAX_{;HFXno$MNPD$S%HpGt>V>8$Hp;2ux0V z2cyY?)$GuI^MZN^xZ6;~a-SCLf6+Vod_vRKS&D7m$&W8bho+~=|9!r5-rB)xQA<;m z5~OY)sBcyI>iJ1q7$-xP>@J!-KuT@xv*7$$S;sBZm?rV&%^ULRM`&tVTUu5Cb+OqF z#KwYI{12-~LDgL@67r-{!>YY%yN>j=VCkiG({Syf^(fRj&)Ke zWi5grp@f2tjS>Xx0V*E~9B!T!IDz>&n`+9&JE}bV6&0oObKD#Bw{TsQYR_}6wT4Vx z68!rps4HP6j>Mvp0n}Bz{l!(6kz+kmFAsKX+Vt0Da*1McQk2vD9 zvhmA-#Kh>(Hw<^cAUW@!`B+l$R>Pz72p>Lu>W*`YPmHGKp20IRE!Dt=M~+-yG^i!; z_Jdx%rMmj9Gy2DqgyHG0#npGnkU+k&otxkm%Ig!>-hP zl8f$HYV<1j+|Ba2@2)2+CAzwrd}z}C@@2c_@H7)0&6f5EFmEmwY7Ni@Vu8tGCYqDj zcGy+aS>#y~7*1i;j`pWk59JIG98E7gk@|rLG%W?o3eBu6!bhHUSW!A){-O_ohsx4r z_s&@CvTCLU9+Z{yI-UP@2+MCMCmIE>f~}ey?;5S;3J69gr|3iX<0}B!71ZrD!3e=IQqTOIh9X8 zC+-Q(U+LehCAEHDgqBl#!0Vt8i`_>2Y$_3bO-)wYv&zl%_1IBTzi5!G{OqI466K;4 zH_9#UCkNjpfPM4}fRaMhsl~~R89qKnagSb=lrS-Qnw{MdV{iBWSLb>2x0J%rlyn`7 zkgXzl^KZtu>=9FLp&jnR$Cz8tfwh_s@E3qJ+(T;`P0R{f#-ea`BZcl27TIp zZ z8r|!fs6aUJ4v?SwP~O^||)0 z783%>Q4r93g@yP}9e^<`)F5lgR;lEKwSJNzDkx3YiGNg+-#cfgtfb8cyIg684RD^| z7}UF+OV*w6DW!S#u#BO0*N}WMOwnJqy0YiFE`eUY^=?f6tN zII3ulJ8e7rV)j_+S;`d5m+C^Jqg3STH+7Hua-vFm%$WKx)c}SDF#*qg;ljhDnL+hZ zFbZvKkgtd-kq6@#z9jIYbeK7FFAhfF754DBalIdI+HPVPH>_h@ud1|Q=@nYJwpY)c z`(9qo#9G63FLeTjr$5yN+C!Ft80p5T6=#RE)loN*x59Q25uja%g#a68$C6k8kAfoO z6uRW^-x0Y^BuT*FD0Pkl!;H{p*7q)wu`EqD*|tN~v2n1U%0KEcNjt?Jm+$ySiNn1v z5a@;(%56<|aL^cFum@6!fEgwrA@y1Y^YZUh$}jZL0)cR@6R9bvKv2}7NT60(Gj32= ze#Pc=RI}U)u(AY*Dm3@^66?9Muu>|~N?@twyk9h^Q8r>i9h8D;V3&y?7h@%n15ALi z*Yln8Dzc}bDDk(4uYPo&j#bOI=397G$@KJV_`c>*#h25C4`O8m&eP_jNITKpeYbM+ z90evq?faj(1mx@%(d5wfT*J{rj5#`llckVF_vy12h^4))4SI|!(*z)2?q$tLM}?Hq z_7w4G`MTBvJ1uq#JS#J-GRA(uh(nR4s_d0z%M?c~Q5Z60 zuUa@m+5mIVN0T*2pa8rm{+`L_N)XKmoGHaX>B$ateU-J|D0ABY#hpA{GCjYm&J2ir=?4y)FiP=96o#n=7#PGt>gav z*u)-F7BH!R3yawnv33WUI$iH$J+4T`c8QOPTF1wkJKuj*%OAi4#x=qY+F5~7O^Y25kEoMsKPPkV z>;B)#^cgd>58VH257HVEcw^-HI$(=rP zd}L9T0I6l`m1Y@H@0hnY-t@X7*gEs_Ye5J$e`%QcUSig0Ix zqW~!8gyi_scX0hs6T%v~ju!GjGK{MEb>}y0ojVFnpNXPqF3j3%#|r(<8y)q^8`>In zoiHg%vHiTdP6&vHj}O_CteO_J{P}m`K(oZHogXA*gTi}b07^(mAiD)x8=#rvgIWyq z<{i2#Ht@lNjd(b?4v{zm#*xFS>y+JrOoyxQDMJJf9YSOmCA3UQ>P&O53APTM(P97n z*s)_2b%adXL6mY}A}f}=xl697e2hXLKai>5yz-ol0QTwTQH2e4b$EXy1bYUJms;;N zIi$y*Wv**BB_*zISokMif4yf!^0QHeXSBbm8;><9*gbM~y|5B$UXvF_&F<*u6> zw6o2*5=!RX^KT4!SSkO0j@pgTVZ96N75@JdKf+#q=`HqR*zV*Ys$J<`y%sY&qp1ma zpNjVPl|RBc4a~^Yi&LgC8PeCRxX+%8VSb+*%aip9gNcZ+lsiqoq@|^WaaWK6Y(;&I zn5p&@@_zzu$t8?vpJcYHPLP@<`|4}B$ec!cG$e0yrEiyV^VZgG=vyNZB(1@tY3@aV zOp(AH81D69}gcKd^_ zUcC6HuCA(FmO{>tPK?Zi0p_2sM`Z^#mgnD>L7@TPF#Sd_Sqv7kdcGSb2`y118qA`)1>~!|Km6N-}R6FAjLBL|vlmy~^R;_Nf_Ld#lC=gy^u_u-_BEf>3Ie~tM6I3|j z6a^ZC%!$Z{H9%!G%>IP5rRX!4+nsHrg91-&OP5W%ob~hGDVs|(Pwn@Q)4y8^EF_f3 zx$_@vL8Bj1LFIe2l!PqqR)tDGpCeW8?p-YN(fyh> zsSn~LQ{loYfcGyYa&OOd`q%1)~!q%XCl zH>bmn;L&0WqCmkq-2ZCBGAo-NNqa~7McRh6jM1=PwCD{{`y_U9F9V1Fm-w+&_B)E| z!CVTQp+Y5_ShQqyvSMSFXvJd_KZTvrW9dl@T}=NCmp~xEan1cl`QjIrdG6e>==&F$ zWW4%1J{@D+Ubi;6pD%v8aZ1|xx=PoG)7@U3fYT%cvCjB=s{Q(%qJj18uO5?UwX2VC zEGPir6$C9lDfW78%ky+IV(bO_gEzKMh;+Voq)(z!lfB)uf}vT3*0s^kG9>4y7==VG zpR4>ge)r-@KH&>|=0=9SwLF=b=|@#V3Cvu3HX>Q&>`5Yyhz~wGGr$7gQt{s|4}~wU$)2KMohLlsneYTI}hbK&p6tU_++jB z=HlKj)}J>KGw5KT7cgTVNl7kFe87pERl-rJ3>o(K?;$v1ZAJnEgodyH-D&%3)bbC{ zGNuI!A}lOQ+h@;|v29CPE3Bcla&wuCft7Xaq)8e1_0;YV5di_pW}@#hq^v8|6BTI2 z(c=+Bj*py`!5PN9Xox}z2TZBR-3g%m^Op2ndTLlR0AFx2!o2x+{3f;G|L59G+h}q+ zOLn_LcwIo4v=cuTivXQ)%!98o_mOwoX~~=0NLr)BV{FjC)Z@*WGBKN^B8m9etL^vs z#hF2ydi^n+qlm#wd-}{l7|aB%A2JBb5%n|pbF$QcObRWMtkCFk9}CfK#E{%=LhaeU zA?>IvxEcN6-VvsN86S=c+lCz5oB@RliEqTH47kyvk26yYFTB{|h!JU&>EZ9j#1yHkp^G9zX zA#?O7toOo2i%>Zp;u0tJ76B@N*s0{?eaH(`RXtX%5*MJXIX2owWSh;0H}!qREG>-V z1R+`f4AtAHf#XEpx%|!w$na${3igG zGttP5$~JDxlD4<7nLYO4ySPb8cgH?lQc%5PjEdp{l+wfVM@sC7>aQ2{$;(gS-tQgd zh*_3l>IEty3x=33_$SYFN5lBz#N0!iqYNSf6=U$FgfBpq^fePURGaGP*s&)9#XL+y z!|qq?!do7^Z+ak5ujK}zvi2u8)3N|68=;$G`B2aF4~UK7lcZE?4@9Y0benuFnar_f zp@yYHIFF2V%acG2C6qMF450xpK?T57PFdEH_ot&}I~v|gV_s_f=p`mr(I6Pn=>H^W ztPjfG|<35Fj{r@ z(XWZtVr3*$d>^M4!o*alX-e0utWI2uc)*F1;F1DbB#%47LrCwb&QeuSI9=sYsjpyT znPoNZ>-xHI@i*l?)($_L%c7RK_Pl{k4gDYMb!T_tyYaf=%dI3ND=Q%ug`ZNqfIlm%3 zl5lJ{eHOSo>dEilzk7pC(%LfzbJTzFatNE*l=&0thX36C%yhG)(~w!o=~Yh6@#qo} z7Tj6)YQ*BD;w-MHl( zKBWZY3|6G1+VV>cp1AodSO(=V<*zU_7D)i>qmw^_oTl-^$Jz#HM)_f*%-WDtr&z4| z{l!B;y=Q%>-OfILKb=&pg;D}vrY$LRXzvlDSvj%}g)h=E3U5w3<^cYCLhayGp@Lott?j=hi*ztrFc9Y}EGJ>(Bm!O6$_Ai2or4BJ$bDS7ZyyNy11SWUtj0sS0B1>->kWFU&L=P7i>QL;Z#*$ zE6ykoFlZFmB$U^*+ZA&68?(1vc9`1gKeDo_Gv28?>#|i`{_KuL^`XM1F}dWJ^3pl>=2@1bG7pb>l;d*# zd0(rK%S=nY8D&>56semmT_Xbf#ZbRLKLU!4S_#HQQBOhhqB_uD^YgOCYhHJo(^r`v z92B^sNnbuI>8;LITNT-!e0HIR>yz;jgKX{PMqHg&JTqp0i%uJBj9S@` zD@E16v2UVKsd-}DT0#w5LD)b8(;R=%aM$Jiq1r&WMMF2+>rZ=7uaIXKm7RgvmFI@s?Pjc z_51qk!G5y^r(b^jD5RN`m6VXZZchIIl?aSO-^&>&423{9zzT!tr)#oGs^fL?@!9=M zyrm`bvG4M<&eJ)fRdZi*hl{qc#gb`G<)rw@_wT=w=_`S2Y3oa5~t5J_9Vd{FP%$SW{%zpAcrWa4!J&a3o8nS#Kd2?@Pq5E{wE(_6%ik4 zgb&=%Oa(R;PZ5^N1X&H6c?=l*^o0v;c@nCS?YtdK6f)+g-`;EPT~o2*qkKZ%3eiv6 zVNrYb9K38R(Am?_zXdp-fEC*0a$%r2vW)O&cKSb(f0sNd(;qlOw(9}k(#NC>Fr{wZ z7Qf_p4n-75NRz;Ce^gbKmy~Wm`EkSO5>*a76)z(>{*&yC@D#mXPs_&`1xtKAk;9F zM;HG8N7uD(v4AG#+VWqEx}E1)>fs-x$L(@x%hJm zB_232yV+)fz0~{>Gm|6sr?{JK+S|h-_25ta;Z|OghNw12#WS%nHg*mH2VIpH*_JOi z9H|nIc@Nl2H;e6ZjI=SLAdG1Y0HNd+4ya)s4wpZJE$i>g-Y#@;3Y}`SW}lVvYj61; zYEcyq

Jv*9WmBsFG=Kf=zsI$oY%Em~L7;Gto*Wt9fT5X{97=aiPzeC1VwCl>}cw zrcrrTJwM{UVr1o?R^h3itZb|`aQ}uAD_RQ0wG0RM?#S3$!`5an!Mb%9cJIC?m-v?p zkx8!61IM^l#feK)=f)*Bm#JNKtCNtn+i>Ms&7o(frIlVvY}1Sg-#SM7>xd0{F5l-L zoMff9Ky8TC;dwhmRY#&M0`WL=^{T#t6!nCXG*=NWA4b(-v%1Qo@$qS))#Y&HE(5jB zY5k_09IvH0Y1v)lK_Rn0_gLHK{;z+88f2%OGSuVT6i!!u+#D_4{^R0Rrr1Im4fP#W z+%eJGX~6)&ioA)aqsLP93g7+jKHlEc5jKM!0}eRu5W z|MBY^IZ3VBDIQ&tn=&B^6cZsWqPfiuVw6>y?Zy& zz+f|MwW?oT5A53aj}fXvn$Q}y7vSI`FVUfsW9!}wP(FDV5RD9dp}U)Pg)OeGp@F#G z?#2@P%Hqj_GP$98bvP=KO4vwt@`pfhP^T>cN^w!4WB!yUp32HH9X*<Negn zQWg*<=pw@MsfLsIACw+w<~ZiuSF8yBjqWCI!tRQURKK7ZHIpN;m_sUz8!;mCf!pU# z&YL$IDEORoJeZcN8A6DnoRv`f@g}E>;X)B|1`{R_-f&3AO{ZU3pU@FAWv*v?HS{_f zka;;Q=ADVxt8k{$95|moWwifz4cFmfGY`M8Yze=GR`}Vm@ioW2%ZOS1+thRdj*svV zG%y)=?qJ~~#g;KHMHQZPsf`;9l|Rv{?DYU$>2rJQiht%$4UB8=wxIj-tbIF1`_I*O zO&0p@?#f<*wt=sEW>b)noP$fCE{u5uRBT^z0yftsD-Qdc(IAjs&4(5SVBdcK{yo(X zKN5CBs8#0Mk+<@n$H`AuIR3caG5>x*&kUM-F^4<8^hNoehoiX z=*)lEQoZ7zanv^cJEy9U=*(B$PcD5(E28lFyNxU)2ls#V5yWKB-rb3L(~E7RPY)W~J)-NE<_pu5($Jzn|dg=u5pj+B6{`ro1)wAVO zr>sQ|>zkq;Dko$%6F~2)2AX*Pa{8Xv@H08g*r`WEgm>{DpG=etv=rDh@i7Y{JGd$U zzuyvB(o)n)>;C%HD=M00>6_0m(1%Kzx+t>CtZUWS!gXIB2zmsbA3JW~(m{=P%<+$9 zXP15YlymKx{HJ`^RJ>r7CDR0Dl5B5op_b&--~o*+lftwBwF!iDNfHG#1$Z zYR~f7?Q&$cPHpp*h0^)NrFJ=n$OY$BUC$6Vd%q}gb+6F7aIMKxpZiN3+(UA8^!<`I zZ|-{>#!2(d(+H2P&(_?`HP($Ez;RT}{Cv=sN3J&$IFJ6CSzQB0f#>~XNi~T{K7ZHH z>QFooD0?xCrk0Sq*n|Y#Qcbgnu>YKp?O8Ibx$s#%VP{3_gzj&w4qRr$&Nuj&sH&>M zzjKre8Em>(ZhWRZKD)=|-^4x14TJcX-vVI{7~Al+c7dQVIH9MC`i(8$XNd>*#i;rt z2{8%ZkcGQQ7Aqp(_%$eNJnFeBPWy6A{*7Q~g|vIO+CotCi>gUH5Hl?~{!~qJZSPF# zCVHNnFl1m7lX|aCb%3%_)!70iw_m21$<$x#ef+l#K!I^F-E#R*1u3AqmCyQ0ic#)T ze)%_fGp;tU%dyEXA#+Ll1=z-*j4iu=J;4DYc&;ce8ACEl*^b{8Us^ezKeY!6LyjTk zyp+3}Fh1en^4-22dUQa33hm4_=G?~oCw%cb3X#Tjsym>!Iys}9UoC#wRcmnFzck-r zb7PyDWD=bD%pd3aHERn%_+woZI!D9UOdKqe{bbekdh>b>%om;ey5@zW^n^cQmL&3{ ztBbFnJ$bSmTL&*ynPelH2hw`t9(Cf09J+TekDJ~_O3D`l+HaCn>dN!@9fet#&xA4b z^`E-CymP`Z=G9FDT2z|4qL*(!fxubE&bY|^i07tFsCtp<95(&I{hU1hw}eLFB~5S& zQZ0nBLBkcMEm=|uIDtWd_Zy}95p7XZQarWj_qe<;$A zNN1IZ-Q>Npd}kdShcXUTA$4o(gemSJ2z}&RJ{B>=mVVDz9AG^BfH6wzlr1k8QmrBs3C*wY>+WoB zQBmq`V(B3=`LXbkx)p8fW2UYB4PP0|5V_KhH`dItwCquq6Dik5Lq_%M1 zNPn;~BG`fT25y3$k=7jK2|4Q)Kl9x#t*xzCKFIMrptlW7inoUBVR?#k5V!^*WwVR0Cij2#4 zlvPveY!QkO!g>8hYtNqN_@_sg-^_e3pUeC6{=7eH)`0!z=S;%o#KxYAsUI=`vmNWT zk7NHu{}45q+UvaU6H?*AtcZ*Ra4XMoX?XTZkf&qRJKnAs4+-)>!r7}=ufm8gzxC1W z!IUNqS*V(BHqh1W^tW2Dj(C4froNKd!xUH~I|=G?hR0FBTr2H<8dc31vwEY^)e zm>{6?kLtJB8^L#XN5~@|94ow;Mu$zDmR@EFsqJ$e? ztJAF^S%nd@d+?{Q{_Bx`sMRh>A=$*laM@T!_zm2xQpDj?lYrt=GQ+gCE)Jr^y2XDBggr3Q`1v2EA%Xain#f>a(|tOE|}y zXT5)QJt4f`lgE#be)k<+^qD=c{cT~(D3e{0;E%_`)2NAR7DG)x_b)p*u;AglhrYnq z0gNEh|K4#gwHoet#A-LgQjKMAs3|bdwIj+hMNsL#Fby2zEw+p}#n03Dd@(6HnJ&Tz z%(UyizKKTvWJTJJ9h#ujtj}07OBeTcEI#Mgq4X{9d1-ifzZB^pVc^^N@sjh!^rg>p zyeiNR+S;6K!XkEZERCPf4zW}o5xSnJ7n!FuK6@1%8%&n`GXU=EHq?&~)8+r$3seN? zSvtY=!GvKp3H>);fAwc)bhUu&!7bPkKBhnnP-oB=fYJb6J5vgj+-epH2@xv=-4eMV zKP{&u8o0C2Pb{B`ji)-R)rtlv1{ZgHQrR3$H4+`-saIGjU@eB#_A?bm4OdnkK6Gg2 zie@91vz1g*E}tjSphF?c zy-J4<@g0zhvlM=~>BeSO7N zP*1o3hg*_`E#J0$tA=Ms})Se2xk)?EV66s9{ZRuk4;tf(+|Zfb1Y z>L?pKcIAo{V)NvH2cb($v42EfOBvm#tfgp!w3V>p^s&(!c(QI&WP6UpETjr9{1lIO zq^9r?IhD|Bj!KQ5I<@pVclH0-)`XOqdGjvb9 zqH4#gGms&H6H2g2tlHs2ctHmEhC;TfFTjT&y~_ARsnm)H`tq!P;pmXS(kEK(a*9*y zD8!H!EQAm9j)%%#NP5HLwJjF?$LfhTx= zpV%~2VfE4A$}p{^{rGl3lde~zMPzt&zrH^1ic@6 zz~arlc3vWmW8}(XtI)9hQt$ltKL>`^)YhV`GQ$5rs(aOJrRqtbkB@QP98CXU{D*I! z`MdqSB^vsq2rdJO-8SHV{@v6>9U6aFA+ZoS^}P^(LgYue!#2zJ6ZR>o44sp;=)KBh zaD*XdSXpR~UBY$tGB0_mEiS%uEP~*e00a9h(SZD-uvm0JaIX~(Jg$$ly&?siF7UO$ zsCRSg$P)&p$|B6m6-U}&T0|=kTv#fqVy0tBiM?|;9D5=^a%FYKi4)^W%UP`>+l60C zH2PE|N5zA_wZAN%^L(uktR5Y zUxpp*Bp74_yfCYh5Sk@A#mCCDw%$0j8e|j#>f9s3{e2lEO7u&LZ1-&is{&ndwTZ;o zniX&Y94ADZaLht@gED2Ohmn)^4}L5GK6Iv{07|vbf2{_?-A2RBk!VPwQ@snL>Pl*= zsw{cT3xj*MJ^d8H#;?aLo0FeM+XwOD9~K;8v}@NM9T&t~E{>khk3=HBc`>#|8FvVb z2KAc;F2!Cc=$fW!6wKP*Yopc2XR88zVKLmSuC|Hy?J=H8so(-) z)gN=Bl9QAEZqbOCS)m$2v!;TUxe~b$LKB+P_@5Y*I&?5T+U|R5>wY)#M<<#fB=o_m z5*x|PlZ{x#dOqB8-N1VyCoPK7_ppU@!vS>TCIcSSpH$E-?!f!JD6GL*kB!YsXd=`V zP>jY08qTF~kPb30u(J6@Yt}$B6LLd1@gM(Wif6@i)cG#me_pd7ARrv(%Wob@Z&z{? z&AB_rm-R1w^zdONicmYfVW>`@-iN;yOvDwrD$p)wV&3@%{oR%0_FM={b6g)C{a0;R zZ%*HBR(O{xvb};DGNYDe$Gwvo0;v{bb1y0>AK&E} zH9^!goj!ht_dCPvXc<~0A{UdFWyVDidJ0vROlgrHas6=1`e*I}f$oCxTY9ykV#Ugp z-DI@C?~7c_x)bOOFi*x*8n!i2w$-TrN{D*6nZ{)&vyO) cKYeHM@Zib4T1Dn8;csS6oipXAV$s(B06QrQO#lD@ diff --git a/man/fragments/figures/unnamed-chunk-19-1.png b/man/fragments/figures/unnamed-chunk-19-1.png index a427d40ba6f38f2eb758d2a1e5603a9044c11f98..3037f0853f6d3b730ed86db5c39be9b0e0445839 100644 GIT binary patch literal 45858 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ܦ`Sb-0>taZ8W4WoI?SAPgC@sN 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 u1Ywzc@_!YEi7(XH_`^)b_g^KfhFyuSg53CEED diff --git a/man/fragments/figures/unnamed-chunk-26-1.png b/man/fragments/figures/unnamed-chunk-26-1.png index 9f1816c5e6699503d4e031d9c62755a07d64f5a1..70cf9b75a97ed83d506e1e52d0f508cb2b767a79 100644 GIT binary patch literal 51426 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 Q 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�(aj;kM(pBJ0k7q8b>j?r%xY>8h&o*A6+m1#=lhcg#CGYX03k)>&Le(_4+Yw8ST(c`H{}pGk1x6_h>f+NnMMb?d1U r^ZvhU?qBc!f8&n)x4!v#kAi37-niNNmlp9sL^B*_Pdjh#x&1!@&la?3 literal 51431 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 Li{p6*ubuw|1oHMo diff --git a/man/fragments/intro.Rmd b/man/fragments/intro.Rmd index 364b013..c2668ed 100644 --- a/man/fragments/intro.Rmd +++ b/man/fragments/intro.Rmd @@ -108,7 +108,7 @@ mtcars ```{r} mtcars_heatmap <- mtcars_tidy |> - heatmap(`Car name`, Property, Value ) |> + heatmap(`Car name`, Property, Value, scale = "row" ) |> add_tile(hp) mtcars_heatmap @@ -132,7 +132,7 @@ mtcars_tidy_groupings = mtcars_tidy_groupings |> group_by(vs, property_group) |> - heatmap(`Car name`, Property, Value ) |> + heatmap(`Car name`, Property, Value, scale = "row" ) |> add_tile(hp) ``` @@ -142,7 +142,8 @@ We can provide colour palettes to groupings mtcars_tidy_groupings |> group_by(vs, property_group) |> heatmap( - `Car name`, Property, Value , + `Car name`, Property, Value , + scale = "row", palette_grouping = list( # For first grouping (vs) @@ -160,7 +161,7 @@ We can split based on the cladogram ```{r} mtcars_tidy |> - heatmap(`Car name`, Property, Value ) |> + heatmap(`Car name`, Property, Value, scale = "row" ) |> split_rows(2) |> split_columns(2) ``` @@ -170,7 +171,8 @@ We can split on kmean clustering (using ComplexHeatmap options, it is stochastic ```{r} mtcars_tidy |> heatmap( - `Car name`, Property, Value , + `Car name`, Property, Value, + scale = "row", row_km = 2, column_km = 2 ) @@ -187,7 +189,8 @@ mtcars_tidy |> heatmap( `Car name`, Property, - Value, + Value, + scale = "row", palette_value = c("red", "white", "blue") ) ``` @@ -199,7 +202,8 @@ mtcars_tidy |> heatmap( `Car name`, Property, - Value, + Value, + scale = "row", palette_value = circlize::colorRamp2( seq(-2, 2, length.out = 11), RColorBrewer::brewer.pal(11, "RdBu") @@ -215,7 +219,8 @@ mtcars_tidy |> heatmap( `Car name`, Property, - Value, + Value, + scale = "row", palette_value = circlize::colorRamp2(c(-2, -1, 0, 1, 2), viridis::magma(5)) ) ``` @@ -228,7 +233,8 @@ tidyHeatmap::pasilla |> heatmap( .column = sample, .row = symbol, - .value = `count normalised adjusted` + .value = `count normalised adjusted`, + scale = "row" ) |> add_tile(condition) |> add_tile(activation) @@ -243,7 +249,8 @@ tidyHeatmap::pasilla |> heatmap( .column = sample, .row = symbol, - .value = `count normalised adjusted`, + .value = `count normalised adjusted`, + scale = "row", show_heatmap_legend = FALSE ) |> add_tile(condition, show_legend = FALSE) |> @@ -269,7 +276,8 @@ pasilla_plus |> heatmap( .column = sample, .row = symbol, - .value = `count normalised adjusted` + .value = `count normalised adjusted`, + scale = "row" ) |> add_tile(condition) |> add_point(activation) |> @@ -287,7 +295,8 @@ pasilla_plus |> heatmap( .column = sample, .row = symbol, - .value = `count normalised adjusted` + .value = `count normalised adjusted`, + scale = "row" ) |> add_tile(condition, size = unit(0.3, "cm"), annotation_name_gp= gpar(fontsize = 8)) |> add_point(activation, size = unit(0.3, "cm"), annotation_name_gp= gpar(fontsize = 8)) |> @@ -309,7 +318,8 @@ tidyHeatmap::pasilla |> heatmap( .column = sample, .row = symbol, - .value = `count normalised adjusted` + .value = `count normalised adjusted`, + scale = "row" ) |> layer_point( `count normalised adjusted log` > 6 & sample == "untreated3" @@ -323,7 +333,8 @@ tidyHeatmap::pasilla |> ```{r} mtcars_tidy |> heatmap( - `Car name`, Property, Value, + `Car name`, Property, Value, + scale = "row", rect_gp = grid::gpar(col = "#161616", lwd = 0.5) ) ``` @@ -333,7 +344,8 @@ mtcars_tidy |> ```{r} mtcars_tidy |> heatmap( - `Car name`, Property, Value, + `Car name`, Property, Value, + scale = "row", cluster_rows = FALSE ) ``` @@ -345,7 +357,8 @@ library(forcats) mtcars_tidy |> mutate(`Car name` = fct_reorder(`Car name`, `Car name`, .desc = TRUE)) %>% heatmap( - `Car name`, Property, Value, + `Car name`, Property, Value, + scale = "row", cluster_rows = FALSE ) ``` @@ -356,7 +369,8 @@ mtcars_tidy |> mtcars_tidy |> mutate(`Car name` = fct_reorder(`Car name`, `Car name`, .desc = TRUE)) %>% heatmap( - `Car name`, Property, Value, + `Car name`, Property, Value, + scale = "row", column_dend_height = unit(0.2, "cm"), row_dend_width = unit(0.2, "cm") ) @@ -368,7 +382,8 @@ mtcars_tidy |> mtcars_tidy |> mutate(`Car name` = fct_reorder(`Car name`, `Car name`, .desc = TRUE)) %>% heatmap( - `Car name`, Property, Value, + `Car name`, Property, Value, + scale = "row", row_names_gp = gpar(fontsize = 7), column_names_gp = gpar(fontsize = 7), column_title_gp = gpar(fontsize = 7), @@ -385,7 +400,8 @@ library(patchwork) p_heatmap = mtcars_tidy |> heatmap( - `Car name`, Property, Value, + `Car name`, Property, Value, + scale = "row", show_heatmap_legend = FALSE, row_names_gp = gpar(fontsize = 7) )