From b319b89750a2ed32c89fae3305dd7c207243cb5a Mon Sep 17 00:00:00 2001 From: "Matthijs S. Berends" Date: Sat, 9 Mar 2019 08:21:00 +0100 Subject: [PATCH] WHONET fix --- DESCRIPTION | 2 +- R/mo.R | 10 +++ R/mo_property.R | 38 +++++----- docs/articles/SPSS.html | 2 +- docs/articles/benchmarks.html | 70 +++++++++--------- .../figure-html/unnamed-chunk-5-1.png | Bin 28551 -> 28565 bytes docs/reference/as.mo.html | 1 + docs/reference/mo_property.html | 12 +-- man/as.mo.Rd | 1 + man/mo_property.Rd | 12 +-- 10 files changed, 80 insertions(+), 68 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index b375bd7f..7c259842 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: AMR Version: 0.5.0.9021 -Date: 2019-03-06 +Date: 2019-03-09 Title: Antimicrobial Resistance Analysis Authors@R: c( person( diff --git a/R/mo.R b/R/mo.R index 94123298..5cfc5b9b 100755 --- a/R/mo.R +++ b/R/mo.R @@ -122,6 +122,7 @@ #' @importFrom dplyr %>% pull left_join #' @examples #' # These examples all return "B_STPHY_AUR", the ID of S. aureus: +#' as.mo("sau") # WHONET code #' as.mo("stau") #' as.mo("STAU") #' as.mo("staaur") @@ -598,6 +599,7 @@ exec_as.mo <- function(x, Becker = FALSE, Lancefield = FALSE, } # TRY OTHER SOURCES ---- + # WHONET and other common LIS codes if (toupper(x_backup[i]) %in% AMR::microorganisms.codes[, 1]) { mo_found <- AMR::microorganisms.codes[toupper(x_backup[i]) == AMR::microorganisms.codes[, 1], "mo"][1L] if (length(mo_found) > 0) { @@ -606,6 +608,7 @@ exec_as.mo <- function(x, Becker = FALSE, Lancefield = FALSE, } } if (!is.null(reference_df)) { + # self-defined reference if (x_backup[i] %in% reference_df[, 1]) { ref_mo <- reference_df[reference_df[, 1] == x_backup[i], "mo"] if (ref_mo %in% microorganismsDT[, mo]) { @@ -617,6 +620,13 @@ exec_as.mo <- function(x, Becker = FALSE, Lancefield = FALSE, } } + # allow no codes less than 4 characters long, was already checked for WHONET above + if (nchar(x_trimmed[i]) < 4) { + x[i] <- microorganismsDT[mo == "UNKNOWN", ..property][[1]] + failures <- c(failures, x_backup[i]) + next + } + check_per_prevalence <- function(data_to_check, a.x_backup, b.x_trimmed, diff --git a/R/mo_property.R b/R/mo_property.R index b3ece779..d8ad30f4 100755 --- a/R/mo_property.R +++ b/R/mo_property.R @@ -222,32 +222,32 @@ mo_genus <- function(x, language = get_locale(), ...) { #' @rdname mo_property #' @export -mo_family <- function(x, ...) { - mo_validate(x = x, property = "family", ...) +mo_family <- function(x, language = get_locale(), ...) { + mo_translate(mo_validate(x = x, property = "family", ...), language = language) } #' @rdname mo_property #' @export -mo_order <- function(x, ...) { - mo_validate(x = x, property = "order", ...) +mo_order <- function(x, language = get_locale(), ...) { + mo_translate(mo_validate(x = x, property = "order", ...), language = language) } #' @rdname mo_property #' @export -mo_class <- function(x, ...) { - mo_validate(x = x, property = "class", ...) +mo_class <- function(x, language = get_locale(), ...) { + mo_translate(mo_validate(x = x, property = "class", ...), language = language) } #' @rdname mo_property #' @export -mo_phylum <- function(x, ...) { - mo_validate(x = x, property = "phylum", ...) +mo_phylum <- function(x, language = get_locale(), ...) { + mo_translate(mo_validate(x = x, property = "phylum", ...), language = language) } #' @rdname mo_property #' @export -mo_kingdom <- function(x, ...) { - mo_validate(x = x, property = "kingdom", ...) +mo_kingdom <- function(x, language = get_locale(), ...) { + mo_translate(mo_validate(x = x, property = "kingdom", ...), language = language) } #' @rdname mo_property @@ -306,16 +306,16 @@ mo_rank <- function(x, ...) { #' @rdname mo_property #' @export -mo_taxonomy <- function(x, ...) { +mo_taxonomy <- function(x, language = get_locale(), ...) { x <- AMR::as.mo(x, ...) - base::list(kingdom = mo_kingdom(x), - phylum = mo_phylum(x), - class = mo_class(x), - order = mo_order(x), - family = mo_family(x), - genus = mo_genus(x), - species = mo_species(x), - subspecies = mo_subspecies(x)) + base::list(kingdom = mo_kingdom(x, language = language), + phylum = mo_phylum(x, language = language), + class = mo_class(x, language = language), + order = mo_order(x, language = language), + family = mo_family(x, language = language), + genus = mo_genus(x, language = language), + species = mo_species(x, language = language), + subspecies = mo_subspecies(x, language = language)) } #' @rdname mo_property diff --git a/docs/articles/SPSS.html b/docs/articles/SPSS.html index 6ccf67a4..3461506f 100644 --- a/docs/articles/SPSS.html +++ b/docs/articles/SPSS.html @@ -192,7 +192,7 @@

How to import data from SPSS / SAS / Stata

Matthijs S. Berends

-

06 March 2019

+

09 March 2019

diff --git a/docs/articles/benchmarks.html b/docs/articles/benchmarks.html index 9f5ef3fb..6848bcaa 100644 --- a/docs/articles/benchmarks.html +++ b/docs/articles/benchmarks.html @@ -192,7 +192,7 @@

Benchmarks

Matthijs S. Berends

-

06 March 2019

+

09 March 2019

@@ -217,14 +217,14 @@ times = 10) print(S.aureus, unit = "ms", signif = 3) #> Unit: milliseconds -#> expr min lq mean median uq max neval -#> as.mo("sau") 16.50 16.60 17.0 16.70 17.00 19.0 10 -#> as.mo("stau") 31.70 31.90 51.5 32.10 49.10 166.0 10 -#> as.mo("staaur") 16.60 16.70 21.8 16.80 17.00 65.7 10 -#> as.mo("STAAUR") 16.70 16.70 27.1 16.80 17.60 77.3 10 -#> as.mo("S. aureus") 24.60 24.70 30.2 25.30 31.80 57.8 10 -#> as.mo("S. aureus") 24.60 24.60 37.7 25.10 66.00 67.4 10 -#> as.mo("Staphylococcus aureus") 7.47 7.48 11.1 7.65 8.02 41.1 10 +#> expr min lq mean median uq max neval +#> as.mo("sau") 16.60 16.60 25.2 16.80 18.00 58.3 10 +#> as.mo("stau") 31.60 31.80 44.8 32.40 72.20 76.7 10 +#> as.mo("staaur") 16.60 16.60 26.4 16.70 17.30 71.9 10 +#> as.mo("STAAUR") 16.50 16.60 16.6 16.60 16.70 16.8 10 +#> as.mo("S. aureus") 24.50 24.60 29.0 24.70 25.00 66.6 10 +#> as.mo("S. aureus") 24.30 24.60 24.6 24.60 24.70 24.9 10 +#> as.mo("Staphylococcus aureus") 7.45 7.47 11.9 7.53 7.97 50.0 10

In the table above, all measurements are shown in milliseconds (thousands of seconds). A value of 5 milliseconds means it can determine 200 input values per second. It case of 100 milliseconds, this is only 10 input values per second. The second input is the only one that has to be looked up thoroughly. All the others are known codes (the first one is a WHONET code) or common laboratory codes, or common full organism names like the last one. Full organism names are always preferred.

To achieve this speed, the as.mo function also takes into account the prevalence of human pathogenic microorganisms. The downside is of course that less prevalent microorganisms will be determined less fast. See this example for the ID of Thermus islandicus (B_THERMS_ISL), a bug probably never found before in humans:

T.islandicus <- microbenchmark(as.mo("theisl"),
@@ -236,12 +236,12 @@
 print(T.islandicus, unit = "ms", signif = 3)
 #> Unit: milliseconds
 #>                         expr   min    lq  mean median  uq max neval
-#>              as.mo("theisl") 269.0 270.0 294.0  293.0 317 320    10
-#>              as.mo("THEISL") 272.0 313.0 327.0  316.0 321 476    10
-#>       as.mo("T. islandicus") 142.0 142.0 159.0  144.0 191 205    10
-#>      as.mo("T.  islandicus") 142.0 143.0 166.0  164.0 188 196    10
-#>  as.mo("Thermus islandicus")  68.4  68.6  86.8   69.2 113 116    10
-

That takes 7.4 times as much time on average. A value of 100 milliseconds means it can only determine ~10 different input values per second. We can conclude that looking up arbitrary codes of less prevalent microorganisms is the worst way to go, in terms of calculation performance. Full names (like Thermus islandicus) are almost fast - these are the most probable input from most data sets.

+#> as.mo("theisl") 262.0 263.0 284.0 284.0 304 308 10 +#> as.mo("THEISL") 263.0 264.0 293.0 304.0 306 308 10 +#> as.mo("T. islandicus") 142.0 142.0 151.0 143.0 147 187 10 +#> as.mo("T. islandicus") 142.0 142.0 169.0 184.0 185 194 10 +#> as.mo("Thermus islandicus") 67.9 68.1 93.3 90.3 116 130 10 +

That takes 7.8 times as much time on average. A value of 100 milliseconds means it can only determine ~10 different input values per second. We can conclude that looking up arbitrary codes of less prevalent microorganisms is the worst way to go, in terms of calculation performance. Full names (like Thermus islandicus) are almost fast - these are the most probable input from most data sets.

In the figure below, we compare Escherichia coli (which is very common) with Prevotella brevis (which is moderately common) and with Thermus islandicus (which is very uncommon):

par(mar = c(5, 16, 4, 2)) # set more space for left margin text (16)
 
@@ -287,8 +287,8 @@
 print(run_it, unit = "ms", signif = 3)
 #> Unit: milliseconds
 #>            expr min  lq mean median  uq max neval
-#>  mo_fullname(x) 688 757  800    758 919 921    10
-

So transforming 500,000 values (!!) of 50 unique values only takes 0.76 seconds (758 ms). You only lose time on your unique input values.

+#> mo_fullname(x) 734 810 840 817 860 973 10 +

So transforming 500,000 values (!!) of 50 unique values only takes 0.82 seconds (817 ms). You only lose time on your unique input values.

@@ -301,9 +301,9 @@ print(run_it, unit = "ms", signif = 3) #> Unit: milliseconds #> expr min lq mean median uq max neval -#> A 11.200 11.300 11.900 12.200 12.300 12.600 10 -#> B 22.300 22.500 23.300 23.100 23.900 24.700 10 -#> C 0.339 0.519 0.612 0.564 0.768 0.776 10

+#> A 11.200 11.300 11.400 11.400 11.600 11.600 10 +#> B 22.200 22.400 26.800 22.600 22.800 63.700 10 +#> C 0.328 0.564 0.525 0.568 0.577 0.591 10

So going from mo_fullname("Staphylococcus aureus") to "Staphylococcus aureus" takes 0.0006 seconds - it doesn’t even start calculating if the result would be the same as the expected resulting value. That goes for all helper functions:

run_it <- microbenchmark(A = mo_species("aureus"),
                          B = mo_genus("Staphylococcus"),
@@ -317,14 +317,14 @@
 print(run_it, unit = "ms", signif = 3)
 #> Unit: milliseconds
 #>  expr   min    lq  mean median    uq   max neval
-#>     A 0.321 0.434 0.481  0.501 0.519 0.665    10
-#>     B 0.352 0.414 0.482  0.475 0.513 0.715    10
-#>     C 0.394 0.648 0.670  0.679 0.770 0.839    10
-#>     D 0.354 0.371 0.393  0.395 0.410 0.428    10
-#>     E 0.286 0.353 0.370  0.369 0.399 0.443    10
-#>     F 0.317 0.373 0.377  0.380 0.392 0.437    10
-#>     G 0.272 0.307 0.352  0.348 0.387 0.431    10
-#>     H 0.293 0.338 0.366  0.361 0.412 0.441    10
+#> A 0.318 0.376 0.414 0.419 0.449 0.537 10 +#> B 0.343 0.397 0.437 0.447 0.479 0.522 10 +#> C 0.325 0.380 0.486 0.482 0.554 0.703 10 +#> D 0.334 0.337 0.381 0.372 0.426 0.434 10 +#> E 0.304 0.322 0.356 0.335 0.393 0.460 10 +#> F 0.295 0.323 0.370 0.362 0.424 0.463 10 +#> G 0.296 0.321 0.362 0.348 0.387 0.470 10 +#> H 0.289 0.335 0.355 0.351 0.387 0.421 10

Of course, when running mo_phylum("Firmicutes") the function has zero knowledge about the actual microorganism, namely S. aureus. But since the result would be "Firmicutes" too, there is no point in calculating the result. And because this package ‘knows’ all phyla of all known bacteria (according to the Catalogue of Life), it can just return the initial value immediately.

@@ -351,13 +351,13 @@ print(run_it, unit = "ms", signif = 4) #> Unit: milliseconds #> expr min lq mean median uq max neval -#> en 14.97 15.49 15.46 15.56 15.60 15.65 10 -#> de 27.29 27.76 44.46 27.98 69.27 71.00 10 -#> nl 27.22 27.97 28.53 28.03 29.40 31.36 10 -#> es 27.45 27.96 32.24 28.00 28.08 69.99 10 -#> it 27.21 27.32 28.01 27.89 28.05 29.41 10 -#> fr 27.26 27.94 28.16 28.12 28.25 29.47 10 -#> pt 27.08 27.45 36.14 27.92 28.07 70.34 10
+#> en 15.57 15.87 24.21 20.71 37.98 38.78 10 +#> de 28.79 34.96 53.24 52.02 56.97 95.22 10 +#> nl 28.31 29.29 47.74 40.57 58.94 97.03 10 +#> es 28.97 30.43 42.78 34.70 51.47 72.11 10 +#> it 27.71 29.15 38.88 31.19 35.10 76.86 10 +#> fr 28.37 29.28 40.89 41.73 50.43 56.78 10 +#> pt 27.82 29.03 42.49 29.84 50.14 94.96 10

Currently supported are German, Dutch, Spanish, Italian, French and Portuguese.

diff --git a/docs/articles/benchmarks_files/figure-html/unnamed-chunk-5-1.png b/docs/articles/benchmarks_files/figure-html/unnamed-chunk-5-1.png index d8aa9d5a636cb32bdf47db8b813a2759d1214b95..a6412a798cca5cac189aa7e58cb5fb38b1aaf306 100644 GIT binary patch literal 28565 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 I%`)WQ0H)`uGynhq literal 28551 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 functions (like Examples
# NOT RUN {
 # These examples all return "B_STPHY_AUR", the ID of S. aureus:
+as.mo("sau") # WHONET code
 as.mo("stau")
 as.mo("STAU")
 as.mo("staaur")
diff --git a/docs/reference/mo_property.html b/docs/reference/mo_property.html
index 46f508c6..d91f524f 100644
--- a/docs/reference/mo_property.html
+++ b/docs/reference/mo_property.html
@@ -251,15 +251,15 @@
 
 mo_genus(x, language = get_locale(), ...)
 
-mo_family(x, ...)
+mo_family(x, language = get_locale(), ...)
 
-mo_order(x, ...)
+mo_order(x, language = get_locale(), ...)
 
-mo_class(x, ...)
+mo_class(x, language = get_locale(), ...)
 
-mo_phylum(x, ...)
+mo_phylum(x, language = get_locale(), ...)
 
-mo_kingdom(x, ...)
+mo_kingdom(x, language = get_locale(), ...)
 
 mo_type(x, language = get_locale(), ...)
 
@@ -273,7 +273,7 @@
 
 mo_rank(x, ...)
 
-mo_taxonomy(x, ...)
+mo_taxonomy(x, language = get_locale(), ...)
 
 mo_url(x, open = FALSE, ...)
 
diff --git a/man/as.mo.Rd b/man/as.mo.Rd
index ca9bd668..a621d410 100644
--- a/man/as.mo.Rd
+++ b/man/as.mo.Rd
@@ -138,6 +138,7 @@ On our website \url{https://msberends.gitlab.io/AMR} you can find \href{https://
 
 \examples{
 # These examples all return "B_STPHY_AUR", the ID of S. aureus:
+as.mo("sau") # WHONET code
 as.mo("stau")
 as.mo("STAU")
 as.mo("staaur")
diff --git a/man/mo_property.Rd b/man/mo_property.Rd
index 085dbd3d..b595e32d 100644
--- a/man/mo_property.Rd
+++ b/man/mo_property.Rd
@@ -32,15 +32,15 @@ mo_species(x, language = get_locale(), ...)
 
 mo_genus(x, language = get_locale(), ...)
 
-mo_family(x, ...)
+mo_family(x, language = get_locale(), ...)
 
-mo_order(x, ...)
+mo_order(x, language = get_locale(), ...)
 
-mo_class(x, ...)
+mo_class(x, language = get_locale(), ...)
 
-mo_phylum(x, ...)
+mo_phylum(x, language = get_locale(), ...)
 
-mo_kingdom(x, ...)
+mo_kingdom(x, language = get_locale(), ...)
 
 mo_type(x, language = get_locale(), ...)
 
@@ -54,7 +54,7 @@ mo_year(x, ...)
 
 mo_rank(x, ...)
 
-mo_taxonomy(x, ...)
+mo_taxonomy(x, language = get_locale(), ...)
 
 mo_url(x, open = FALSE, ...)