From b83e6a9380fdd5b2ae4171a95bbefbdabf06640e Mon Sep 17 00:00:00 2001 From: "Matthijs S. Berends" Date: Mon, 10 Sep 2018 11:40:54 +0200 Subject: [PATCH] algoritm improvement, removed all Catabacter except for C. hongkongensis --- NEWS.md | 2 +- R/data.R | 4 ++-- R/mo.R | 21 +++++++++++++++++++-- R/mo_property.R | 6 +++++- README.md | 2 +- data/microorganisms.rda | Bin 39914 -> 39568 bytes man/microorganisms.Rd | 4 ++-- tests/testthat/test-mo.R | 5 +++-- tests/testthat/test-mo_property.R | 23 +++++++++++++++++++++++ 9 files changed, 56 insertions(+), 11 deletions(-) diff --git a/NEWS.md b/NEWS.md index 690d3c65..6af7a6fa 100755 --- a/NEWS.md +++ b/NEWS.md @@ -25,7 +25,7 @@ * Introduction to AMR as a vignette #### Changed -* Added 231 microorganisms to the `microorganisms` data set and removed the few viruses it contained, now *n* = 2,669 (2,230 bacteria, 285 fungi/yeasts, 153 parasites, 1 other) +* Added almost 200 microorganisms to the `microorganisms` data set and removed the few viruses it contained * Added three antimicrobial agents to the `antibiotics` data set: Terbinafine (D01BA02), Rifaximin (A07AA11) and Isoconazole (D01AC05) * Added 163 trade names to the `antibiotics` data set, it now contains 298 different trade names in total, e.g.: ```r diff --git a/R/data.R b/R/data.R index 22dcb533..6d391b7c 100755 --- a/R/data.R +++ b/R/data.R @@ -122,8 +122,8 @@ #' 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 10 variables: +#' A data set containing 2,630 (potential) human pathogenic microorganisms. MO codes can be looked up using \code{\link{guess_mo}}. +#' @format A \code{\link{tibble}} with 2,630 observations and 10 variables: #' \describe{ #' \item{\code{mo}}{ID of microorganism} #' \item{\code{bactsys}}{Bactsyscode of microorganism} diff --git a/R/mo.R b/R/mo.R index 3c504f46..f0a071e0 100644 --- a/R/mo.R +++ b/R/mo.R @@ -131,7 +131,7 @@ as.mo <- function(x, Becker = FALSE, Lancefield = FALSE) { # remove 'empty' genus and species values x <- gsub("(no MO)", "", x, fixed = TRUE) # remove dots and other non-text in case of "E. coli" except spaces - x <- gsub("[^a-zA-Z0-9 ]+", "", x) + x <- gsub("[^a-zA-Z0-9/ \\-]+", "", x) # but spaces before and after should be omitted x <- trimws(x, which = "both") x_trimmed <- x @@ -146,6 +146,12 @@ as.mo <- function(x, Becker = FALSE, Lancefield = FALSE) { x_withspaces_start <- paste0('^', x_withspaces) x_withspaces <- paste0('^', x_withspaces, '$') + # print(x) + # print(x_withspaces_all) + # print(x_withspaces_start) + # print(x_withspaces) + # print(x_backup) + for (i in 1:length(x)) { if (identical(x_trimmed[i], "")) { # empty values @@ -195,6 +201,11 @@ as.mo <- function(x, Becker = FALSE, Lancefield = FALSE) { x[i] <- 'PSEAER' next } + if (x_backup[i] %like% '^l.*pneum.*' & !x_backup[i] %like% '^l.*non.*pneum.*') { + # avoid detection of Legionella non pneumophila in case of Legionella pneumophila + x[i] <- 'LEGPNE' + next + } # CoNS and CoPS in different languages (support for German, Dutch, Spanish, Portuguese) if (tolower(x[i]) %like% '[ck]oagulas[ea] negatie?[vf]' @@ -250,6 +261,12 @@ as.mo <- function(x, Becker = FALSE, Lancefield = FALSE) { x[i] <- found[1L] next } + # try the same, now based on genus + species + found <- MOs[which(paste(MOs$genus, MOs$species) %like% x_withspaces[i]),]$mo + if (length(found) > 0) { + x[i] <- found[1L] + next + } # try any match keeping spaces, not ending with $ found <- MOs[which(MOs$fullname %like% x_withspaces_start[i]),]$mo if (length(found) > 0) { @@ -329,7 +346,7 @@ as.mo <- function(x, Becker = FALSE, Lancefield = FALSE) { failures <- failures[!failures %in% c(NA, NULL, NaN)] if (length(failures) > 0) { - warning("These values could not be coerced to a valid mo: ", + warning("These ", length(failures) , " values could not be coerced to a valid mo: ", paste('"', unique(failures), '"', sep = "", collapse = ', '), ".", call. = FALSE) diff --git a/R/mo_property.R b/R/mo_property.R index 92cb9d4a..f4c9034a 100644 --- a/R/mo_property.R +++ b/R/mo_property.R @@ -159,7 +159,7 @@ mo_shortname <- function(x, Becker = FALSE, Lancefield = FALSE, language = NULL) # return G. species result <- paste0(substr(mo_genus(x), 1, 1), ". ", suppressWarnings(mo_species(x))) } - result[result %in% c(". ")] <- "" + result[result %in% c(". ", "(. ")] <- "" mo_translate(result, language = language) } @@ -224,6 +224,7 @@ mo_translate <- function(x, language) { language == "de" ~ x %>% gsub("Coagulase Negative Staphylococcus","Koagulase-negative Staphylococcus", ., fixed = TRUE) %>% gsub("Coagulase Positive Staphylococcus","Koagulase-positive Staphylococcus", ., fixed = TRUE) %>% + gsub("Beta-haemolytic Streptococcus", "Beta-h\u00e4molytischer Streptococcus", ., fixed = TRUE) %>% gsub("(no MO)", "(kein MO)", ., fixed = TRUE) %>% gsub("Negative rods", "Negative St\u00e4bchen", ., fixed = TRUE) %>% gsub("Negative cocci", "Negative Kokken", ., fixed = TRUE) %>% @@ -244,6 +245,7 @@ mo_translate <- function(x, language) { language == "nl" ~ x %>% gsub("Coagulase Negative Staphylococcus","Coagulase-negatieve Staphylococcus", ., fixed = TRUE) %>% gsub("Coagulase Positive Staphylococcus","Coagulase-positieve Staphylococcus", ., fixed = TRUE) %>% + gsub("Beta-haemolytic Streptococcus", "Beta-hemolytische Streptococcus", ., fixed = TRUE) %>% gsub("(no MO)", "(geen MO)", ., fixed = TRUE) %>% gsub("Negative rods", "Negatieve staven", ., fixed = TRUE) %>% gsub("Negative cocci", "Negatieve kokken", ., fixed = TRUE) %>% @@ -264,6 +266,7 @@ mo_translate <- function(x, language) { language == "es" ~ x %>% gsub("Coagulase Negative Staphylococcus","Staphylococcus coagulasa negativo", ., fixed = TRUE) %>% gsub("Coagulase Positive Staphylococcus","Staphylococcus coagulasa positivo", ., fixed = TRUE) %>% + gsub("Beta-haemolytic Streptococcus", "Streptococcus Beta-hemol\u00edtico", ., fixed = TRUE) %>% gsub("(no MO)", "(sin MO)", ., fixed = TRUE) %>% gsub("Negative rods", "Bacilos negativos", ., fixed = TRUE) %>% gsub("Negative cocci", "Cocos negativos", ., fixed = TRUE) %>% @@ -284,6 +287,7 @@ mo_translate <- function(x, language) { language == "pt" ~ x %>% gsub("Coagulase Negative Staphylococcus","Staphylococcus coagulase negativo", ., fixed = TRUE) %>% gsub("Coagulase Positive Staphylococcus","Staphylococcus coagulase positivo", ., fixed = TRUE) %>% + gsub("Beta-haemolytic Streptococcus", "Streptococcus Beta-hemol\u00edtico", ., fixed = TRUE) %>% gsub("(no MO)", "(sem MO)", ., fixed = TRUE) %>% gsub("Negative rods", "Bacilos negativos", ., fixed = TRUE) %>% gsub("Negative cocci", "Cocos negativos", ., fixed = TRUE) %>% diff --git a/README.md b/README.md index 19141c90..aba1ff4c 100755 --- a/README.md +++ b/README.md @@ -388,7 +388,7 @@ antibiotics # A tibble: 423 x 18 # Dataset with bacteria codes and properties like gram stain and # aerobic/anaerobic -microorganisms # A tibble: 2,669 x 10 +microorganisms # A tibble: 2,630 x 10 ``` ## Copyright diff --git a/data/microorganisms.rda b/data/microorganisms.rda index 16018a32fc0af0b03541491c9eda81613df847d6..1bb364a18278e6d3c74401607e8f4682b0a56d7f 100755 GIT binary patch delta 39318 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 aC?F5)Z0nZx$;Q#;s|NsC0;6MNW@W226@IZ(N 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 uOfwZhn7P% filter(!is.na(mo)) - expect_identical(as.character(MOs$mo), as.character(as.mo(MOs$mo))) - expect_identical(MOs$fullname, mo_fullname(MOs$fullname, language = "en")) expect_identical( as.character(as.mo(c("E. coli", "H. influenzae"))), @@ -21,6 +19,9 @@ test_that("as.mo works", { 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("L. pneumophila")), "LEGPNE") + expect_equal(as.character(as.mo("L. non pneumophila")), "LEGNON") + expect_equal(as.character(as.mo("S. beta-haemolytic")), "STCHAE") 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 08209c4c..de467241 100644 --- a/tests/testthat/test-mo_property.R +++ b/tests/testthat/test-mo_property.R @@ -22,4 +22,27 @@ test_that("mo_property works", { expect_equal(mo_gramstain("E. coli", language = "nl"), "Negatieve staven") expect_error(mo_type("E. coli", language = "INVALID")) + + # test integrity + library(dplyr) + MOs <- AMR::microorganisms %>% filter(!is.na(mo)) + expect_identical(MOs$fullname, mo_fullname(MOs$fullname, language = "en")) + + mo_clean <- MOs$mo + mo_from_shortname <- as.mo(mo_shortname(mo_clean)) + mo_clean <- mo_clean[nchar(mo_from_shortname) == 6 & + !is.na(mo_from_shortname) & + !mo_from_shortname %like% "...SPP"] + mo_from_shortname <- mo_from_shortname[nchar(mo_from_shortname) == 6 & + !is.na(mo_from_shortname) & + !mo_from_shortname %like% "...SPP"] + tb <- tibble(a = substr(mo_clean, 1, 6), + b = mo_from_shortname, + c = a == b, + d = mo_shortname(a), + e = mo_shortname(b), + f = d == e) + expect_gt(sum(tb$c) / nrow(tb), 0.9) # more than 90% of MO code should be identical + expect_identical(sum(tb$f), nrow(tb)) # all shortnames should be identical + })