From e180e8dae7dc2461dad7f582af7bc1222f9f8cb2 Mon Sep 17 00:00:00 2001 From: Scigocki Date: Thu, 12 Feb 2026 11:30:05 +0000 Subject: [PATCH 1/3] feat: allow atomic vectors in remove_drug_batch --- R/utils.R | 6 ++++-- man/remove_drug_batch.Rd | 2 +- tests/testthat/test-utils.R | 7 +++++++ 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/R/utils.R b/R/utils.R index 682603ef..39f3b1c6 100644 --- a/R/utils.R +++ b/R/utils.R @@ -1003,7 +1003,7 @@ get_env_var <- function(x, ...) { #' * too long Gnumber #' * G123456789.1-12 #' -#' @param drug_vec character vector with drug id(s) +#' @param drug_vec atomic vector (e.g., character or integer) with drug id(s) #' @param drug_p string with regex pattern for drug id. Set to Gnumber format by default: "G\[0-9\]\{8\}". #' @param sep_p string with regex pattern for separator. Set to any character except for digit and space #' @param batch_p string with regex pattern for batch substring. @@ -1031,11 +1031,13 @@ remove_drug_batch <- function(drug_vec, drug_p = "^G[0-9]{8}", sep_p = "[^0-9|^_]", batch_p = ".+") { - checkmate::assert_character(drug_vec) + checkmate::assert_atomic_vector(drug_vec) checkmate::assert_string(drug_p) checkmate::assert_string(sep_p) checkmate::assert_string(batch_p) + drug_vec <- as.character(drug_vec) + p <- paste0("(", drug_p, ")", sep_p, batch_p, "$") r <- "\\1" sub(p, r, drug_vec) diff --git a/man/remove_drug_batch.Rd b/man/remove_drug_batch.Rd index 841ee93e..39e11580 100644 --- a/man/remove_drug_batch.Rd +++ b/man/remove_drug_batch.Rd @@ -12,7 +12,7 @@ remove_drug_batch( ) } \arguments{ -\item{drug_vec}{character vector with drug id(s)} +\item{drug_vec}{atomic vector (e.g., character or integer) with drug id(s)} \item{drug_p}{string with regex pattern for drug id. Set to Gnumber format by default: "G[0-9]\{8\}".} diff --git a/tests/testthat/test-utils.R b/tests/testthat/test-utils.R index 7dcf5c53..04fa5aa2 100644 --- a/tests/testthat/test-utils.R +++ b/tests/testthat/test-utils.R @@ -764,6 +764,13 @@ test_that("remove_drug_batch works as expected", { expect_equal(remove_drug_batch("G00001234.28", batch_p = "[0-9]+"), "G00001234") + # test drug_vec as non-character input + expect_equal(remove_drug_batch(12345L), "12345") + expect_equal(remove_drug_batch(9876.54), "9876.54") + expect_equal(remove_drug_batch(c("G00060245.1", 112233)), c("G00060245", "112233")) + expect_equal(remove_drug_batch(12345.678, drug_p = "[0-9]{5}", sep_p = "\\."), "12345") + + # error tests expect_error(remove_drug_batch(list(drug = "G00000001")), "Assertion on 'drug_vec' failed") expect_error(remove_drug_batch("G00000001", drug_p = list(1)), "Assertion on 'drug_p' failed") From dddc3fb196fe08b27b1f73dc2fc979433c279cf4 Mon Sep 17 00:00:00 2001 From: Scigocki Date: Thu, 12 Feb 2026 11:30:39 +0000 Subject: [PATCH 2/3] bump version --- DESCRIPTION | 4 ++-- NEWS.md | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index a1044aeb..339fda83 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,8 +1,8 @@ Package: gDRutils Type: Package Title: A package with helper functions for processing drug response data -Version: 1.9.4 -Date: 2025-12-02 +Version: 1.9.5 +Date: 2026-02-12 Authors@R: c(person("Bartosz", "Czech", role=c("aut"), comment = c(ORCID = "0000-0002-9908-3007")), person("Arkadiusz", "Gladki", role=c("cre", "aut"), email="gladki.arkadiusz@gmail.com", diff --git a/NEWS.md b/NEWS.md index d6b752e1..86e56500 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,6 @@ +## gDRutils 1.9.5 - 2026-02-12 +* `remove_drug_batch` supports atomic vectors as input + ## gDRutils 1.9.4 - 2025-12-02 * `convert_se_assay_to_dt` supports merging additional variables From 7394f924898dfc75c1088d44bca0dba953ad002e Mon Sep 17 00:00:00 2001 From: darsoo Date: Mon, 16 Feb 2026 00:46:28 +0100 Subject: [PATCH 3/3] CI --- NEWS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NEWS.md b/NEWS.md index 86e56500..4e48b001 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,5 @@ ## gDRutils 1.9.5 - 2026-02-12 -* `remove_drug_batch` supports atomic vectors as input +* `remove_drug_batch` supports atomic vectors as input ## gDRutils 1.9.4 - 2025-12-02 * `convert_se_assay_to_dt` supports merging additional variables