1
0
mirror of https://github.com/msberends/AMR.git synced 2026-06-29 19:36:19 +02:00

(v3.0.1.9070) Fix #293, update EUCAST rules for PEF

This commit is contained in:
2026-06-26 08:56:59 +02:00
parent 4fac683fac
commit 637ada920b
8 changed files with 31 additions and 1553 deletions

1
.gitignore vendored
View File

@@ -22,6 +22,7 @@ vignettes/*.R
^CRAN-RELEASE$ ^CRAN-RELEASE$
packrat/lib*/ packrat/lib*/
packrat/src/ packrat/src/
*~$*
data-raw/taxa.txt data-raw/taxa.txt
data-raw/taxon.tab data-raw/taxon.tab
data-raw/CLSI*.pdf data-raw/CLSI*.pdf

View File

@@ -1,6 +1,6 @@
Package: AMR Package: AMR
Version: 3.0.1.9069 Version: 3.0.1.9070
Date: 2026-06-24 Date: 2026-06-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

View File

@@ -1,4 +1,4 @@
# AMR 3.0.1.9069 # AMR 3.0.1.9070
Planned as v3.1.0, end of June 2026. Planned as v3.1.0, end of June 2026.
@@ -50,7 +50,7 @@ Planned as v3.1.0, end of June 2026.
* `antimicrobials$group` is now a `list`, so that drugs belonging to multiple groups are fully represented; use `ab_group(all_groups = TRUE)` to retrieve all groups for a drug (#246) * `antimicrobials$group` is now a `list`, so that drugs belonging to multiple groups are fully represented; use `ab_group(all_groups = TRUE)` to retrieve all groups for a drug (#246)
* Improved console messages with clickable links throughout, powered by `cli` if it is installed (#191, #265) * Improved console messages with clickable links throughout, powered by `cli` if it is installed (#191, #265)
* `as.disk()`: input validation is now more strict, rejecting values that are not recognisable as a numeric disk zone diameter * `as.disk()`: input validation is now more strict, rejecting values that are not recognisable as a numeric disk zone diameter
* `as.sir()` gains an `enforce_method` argument (`"auto"`, `"mic"`, or `"disk"`) to force the interpretation method when S3 class information is lost, e.g. when called from Python (#291)
# AMR 3.0.1 # AMR 3.0.1

10
R/sir.R
View File

@@ -73,6 +73,7 @@ VALID_SIR_LEVELS <- c("S", "SDD", "I", "R", "NI", "WT", "NWT", "NS")
#' @param threshold Maximum fraction of invalid antimicrobial interpretations of `x`, see *Examples*. #' @param threshold Maximum fraction of invalid antimicrobial interpretations of `x`, see *Examples*.
#' @param conserve_capped_values Deprecated, use `capped_mic_handling` instead. #' @param conserve_capped_values Deprecated, use `capped_mic_handling` instead.
#' @param ... For using on a [data.frame]: selection of columns to apply `as.sir()` to. Supports [tidyselect language][tidyselect::starts_with()] such as `where(is.mic)`, `starts_with(...)`, or `column1:column4`, and can thus also be [antimicrobial selectors][amr_selector()], e.g. `as.sir(df, penicillins())`. #' @param ... For using on a [data.frame]: selection of columns to apply `as.sir()` to. Supports [tidyselect language][tidyselect::starts_with()] such as `where(is.mic)`, `starts_with(...)`, or `column1:column4`, and can thus also be [antimicrobial selectors][amr_selector()], e.g. `as.sir(df, penicillins())`.
#' @param enforce_method A [character] string to force interpretation as a specific method, useful when the S3 class of `x` is lost (e.g., when called from Python via rpy2). Must be one of `"auto"` (default), `"mic"`, or `"disk"`.
#' #'
#' Otherwise: arguments passed on to methods. #' Otherwise: arguments passed on to methods.
#' @details #' @details
@@ -385,9 +386,16 @@ VALID_SIR_LEVELS <- c("S", "SDD", "I", "R", "NI", "WT", "NWT", "NS")
#' # mutate(across(where(is_sir_eligible), as.sir)) #' # mutate(across(where(is_sir_eligible), as.sir))
#' } #' }
#' } #' }
as.sir <- function(x, ...) { as.sir <- function(x, ..., enforce_method = "auto") {
meet_criteria(enforce_method, allow_class = "character", has_length = 1, is_in = c("auto", "mic", "disk"))
if (enforce_method == "mic") {
as.sir.mic(x, ...)
} else if (enforce_method == "disk") {
as.sir.disk(x, ...)
} else {
UseMethod("as.sir") UseMethod("as.sir")
} }
}
as_sir_structure <- function(x, as_sir_structure <- function(x,
guideline = NULL, guideline = NULL,

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -439,9 +439,9 @@ EUCAST Breakpoints 14 Enterobacterales (Order) order is Enterobacterales AMP I A
EUCAST Breakpoints 14 Enterobacterales (Order) order is Enterobacterales AMP R AMX R EUCAST Breakpoints 14 Enterobacterales (Order) order is Enterobacterales AMP R AMX R
EUCAST Breakpoints 14 Enterobacterales (Order) order is Enterobacterales LEX S CZO I EUCAST Breakpoints 14 Enterobacterales (Order) order is Enterobacterales LEX S CZO I
EUCAST Breakpoints 14 Enterobacterales (Order) order is Enterobacterales CFR S CZO I EUCAST Breakpoints 14 Enterobacterales (Order) order is Enterobacterales CFR S CZO I
EUCAST Breakpoints 14 Enterobacterales (Order) genus is Salmonella PEF-S S CIP S EUCAST Breakpoints 14 Enterobacterales (Order) order is Enterobacterales PEF-S S fluoroquinolones S
EUCAST Breakpoints 14 Enterobacterales (Order) genus is Salmonella PEF-S I CIP I EUCAST Breakpoints 14 Enterobacterales (Order) order is Enterobacterales PEF-S I fluoroquinolones I
EUCAST Breakpoints 14 Enterobacterales (Order) genus is Salmonella PEF-S R CIP R EUCAST Breakpoints 14 Enterobacterales (Order) order is Enterobacterales PEF-S R fluoroquinolones R
EUCAST Breakpoints 14 Enterobacterales (Order) genus_species is Yersinia enterocolitica TCY S DOX S EUCAST Breakpoints 14 Enterobacterales (Order) genus_species is Yersinia enterocolitica TCY S DOX S
EUCAST Breakpoints 14 Enterobacterales (Order) genus_species is Yersinia enterocolitica TCY I DOX I EUCAST Breakpoints 14 Enterobacterales (Order) genus_species is Yersinia enterocolitica TCY I DOX I
EUCAST Breakpoints 14 Enterobacterales (Order) genus_species is Yersinia enterocolitica TCY R DOX R EUCAST Breakpoints 14 Enterobacterales (Order) genus_species is Yersinia enterocolitica TCY R DOX R
@@ -630,9 +630,9 @@ EUCAST Breakpoints 15 Enterobacterales (Order) order is Enterobacterales AMP I A
EUCAST Breakpoints 15 Enterobacterales (Order) order is Enterobacterales AMP R AMX R EUCAST Breakpoints 15 Enterobacterales (Order) order is Enterobacterales AMP R AMX R
EUCAST Breakpoints 15 Enterobacterales (Order) order is Enterobacterales LEX S CZO I EUCAST Breakpoints 15 Enterobacterales (Order) order is Enterobacterales LEX S CZO I
EUCAST Breakpoints 15 Enterobacterales (Order) order is Enterobacterales CFR S CZO I EUCAST Breakpoints 15 Enterobacterales (Order) order is Enterobacterales CFR S CZO I
EUCAST Breakpoints 15 Enterobacterales (Order) genus is Salmonella PEF-S S CIP S EUCAST Breakpoints 15 Enterobacterales (Order) order is Enterobacterales PEF-S S fluoroquinolones S
EUCAST Breakpoints 15 Enterobacterales (Order) genus is Salmonella PEF-S I CIP I EUCAST Breakpoints 15 Enterobacterales (Order) order is Enterobacterales PEF-S I fluoroquinolones I
EUCAST Breakpoints 15 Enterobacterales (Order) genus is Salmonella PEF-S R CIP R EUCAST Breakpoints 15 Enterobacterales (Order) order is Enterobacterales PEF-S R fluoroquinolones R
EUCAST Breakpoints 15 Enterobacterales (Order) genus_species is Yersinia enterocolitica TCY S DOX S EUCAST Breakpoints 15 Enterobacterales (Order) genus_species is Yersinia enterocolitica TCY S DOX S
EUCAST Breakpoints 15 Enterobacterales (Order) genus_species is Yersinia enterocolitica TCY I DOX I EUCAST Breakpoints 15 Enterobacterales (Order) genus_species is Yersinia enterocolitica TCY I DOX I
EUCAST Breakpoints 15 Enterobacterales (Order) genus_species is Yersinia enterocolitica TCY R DOX R EUCAST Breakpoints 15 Enterobacterales (Order) genus_species is Yersinia enterocolitica TCY R DOX R
@@ -818,9 +818,9 @@ EUCAST Breakpoints 16 Enterobacterales (Order) order is Enterobacterales AMP I A
EUCAST Breakpoints 16 Enterobacterales (Order) order is Enterobacterales AMP R AMX R EUCAST Breakpoints 16 Enterobacterales (Order) order is Enterobacterales AMP R AMX R
EUCAST Breakpoints 16 Enterobacterales (Order) order is Enterobacterales LEX S CZO I EUCAST Breakpoints 16 Enterobacterales (Order) order is Enterobacterales LEX S CZO I
EUCAST Breakpoints 16 Enterobacterales (Order) order is Enterobacterales CFR S CZO I EUCAST Breakpoints 16 Enterobacterales (Order) order is Enterobacterales CFR S CZO I
EUCAST Breakpoints 16 Enterobacterales (Order) genus is Salmonella PEF-S S CIP S EUCAST Breakpoints 16 Enterobacterales (Order) order is Enterobacterales PEF-S S fluoroquinolones S
EUCAST Breakpoints 16 Enterobacterales (Order) genus is Salmonella PEF-S I CIP I EUCAST Breakpoints 16 Enterobacterales (Order) order is Enterobacterales PEF-S I fluoroquinolones I
EUCAST Breakpoints 16 Enterobacterales (Order) genus is Salmonella PEF-S R CIP R EUCAST Breakpoints 16 Enterobacterales (Order) order is Enterobacterales PEF-S R fluoroquinolones R
EUCAST Breakpoints 16 Enterobacterales (Order) genus_species is Yersinia enterocolitica TCY S DOX S EUCAST Breakpoints 16 Enterobacterales (Order) genus_species is Yersinia enterocolitica TCY S DOX S
EUCAST Breakpoints 16 Enterobacterales (Order) genus_species is Yersinia enterocolitica TCY I DOX I EUCAST Breakpoints 16 Enterobacterales (Order) genus_species is Yersinia enterocolitica TCY I DOX I
EUCAST Breakpoints 16 Enterobacterales (Order) genus_species is Yersinia enterocolitica TCY R DOX R EUCAST Breakpoints 16 Enterobacterales (Order) genus_species is Yersinia enterocolitica TCY R DOX R
@@ -1003,9 +1003,9 @@ EUCAST Breakpoints 13.1 Enterobacterales (Order) order is Enterobacterales AMP I
EUCAST Breakpoints 13.1 Enterobacterales (Order) order is Enterobacterales AMP R AMX R EUCAST Breakpoints 13.1 Enterobacterales (Order) order is Enterobacterales AMP R AMX R
EUCAST Breakpoints 13.1 Enterobacterales (Order) order is Enterobacterales LEX S CZO I EUCAST Breakpoints 13.1 Enterobacterales (Order) order is Enterobacterales LEX S CZO I
EUCAST Breakpoints 13.1 Enterobacterales (Order) order is Enterobacterales CFR S CZO I EUCAST Breakpoints 13.1 Enterobacterales (Order) order is Enterobacterales CFR S CZO I
EUCAST Breakpoints 13.1 Enterobacterales (Order) genus is Salmonella PEF-S S CIP S EUCAST Breakpoints 13.1 Enterobacterales (Order) order is Enterobacterales PEF-S S fluoroquinolones S
EUCAST Breakpoints 13.1 Enterobacterales (Order) genus is Salmonella PEF-S I CIP I EUCAST Breakpoints 13.1 Enterobacterales (Order) order is Enterobacterales PEF-S I fluoroquinolones I
EUCAST Breakpoints 13.1 Enterobacterales (Order) genus is Salmonella PEF-S R CIP R EUCAST Breakpoints 13.1 Enterobacterales (Order) order is Enterobacterales PEF-S R fluoroquinolones R
EUCAST Breakpoints 13.1 Enterobacterales (Order) genus_species is Yersinia enterocolitica TCY S DOX S EUCAST Breakpoints 13.1 Enterobacterales (Order) genus_species is Yersinia enterocolitica TCY S DOX S
EUCAST Breakpoints 13.1 Enterobacterales (Order) genus_species is Yersinia enterocolitica TCY I DOX I EUCAST Breakpoints 13.1 Enterobacterales (Order) genus_species is Yersinia enterocolitica TCY I DOX I
EUCAST Breakpoints 13.1 Enterobacterales (Order) genus_species is Yersinia enterocolitica TCY R DOX R EUCAST Breakpoints 13.1 Enterobacterales (Order) genus_species is Yersinia enterocolitica TCY R DOX R
Can't render this file because it has a wrong number of fields in line 10.

View File

@@ -14,7 +14,7 @@
\alias{sir_interpretation_history} \alias{sir_interpretation_history}
\title{Interpret MIC and Disk Diffusion as SIR, or Clean Existing SIR Data} \title{Interpret MIC and Disk Diffusion as SIR, or Clean Existing SIR Data}
\usage{ \usage{
as.sir(x, ...) as.sir(x, ..., enforce_method = "auto")
NA_sir_ NA_sir_
@@ -108,7 +108,9 @@ sir_interpretation_history(clean = FALSE)
\arguments{ \arguments{
\item{x}{Vector of values (for class \code{\link{mic}}: MIC values in mg/L, for class \code{\link{disk}}: a disk diffusion radius in millimetres).} \item{x}{Vector of values (for class \code{\link{mic}}: MIC values in mg/L, for class \code{\link{disk}}: a disk diffusion radius in millimetres).}
\item{...}{For using on a \link{data.frame}: selection of columns to apply \code{as.sir()} to. Supports \link[tidyselect:starts_with]{tidyselect language} such as \code{where(is.mic)}, \code{starts_with(...)}, or \code{column1:column4}, and can thus also be \link[=amr_selector]{antimicrobial selectors}, e.g. \code{as.sir(df, penicillins())}. \item{...}{For using on a \link{data.frame}: selection of columns to apply \code{as.sir()} to. Supports \link[tidyselect:starts_with]{tidyselect language} such as \code{where(is.mic)}, \code{starts_with(...)}, or \code{column1:column4}, and can thus also be \link[=amr_selector]{antimicrobial selectors}, e.g. \code{as.sir(df, penicillins())}.}
\item{enforce_method}{A \link{character} string to force interpretation as a specific method, useful when the S3 class of \code{x} is lost (e.g., when called from Python via rpy2). Must be one of \code{"auto"} (default), \code{"mic"}, or \code{"disk"}.
Otherwise: arguments passed on to methods.} Otherwise: arguments passed on to methods.}