mirror of
https://github.com/msberends/AMR.git
synced 2026-03-29 22:55:56 +02:00
Reproduce clinical breakpoints from latest WHONET/AMRIE data
- Ran reproduction_of_microorganisms.groups.R and reproduction_of_clinical_breakpoints.R against the latest WHONET/AMRIE source (includes EUCAST 2026, CLSI 2025) - Updated data/clinical_breakpoints.rda, microorganisms.codes.rda, microorganisms.groups.rda, and data-raw/organisms.rds - Fixed reproduction_of_microorganisms.groups.R: replaced base ifelse() with dplyr::if_else() to preserve the <mo> S3 class; base ifelse() strips class attributes, causing bind_rows() to fail with strict vctrs type checking in dplyr >= 1.1.0 - Added data-raw/_run_reproduction.R: non-interactive wrapper that overrides View(), sets UTF-8 locale, and sources both scripts in the correct order https://claude.ai/code/session_01S5vMqfsiJb59RN2Gyz1tDY
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
Package: AMR
|
Package: AMR
|
||||||
Version: 3.0.1.9040
|
Version: 3.0.1.9041
|
||||||
Date: 2026-03-24
|
Date: 2026-03-26
|
||||||
Title: Antimicrobial Resistance Data Analysis
|
Title: Antimicrobial Resistance Data Analysis
|
||||||
Description: Functions to simplify and standardise antimicrobial resistance (AMR)
|
Description: Functions to simplify and standardise antimicrobial resistance (AMR)
|
||||||
data analysis and to work with microbial and antimicrobial properties by
|
data analysis and to work with microbial and antimicrobial properties by
|
||||||
|
|||||||
3
NEWS.md
3
NEWS.md
@@ -1,4 +1,4 @@
|
|||||||
# AMR 3.0.1.9040
|
# AMR 3.0.1.9041
|
||||||
|
|
||||||
### New
|
### New
|
||||||
* Integration with the **tidymodels** framework to allow seamless use of SIR, MIC and disk data in modelling pipelines via `recipes`
|
* Integration with the **tidymodels** framework to allow seamless use of SIR, MIC and disk data in modelling pipelines via `recipes`
|
||||||
@@ -31,6 +31,7 @@
|
|||||||
* Fixed SIR and MIC coercion of combined values, e.g. `as.sir("<= 0.002; S") ` or `as.mic("S; 0.002")` (#252)
|
* Fixed SIR and MIC coercion of combined values, e.g. `as.sir("<= 0.002; S") ` or `as.mic("S; 0.002")` (#252)
|
||||||
|
|
||||||
### Updates
|
### Updates
|
||||||
|
* Reproduced `clinical_breakpoints`, `microorganisms.codes`, and `microorganisms.groups` from the latest WHONET/AMRIE source data (EUCAST 2026 and CLSI 2025 included); fixed `reproduction_of_microorganisms.groups.R` to use `dplyr::if_else()` instead of base `ifelse()` to preserve the `<mo>` class in `bind_rows()`
|
||||||
* Extensive `cli` integration for better message handling and clickable links in messages and warnings (#191, #265)
|
* Extensive `cli` integration for better message handling and clickable links in messages and warnings (#191, #265)
|
||||||
* `mdro()` now infers resistance for a _missing_ base drug column from an _available_ corresponding drug+inhibitor combination showing resistance (e.g., piperacillin is absent but required, while piperacillin/tazobactam available and resistant). Can be set with the new argument `infer_from_combinations`, which defaults to `TRUE` (#209). Note that this can yield a higher MDRO detection (which is a good thing as it has become more reliable).
|
* `mdro()` now infers resistance for a _missing_ base drug column from an _available_ corresponding drug+inhibitor combination showing resistance (e.g., piperacillin is absent but required, while piperacillin/tazobactam available and resistant). Can be set with the new argument `infer_from_combinations`, which defaults to `TRUE` (#209). Note that this can yield a higher MDRO detection (which is a good thing as it has become more reliable).
|
||||||
* `susceptibility()` and `resistance()` gained the argument `guideline`, which defaults to EUCAST, for interpreting the 'I' category correctly.
|
* `susceptibility()` and `resistance()` gained the argument `guideline`, which defaults to EUCAST, for interpreting the 'I' category correctly.
|
||||||
|
|||||||
@@ -85,9 +85,9 @@ microorganisms.groups <- whonet_organisms %>%
|
|||||||
"Mycobacterium canetti")) %>%
|
"Mycobacterium canetti")) %>%
|
||||||
filter(!is.na(SPECIES_GROUP), SPECIES_GROUP != ORGANISM_CODE) %>%
|
filter(!is.na(SPECIES_GROUP), SPECIES_GROUP != ORGANISM_CODE) %>%
|
||||||
transmute(mo_group = as.mo(SPECIES_GROUP),
|
transmute(mo_group = as.mo(SPECIES_GROUP),
|
||||||
mo = ifelse(is.na(mo),
|
mo = if_else(is.na(mo),
|
||||||
as.character(as.mo(ORGANISM, keep_synonyms = TRUE, minimum_matching_score = 0)),
|
as.mo(ORGANISM, keep_synonyms = TRUE, minimum_matching_score = 0),
|
||||||
mo)) %>%
|
mo)) %>%
|
||||||
# add our own CoNS and CoPS, WHONET does not strictly follow Becker et al. (2014, 2019, 2020)
|
# add our own CoNS and CoPS, WHONET does not strictly follow Becker et al. (2014, 2019, 2020)
|
||||||
filter(mo_group != as.mo("CoNS")) %>%
|
filter(mo_group != as.mo("CoNS")) %>%
|
||||||
bind_rows(tibble(mo_group = as.mo("CoNS"), mo = MO_CONS)) %>%
|
bind_rows(tibble(mo_group = as.mo("CoNS"), mo = MO_CONS)) %>%
|
||||||
|
|||||||
27
data-raw/_run_reproduction.R
Normal file
27
data-raw/_run_reproduction.R
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
# Wrapper to run clinical breakpoints reproduction non-interactively
|
||||||
|
# Set UTF-8 locale so gsub() can handle Unicode patterns
|
||||||
|
Sys.setlocale("LC_CTYPE", "C.utf8")
|
||||||
|
Sys.setlocale("LC_ALL", "C.utf8")
|
||||||
|
|
||||||
|
# Overrides View() to just print a summary instead
|
||||||
|
View <- function(x, title = NULL) {
|
||||||
|
if (is.data.frame(x) || is.matrix(x)) {
|
||||||
|
cat("=== View() called:", if (!is.null(title)) title else deparse(substitute(x)), "===\n")
|
||||||
|
cat("Dimensions:", nrow(x), "rows x", ncol(x), "cols\n")
|
||||||
|
print(head(x, 10))
|
||||||
|
cat("...\n\n")
|
||||||
|
} else {
|
||||||
|
print(x)
|
||||||
|
}
|
||||||
|
invisible(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
setwd("/home/user/AMR")
|
||||||
|
|
||||||
|
cat("=== Step 1: Running reproduction_of_microorganisms.groups.R ===\n")
|
||||||
|
source("data-raw/_reproduction_scripts/reproduction_of_microorganisms.groups.R")
|
||||||
|
|
||||||
|
cat("\n=== Step 2: Running reproduction_of_clinical_breakpoints.R ===\n")
|
||||||
|
source("data-raw/_reproduction_scripts/reproduction_of_clinical_breakpoints.R")
|
||||||
|
|
||||||
|
cat("\n=== Done! ===\n")
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user