From 9a9468fa84af9841a9b491b55bd410fb0fd2b795 Mon Sep 17 00:00:00 2001 From: Matthijs Berends Date: Mon, 3 Mar 2025 12:59:27 +0100 Subject: [PATCH] (v2.1.1.9182) fix AMR selectors for tidymodels, add unit tests --- .github/ISSUE_TEMPLATE/1-bug-report.yml | 8 +-- .github/ISSUE_TEMPLATE/2-feature-request.yml | 4 +- DESCRIPTION | 4 +- NEWS.md | 2 +- PythonPackage/AMR/AMR.egg-info/PKG-INFO | 2 +- PythonPackage/AMR/dist/amr-2.1.1.9163.tar.gz | Bin 10118 -> 0 bytes ...ny.whl => amr-2.1.1.9182-py3-none-any.whl} | Bin 10309 -> 10307 bytes PythonPackage/AMR/dist/amr-2.1.1.9182.tar.gz | Bin 0 -> 10116 bytes PythonPackage/AMR/setup.py | 2 +- R/aa_helper_functions.R | 19 ++++++-- R/disk.R | 2 +- R/mic.R | 2 +- R/sir.R | 2 +- ....txt => gpt_training_text_v2.1.1.9182.txt} | 13 +++-- tests/testthat/test-_misc.R | 46 +++++++++++++++--- vignettes/AMR_with_tidymodels.Rmd | 11 ++++- 16 files changed, 84 insertions(+), 33 deletions(-) delete mode 100644 PythonPackage/AMR/dist/amr-2.1.1.9163.tar.gz rename PythonPackage/AMR/dist/{amr-2.1.1.9163-py3-none-any.whl => amr-2.1.1.9182-py3-none-any.whl} (53%) create mode 100644 PythonPackage/AMR/dist/amr-2.1.1.9182.tar.gz rename data-raw/{gpt_training_text_v2.1.1.9163.txt => gpt_training_text_v2.1.1.9182.txt} (99%) diff --git a/.github/ISSUE_TEMPLATE/1-bug-report.yml b/.github/ISSUE_TEMPLATE/1-bug-report.yml index 49a28cc8b..7409faec1 100644 --- a/.github/ISSUE_TEMPLATE/1-bug-report.yml +++ b/.github/ISSUE_TEMPLATE/1-bug-report.yml @@ -20,16 +20,12 @@ body: id: version attributes: label: AMR Package Version - description: | - What version of the AMR package are you running? You can retrieve this by running in R: - - ```r - packageVersion("AMR") - ``` + description: Which version of the AMR package are you running? You can retrieve this by running `packageVersion("AMR")` in R. If you are not running any of these versions, then please update first and check whether the bug still persists. multiple: false options: - Latest CRAN version (2.1.1) - One of the latest GitHub versions (2.1.1.9xxx) + default: 0 validations: required: true - type: checkboxes diff --git a/.github/ISSUE_TEMPLATE/2-feature-request.yml b/.github/ISSUE_TEMPLATE/2-feature-request.yml index db789cfa7..56bee0abd 100644 --- a/.github/ISSUE_TEMPLATE/2-feature-request.yml +++ b/.github/ISSUE_TEMPLATE/2-feature-request.yml @@ -1,5 +1,5 @@ name: Feature or Optimisation Request -description: I have a suggestion. +description: I have an idea! labels: "enhancement" body: - type: markdown @@ -7,7 +7,7 @@ body: value: | Thanks for taking the time to make a suggestion! - We'll be happy to implement on a short notice if this improves the AMR package. Do note that BY FAR most of the content of the current version is because of collaborators like you! + We'll be happy to implement on a short notice if this improves the AMR package. Do note that BY FAR most of the content of the current version is because of collaborators like you! So, many thanks in advance. - type: textarea id: description attributes: diff --git a/DESCRIPTION b/DESCRIPTION index 09a72563f..7173ed6d1 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: AMR -Version: 2.1.1.9163 -Date: 2025-02-27 +Version: 2.1.1.9182 +Date: 2025-03-03 Title: Antimicrobial Resistance Data Analysis Description: Functions to simplify and standardise antimicrobial resistance (AMR) data analysis and to work with microbial and antimicrobial properties by diff --git a/NEWS.md b/NEWS.md index 204c9ea79..09849c597 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,4 +1,4 @@ -# AMR 2.1.1.9163 +# AMR 2.1.1.9182 *(this beta version will eventually become v3.0. We're happy to reach a new major milestone soon, which will be all about the new One Health support! Install this beta using [the instructions here](https://msberends.github.io/AMR/#latest-development-version).)* diff --git a/PythonPackage/AMR/AMR.egg-info/PKG-INFO b/PythonPackage/AMR/AMR.egg-info/PKG-INFO index ea3a9ded6..81eec85e8 100644 --- a/PythonPackage/AMR/AMR.egg-info/PKG-INFO +++ b/PythonPackage/AMR/AMR.egg-info/PKG-INFO @@ -1,6 +1,6 @@ Metadata-Version: 2.2 Name: AMR -Version: 2.1.1.9163 +Version: 2.1.1.9182 Summary: A Python wrapper for the AMR R package Home-page: https://github.com/msberends/AMR Author: Matthijs Berends diff --git a/PythonPackage/AMR/dist/amr-2.1.1.9163.tar.gz b/PythonPackage/AMR/dist/amr-2.1.1.9163.tar.gz deleted file mode 100644 index 6ab9bc9854111ad889727a8ace2b5c18d1270a65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10118 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 diff --git a/PythonPackage/AMR/dist/amr-2.1.1.9182.tar.gz b/PythonPackage/AMR/dist/amr-2.1.1.9182.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..68c790c1ff639545fc62d34f87102cc94b58fb22 GIT binary patch literal 10116 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 xVd)74YGl~V1BK 1, "s", ""), - ifelse(is.null(cur_col), "", paste0(" in column '", cur_col, "'")), + ifelse(is.null(cur_col), "", paste0(" in index '", cur_col, "'")), " truncated (", round(((na_after - na_before) / length(x)) * 100), "%) that were invalid disk zones: ", diff --git a/R/mic.R b/R/mic.R index bb543f10a..c8fbb7768 100644 --- a/R/mic.R +++ b/R/mic.R @@ -250,7 +250,7 @@ as.mic <- function(x, na.rm = FALSE, keep_operators = "all") { cur_col <- get_current_column() warning_("in `as.mic()`: ", na_after - na_before, " result", ifelse(na_after - na_before > 1, "s", ""), - ifelse(is.null(cur_col), "", paste0(" in column '", cur_col, "'")), + ifelse(is.null(cur_col), "", paste0(" in index '", cur_col, "'")), " truncated (", round(((na_after - na_before) / length(x)) * 100), "%) that were invalid MICs: ", diff --git a/R/sir.R b/R/sir.R index 7234bf4be..a05f7877f 100755 --- a/R/sir.R +++ b/R/sir.R @@ -539,7 +539,7 @@ as.sir.default <- function(x, cur_col <- get_current_column() warning_("in `as.sir()`: ", na_after - na_before, " result", ifelse(na_after - na_before > 1, "s", ""), - ifelse(is.null(cur_col), "", paste0(" in column '", cur_col, "'")), + ifelse(is.null(cur_col), "", paste0(" in index '", cur_col, "'")), " truncated (", round(((na_after - na_before) / length(x)) * 100), "%) that were invalid antimicrobial interpretations: ", diff --git a/data-raw/gpt_training_text_v2.1.1.9163.txt b/data-raw/gpt_training_text_v2.1.1.9182.txt similarity index 99% rename from data-raw/gpt_training_text_v2.1.1.9163.txt rename to data-raw/gpt_training_text_v2.1.1.9182.txt index 0281b50f0..183b558c1 100644 --- a/data-raw/gpt_training_text_v2.1.1.9163.txt +++ b/data-raw/gpt_training_text_v2.1.1.9182.txt @@ -1,6 +1,6 @@ This knowledge base contains all context you must know about the AMR package for R. You are a GPT trained to be an assistant for the AMR package in R. You are an incredible R specialist, especially trained in this package and in the tidyverse. -First and foremost, you are trained on version 2.1.1.9163. Remember this whenever someone asks which AMR package version you’re at. +First and foremost, you are trained on version 2.1.1.9182. Remember this whenever someone asks which AMR package version you’re at. Below are the contents of the file, the file, and all the files (documentation) in the package. Every file content is split using 100 hypens. ---------------------------------------------------------------------------------------------------- @@ -9083,8 +9083,8 @@ We begin by loading the required libraries and preparing the `example_isolates` ```{r} # Load required libraries -library(tidymodels) # For machine learning workflows, and data manipulation (dplyr, tidyr, ...) library(AMR) # For AMR data analysis +library(tidymodels) # For machine learning workflows, and data manipulation (dplyr, tidyr, ...) # Select relevant columns for prediction data <- example_isolates %>% @@ -9122,12 +9122,18 @@ resistance_recipe <- recipe(mo ~ ., data = data) %>% resistance_recipe ``` +For a recipe that includes at least one preprocessing operation, like we have with `step_corr()`, the necessary parameters can be estimated from a training set using `prep()`: + +```{r} +prep(resistance_recipe) +``` + **Explanation:** - `recipe(mo ~ ., data = data)` will take the `mo` column as outcome and all other columns as predictors. - `step_corr()` removes predictors (i.e., antibiotic columns) that have a higher correlation than 90%. -Notice how the recipe contains just the antibiotic selector functions - no need to define the columns specifically. +Notice how the recipe contains just the antibiotic selector functions - no need to define the columns specifically. In the preparation (retrieved with `prep()`) we can see that the columns or variables `r paste0("'", suppressMessages(prep(resistance_recipe))$steps[[1]]$removals, "'", collapse = " and ")` were removed as they correlate too much with existing, other variables. #### 2. Specifying the Model @@ -9154,6 +9160,7 @@ We bundle the recipe and model together into a `workflow`, which organizes the e resistance_workflow <- workflow() %>% add_recipe(resistance_recipe) %>% # Add the preprocessing recipe add_model(logistic_model) # Add the logistic regression model +resistance_workflow ``` ### **Training and Evaluating the Model** diff --git a/tests/testthat/test-_misc.R b/tests/testthat/test-_misc.R index 582a09c5e..4092fa79b 100755 --- a/tests/testthat/test-_misc.R +++ b/tests/testthat/test-_misc.R @@ -45,17 +45,47 @@ expect_equal(AMR:::trimws2(" test "), "test") expect_equal(AMR:::trimws2(" test ", "l"), "test ") expect_equal(AMR:::trimws2(" test ", "r"), " test") -# expect_warning(AMR:::generate_warning_abs_missing(c("AMP", "AMX"))) -# expect_warning(AMR:::generate_warning_abs_missing(c("AMP", "AMX"), any = TRUE)) -# expect_warning(AMR:::get_column_abx(example_isolates, hard_dependencies = "FUS")) expect_message(AMR:::get_column_abx(example_isolates, soft_dependencies = "FUS")) -if (AMR:::pkg_is_available("dplyr", min_version = "1.0.0", also_load = TRUE)) { - # expect_warning(AMR:::get_column_abx(rename(example_isolates, thisone = AMX), amox = "thisone", tmp = "thisone", verbose = TRUE)) - # expect_warning(AMR:::get_column_abx(rename(example_isolates, thisone = AMX), amox = "thisone", tmp = "thisone", verbose = FALSE)) -} - # we rely on "grouped_tbl" being a class of grouped tibbles, so run a test that checks for this: if (AMR:::pkg_is_available("dplyr", min_version = "1.0.0", also_load = TRUE)) { expect_true(AMR:::is_null_or_grouped_tbl(example_isolates %>% group_by(ward))) } + + +# test get_current_data() ---- + +is_right <- FALSE +check_df <- function(check_element, return_val = 0) { + is_right <<- FALSE + for (env in sys.frames()) { + if (!is.null(env[[check_element]]) && is.data.frame(env[[check_element]])) { + is_right <<- TRUE + } + } + return_val +} + +df <- example_isolates[, check_df("x")] +expect_true(is_right, info = "the environmental data cannot be found for base/x") + +df <- example_isolates[c(1:3), check_df("x")] +expect_true(is_right, info = "the environmental data cannot be found for base/x") + +if (AMR:::pkg_is_available("dplyr", min_version = "1.0.0", also_load = TRUE)) { + df <- example_isolates %>% select(mo, check_df("data123")) + expect_false(is_right, info = "just a check if non-sense is not being gathered by get_current_data()") + + df <- example_isolates %>% select(mo, check_df(".data")) + expect_true(is_right, info = "the environmental data cannot be found for dplyr/select()") + + df <- example_isolates %>% select_at(check_df(".tbl")) + expect_true(is_right, info = "the environmental data cannot be found for dplyr/select_at()") +} + +if (AMR:::pkg_is_available("tidymodels", also_load = TRUE)) { + resistance_recipe <- recipe(mo ~ ., data = example_isolates) %>% + step_corr(check_df("training")) %>% + prep() + expect_true(is_right, info = "the environmental data cannot be found for tidymodels/prep()") +} diff --git a/vignettes/AMR_with_tidymodels.Rmd b/vignettes/AMR_with_tidymodels.Rmd index ae088321d..0db0a5e81 100644 --- a/vignettes/AMR_with_tidymodels.Rmd +++ b/vignettes/AMR_with_tidymodels.Rmd @@ -42,8 +42,8 @@ We begin by loading the required libraries and preparing the `example_isolates` ```{r} # Load required libraries -library(tidymodels) # For machine learning workflows, and data manipulation (dplyr, tidyr, ...) library(AMR) # For AMR data analysis +library(tidymodels) # For machine learning workflows, and data manipulation (dplyr, tidyr, ...) # Select relevant columns for prediction data <- example_isolates %>% @@ -81,12 +81,18 @@ resistance_recipe <- recipe(mo ~ ., data = data) %>% resistance_recipe ``` +For a recipe that includes at least one preprocessing operation, like we have with `step_corr()`, the necessary parameters can be estimated from a training set using `prep()`: + +```{r} +prep(resistance_recipe) +``` + **Explanation:** - `recipe(mo ~ ., data = data)` will take the `mo` column as outcome and all other columns as predictors. - `step_corr()` removes predictors (i.e., antibiotic columns) that have a higher correlation than 90%. -Notice how the recipe contains just the antibiotic selector functions - no need to define the columns specifically. +Notice how the recipe contains just the antibiotic selector functions - no need to define the columns specifically. In the preparation (retrieved with `prep()`) we can see that the columns or variables `r paste0("'", suppressMessages(prep(resistance_recipe))$steps[[1]]$removals, "'", collapse = " and ")` were removed as they correlate too much with existing, other variables. #### 2. Specifying the Model @@ -113,6 +119,7 @@ We bundle the recipe and model together into a `workflow`, which organizes the e resistance_workflow <- workflow() %>% add_recipe(resistance_recipe) %>% # Add the preprocessing recipe add_model(logistic_model) # Add the logistic regression model +resistance_workflow ``` ### **Training and Evaluating the Model**