From 26f5be003332ab792c0d6bee679006583c559ba2 Mon Sep 17 00:00:00 2001 From: "Matthijs S. Berends" Date: Sat, 8 Sep 2018 16:06:47 +0200 Subject: [PATCH] support for portuguese, language determination based on system --- DESCRIPTION | 2 +- NEWS.md | 7 +- R/data.R | 8 +- R/first_isolate.R | 9 +- R/mo.R | 7 + R/mo_property.R | 208 +++++++++++++++++++++------- R/zzz.R | 46 ++++++ README.md | 6 +- data/microorganisms.rda | Bin 42283 -> 39914 bytes data/septic_patients.rda | Bin 30756 -> 30747 bytes man/AMR.Rd | 36 +++++ man/as.mo.Rd | 1 - man/microorganisms.Rd | 8 +- man/mo_property.Rd | 49 ++++--- tests/testthat/test-data.R | 7 + tests/testthat/test-first_isolate.R | 8 +- tests/testthat/test-mo.R | 1 + tests/testthat/test-mo_property.R | 8 +- vignettes/AMR.Rmd | 2 +- 19 files changed, 307 insertions(+), 106 deletions(-) create mode 100644 man/AMR.Rd create mode 100644 tests/testthat/test-data.R diff --git a/DESCRIPTION b/DESCRIPTION index f913bc12..4e33e1ee 100755 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: AMR Version: 0.3.0.9007 -Date: 2018-09-04 +Date: 2018-09-08 Title: Antimicrobial Resistance Analysis Authors@R: c( person( diff --git a/NEWS.md b/NEWS.md index eecbc601..690d3c65 100755 --- a/NEWS.md +++ b/NEWS.md @@ -10,14 +10,16 @@ * Column names of datasets `microorganisms` and `septic_patients` * All old syntaxes will still work with this version, but will throw warnings * Functions `as.atc` and `is.atc` to transform/look up antibiotic ATC codes as defined by the WHO. The existing function `guess_atc` is now an alias of `as.atc`. -* Aliases for existing function `mo_property`: `mo_family`, `mo_genus`, `mo_species`, `mo_subspecies`, `mo_fullname`, `mo_shortname`, `mo_aerobic`, `mo_type` and `mo_gramstain`. The last two functions have a `language` parameter, with support for Spanish, German and Dutch: +* Aliases for existing function `mo_property`: `mo_family`, `mo_genus`, `mo_species`, `mo_subspecies`, `mo_fullname`, `mo_shortname`, `mo_aerobic`, `mo_type` and `mo_gramstain`. They also come with support for German, Dutch, Spanish and Portuguese, and it defaults to the systems locale: ```r mo_gramstain("E. coli") # [1] "Negative rods" mo_gramstain("E. coli", language = "de") # "de" = Deutsch / German - # [1] "Negative Staebchen" + # [1] "Negative Stäbchen" mo_gramstain("E. coli", language = "es") # "es" = Español / Spanish # [1] "Bacilos negativos" + mo_fullname("S. group A") # when run on a on a Portuguese system + # [1] "Streptococcus grupo A" ``` * Function `ab_property` and its aliases: `ab_official`, `ab_tradenames`, `ab_certe`, `ab_umcg`, `ab_official_nl` and `ab_trivial_nl` * Introduction to AMR as a vignette @@ -34,6 +36,7 @@ ab_atc(c("Bactroban", "Amoxil", "Zithromax", "Floxapen")) # [1] "R01AX06" "J01CA04" "J01FA10" "J01CF05" ``` +* For `first_isolate`, rows will be ignored when there's no species available * Function `ratio` is now deprecated and will be removed in a future release, as it is not really the scope of this package * Fix for `as.mic` for values ending in zeroes after a real number * Tremendous speed improvement for `as.bactid` (now `as.mo`) diff --git a/R/data.R b/R/data.R index 38a9807b..22dcb533 100755 --- a/R/data.R +++ b/R/data.R @@ -123,7 +123,7 @@ #' Data set with human pathogenic microorganisms #' #' A data set containing 2,669 (potential) human pathogenic microorganisms. MO codes can be looked up using \code{\link{guess_mo}}. -#' @format A \code{\link{tibble}} with 2,669 observations and 16 variables: +#' @format A \code{\link{tibble}} with 2,669 observations and 10 variables: #' \describe{ #' \item{\code{mo}}{ID of microorganism} #' \item{\code{bactsys}}{Bactsyscode of microorganism} @@ -135,12 +135,6 @@ #' \item{\code{aerobic}}{Logical whether bacteria is aerobic} #' \item{\code{type}}{Type of microorganism, like \code{"Bacteria"} and \code{"Fungus/yeast"}} #' \item{\code{gramstain}}{Gram of microorganism, like \code{"Negative rods"}} -#' \item{\code{type_de}}{Type of microorganism in German, like \code{"Bakterien"} and \code{"Pilz/Hefe"}} -#' \item{\code{gramstain_de}}{Gram of microorganism in German, like \code{"Negative Staebchen"}} -#' \item{\code{type_nl}}{Type of microorganism in Dutch, like \code{"Bacterie"} and \code{"Schimmel/gist"}} -#' \item{\code{gramstain_nl}}{Gram of microorganism in Dutch, like \code{"Negatieve staven"}} -#' \item{\code{type_es}}{Type of microorganism in Spanish, like \code{"Bacteria"} and \code{"Hongo/levadura"}} -#' \item{\code{gramstain_es}}{Gram of microorganism in Spanish, like \code{"Bacilos negativos"}} #' } # source MOLIS (LIS of Certe) - \url{https://www.certe.nl} # new <- microorganisms %>% filter(genus == "Bacteroides") %>% .[1,] diff --git a/R/first_isolate.R b/R/first_isolate.R index ac25ff9f..5fda01e2 100755 --- a/R/first_isolate.R +++ b/R/first_isolate.R @@ -326,7 +326,8 @@ first_isolate <- function(tbl, filter( row_number() %>% between(row.start, row.end), - genus != '') %>% + genus != "", + species != "") %>% nrow() ) @@ -373,7 +374,8 @@ first_isolate <- function(tbl, real_first_isolate = if_else( between(row_number(), row.start, row.end) - & genus != '' + & genus != "" + & species != "" & (other_pat_or_mo | days_diff >= episode_days | key_ab_other), @@ -388,7 +390,8 @@ first_isolate <- function(tbl, real_first_isolate = if_else( between(row_number(), row.start, row.end) - & genus != '' + & genus != "" + & species != "" & (other_pat_or_mo | days_diff >= episode_days), TRUE, diff --git a/R/mo.R b/R/mo.R index e0c95de8..127f38e6 100644 --- a/R/mo.R +++ b/R/mo.R @@ -125,6 +125,8 @@ as.mo <- function(x, Becker = FALSE, Lancefield = FALSE) { x <- unique(x) x_backup <- x + # translate to English for supported languages of mo_property + x <- gsub("(Gruppe|gruppe|groep|grupo)", "group", x) # remove dots and other non-text in case of "E. coli" except spaces x <- gsub("[^a-zA-Z0-9 ]+", "", x) # but spaces before and after should be omitted @@ -170,6 +172,11 @@ as.mo <- function(x, Becker = FALSE, Lancefield = FALSE) { x[i] <- 'HAEINF' next } + if (tolower(x[i]) == '^c.*difficile$') { + # avoid detection of Clostridium difficile in case of C. difficile + x[i] <- 'CLODIF' + next + } if (tolower(x[i]) == '^st.*au$' | tolower(x[i]) == '^stau$' | tolower(x[i]) == '^staaur$') { diff --git a/R/mo_property.R b/R/mo_property.R index 2dc4f308..333168bf 100644 --- a/R/mo_property.R +++ b/R/mo_property.R @@ -22,12 +22,13 @@ #' @param x any (vector of) text that can be coerced to a valid microorganism code with \code{\link{as.mo}} #' @param property one of the column names of one of the \code{\link{microorganisms}} data set, like \code{"mo"}, \code{"bactsys"}, \code{"family"}, \code{"genus"}, \code{"species"}, \code{"fullname"}, \code{"gramstain"} and \code{"aerobic"} #' @inheritParams as.mo -#' @param language language of the returned text, either one of \code{"en"} (English), \code{"de"} (German) or \code{"nl"} (Dutch) +#' @param language language of the returned text, defaults to the systems language. Either one of \code{"en"} (English), \code{"de"} (German), \code{"nl"} (Dutch), \code{"es"} (Spanish) or \code{"pt"} (Portuguese). #' @source #' [1] Becker K \emph{et al.} \strong{Coagulase-Negative Staphylococci}. 2014. Clin Microbiol Rev. 27(4): 870–926. \url{https://dx.doi.org/10.1128/CMR.00109-13} #' #' [2] Lancefield RC \strong{A serological differentiation of human and other groups of hemolytic streptococci}. 1933. J Exp Med. 57(4): 571–95. \url{https://dx.doi.org/10.1084/jem.57.4.571} #' @rdname mo_property +#' @name mo_property #' @return Character or logical (only \code{mo_aerobic}) #' @export #' @importFrom dplyr %>% left_join pull @@ -44,14 +45,6 @@ #' mo_gramstain("E. coli") # "Negative rods" #' mo_aerobic("E. coli") # TRUE #' -#' # language support for Spanish, German and Dutch -#' mo_type("E. coli", "es") # "Bakteria" -#' mo_type("E. coli", "de") # "Bakterien" -#' mo_type("E. coli", "nl") # "Bacterie" -#' mo_gramstain("E. coli", "es") # "Bacilos negativos" -#' mo_gramstain("E. coli", "de") # "Negative Staebchen" -#' mo_gramstain("E. coli", "nl") # "Negatieve staven" -#' #' #' # Abbreviations known in the field #' mo_genus("MRSA") # "Staphylococcus" @@ -95,26 +88,23 @@ #' mo_fullname("S. pyo", Lancefield = TRUE) # "Streptococcus group A" #' mo_shortname("S. pyo") # "S. pyogenes" #' mo_shortname("S. pyo", Lancefield = TRUE) # "GAS" -mo_property <- function(x, property = 'fullname', Becker = FALSE, Lancefield = FALSE) { - property <- tolower(property[1]) - if (!property %in% colnames(microorganisms)) { - stop("invalid property: ", property, " - use a column name of the `microorganisms` data set") - } - result1 <- as.mo(x = x, Becker = Becker, Lancefield = Lancefield) # this will give a warning if x cannot be coerced - result2 <- suppressWarnings( - data.frame(mo = result1, stringsAsFactors = FALSE) %>% - left_join(AMR::microorganisms, by = "mo") %>% - pull(property) - ) - if (property != "aerobic") { - # will else not retain logical class - result2[x %in% c("", NA) | result2 %in% c("", NA, "(no MO)")] <- "" - } - result2 -} - -#' @rdname mo_property -#' @export +#' +#' +#' # Language support for German, Dutch, Spanish and Portuguese +#' mo_type("E. coli", language = "de") # "Bakterium" +#' mo_type("E. coli", language = "nl") # "Bacterie" +#' mo_type("E. coli", language = "es") # "Bakteria" +#' mo_gramstain("E. coli", language = "de") # "Negative Staebchen" +#' mo_gramstain("E. coli", language = "nl") # "Negatieve staven" +#' mo_gramstain("E. coli", language = "es") # "Bacilos negativos" +#' mo_gramstain("Giardia", language = "pt") # "Parasitas" +#' +#' mo_fullname("S. pyo", +#' Lancefield = TRUE, +#' language = "de") # "Streptococcus Gruppe A" +#' mo_fullname("S. pyo", +#' Lancefield = TRUE, +#' language = "nl") # "Streptococcus groep A" mo_family <- function(x) { mo_property(x, "family") } @@ -127,34 +117,34 @@ mo_genus <- function(x) { #' @rdname mo_property #' @export -mo_species <- function(x, Becker = FALSE, Lancefield = FALSE) { - mo_property(x, "species", Becker = Becker, Lancefield = Lancefield) +mo_species <- function(x, Becker = FALSE, Lancefield = FALSE, language = NULL) { + mo_property(x, "species", Becker = Becker, Lancefield = Lancefield, language = language) } #' @rdname mo_property #' @export -mo_subspecies <- function(x, Becker = FALSE, Lancefield = FALSE) { - mo_property(x, "subspecies", Becker = Becker, Lancefield = Lancefield) +mo_subspecies <- function(x, Becker = FALSE, Lancefield = FALSE, language = NULL) { + mo_property(x, "subspecies", Becker = Becker, Lancefield = Lancefield, language = language) } #' @rdname mo_property #' @export -mo_fullname <- function(x, Becker = FALSE, Lancefield = FALSE) { - mo_property(x, "fullname", Becker = Becker, Lancefield = Lancefield) +mo_fullname <- function(x, Becker = FALSE, Lancefield = FALSE, language = NULL) { + mo_property(x, "fullname", Becker = Becker, Lancefield = Lancefield, language = language) } #' @rdname mo_property #' @export -mo_shortname <- function(x, Becker = FALSE, Lancefield = FALSE) { +mo_shortname <- function(x, Becker = FALSE, Lancefield = FALSE, language = NULL) { if (Becker %in% c(TRUE, "all") | Lancefield == TRUE) { res1 <- as.mo(x) res2 <- suppressWarnings(as.mo(x, Becker = Becker, Lancefield = Lancefield)) res2_fullname <- mo_fullname(res2) res2_fullname[res2_fullname %like% "\\(CoNS\\)"] <- "CoNS" res2_fullname[res2_fullname %like% "\\(CoPS\\)"] <- "CoPS" - res2_fullname <- gsub("Streptococcus group (.*)", - "G\\1S", - res2_fullname) # turn "Streptococcus group A" to "GAS" + res2_fullname <- gsub("Streptococcus (group|gruppe|Gruppe|groep|grupo) (.)", + "G\\2S", + res2_fullname) # turn "Streptococcus group A" and "Streptococcus grupo A" to "GAS" res2_fullname[res2_fullname == mo_fullname(x)] <- paste0(substr(mo_genus(res2_fullname), 1, 1), ". ", suppressWarnings(mo_species(res2_fullname))) @@ -170,20 +160,20 @@ mo_shortname <- function(x, Becker = FALSE, Lancefield = FALSE) { result <- paste0(substr(mo_genus(x), 1, 1), ". ", suppressWarnings(mo_species(x))) } result[result %in% c(". ")] <- "" - result + mo_translate(result, language = language) } #' @rdname mo_property #' @export -mo_type <- function(x, language = "en") { - mo_property(x, paste0("type", checklang(language))) +mo_type <- function(x, language = NULL) { + mo_property(x, "type", language = language) } #' @rdname mo_property #' @export -mo_gramstain <- function(x, language = "en") { - mo_property(x, paste0("gramstain", checklang(language))) +mo_gramstain <- function(x, language = NULL) { + mo_property(x, "gramstain", language = language) } #' @rdname mo_property @@ -192,15 +182,127 @@ mo_aerobic <- function(x) { mo_property(x, "aerobic") } -checklang <- function(language) { - language <- tolower(language[1]) - supported <- c("en", "de", "nl", "es") - if (!language %in% c(NULL, "", supported)) { - stop("invalid language: ", language, " - use one of ", paste0("'", sort(supported), "'", collapse = ", "), call. = FALSE) +#' @rdname mo_property +#' @export +mo_property <- function(x, property = 'fullname', Becker = FALSE, Lancefield = FALSE, language = NULL) { + property <- tolower(property[1]) + if (!property %in% colnames(microorganisms)) { + stop("invalid property: ", property, " - use a column name of the `microorganisms` data set") } - if (language %in% c(NULL, "", "en")) { - "" - } else { - paste0("_", language) + result1 <- as.mo(x = x, Becker = Becker, Lancefield = Lancefield) # this will give a warning if x cannot be coerced + result2 <- suppressWarnings( + data.frame(mo = result1, stringsAsFactors = FALSE) %>% + left_join(AMR::microorganisms, by = "mo") %>% + pull(property) + ) + if (property != "aerobic") { + # will else not retain `logical` class + result2[x %in% c("", NA) | result2 %in% c("", NA, "(no MO)")] <- "" + result2 <- mo_translate(result2, language = language) } + result2 +} + +#' @importFrom dplyr %>% case_when +mo_translate <- function(x, language) { + if (is.null(language)) { + language <- mo_getlangcode() + } else { + language <- tolower(language[1]) + } + if (language %in% c("en", "")) { + return(x) + } + + supported <- c("en", "de", "nl", "es", "pt") + if (!language %in% supported) { + stop("Unsupported language: '", language, "' - use one of ", paste0("'", sort(supported), "'", collapse = ", "), call. = FALSE) + } + + case_when( + # German + language == "de" ~ x %>% + gsub("(no MO)", "(kein MO)", ., fixed = TRUE) %>% + gsub("Negative rods", "Negative St\u00e4bchen", ., fixed = TRUE) %>% + gsub("Negative cocci", "Negative Kokken", ., fixed = TRUE) %>% + gsub("Positive rods", "Positive St\u00e4bchen", ., fixed = TRUE) %>% + gsub("Positive cocci", "Positive Kokken", ., fixed = TRUE) %>% + gsub("Parasites", "Parasiten", ., fixed = TRUE) %>% + gsub("Fungi and yeasts", "Pilze und Hefen", ., fixed = TRUE) %>% + gsub("Bacteria", "Bakterium", ., fixed = TRUE) %>% + gsub("Fungus/yeast", "Pilz/Hefe", ., fixed = TRUE) %>% + gsub("Parasite", "Parasit", ., fixed = TRUE) %>% + gsub("biogroup", "Biogruppe", ., fixed = TRUE) %>% + gsub("biotype", "Biotyp", ., fixed = TRUE) %>% + gsub("vegetative", "vegetativ", ., fixed = TRUE) %>% + gsub("([([ ]*?)group", "\\1Gruppe", .) %>% + gsub("([([ ]*?)Group", "\\1Gruppe", .), + + # Dutch + language == "nl" ~ x %>% + gsub("(no MO)", "(geen MO)", ., fixed = TRUE) %>% + gsub("Negative rods", "Negatieve staven", ., fixed = TRUE) %>% + gsub("Negative cocci", "Negatieve kokken", ., fixed = TRUE) %>% + gsub("Positive rods", "Positieve staven", ., fixed = TRUE) %>% + gsub("Positive cocci", "Positieve kokken", ., fixed = TRUE) %>% + gsub("Parasites", "Parasieten", ., fixed = TRUE) %>% + gsub("Fungi and yeasts", "Schimmels en gisten", ., fixed = TRUE) %>% + gsub("Bacteria", "Bacterie", ., fixed = TRUE) %>% + gsub("Fungus/yeast", "Schimmel/gist", ., fixed = TRUE) %>% + gsub("Parasite", "Parasiet", ., fixed = TRUE) %>% + gsub("biogroup", "biogroep", ., fixed = TRUE) %>% + # gsub("biotype", "biotype", ., fixed = TRUE) %>% + gsub("vegetative", "vegetatief", ., fixed = TRUE) %>% + gsub("([([ ]*?)group", "\\1groep", .) %>% + gsub("([([ ]*?)Group", "\\1Groep", .), + + # Spanish + language == "es" ~ x %>% + gsub("(no MO)", "(sin MO)", ., fixed = TRUE) %>% + gsub("Negative rods", "Bacilos negativos", ., fixed = TRUE) %>% + gsub("Negative cocci", "Cocos negativos", ., fixed = TRUE) %>% + gsub("Positive rods", "Bacilos positivos", ., fixed = TRUE) %>% + gsub("Positive cocci", "Cocos positivos", ., fixed = TRUE) %>% + gsub("Parasites", "Par\u00e1sitos", ., fixed = TRUE) %>% + gsub("Fungi and yeasts", "Hongos y levaduras", ., fixed = TRUE) %>% + # gsub("Bacteria", "Bacteria", ., fixed = TRUE) %>% + gsub("Fungus/yeast", "Hongo/levadura", ., fixed = TRUE) %>% + gsub("Parasite", "Par\u00e1sito", ., fixed = TRUE) %>% + gsub("biogroup", "biogrupo", ., fixed = TRUE) %>% + gsub("biotype", "biotipo", ., fixed = TRUE) %>% + gsub("vegetative", "vegetativo", ., fixed = TRUE) %>% + gsub("([([ ]*?)group", "\\1grupo", .) %>% + gsub("([([ ]*?)Group", "\\1Grupo", .), + + # Portuguese + language == "pt" ~ x %>% + gsub("(no MO)", "(sem MO)", ., fixed = TRUE) %>% + gsub("Negative rods", "Bacilos negativos", ., fixed = TRUE) %>% + gsub("Negative cocci", "Cocos negativos", ., fixed = TRUE) %>% + gsub("Positive rods", "Bacilos positivos", ., fixed = TRUE) %>% + gsub("Positive cocci", "Cocos positivos", ., fixed = TRUE) %>% + gsub("Parasites", "Parasitas", ., fixed = TRUE) %>% + gsub("Fungi and yeasts", "Cogumelos e leveduras", ., fixed = TRUE) %>% + gsub("Bacteria", "Bact\u00e9ria", ., fixed = TRUE) %>% + gsub("Fungus/yeast", "Cogumelo/levedura", ., fixed = TRUE) %>% + gsub("Parasite", "Parasita", ., fixed = TRUE) %>% + gsub("biogroup", "biogrupo", ., fixed = TRUE) %>% + gsub("biotype", "bi\u00f3tipo", ., fixed = TRUE) %>% + gsub("vegetative", "vegetativo", ., fixed = TRUE) %>% + gsub("([([ ]*?)group", "\\1grupo", .) %>% + gsub("([([ ]*?)Group", "\\1Grupo", .) + ) + +} + +#' @importFrom dplyr case_when +mo_getlangcode <- function() { + sys <- base::Sys.getlocale() + case_when( + sys %like% '(Deutsch|German|de_)' ~ "de", + sys %like% '(Nederlands|Dutch|nl_)' ~ "nl", + sys %like% '(Espa.ol|Spanish|es_)' ~ "es", + sys %like% '(Portugu.s|Portuguese|pt_)' ~ "pt", + TRUE ~ "en" + ) } diff --git a/R/zzz.R b/R/zzz.R index 1460bf58..6c6ccac4 100755 --- a/R/zzz.R +++ b/R/zzz.R @@ -1,3 +1,49 @@ +# ==================================================================== # +# TITLE # +# Antimicrobial Resistance (AMR) Analysis # +# # +# AUTHORS # +# Berends MS (m.s.berends@umcg.nl), Luz CF (c.f.luz@umcg.nl) # +# # +# LICENCE # +# This program is free software; you can redistribute it and/or modify # +# it under the terms of the GNU General Public License version 2.0, # +# as published by the Free Software Foundation. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# ==================================================================== # + +#' The \code{AMR} Package +#' +#' Welcome to the \code{AMR} package. This page gives some additional contact information abount the authors. +#' @details +#' This package was intended to simplify the analysis and prediction of Antimicrobial Resistance (AMR) and work with antibiotic properties by using evidence-based methods. +#' +#' This package was created for academic research by PhD students of the Faculty of Medical Sciences of the University of Groningen and the Medical Microbiology & Infection Prevention (MMBI) department of the University Medical Center Groningen (UMCG). +#' @section Authors: +#' Matthijs S. Berends[1,2] Christian F. Luz[1], Erwin E.A. Hassing[2], Corinna Glasner[1], Alex W. Friedrich[1], Bhanu Sinha[1] \cr +#' +#' [1] Department of Medical Microbiology, University of Groningen, University Medical Center Groningen, Groningen, the Netherlands - \url{rug.nl} \url{umcg.nl} \cr +#' [2] Certe Medical Diagnostics & Advice, Groningen, the Netherlands - \url{certe.nl} +#' @section Contact us: +#' For suggestions, comments or questions, please contact us at: +#' +#' Matthijs S. Berends \cr +#' m.s.berends [at] umcg [dot] nl \cr +#' Department of Medical Microbiology, University of Groningen \cr +#' University Medical Center Groningen \cr +#' Post Office Box 30001 \cr +#' 9700 RB Groningen +#' +#' If you have found a bug, please file a new issue at: \cr +#' \url{https://github.com/msberends/AMR/issues} +#' @name AMR +#' @rdname AMR +NULL + .onLoad <- function(libname, pkgname) { backports::import(pkgname) } diff --git a/README.md b/README.md index b1b7be25..19141c90 100755 --- a/README.md +++ b/README.md @@ -55,7 +55,7 @@ This `AMR` package basically does four important things: * Use `first_isolate` to identify the first isolates of every patient [using guidelines from the CLSI](https://clsi.org/standards/products/microbiology/documents/m39/) (Clinical and Laboratory Standards Institute). * You can also identify first *weighted* isolates of every patient, an adjusted version of the CLSI guideline. This takes into account key antibiotics of every strain and compares them. * Use `MDRO` (abbreviation of Multi Drug Resistant Organisms) to check your isolates for exceptional resistance with country-specific guidelines or EUCAST rules. Currently, national guidelines for Germany and the Netherlands are supported. - * The data set `microorganisms` contains the family, genus, species, subspecies, colloquial name and Gram stain of almost 3,000 potential human pathogenic microorganisms (bacteria, fungi/yeasts and parasites). This enables resistance analysis of e.g. different antibiotics per Gram stain. The package also contains functions to look up values in this data set like `mo_genus`, `mo_family` or `mo_gramstain`. As they use `as.mo` internally, they also use artificial intelligence. For example, `mo_genus("MRSA")` and `mo_genus("S. aureus")` will both return `"Staphylococcus"`. Some functions can return results in Spanish, German and Dutch. These functions can be used to add new variables to your data. + * The data set `microorganisms` contains the family, genus, species, subspecies, colloquial name and Gram stain of almost 3,000 potential human pathogenic microorganisms (bacteria, fungi/yeasts and parasites). This enables resistance analysis of e.g. different antibiotics per Gram stain. The package also contains functions to look up values in this data set like `mo_genus`, `mo_family` or `mo_gramstain`. As they use `as.mo` internally, they also use artificial intelligence. For example, `mo_genus("MRSA")` and `mo_genus("S. aureus")` will both return `"Staphylococcus"`. They also come with support for German, Dutch, Spanish and Portuguese. These functions can be used to add new variables to your data. * The data set `antibiotics` contains the ATC code, LIS codes, official name, trivial name and DDD of both oral and parenteral administration. It also contains a total of 298 trade names. Use functions like `ab_official` and `ab_tradenames` to look up values. As the `mo_*` functions use `as.mo` internally, the `ab_*` functions use `as.atc` internally so it uses AI to guess your expected result. For example, `ab_official("Fluclox")`, `ab_official("Floxapen")` and `ab_official("J01CF05")` will all return `"Flucloxacillin"`. These functions can again be used to add new variables to your data. 3. It **analyses the data** with convenient functions that use well-known methods. @@ -384,11 +384,11 @@ septic_patients # A tibble: 2,000 x 49 # Dataset with ATC antibiotics codes, official names, trade names # and DDDs (oral and parenteral) -antibiotics # A tibble: 420 x 18 +antibiotics # A tibble: 423 x 18 # Dataset with bacteria codes and properties like gram stain and # aerobic/anaerobic -microorganisms # A tibble: 2,453 x 12 +microorganisms # A tibble: 2,669 x 10 ``` ## Copyright diff --git a/data/microorganisms.rda b/data/microorganisms.rda index 7ea847198e783f9f0c41b46cf65c7924103f8c62..16018a32fc0af0b03541491c9eda81613df847d6 100755 GIT binary patch literal 39914 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

Q5!0-~mv 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 literal 42283 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 b3Wi}&5iux;3#5pGKj{~8ML1B9Pp(zBdmOk( diff --git a/data/septic_patients.rda b/data/septic_patients.rda index d951f4eebdf12439e0d04aaf0c224ef969392ed5..230e297ba5509967982d1475dac1232d5f2cfac7 100755 GIT binary patch delta 29394 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 delta 29399 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

XgWAe&6|!6C>mk(9*HZTu?{n z>2&WORe>kx4RHwPfFLc-L_~1mvSI0hT|TQS!_QMFYR%2S>hy;XwQEaCk%x=Yi}pew z$AE-0Qf=ZdiwTR}UfM;>Wdy#%YuKT?0u#tJjU~{9MUz@py7FpmTk5v6Jli4~nH}nG zhR{=>Jl9#VrHN7O9^+N)Jeli40aGIvkDniLTK%8RcV8`f`}ftTd6ow(4GeO{8g}}7 z=_uhl_K|JqY>Ib^l5RHQfqI9X9z)C6nh49@(qJkl_($gSJ5^e$k`w`$Gpd3(Fqa)4 zPLLJW!*|r8)kGNI_KKPvvnm@QWjf2OX!`{d-gx8&an1SpuaHm@!;`I4dWkz%O){nT zD#%g6yd3T#1XyId7dwwGU@IFnx)6TS)A86w!D&-?MWs|QdU0s(S>yO>^c!fq1*>k=W^-Go+Mwq-A(TPomEe+gnd_m!VA2Sz9{tq6 zk+O&GFvQo}?Y4ymZMbwI86L;RDRH=wBrzle&@Fa@nQ6L>U!z-8!KQwdJ zr3NaH7buWNa)SEu!zJLdNv^7J=v7r;Csq+BB=op3y`~~WW6sZ&A8rXUuL?Zl#1P1C z1i3X`ck=WcIqqQ2DbEIndWL$ezC`L+k?OQVB1}ZEwdUA1_3SN>xx`atlRcoZETFaUNq~G9boygm;6H&k9ON=O!{5%tYq{2Dt^5kJqtKK!-OBwUe$=Pk#%x==KHt5 zmf2HXQvyyJCf~eCM?Wuu8T#g__QR@5_vQSgn@`r`w5NQry$h7eTuK^9%6AXV^r$qU zJTmdLOd8bPOBfsjr|DP>I?7UMy4SlBBjki-6VB0<{;l|ae)YeG{}z6|&~=2G;;`An zasQ)YNSPN#Ri0^d7qYYp^!oN6NBmOe4V4~hwDMG9aSMSAtBN2t-&3EdfoNUgPm;`sh#blyt+l= zz*6?;^0&Hrui&6+Vv@^TK=$%C*5|CC2KG{=Vy(4o09tDDrQf+FpsCDc&Y^zW7>xlJfFs zM`3;KiM-nne+9k8Rx)yx`sV%Zi0pT{xgHCk%l6s&LV{$U=QJq`jE0hJLp=D{t5-}A zVyf3UK?_j4}u3`rGks7Re(fEKDPi=gMl6) zR*MimQ3brg2UxIZl5`FqeIB4()}Krw)I4;8Io+9-GK7CiMhoG333OeSd^cWSEf@|E zCNx@G$yh@T+<5r!$frHG@yK%6+BCG($`-ZHAz{^JM{Z~AY$i?()@bDmy9MZ4h^hJM zB~jTqO?~BT9~dI5;R@~Lg8}it6lVx4O>JUJvzA+c&y@GR*>+cGO6vK4b+^*P%2m~? HHGBULZQAAm diff --git a/man/AMR.Rd b/man/AMR.Rd new file mode 100644 index 00000000..58e38208 --- /dev/null +++ b/man/AMR.Rd @@ -0,0 +1,36 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/zzz.R +\name{AMR} +\alias{AMR} +\title{The \code{AMR} Package} +\description{ +Welcome to the \code{AMR} package. This page gives some additional contact information abount the authors. +} +\details{ +This package was intended to simplify the analysis and prediction of Antimicrobial Resistance (AMR) and work with antibiotic properties by using evidence-based methods. + +This package was created for academic research by PhD students of the Faculty of Medical Sciences of the University of Groningen and the Medical Microbiology & Infection Prevention (MMBI) department of the University Medical Center Groningen (UMCG). +} +\section{Authors}{ + +Matthijs S. Berends[1,2] Christian F. Luz[1], Erwin E.A. Hassing[2], Corinna Glasner[1], Alex W. Friedrich[1], Bhanu Sinha[1] \cr + +[1] Department of Medical Microbiology, University of Groningen, University Medical Center Groningen, Groningen, the Netherlands - \url{rug.nl} \url{umcg.nl} \cr +[2] Certe Medical Diagnostics & Advice, Groningen, the Netherlands - \url{certe.nl} +} + +\section{Contact us}{ + +For suggestions, comments or questions, please contact us at: + +Matthijs S. Berends \cr +m.s.berends [at] umcg [dot] nl \cr +Department of Medical Microbiology, University of Groningen \cr +University Medical Center Groningen \cr +Post Office Box 30001 \cr +9700 RB Groningen + +If you have found a bug, please file a new issue at: \cr +\url{https://github.com/msberends/AMR/issues} +} + diff --git a/man/as.mo.Rd b/man/as.mo.Rd index 7545f250..41d658a6 100644 --- a/man/as.mo.Rd +++ b/man/as.mo.Rd @@ -44,7 +44,6 @@ Some exceptions have been built in to get more logical results, based on prevale \itemize{ \item{\code{"E. coli"} will return the ID of \emph{Escherichia coli} and not \emph{Entamoeba coli}, although the latter would alphabetically come first} \item{\code{"H. influenzae"} will return the ID of \emph{Haemophilus influenzae} and not \emph{Haematobacter influenzae}} - \item{Something like \code{"s pyo"} will return the ID of \emph{Streptococcus pyogenes} and not \emph{Actinomyes pyogenes}} \item{Something like \code{"p aer"} will return the ID of \emph{Pseudomonas aeruginosa} and not \emph{Pasteurella aerogenes}} \item{Something like \code{"stau"} or \code{"staaur"} will return the ID of \emph{Staphylococcus aureus} and not \emph{Staphylococcus auricularis}} } diff --git a/man/microorganisms.Rd b/man/microorganisms.Rd index b02f309d..f43be0d4 100755 --- a/man/microorganisms.Rd +++ b/man/microorganisms.Rd @@ -4,7 +4,7 @@ \name{microorganisms} \alias{microorganisms} \title{Data set with human pathogenic microorganisms} -\format{A \code{\link{tibble}} with 2,669 observations and 16 variables: +\format{A \code{\link{tibble}} with 2,669 observations and 10 variables: \describe{ \item{\code{mo}}{ID of microorganism} \item{\code{bactsys}}{Bactsyscode of microorganism} @@ -16,12 +16,6 @@ \item{\code{aerobic}}{Logical whether bacteria is aerobic} \item{\code{type}}{Type of microorganism, like \code{"Bacteria"} and \code{"Fungus/yeast"}} \item{\code{gramstain}}{Gram of microorganism, like \code{"Negative rods"}} - \item{\code{type_de}}{Type of microorganism in German, like \code{"Bakterien"} and \code{"Pilz/Hefe"}} - \item{\code{gramstain_de}}{Gram of microorganism in German, like \code{"Negative Staebchen"}} - \item{\code{type_nl}}{Type of microorganism in Dutch, like \code{"Bacterie"} and \code{"Schimmel/gist"}} - \item{\code{gramstain_nl}}{Gram of microorganism in Dutch, like \code{"Negatieve staven"}} - \item{\code{type_es}}{Type of microorganism in Spanish, like \code{"Bacteria"} and \code{"Hongo/levadura"}} - \item{\code{gramstain_es}}{Gram of microorganism in Spanish, like \code{"Bacilos negativos"}} }} \usage{ microorganisms diff --git a/man/mo_property.Rd b/man/mo_property.Rd index 2b32bd4b..c4551212 100644 --- a/man/mo_property.Rd +++ b/man/mo_property.Rd @@ -18,32 +18,30 @@ [2] Lancefield RC \strong{A serological differentiation of human and other groups of hemolytic streptococci}. 1933. J Exp Med. 57(4): 571–95. \url{https://dx.doi.org/10.1084/jem.57.4.571} } \usage{ -mo_property(x, property = "fullname", Becker = FALSE, - Lancefield = FALSE) - mo_family(x) mo_genus(x) -mo_species(x, Becker = FALSE, Lancefield = FALSE) +mo_species(x, Becker = FALSE, Lancefield = FALSE, language = NULL) -mo_subspecies(x, Becker = FALSE, Lancefield = FALSE) +mo_subspecies(x, Becker = FALSE, Lancefield = FALSE, language = NULL) -mo_fullname(x, Becker = FALSE, Lancefield = FALSE) +mo_fullname(x, Becker = FALSE, Lancefield = FALSE, language = NULL) -mo_shortname(x, Becker = FALSE, Lancefield = FALSE) +mo_shortname(x, Becker = FALSE, Lancefield = FALSE, language = NULL) -mo_type(x, language = "en") +mo_type(x, language = NULL) -mo_gramstain(x, language = "en") +mo_gramstain(x, language = NULL) mo_aerobic(x) + +mo_property(x, property = "fullname", Becker = FALSE, + Lancefield = FALSE, language = NULL) } \arguments{ \item{x}{any (vector of) text that can be coerced to a valid microorganism code with \code{\link{as.mo}}} -\item{property}{one of the column names of one of the \code{\link{microorganisms}} data set, like \code{"mo"}, \code{"bactsys"}, \code{"family"}, \code{"genus"}, \code{"species"}, \code{"fullname"}, \code{"gramstain"} and \code{"aerobic"}} - \item{Becker}{a logical to indicate whether \emph{Staphylococci} should be categorised into Coagulase Negative \emph{Staphylococci} ("CoNS") and Coagulase Positive \emph{Staphylococci} ("CoPS") instead of their own species, according to Karsten Becker \emph{et al.} [1]. This excludes \emph{Staphylococcus aureus} at default, use \code{Becker = "all"} to also categorise \emph{S. aureus} as "CoPS".} @@ -52,7 +50,9 @@ mo_aerobic(x) This excludes \emph{Enterococci} at default (who are in group D), use \code{Lancefield = "all"} to also categorise all \emph{Enterococci} as group D.} -\item{language}{language of the returned text, either one of \code{"en"} (English), \code{"de"} (German) or \code{"nl"} (Dutch)} +\item{language}{language of the returned text, defaults to the systems language. Either one of \code{"en"} (English), \code{"de"} (German), \code{"nl"} (Dutch), \code{"es"} (Spanish) or \code{"pt"} (Portuguese).} + +\item{property}{one of the column names of one of the \code{\link{microorganisms}} data set, like \code{"mo"}, \code{"bactsys"}, \code{"family"}, \code{"genus"}, \code{"species"}, \code{"fullname"}, \code{"gramstain"} and \code{"aerobic"}} } \value{ Character or logical (only \code{mo_aerobic}) @@ -72,14 +72,6 @@ mo_type("E. coli") # "Bacteria" mo_gramstain("E. coli") # "Negative rods" mo_aerobic("E. coli") # TRUE -# language support for Spanish, German and Dutch -mo_type("E. coli", "es") # "Bakteria" -mo_type("E. coli", "de") # "Bakterien" -mo_type("E. coli", "nl") # "Bacterie" -mo_gramstain("E. coli", "es") # "Bacilos negativos" -mo_gramstain("E. coli", "de") # "Negative Staebchen" -mo_gramstain("E. coli", "nl") # "Negatieve staven" - # Abbreviations known in the field mo_genus("MRSA") # "Staphylococcus" @@ -123,6 +115,23 @@ mo_fullname("S. pyo") # "Streptococcus pyogenes" mo_fullname("S. pyo", Lancefield = TRUE) # "Streptococcus group A" mo_shortname("S. pyo") # "S. pyogenes" mo_shortname("S. pyo", Lancefield = TRUE) # "GAS" + + +# Language support for German, Dutch, Spanish and Portuguese +mo_type("E. coli", language = "de") # "Bakterium" +mo_type("E. coli", language = "nl") # "Bacterie" +mo_type("E. coli", language = "es") # "Bakteria" +mo_gramstain("E. coli", language = "de") # "Negative Staebchen" +mo_gramstain("E. coli", language = "nl") # "Negatieve staven" +mo_gramstain("E. coli", language = "es") # "Bacilos negativos" +mo_gramstain("Giardia", language = "pt") # "Parasitas" + +mo_fullname("S. pyo", + Lancefield = TRUE, + language = "de") # "Streptococcus Gruppe A" +mo_fullname("S. pyo", + Lancefield = TRUE, + language = "nl") # "Streptococcus groep A" } \seealso{ \code{\link{microorganisms}} diff --git a/tests/testthat/test-data.R b/tests/testthat/test-data.R new file mode 100644 index 00000000..60e312b5 --- /dev/null +++ b/tests/testthat/test-data.R @@ -0,0 +1,7 @@ +context("data.R") + +test_that("data sets are valid", { + # IDs should always be unique + expect_identical(nrow(antibiotics), length(unique(antibiotics$atc))) + expect_identical(nrow(microorganisms), length(unique(microorganisms$mo))) +}) diff --git a/tests/testthat/test-first_isolate.R b/tests/testthat/test-first_isolate.R index 7f3fe893..32c5e1fa 100755 --- a/tests/testthat/test-first_isolate.R +++ b/tests/testthat/test-first_isolate.R @@ -10,7 +10,7 @@ test_that("first isolates work", { col_mo = "mo", info = TRUE), na.rm = TRUE), - 1331) + 1330) # septic_patients contains 1426 out of 2000 first *weighted* isolates expect_equal( @@ -24,7 +24,7 @@ test_that("first isolates work", { type = "keyantibiotics", info = TRUE), na.rm = TRUE)), - 1426) + 1425) # and 1449 when not ignoring I expect_equal( suppressWarnings( @@ -38,7 +38,7 @@ test_that("first isolates work", { type = "keyantibiotics", info = TRUE), na.rm = TRUE)), - 1449) + 1448) # and 1430 when using points expect_equal( suppressWarnings( @@ -64,7 +64,7 @@ test_that("first isolates work", { info = TRUE, icu_exclude = TRUE), na.rm = TRUE), - 1176) + 1175) # set 1500 random observations to be of specimen type 'Urine' random_rows <- sample(x = 1:2000, size = 1500, replace = FALSE) diff --git a/tests/testthat/test-mo.R b/tests/testthat/test-mo.R index 50cc4157..405d4e23 100644 --- a/tests/testthat/test-mo.R +++ b/tests/testthat/test-mo.R @@ -13,6 +13,7 @@ test_that("as.mo works", { expect_equal(as.character(as.mo("Klebsiella")), "KLE") expect_equal(as.character(as.mo("K. pneu rhino")), "KLEPNERH") # K. pneumoniae subspp. rhinoscleromatis expect_equal(as.character(as.mo("Bartonella")), "BAR") + expect_equal(as.character(as.mo("C. difficile")), "CLODIF") expect_equal(as.character(as.mo("S. pyo")), "STCPYO") # not Actinomyces pyogenes diff --git a/tests/testthat/test-mo_property.R b/tests/testthat/test-mo_property.R index f3e77946..545dd23d 100644 --- a/tests/testthat/test-mo_property.R +++ b/tests/testthat/test-mo_property.R @@ -6,8 +6,8 @@ test_that("mo_property works", { expect_equal(mo_species("E. coli"), "coli") expect_equal(mo_subspecies("E. coli"), "") expect_equal(mo_fullname("E. coli"), "Escherichia coli") - expect_equal(mo_type("E. coli"), "Bacteria") - expect_equal(mo_gramstain("E. coli"), "Negative rods") + expect_equal(mo_type("E. coli", language = "en"), "Bacteria") + expect_equal(mo_gramstain("E. coli", language = "en"), "Negative rods") expect_equal(mo_aerobic("E. coli"), TRUE) expect_equal(mo_shortname("MRSA"), "S. aureus") @@ -16,8 +16,8 @@ test_that("mo_property works", { expect_equal(mo_shortname("S. aga"), "S. agalactiae") expect_equal(mo_shortname("S. aga", Lancefield = TRUE), "GBS") - expect_equal(mo_type("E. coli", language = "de"), "Bakterien") - expect_equal(mo_gramstain("E. coli", language = "de"), "Negative Staebchen") + expect_equal(mo_type("E. coli", language = "de"), "Bakterium") + expect_equal(mo_gramstain("E. coli", language = "de"), "Negative St\u00e4bchen") expect_equal(mo_type("E. coli", language = "nl"), "Bacterie") expect_equal(mo_gramstain("E. coli", language = "nl"), "Negatieve staven") diff --git a/vignettes/AMR.Rmd b/vignettes/AMR.Rmd index 9eed8f21..bbd4d17e 100755 --- a/vignettes/AMR.Rmd +++ b/vignettes/AMR.Rmd @@ -34,7 +34,7 @@ This `AMR` package basically does four important things: * Use `first_isolate` to identify the first isolates of every patient [using guidelines from the CLSI](https://clsi.org/standards/products/microbiology/documents/m39/) (Clinical and Laboratory Standards Institute). * You can also identify first *weighted* isolates of every patient, an adjusted version of the CLSI guideline. This takes into account key antibiotics of every strain and compares them. * Use `MDRO` (abbreviation of Multi Drug Resistant Organisms) to check your isolates for exceptional resistance with country-specific guidelines or EUCAST rules. Currently, national guidelines for Germany and the Netherlands are supported. - * The data set `microorganisms` contains the family, genus, species, subspecies, colloquial name and Gram stain of almost 3,000 potential human pathogenic microorganisms (bacteria, fungi/yeasts and parasites). This enables resistance analysis of e.g. different antibiotics per Gram stain. The package also contains functions to look up values in this data set like `mo_genus`, `mo_family` or `mo_gramstain`. As they use `as.mo` internally, they also use artificial intelligence. For example, `mo_genus("MRSA")` and `mo_genus("S. aureus")` will both return `"Staphylococcus"`. Some functions can return results in Spanish, German and Dutch. These functions can be used to add new variables to your data. + * The data set `microorganisms` contains the family, genus, species, subspecies, colloquial name and Gram stain of almost 3,000 potential human pathogenic microorganisms (bacteria, fungi/yeasts and parasites). This enables resistance analysis of e.g. different antibiotics per Gram stain. The package also contains functions to look up values in this data set like `mo_genus`, `mo_family` or `mo_gramstain`. As they use `as.mo` internally, they also use artificial intelligence. For example, `mo_genus("MRSA")` and `mo_genus("S. aureus")` will both return `"Staphylococcus"`. They also come with support for German, Dutch, Spanish and Portuguese. These functions can be used to add new variables to your data. * The data set `antibiotics` contains the ATC code, LIS codes, official name, trivial name and DDD of both oral and parenteral administration. It also contains a total of 298 trade names. Use functions like `ab_official` and `ab_tradenames` to look up values. As the `mo_*` functions use `as.mo` internally, the `ab_*` functions use `as.atc` internally so it uses AI to guess your expected result. For example, `ab_official("Fluclox")`, `ab_official("Floxapen")` and `ab_official("J01CF05")` will all return `"Flucloxacillin"`. These functions can again be used to add new variables to your data. 3. It **analyses the data** with convenient functions that use well-known methods.