From 122bca0f95196b78d45dd2b82bc1f0c69fd92fdd Mon Sep 17 00:00:00 2001 From: Matthijs Berends Date: Wed, 26 Feb 2025 13:32:16 +0100 Subject: [PATCH] (v2.1.1.9158) updated as.ab --- DESCRIPTION | 2 +- NEWS.md | 4 ++-- PythonPackage/AMR/AMR.egg-info/PKG-INFO | 2 +- PythonPackage/AMR/dist/amr-2.1.1.9157.tar.gz | Bin 10129 -> 0 bytes ...ny.whl => amr-2.1.1.9158-py3-none-any.whl} | Bin 10305 -> 10304 bytes PythonPackage/AMR/dist/amr-2.1.1.9158.tar.gz | Bin 0 -> 10114 bytes PythonPackage/AMR/setup.py | 2 +- R/ab.R | 20 +++++++++++++----- ....txt => gpt_training_text_v2.1.1.9158.txt} | 2 +- 9 files changed, 21 insertions(+), 11 deletions(-) delete mode 100644 PythonPackage/AMR/dist/amr-2.1.1.9157.tar.gz rename PythonPackage/AMR/dist/{amr-2.1.1.9157-py3-none-any.whl => amr-2.1.1.9158-py3-none-any.whl} (52%) create mode 100644 PythonPackage/AMR/dist/amr-2.1.1.9158.tar.gz rename data-raw/{gpt_training_text_v2.1.1.9157.txt => gpt_training_text_v2.1.1.9158.txt} (99%) diff --git a/DESCRIPTION b/DESCRIPTION index 54d7f5b90..3cc5ae666 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,5 +1,5 @@ Package: AMR -Version: 2.1.1.9157 +Version: 2.1.1.9158 Date: 2025-02-26 Title: Antimicrobial Resistance Data Analysis Description: Functions to simplify and standardise antimicrobial resistance (AMR) diff --git a/NEWS.md b/NEWS.md index c29a0da97..2bc8d05ce 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,4 +1,4 @@ -# AMR 2.1.1.9157 +# AMR 2.1.1.9158 *(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).)* @@ -80,7 +80,7 @@ This package now supports not only tools for AMR data analysis in clinical setti * Fix for using a manual value for `mo_transform` in `antibiogram()` * Fixed a bug for when `antibiogram()` returns an empty data set * Fix for mapping 'high level' antibiotics in `as.ab()` (amphotericin B-high, gentamicin-high, kanamycin-high, streptomycin-high, tobramycin-high) -* Improved overall algorithm of `as.ab()` for better performance and accuracy +* Improved overall algorithm of `as.ab()` for better performance and accuracy, including the new function `as_reset_session()` to remove earlier coercions. * Improved overall algorithm of `as.mo()` for better performance and accuracy. Specifically: * More weight is given to genus and species combinations in cases where the subspecies is miswritten, so that the result will be the correct genus and species * Genera from the World Health Organization's (WHO) Priority Pathogen List now have the highest prevalence diff --git a/PythonPackage/AMR/AMR.egg-info/PKG-INFO b/PythonPackage/AMR/AMR.egg-info/PKG-INFO index 3881d5d8e..fcb87067a 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.9157 +Version: 2.1.1.9158 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.9157.tar.gz b/PythonPackage/AMR/dist/amr-2.1.1.9157.tar.gz deleted file mode 100644 index 1a7483d815dce21666e1494e66bc686989a15b39..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10129 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 delta 4075 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 literal 0 HcmV?d00001 diff --git a/PythonPackage/AMR/setup.py b/PythonPackage/AMR/setup.py index 574208ecf..d798de27a 100644 --- a/PythonPackage/AMR/setup.py +++ b/PythonPackage/AMR/setup.py @@ -2,7 +2,7 @@ from setuptools import setup, find_packages setup( name='AMR', - version='2.1.1.9157', + version='2.1.1.9158', packages=find_packages(), install_requires=[ 'rpy2', diff --git a/R/ab.R b/R/ab.R index 612629265..ec03ccd16 100755 --- a/R/ab.R +++ b/R/ab.R @@ -349,6 +349,7 @@ as.ab <- function(x, flag_multiple_results = TRUE, info = interactive(), ...) { found <- suppressWarnings(as.ab(gsub(" +", "", x[i], perl = TRUE), loop_time = loop_time + 2)) if (length(found) > 0 && !is.na(found)) { x_new[i] <- note_if_more_than_one_found(found, i, from_text) + x_uncertain <- c(x_uncertain, x_bak[x[i] == x_bak_clean][1]) next } } @@ -358,6 +359,7 @@ as.ab <- function(x, flag_multiple_results = TRUE, info = interactive(), ...) { found <- suppressWarnings(as.ab(gsub("[ 0-9]", "", x[i], perl = TRUE), loop_time = loop_time + 2)) if (length(found) > 0 && !is.na(found)) { x_new[i] <- note_if_more_than_one_found(found, i, from_text) + x_uncertain <- c(x_uncertain, x_bak[x[i] == x_bak_clean][1]) next } } @@ -392,6 +394,7 @@ as.ab <- function(x, flag_multiple_results = TRUE, info = interactive(), ...) { if (length(found_perms) > 0) { found <- found_perms[order(nchar(found_perms), decreasing = TRUE)][1] x_new[i] <- note_if_more_than_one_found(found, i, from_text) + x_uncertain <- c(x_uncertain, x_bak[x[i] == x_bak_clean][1]) next } } @@ -418,6 +421,7 @@ as.ab <- function(x, flag_multiple_results = TRUE, info = interactive(), ...) { x_translated_guess <- suppressWarnings(as.ab(x_translated, loop_time = loop_time + 2)) if (!is.na(x_translated_guess)) { x_new[i] <- x_translated_guess + x_uncertain <- c(x_uncertain, x_bak[x[i] == x_bak_clean][1]) next } @@ -441,6 +445,7 @@ as.ab <- function(x, flag_multiple_results = TRUE, info = interactive(), ...) { x_translated_guess <- suppressWarnings(as.ab(x_translated, loop_time = loop_time + 2)) if (!is.na(x_translated_guess)) { x_new[i] <- x_translated_guess + x_uncertain <- c(x_uncertain, x_bak[x[i] == x_bak_clean][1]) next } @@ -449,6 +454,7 @@ as.ab <- function(x, flag_multiple_results = TRUE, info = interactive(), ...) { found <- suppressWarnings(as.ab(gsub("[A-Z]+$", "", x[i], perl = TRUE), loop_time = loop_time + 2)) if (!is.na(found)) { x_new[i] <- note_if_more_than_one_found(found, i, from_text) + x_uncertain <- c(x_uncertain, x_bak[x[i] == x_bak_clean][1]) next } } @@ -457,6 +463,7 @@ as.ab <- function(x, flag_multiple_results = TRUE, info = interactive(), ...) { found <- suppressWarnings(as.ab(gsub("[^A-Z]", "", x[i], perl = TRUE), loop_time = loop_time + 2)) if (!is.na(found)) { x_new[i] <- note_if_more_than_one_found(found, i, from_text) + x_uncertain <- c(x_uncertain, x_bak[x[i] == x_bak_clean][1]) next } @@ -471,6 +478,7 @@ as.ab <- function(x, flag_multiple_results = TRUE, info = interactive(), ...) { } if (!is.na(found)) { x_new[i] <- note_if_more_than_one_found(found, i, from_text) + x_uncertain <- c(x_uncertain, x_bak[x[i] == x_bak_clean][1]) next } @@ -483,6 +491,7 @@ as.ab <- function(x, flag_multiple_results = TRUE, info = interactive(), ...) { found <- suppressWarnings(as.ab(substr(x[i], 1, 7), loop_time = loop_time + 2)) if (!is.na(found)) { x_new[i] <- note_if_more_than_one_found(found, i, from_text) + x_uncertain <- c(x_uncertain, x_bak[x[i] == x_bak_clean][1]) next } @@ -495,6 +504,7 @@ as.ab <- function(x, flag_multiple_results = TRUE, info = interactive(), ...) { } if (!is.na(found)) { x_new[i] <- note_if_more_than_one_found(found, i, from_text) + x_uncertain <- c(x_uncertain, x_bak[x[i] == x_bak_clean][1]) next } @@ -507,6 +517,7 @@ as.ab <- function(x, flag_multiple_results = TRUE, info = interactive(), ...) { } if (!is.na(found)) { x_new[i] <- note_if_more_than_one_found(found, i, from_text) + x_uncertain <- c(x_uncertain, x_bak[x[i] == x_bak_clean][1]) next } @@ -519,6 +530,7 @@ as.ab <- function(x, flag_multiple_results = TRUE, info = interactive(), ...) { found <- suppressWarnings(as.ab(x_spelling, loop_time = loop_time + 2, already_regex = TRUE)) if (!is.na(found)) { x_new[i] <- note_if_more_than_one_found(found, i, from_text) + x_uncertain <- c(x_uncertain, x_bak[x[i] == x_bak_clean][1]) next } @@ -540,6 +552,7 @@ as.ab <- function(x, flag_multiple_results = TRUE, info = interactive(), ...) { } if (!is.na(found)) { x_new[i] <- found[1L] + x_uncertain <- c(x_uncertain, x_bak[x[i] == x_bak_clean][1]) next } } # end of loop_time <= 2 @@ -590,11 +603,8 @@ as.ab <- function(x, flag_multiple_results = TRUE, info = interactive(), ...) { # Throw note about uncertainties if (isTRUE(info) && length(x_uncertain) > 0 && fast_mode == FALSE) { + x_uncertain <- unique(x_uncertain) if (message_not_thrown_before("as.ab", "uncertainties", x_bak)) { - plural <- c("", "this") - if (length(x_uncertain) > 1) { - plural <- c("s", "these uncertainties") - } if (length(x_uncertain) <= 3) { examples <- vector_and( paste0( @@ -603,7 +613,7 @@ as.ab <- function(x, flag_multiple_results = TRUE, info = interactive(), ...) { ", ", AMR_env$ab_previously_coerced$ab[which(AMR_env$ab_previously_coerced$x_bak %in% x_uncertain)], ")"), quotes = FALSE) } else { - examples <- paste0(nr2char(length(x_uncertain)), " antimicrobial", plural[1]) + examples <- paste0(nr2char(length(x_uncertain)), " antimicrobials") } message_("Antimicrobial translation was uncertain for ", examples, ". If required, use `add_custom_antimicrobials()` to add custom entries.") diff --git a/data-raw/gpt_training_text_v2.1.1.9157.txt b/data-raw/gpt_training_text_v2.1.1.9158.txt similarity index 99% rename from data-raw/gpt_training_text_v2.1.1.9157.txt rename to data-raw/gpt_training_text_v2.1.1.9158.txt index 0e4770caa..0ebbcddfa 100644 --- a/data-raw/gpt_training_text_v2.1.1.9157.txt +++ b/data-raw/gpt_training_text_v2.1.1.9158.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.9157. Remember this whenever someone asks which AMR package version you’re at. +First and foremost, you are trained on version 2.1.1.9158. 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. ----------------------------------------------------------------------------------------------------