From 56e13df87a9257f13f48abbb329bf975c4892df0 Mon Sep 17 00:00:00 2001 From: js2264 Date: Tue, 12 Dec 2023 21:24:53 +0100 Subject: [PATCH] fix: add an expand method from tidyr generic rather than S4Vectors --- R/expand.R | 18 +++++++++--------- man/expand.Rd | 4 ++-- .../testthat/test-compute-filter-import-plot.R | 2 +- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/R/expand.R b/R/expand.R index f2c2c14..8872ab1 100644 --- a/R/expand.R +++ b/R/expand.R @@ -12,7 +12,7 @@ #' @aliases expand,CoverageExperiment-method #' @rdname expand #' -#' @param x a `CoverageExperiment` object +#' @param data a `CoverageExperiment` object #' @param ...,.name_repair ignored #' @return a `tibble` object #' @@ -24,18 +24,18 @@ #' #' expand(ce) -expand.CoverageExperiment <- function(x, ..., .name_repair = NULL) { - tracks <- colData(x)$track - features <- rowData(x)$features - w <- width(rowRanges(x)[[1]])[[1]] - bin <- w / ncol(assay(x, "coverage")[1, 1][[1]]) +expand.CoverageExperiment <- function(data, ..., .name_repair = NULL) { + tracks <- colData(data)$track + features <- rowData(data)$features + w <- width(rowRanges(data)[[1]])[[1]] + bin <- w / ncol(assay(data, "coverage")[1, 1][[1]]) df <- lapply(features, function(f) { - rr <- rowRanges(x)[[f]] + rr <- rowRanges(data)[[f]] rrdf <- as.data.frame(rr) coord <- lapply(seq_len(nrow(rrdf)), function(K) seq(rrdf[K, 'start'], rrdf[K, 'end'], by = bin)) |> unlist() coord.scaled <- lapply(seq_len(nrow(rrdf)), function(K) seq(-w/2, w/2-1, by = bin)) |> unlist() lapply(tracks, function(t) { - m <- assay(x, "coverage")[f, t][[1]] |> + m <- assay(data, "coverage")[f, t][[1]] |> as.data.frame() |> dplyr::mutate( track = t, features = f, @@ -55,7 +55,7 @@ expand.CoverageExperiment <- function(x, ..., .name_repair = NULL) { }) |> dplyr::bind_rows() }) |> dplyr::bind_rows() |> - dplyr::left_join(colData(x) |> as.data.frame(), by = 'track') |> + dplyr::left_join(colData(data) |> as.data.frame(), by = 'track') |> dplyr::group_by(track, features, ranges) return(df) } diff --git a/man/expand.Rd b/man/expand.Rd index abb9022..f74eaf0 100644 --- a/man/expand.Rd +++ b/man/expand.Rd @@ -6,10 +6,10 @@ \alias{expand,CoverageExperiment-method} \title{Expand a CoverageExperiment object} \usage{ -\method{expand}{CoverageExperiment}(x, ..., .name_repair = NULL) +\method{expand}{CoverageExperiment}(data, ..., .name_repair = NULL) } \arguments{ -\item{x}{a \code{CoverageExperiment} object} +\item{data}{a \code{CoverageExperiment} object} \item{..., .name_repair}{ignored} } diff --git a/tests/testthat/test-compute-filter-import-plot.R b/tests/testthat/test-compute-filter-import-plot.R index 02d7a9a..e0f1457 100644 --- a/tests/testthat/test-compute-filter-import-plot.R +++ b/tests/testthat/test-compute-filter-import-plot.R @@ -187,7 +187,7 @@ test_that("expand method works", { CE <- CoverageExperiment( tracks, features, width = 100, scale = TRUE, center = TRUE ) - expect_true(all(dim(expand(CE)) == c(402600, 7))) + expect_true(all(dim(expand(CE)) == c(402600, 8))) expect_true(all(colnames(expand(CE)) == c("track", "features", "chr", "ranges", "strand", "coord", "coverage", "coord.scaled"))) })