diff --git a/DESCRIPTION b/DESCRIPTION index 1705c0fb9..85f750712 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: AMR -Version: 1.3.0.9003 -Date: 2020-08-15 +Version: 1.3.0.9004 +Date: 2020-08-16 Title: Antimicrobial Resistance Analysis Authors@R: c( person(role = c("aut", "cre"), diff --git a/NEWS.md b/NEWS.md index d1527534d..fa7f97f12 100755 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,5 @@ -# AMR 1.3.0.9003 -## Last updated: 15 August 2020 +# AMR 1.3.0.9004 +## Last updated: 16 August 2020 ### New * Data set `intrinsic_resistant`. This data set contains all bug-drug combinations where the 'bug' is intrinsic resistant to the 'drug' according to the latest EUCAST insights. It contains just two columns: `microorganism` and `antibiotic`. @@ -11,7 +11,7 @@ intrinsic_resistant %>% filter(antibiotic == "Vancomycin", microorganism %like% "Enterococcus") %>% pull(microorganism) - # [1] "Enterococcus casseliflavus" "Enterococcus gallinarum" + #> [1] "Enterococcus casseliflavus" "Enterococcus gallinarum" ``` ### Changed @@ -27,6 +27,13 @@ your_data %>% mutate(across(where(is.disk), as.rsi)) ``` * Big speed improvement for interpreting MIC values and disk zone diameters. When interpreting 5,000 MIC values of two antibiotics (10,000 values in total), our benchmarks showed a total run time going from 80.7-85.1 seconds to 1.8-2.0 seconds. + * Added parameter 'add_intrinsic_resistance' (defaults to `FALSE`), that considers intrinsic resistance according to EUCAST +* Added intelligent data cleaning to `as.disk()`, so numbers can also be extracted from text and decimal numbers will always be rounded up: + ```r + as.disk(c("disk zone: 23.4 mm", 23.4)) + #> Class + #> [1] 24 24 + ``` * Overall speed improvement by tweaking joining functions # AMR 1.3.0 diff --git a/R/aa_helper_functions.R b/R/aa_helper_functions.R index 3e11363db..dbcdce77d 100755 --- a/R/aa_helper_functions.R +++ b/R/aa_helper_functions.R @@ -575,3 +575,9 @@ isFALSE <- function(x) { deparse1 <- function(expr, collapse = " ", width.cutoff = 500L, ...) { paste(deparse(expr, width.cutoff, ...), collapse = collapse) } +file.size <- function (...) { + base::file.info(...)$size +} +file.mtime <- function (...) { + base::file.info(...)$mtime +} diff --git a/R/data.R b/R/data.R index 6f9146403..8d06987c2 100755 --- a/R/data.R +++ b/R/data.R @@ -221,7 +221,7 @@ catalogue_of_life <- list( #' Data set for R/SI interpretation #' -#' Data set to interpret MIC and disk diffusion to R/SI values. Included guidelines are CLSI (2011-2019) and EUCAST (2011-2020). Use [as.rsi()] to transform MICs or disks measurements to R/SI values. +#' Data set to interpret MIC and disk diffusion to R/SI values. Included guidelines are CLSI (`r min(as.integer(gsub("[^0-9]", "", subset(rsi_translation, guideline %like% "CLSI")$guideline)))`-`r max(as.integer(gsub("[^0-9]", "", subset(rsi_translation, guideline %like% "CLSI")$guideline)))`) and EUCAST (`r min(as.integer(gsub("[^0-9]", "", subset(rsi_translation, guideline %like% "EUCAST")$guideline)))`-`r max(as.integer(gsub("[^0-9]", "", subset(rsi_translation, guideline %like% "EUCAST")$guideline)))`). Use [as.rsi()] to transform MICs or disks measurements to R/SI values. #' @format A [`data.frame`] with `r format(nrow(rsi_translation), big.mark = ",")` observations and `r ncol(rsi_translation)` variables: #' - `guideline`\cr Name of the guideline #' - `method`\cr Either "MIC" or "DISK" @@ -234,6 +234,8 @@ catalogue_of_life <- list( #' - `breakpoint_R`\cr Highest MIC value or lowest number of millimetres that leads to "R" #' - `uti`\cr A logical value (`TRUE`/`FALSE`) to indicate whether the rule applies to a urinary tract infection (UTI) #' @details The repository of this `AMR` package contains a file comprising this exact data set: . This file **allows for machine reading EUCAST and CLSI guidelines**, which is almost impossible with the Excel and PDF files distributed by EUCAST and CLSI. The file is updated automatically. +#' +#' #' @inheritSection AMR Read more on our website! #' @seealso [intrinsic_resistant] "rsi_translation" diff --git a/R/disk.R b/R/disk.R index 595cb3e2e..004f0f901 100644 --- a/R/disk.R +++ b/R/disk.R @@ -62,8 +62,27 @@ as.disk <- function(x, na.rm = FALSE) { na_before <- length(x[is.na(x)]) - # force it to be integer - x <- suppressWarnings(as.integer(x)) + # heavily based on the function from our cleaner package: + clean_double2 <- function(x, remove = "[^0-9.,-]", fixed = FALSE) { + x <- gsub(",", ".", x) + # remove ending dot/comma + x <- gsub("[,.]$", "", x) + # only keep last dot/comma + reverse <- function(x) sapply(lapply(strsplit(x, NULL), rev), paste, collapse = "") + x <- sub("{{dot}}", ".", + gsub(".", "", + reverse(sub(".", "}}tod{{", + reverse(x), + fixed = TRUE)), + fixed = TRUE), + fixed = TRUE) + x_clean <- gsub(remove, "", x, ignore.case = TRUE, fixed = fixed) + # remove everything that is not a number or dot + as.numeric(gsub("[^0-9.]+", "", x_clean)) + } + + # round up and make it an integer + x <- as.integer(ceiling(clean_double2(x))) # disks can never be less than 6 mm (size of smallest disk) or more than 50 mm x[x < 6 | x > 50] <- NA_integer_ diff --git a/R/rsi.R b/R/rsi.R index 81add8b8f..836b7ffd5 100755 --- a/R/rsi.R +++ b/R/rsi.R @@ -31,6 +31,7 @@ #' @inheritParams first_isolate #' @param guideline defaults to the latest included EUCAST guideline, see Details for all options #' @param conserve_capped_values a logical to indicate that MIC values starting with `">"` (but not `">="`) must always return "R" , and that MIC values starting with `"<"` (but not `"<="`) must always return "S" +#' @param add_intrinsic_resistance *(only useful when using a EUCAST guideline)* a logical to indicate whether intrinsic antibiotic resistance must also be considered for applicable bug-drug combinations, meaning that e.g. ampicillin will always return "R" in *Klebsiella* species. Determination is based on the [intrinsic_resistant] data set, that itself is based on 'EUCAST Expert Rules, Intrinsic Resistance and Exceptional Phenotypes', version `r EUCAST_VERSION_EXPERT_RULES`. #' @param threshold maximum fraction of invalid antimicrobial interpretations of `x`, please see *Examples* #' @param ... parameters passed on to methods #' @details @@ -108,6 +109,9 @@ #' #' # the dplyr way #' library(dplyr) +#' df %>% mutate_if(is.mic, as.rsi) +#' df %>% mutate_if(function(x) is.mic(x) | is.disk(x), as.rsi) +#' df %>% mutate(across(where(is.mic), as.rsi)) #' df %>% mutate_at(vars(AMP:TOB), as.rsi) #' df %>% mutate(across(AMP:TOB), as.rsi) #' @@ -282,6 +286,7 @@ as.rsi.mic <- function(x, guideline = "EUCAST", uti = FALSE, conserve_capped_values = FALSE, + add_intrinsic_resistance = FALSE, ...) { # for dplyr's across() @@ -339,7 +344,8 @@ as.rsi.mic <- function(x, ab = ab_coerced, guideline = guideline_coerced, uti = uti, - conserve_capped_values = conserve_capped_values) # exec_as.rsi will return message(font_blue(" OK.")) + conserve_capped_values = conserve_capped_values, + add_intrinsic_resistance = add_intrinsic_resistance) # exec_as.rsi will return message(font_blue(" OK.")) result } @@ -350,6 +356,7 @@ as.rsi.disk <- function(x, ab = deparse(substitute(x)), guideline = "EUCAST", uti = FALSE, + add_intrinsic_resistance = FALSE, ...) { # for dplyr's across() @@ -405,7 +412,9 @@ as.rsi.disk <- function(x, mo = mo_coerced, ab = ab_coerced, guideline = guideline_coerced, - uti = uti) # exec_as.rsi will return message(font_blue(" OK.")) + uti = uti, + conserve_capped_values = FALSE, + add_intrinsic_resistance = add_intrinsic_resistance) # exec_as.rsi will return message(font_blue(" OK.")) result } @@ -416,6 +425,7 @@ as.rsi.data.frame <- function(x, guideline = "EUCAST", uti = NULL, conserve_capped_values = FALSE, + add_intrinsic_resistance = FALSE, ...) { # try to find columns based on type # -- mo @@ -534,7 +544,15 @@ get_guideline <- function(guideline) { } -exec_as.rsi <- function(method, x, mo, ab, guideline, uti, conserve_capped_values) { +exec_as.rsi <- function(method, + x, + mo, + ab, + guideline, + uti, + conserve_capped_values, + add_intrinsic_resistance) { + x_bak <- data.frame(x_mo = paste0(x, mo)) df <- unique(data.frame(x, mo), stringsAsFactors = FALSE) x <- df$x @@ -580,10 +598,23 @@ exec_as.rsi <- function(method, x, mo, ab, guideline, uti, conserve_capped_value warning("Interpretation of ", font_bold(ab_name(ab, tolower = TRUE)), " for some microorganisms is only available for (uncomplicated) urinary tract infections (UTI).\n Use parameter 'uti' to set which isolates are from urine. See ?as.rsi.", call. = FALSE) warned <- TRUE } - + for (i in seq_len(length(x))) { + if (isTRUE(add_intrinsic_resistance)) { + if (!guideline_coerced %like% "EUCAST") { + warning("Using 'add_intrinsic_resistance' is only useful when using EUCAST guidelines, since the rules for intrinsic resistance are based on EUCAST.", call. = FALSE) + } else { + get_record <- subset(intrinsic_resistant, + microorganism == mo_name(mo[i], language = NULL) & antibiotic == ab_name(ab, language = NULL)) + if (nrow(get_record) > 0) { + new_rsi[i] <- "R" + next + } + } + } + get_record <- trans %>% - # no sebsetting to UTI for now + # no subsetting to UTI for now subset(lookup %in% c(lookup_mo[i], lookup_genus[i], lookup_family[i], diff --git a/README.md b/README.md index 21d1b4b79..5cdca5260 100755 --- a/README.md +++ b/README.md @@ -1,6 +1,10 @@ % AMR (for R) # `AMR` (for R) + + + + `AMR` is a free, open-source and independent R package to simplify the analysis and prediction of Antimicrobial Resistance (AMR) and to work with microbial and antimicrobial data and properties, by using evidence-based methods. Our aim is to provide a standard for clean and reproducible antimicrobial resistance data analysis, that can therefore empower epidemiological analyses to continuously enable surveillance and treatment evaluation in any setting. diff --git a/_pkgdown.yml b/_pkgdown.yml index 1320a95a0..7cb77f590 100644 --- a/_pkgdown.yml +++ b/_pkgdown.yml @@ -44,6 +44,9 @@ navbar: - text: "Predict antimicrobial resistance" icon: "fa-dice" href: "articles/resistance_predict.html" + - text: "Download our free data sets" + icon: "fa-database" + href: "articles/datasets.html" - text: "Conduct principal component analysis for AMR" icon: "fa-compress" href: "articles/PCA.html" diff --git a/data-raw/antibiotics.dta b/data-raw/antibiotics.dta new file mode 100644 index 000000000..fe5418e93 Binary files /dev/null and b/data-raw/antibiotics.dta differ diff --git a/data-raw/antibiotics.rds b/data-raw/antibiotics.rds new file mode 100644 index 000000000..83b76dee7 Binary files /dev/null and b/data-raw/antibiotics.rds differ diff --git a/data-raw/antibiotics.sas b/data-raw/antibiotics.sas new file mode 100644 index 000000000..8cd0a8c96 Binary files /dev/null and b/data-raw/antibiotics.sas differ diff --git a/data-raw/antibiotics.sav b/data-raw/antibiotics.sav new file mode 100644 index 000000000..f65e859b7 Binary files /dev/null and b/data-raw/antibiotics.sav differ diff --git a/data-raw/antibiotics.xlsx b/data-raw/antibiotics.xlsx new file mode 100644 index 000000000..26c3921db Binary files /dev/null and b/data-raw/antibiotics.xlsx differ diff --git a/data-raw/antivirals.dta b/data-raw/antivirals.dta new file mode 100644 index 000000000..bd0b4467b Binary files /dev/null and b/data-raw/antivirals.dta differ diff --git a/data-raw/antivirals.rds b/data-raw/antivirals.rds new file mode 100644 index 000000000..be76339af Binary files /dev/null and b/data-raw/antivirals.rds differ diff --git a/data-raw/antivirals.sas b/data-raw/antivirals.sas new file mode 100644 index 000000000..8bea23244 Binary files /dev/null and b/data-raw/antivirals.sas differ diff --git a/data-raw/antivirals.sav b/data-raw/antivirals.sav new file mode 100644 index 000000000..3beb7666a Binary files /dev/null and b/data-raw/antivirals.sav differ diff --git a/data-raw/antivirals.txt b/data-raw/antivirals.txt index 90600bd01..aa38c5c46 100644 --- a/data-raw/antivirals.txt +++ b/data-raw/antivirals.txt @@ -1,31 +1,31 @@ "atc" "cid" "name" "atc_group" "synonyms" "oral_ddd" "oral_units" "iv_ddd" "iv_units" -"J05AF06" "441300" "abacavir" "Nucleoside and nucleotide reverse transcriptase inhibitors" "c(\"Abacavir\", \"Abacavir sulfate\", \"Ziagen\")" "0.6" "g" -"J05AB01" "135398513" "aciclovir" "Nucleosides and nucleotides excl. reverse transcriptase inhibitors" "c(\"Acicloftal\", \"Aciclovier\", \"Aciclovir\", \"Aciclovirum\", \"Activir\", \"AcycloFoam\", \"Acycloguanosine\", \"Acyclovir\", \"Acyclovir Lauriad\", \"ACYCLOVIR SODIUM\", \"Avirax\", \"Cargosil\", \"Cyclovir\", \"Genvir\", \"Gerpevir\", \"Hascovir\", \"Herpevir\", \"Maynar\", \"Poviral\", \"Sitavig\", \"Sitavir\", \"Vipral\", \"Virolex\", \"Viropump\", \"Virorax\", \"Zovirax\", \"Zovirax topical\", \"Zyclir\")" "4" "g" "4" "g" -"J05AF08" "60871" "adefovir dipivoxil" "Nucleoside and nucleotide reverse transcriptase inhibitors" "c(\"Adefovir di ester\", \"Adefovir dipivoxil\", \"Adefovir Dipivoxil\", \"Adefovir dipivoxyl\", \"Adefovir pivoxil\", \"Adefovirdipivoxl\", \"Bisadenine\", \"BISADENINE\", \"BisPMEA\", \"Hepsera\", \"Preveon\", \"YouHeDing\")" "10" "mg" -"J05AE05" "65016" "amprenavir" "Protease inhibitors" "c(\"Agenerase\", \"Amprenavir\", \"Amprenavirum\", \"Prozei\", \"Vertex\")" "1.2" "g" -"J05AP06" "16076883" "asunaprevir" "Antivirals for treatment of HCV infections" "c(\"Asunaprevir\", \"Sunvepra\")" -"J05AE08" "148192" "atazanavir" "Protease inhibitors" "c(\"Atazanavir\", \"Atazanavir Base\", \"Latazanavir\", \"Reyataz\", \"Zrivada\")" "0.3" "g" -"J05AR15" "86583336" "atazanavir and cobicistat" "Antivirals for treatment of HIV infections, combinations" "" -"J05AR23" "atazanavir and ritonavir" "Antivirals for treatment of HIV infections, combinations" "" "0.3" "g" -"J05AP03" "10324367" "boceprevir" "Antivirals for treatment of HCV infections" "c(\"Bocepravir\", \"Boceprevir\", \"Victrelis\")" "2.4" "g" -"J05AB15" "446727" "brivudine" "Nucleosides and nucleotides excl. reverse transcriptase inhibitors" "c(\"Bridic\", \"Brivox\", \"Brivudin\", \"Brivudina\", \"Brivudine\", \"Brivudinum\", \"BrVdUrd\", \"Helpin\", \"Zerpex\", \"Zostex\")" "0.125" "g" -"J05AB12" "60613" "cidofovir" "Nucleosides and nucleotides excl. reverse transcriptase inhibitors" "c(\"Cidofovir\", \"Cidofovir anhydrous\", \"Cidofovir gel\", \"Cidofovirum\", \"Forvade\", \"Vistide\")" "25" "mg" -"J05AF12" "73115" "clevudine" "Nucleoside and nucleotide reverse transcriptase inhibitors" "c(\"Clevudine\", \"Levovir\", \"Revovir\")" "30" "mg" -"J05AP07" "25154714" "daclatasvir" "Antivirals for treatment of HCV infections" "c(\"Daclatasvir\", \"Daklinza\")" "60" "mg" -"J05AE10" "213039" "darunavir" "Protease inhibitors" "c(\"Darunavir\", \"Darunavirum\", \"Prezista\", \"Prezista Naive\")" "1.2" "g" +"J05AF06" 441300 "abacavir" "Nucleoside and nucleotide reverse transcriptase inhibitors" "c(\"Abacavir\", \"Abacavir sulfate\", \"Ziagen\")" 0.6 "g" +"J05AB01" 135398513 "aciclovir" "Nucleosides and nucleotides excl. reverse transcriptase inhibitors" "c(\"Acicloftal\", \"Aciclovier\", \"Aciclovir\", \"Aciclovirum\", \"Activir\", \"AcycloFoam\", \"Acycloguanosine\", \"Acyclovir\", \"Acyclovir Lauriad\", \"ACYCLOVIR SODIUM\", \"Avirax\", \"Cargosil\", \"Cyclovir\", \"Genvir\", \"Gerpevir\", \"Hascovir\", \"Herpevir\", \"Maynar\", \"Poviral\", \"Sitavig\", \"Sitavir\", \"Vipral\", \"Virolex\", \"Viropump\", \"Virorax\", \"Zovirax\", \"Zovirax topical\", \"Zyclir\")" 4 "g" 4 "g" +"J05AF08" 60871 "adefovir dipivoxil" "Nucleoside and nucleotide reverse transcriptase inhibitors" "c(\"Adefovir di ester\", \"Adefovir dipivoxil\", \"Adefovir Dipivoxil\", \"Adefovir dipivoxyl\", \"Adefovir pivoxil\", \"Adefovirdipivoxl\", \"Bisadenine\", \"BISADENINE\", \"BisPMEA\", \"Hepsera\", \"Preveon\", \"YouHeDing\")" 10 "mg" +"J05AE05" 65016 "amprenavir" "Protease inhibitors" "c(\"Agenerase\", \"Amprenavir\", \"Amprenavirum\", \"Prozei\", \"Vertex\")" 1.2 "g" +"J05AP06" 16076883 "asunaprevir" "Antivirals for treatment of HCV infections" "c(\"Asunaprevir\", \"Sunvepra\")" +"J05AE08" 148192 "atazanavir" "Protease inhibitors" "c(\"Atazanavir\", \"Atazanavir Base\", \"Latazanavir\", \"Reyataz\", \"Zrivada\")" 0.3 "g" +"J05AR15" 86583336 "atazanavir and cobicistat" "Antivirals for treatment of HIV infections, combinations" "" +"J05AR23" "atazanavir and ritonavir" "Antivirals for treatment of HIV infections, combinations" "" 0.3 "g" +"J05AP03" 10324367 "boceprevir" "Antivirals for treatment of HCV infections" "c(\"Bocepravir\", \"Boceprevir\", \"Victrelis\")" 2.4 "g" +"J05AB15" 446727 "brivudine" "Nucleosides and nucleotides excl. reverse transcriptase inhibitors" "c(\"Bridic\", \"Brivox\", \"Brivudin\", \"Brivudina\", \"Brivudine\", \"Brivudinum\", \"BrVdUrd\", \"Helpin\", \"Zerpex\", \"Zostex\")" 0.125 "g" +"J05AB12" 60613 "cidofovir" "Nucleosides and nucleotides excl. reverse transcriptase inhibitors" "c(\"Cidofovir\", \"Cidofovir anhydrous\", \"Cidofovir gel\", \"Cidofovirum\", \"Forvade\", \"Vistide\")" 25 "mg" +"J05AF12" 73115 "clevudine" "Nucleoside and nucleotide reverse transcriptase inhibitors" "c(\"Clevudine\", \"Levovir\", \"Revovir\")" 30 "mg" +"J05AP07" 25154714 "daclatasvir" "Antivirals for treatment of HCV infections" "c(\"Daclatasvir\", \"Daklinza\")" 60 "mg" +"J05AE10" 213039 "darunavir" "Protease inhibitors" "c(\"Darunavir\", \"Darunavirum\", \"Prezista\", \"Prezista Naive\")" 1.2 "g" "J05AR14" "darunavir and cobicistat" "Antivirals for treatment of HIV infections, combinations" "" -"J05AP09" "56640146" "dasabuvir" "Antivirals for treatment of HCV infections" "Dasabuvir" "0.5" "g" +"J05AP09" 56640146 "dasabuvir" "Antivirals for treatment of HCV infections" "Dasabuvir" 0.5 "g" "J05AP52" "dasabuvir, ombitasvir, paritaprevir and ritonavir" "Antivirals for treatment of HCV infections" "" -"J05AG02" "5625" "delavirdine" "Non-nucleoside reverse transcriptase inhibitors" "c(\"BHAP der\", \"Delavirdin\", \"Delavirdina\", \"Delavirdine\", \"Delavirdinum\", \"PIPERAZINE\", \"Rescriptor\")" "1.2" "g" -"J05AF02" "135398739" "didanosine" "Nucleoside and nucleotide reverse transcriptase inhibitors" "c(\"Didanosina\", \"Didanosine\", \"Didanosinum\", \"Dideoxyinosine\", \"DIDEOXYINOSINE\", \"Hypoxanthine ddN\", \"Videx\", \"Videx EC\")" "0.4" "g" -"J05AX12" "54726191" "dolutegravir" "Other antivirals" "c(\"Dolutegravir\", \"Dolutegravir Sodium\", \"Soltegravir\", \"Tivicay\")" "50" "mg" -"J05AR21" "131801472" "dolutegravir and rilpivirine" "Antivirals for treatment of HIV infections, combinations" "" -"J05AG06" "58460047" "doravirine" "Non-nucleoside reverse transcriptase inhibitors" "c(\"Doravirine\", \"Pifeltro\")" -"J05AG03" "64139" "efavirenz" "Non-nucleoside reverse transcriptase inhibitors" "c(\"Efavirenz\", \"Efavirenzum\", \"Eravirenz\", \"Stocrin\", \"Strocin\", \"Sustiva\")" "0.6" "g" -"J05AP54" "91669168" "elbasvir and grazoprevir" "Antivirals for treatment of HCV infections" "" -"J05AX11" "5277135" "elvitegravir" "Other antivirals" "c(\"Elvitegravir\", \"Vitekta\")" -"J05AF09" "60877" "emtricitabine" "Nucleoside and nucleotide reverse transcriptase inhibitors" "c(\"Coviracil\", \"Emtricitabin\", \"Emtricitabina\", \"Emtricitabine\", \"Emtricitabinum\", \"Emtritabine\", \"Emtriva\", \"Racivir\")" "0.2" "g" -"J05AR17" "90469070" "emtricitabine and tenofovir alafenamide" "Antivirals for treatment of HIV infections, combinations" "" +"J05AG02" 5625 "delavirdine" "Non-nucleoside reverse transcriptase inhibitors" "c(\"BHAP der\", \"Delavirdin\", \"Delavirdina\", \"Delavirdine\", \"Delavirdinum\", \"PIPERAZINE\", \"Rescriptor\")" 1.2 "g" +"J05AF02" 135398739 "didanosine" "Nucleoside and nucleotide reverse transcriptase inhibitors" "c(\"Didanosina\", \"Didanosine\", \"Didanosinum\", \"Dideoxyinosine\", \"DIDEOXYINOSINE\", \"Hypoxanthine ddN\", \"Videx\", \"Videx EC\")" 0.4 "g" +"J05AX12" 54726191 "dolutegravir" "Other antivirals" "c(\"Dolutegravir\", \"Dolutegravir Sodium\", \"Soltegravir\", \"Tivicay\")" 50 "mg" +"J05AR21" 131801472 "dolutegravir and rilpivirine" "Antivirals for treatment of HIV infections, combinations" "" +"J05AG06" 58460047 "doravirine" "Non-nucleoside reverse transcriptase inhibitors" "c(\"Doravirine\", \"Pifeltro\")" +"J05AG03" 64139 "efavirenz" "Non-nucleoside reverse transcriptase inhibitors" "c(\"Efavirenz\", \"Efavirenzum\", \"Eravirenz\", \"Stocrin\", \"Strocin\", \"Sustiva\")" 0.6 "g" +"J05AP54" 91669168 "elbasvir and grazoprevir" "Antivirals for treatment of HCV infections" "" +"J05AX11" 5277135 "elvitegravir" "Other antivirals" "c(\"Elvitegravir\", \"Vitekta\")" +"J05AF09" 60877 "emtricitabine" "Nucleoside and nucleotide reverse transcriptase inhibitors" "c(\"Coviracil\", \"Emtricitabin\", \"Emtricitabina\", \"Emtricitabine\", \"Emtricitabinum\", \"Emtritabine\", \"Emtriva\", \"Racivir\")" 0.2 "g" +"J05AR17" 90469070 "emtricitabine and tenofovir alafenamide" "Antivirals for treatment of HIV infections, combinations" "" "J05AR20" "emtricitabine, tenofovir alafenamide and bictegravir" "Antivirals for treatment of HIV infections, combinations" "" "J05AR19" "emtricitabine, tenofovir alafenamide and rilpivirine" "Antivirals for treatment of HIV infections, combinations" "" "J05AR22" "emtricitabine, tenofovir alafenamide, darunavir and cobicistat" "Antivirals for treatment of HIV infections, combinations" "" @@ -33,71 +33,71 @@ "J05AR06" "emtricitabine, tenofovir disoproxil and efavirenz" "Antivirals for treatment of HIV infections, combinations" "" "J05AR08" "emtricitabine, tenofovir disoproxil and rilpivirine" "Antivirals for treatment of HIV infections, combinations" "" "J05AR09" "emtricitabine, tenofovir disoproxil, elvitegravir and cobicistat" "Antivirals for treatment of HIV infections, combinations" "" -"J05AX07" "16130199" "enfuvirtide" "Other antivirals" "c(\"Enfurvitide\", \"Enfuvirtide\", \"Fuzeon\", \"Pentafuside\")" "0.18" "g" -"J05AX17" "10089466" "enisamium iodide" "Other antivirals" "Enisamium iodide" "1.5" "g" -"J05AF10" "135398508" "entecavir" "Nucleoside and nucleotide reverse transcriptase inhibitors" "c(\"Baraclude\", \"Entecavir\", \"Entecavir anhydrous\", \"Entecavirum\")" "0.5" "mg" -"J05AG04" "193962" "etravirine" "Non-nucleoside reverse transcriptase inhibitors" "c(\"DAPY deriv\", \"Etravine\", \"Etravirine\", \"Intelence\")" "0.4" "g" -"J05AP04" "42601552" "faldaprevir" "Antivirals for treatment of HCV infections" "Faldaprevir" -"J05AB09" "3324" "famciclovir" "Nucleosides and nucleotides excl. reverse transcriptase inhibitors" "c(\"Famciclovir\", \"Famciclovirum\", \"Famvir\", \"Oravir\")" "0.75" "g" -"J05AE07" "131536" "fosamprenavir" "Protease inhibitors" "c(\"Amprenavir phosphate\", \"Fosamprenavir\", \"Lexiva\", \"Telzir\")" "1.4" "g" -"J05AD01" "3415" "foscarnet" "Phosphonic acid derivatives" "c(\"Forscarnet\", \"Forscarnet sodium\", \"Foscarmet\", \"Foscarnet\", \"Phosphonoformate\", \"Phosphonoformic acid\")" "6.5" "g" -"J05AD02" "546" "fosfonet" "Phosphonic acid derivatives" "c(\"Fosfonet\", \"Fosfonet sodium\", \"Fosfonet Sodium\", \"Fosfonoacetate\", \"Fosfonoacetic acid\", \"Phosphonacetate\", \"Phosphonacetic acid\")" -"J05AB06" "135398740" "ganciclovir" "Nucleosides and nucleotides excl. reverse transcriptase inhibitors" "c(\"Citovirax\", \"Cymevan\", \"Cymeven\", \"Cymevene\", \"Cytovene\", \"Cytovene IV\", \"Ganciclovir\", \"Ganciclovirum\", \"Gancyclovir\", \"Hydroxyacyclovir\", \"Virgan\", \"Vitrasert\", \"Zirgan\")" "3" "g" "0.5" "g" +"J05AX07" 16130199 "enfuvirtide" "Other antivirals" "c(\"Enfurvitide\", \"Enfuvirtide\", \"Fuzeon\", \"Pentafuside\")" 0.18 "g" +"J05AX17" 10089466 "enisamium iodide" "Other antivirals" "Enisamium iodide" 1.5 "g" +"J05AF10" 135398508 "entecavir" "Nucleoside and nucleotide reverse transcriptase inhibitors" "c(\"Baraclude\", \"Entecavir\", \"Entecavir anhydrous\", \"Entecavirum\")" 0.5 "mg" +"J05AG04" 193962 "etravirine" "Non-nucleoside reverse transcriptase inhibitors" "c(\"DAPY deriv\", \"Etravine\", \"Etravirine\", \"Intelence\")" 0.4 "g" +"J05AP04" 42601552 "faldaprevir" "Antivirals for treatment of HCV infections" "Faldaprevir" +"J05AB09" 3324 "famciclovir" "Nucleosides and nucleotides excl. reverse transcriptase inhibitors" "c(\"Famciclovir\", \"Famciclovirum\", \"Famvir\", \"Oravir\")" 0.75 "g" +"J05AE07" 131536 "fosamprenavir" "Protease inhibitors" "c(\"Amprenavir phosphate\", \"Fosamprenavir\", \"Lexiva\", \"Telzir\")" 1.4 "g" +"J05AD01" 3415 "foscarnet" "Phosphonic acid derivatives" "c(\"Forscarnet\", \"Forscarnet sodium\", \"Foscarmet\", \"Foscarnet\", \"Phosphonoformate\", \"Phosphonoformic acid\")" 6.5 "g" +"J05AD02" 546 "fosfonet" "Phosphonic acid derivatives" "c(\"Fosfonet\", \"Fosfonet sodium\", \"Fosfonet Sodium\", \"Fosfonoacetate\", \"Fosfonoacetic acid\", \"Phosphonacetate\", \"Phosphonacetic acid\")" +"J05AB06" 135398740 "ganciclovir" "Nucleosides and nucleotides excl. reverse transcriptase inhibitors" "c(\"Citovirax\", \"Cymevan\", \"Cymeven\", \"Cymevene\", \"Cytovene\", \"Cytovene IV\", \"Ganciclovir\", \"Ganciclovirum\", \"Gancyclovir\", \"Hydroxyacyclovir\", \"Virgan\", \"Vitrasert\", \"Zirgan\")" 3 "g" 0.5 "g" "J05AP57" "glecaprevir and pibrentasvir" "Antivirals for treatment of HCV infections" "" "J05AX23" "ibalizumab" "Other antivirals" "" -"J05AB02" "5905" "idoxuridine" "Nucleosides and nucleotides excl. reverse transcriptase inhibitors" "c(\"Antizona\", \"Dendrid\", \"Emanil\", \"Heratil\", \"Herpesil\", \"Herpid\", \"Herpidu\", \"Herplex\", \"HERPLEX\", \"Herplex liquifilm\", \"Idexur\", \"Idossuridina\", \"Idoxene\", \"Idoxuridin\", \"Idoxuridina\", \"Idoxuridine\", \"Idoxuridinum\", \"Idu Oculos\", \"Iducher\", \"Idulea\", \"Iduoculos\", \"Iduridin\", \"Iduviran\", \"Iododeoxyridine\", \"Iododeoxyuridine\", \"Iodoxuridine\", \"Joddeoxiuridin\", \"Kerecid\", \"Kerecide\", \"Ophthalmadine\", \"Spectanefran\", \"Stoxil\", \"Synmiol\", \"Virudox\")" -"J05AE02" "5362440" "indinavir" "Protease inhibitors" "c(\"Compound J\", \"Crixivan\", \"Indinavir\", \"Indinavir anhydrous\", \"Propolis+Indinavir\")" "2.4" "g" -"J05AX05" "135449284" "inosine pranobex" "Other antivirals" "c(\"Aviral\", \"Delimmun\", \"Immunovir\", \"Imunovir\", \"Inosine pranobex\", \"Inosiplex\", \"Isoprinosin\", \"Isoprinosina\", \"Isoprinosine\", \"Isoviral\", \"Methisoprinol\", \"Methysoprinol\", \"Metisoprinol\", \"Viruxan\")" "3" "g" -"J05AF05" "60825" "lamivudine" "Nucleoside and nucleotide reverse transcriptase inhibitors" "c(\"Epivir\", \"Hepitec\", \"Heptivir\", \"Heptodin\", \"Heptovir\", \"Lamivir\", \"Lamivudin\", \"Lamivudina\", \"Lamivudine\", \"Lamivudinum\", \"Zeffix\")" "0.3" "g" +"J05AB02" 5905 "idoxuridine" "Nucleosides and nucleotides excl. reverse transcriptase inhibitors" "c(\"Antizona\", \"Dendrid\", \"Emanil\", \"Heratil\", \"Herpesil\", \"Herpid\", \"Herpidu\", \"Herplex\", \"HERPLEX\", \"Herplex liquifilm\", \"Idexur\", \"Idossuridina\", \"Idoxene\", \"Idoxuridin\", \"Idoxuridina\", \"Idoxuridine\", \"Idoxuridinum\", \"Idu Oculos\", \"Iducher\", \"Idulea\", \"Iduoculos\", \"Iduridin\", \"Iduviran\", \"Iododeoxyridine\", \"Iododeoxyuridine\", \"Iodoxuridine\", \"Joddeoxiuridin\", \"Kerecid\", \"Kerecide\", \"Ophthalmadine\", \"Spectanefran\", \"Stoxil\", \"Synmiol\", \"Virudox\")" +"J05AE02" 5362440 "indinavir" "Protease inhibitors" "c(\"Compound J\", \"Crixivan\", \"Indinavir\", \"Indinavir anhydrous\", \"Propolis+Indinavir\")" 2.4 "g" +"J05AX05" 135449284 "inosine pranobex" "Other antivirals" "c(\"Aviral\", \"Delimmun\", \"Immunovir\", \"Imunovir\", \"Inosine pranobex\", \"Inosiplex\", \"Isoprinosin\", \"Isoprinosina\", \"Isoprinosine\", \"Isoviral\", \"Methisoprinol\", \"Methysoprinol\", \"Metisoprinol\", \"Viruxan\")" 3 "g" +"J05AF05" 60825 "lamivudine" "Nucleoside and nucleotide reverse transcriptase inhibitors" "c(\"Epivir\", \"Hepitec\", \"Heptivir\", \"Heptodin\", \"Heptovir\", \"Lamivir\", \"Lamivudin\", \"Lamivudina\", \"Lamivudine\", \"Lamivudinum\", \"Zeffix\")" 0.3 "g" "J05AR02" "lamivudine and abacavir" "Antivirals for treatment of HIV infections, combinations" "" -"J05AR16" "73386700" "lamivudine and raltegravir" "Antivirals for treatment of HIV infections, combinations" "" +"J05AR16" 73386700 "lamivudine and raltegravir" "Antivirals for treatment of HIV infections, combinations" "" "J05AR12" "lamivudine and tenofovir disoproxil" "Antivirals for treatment of HIV infections, combinations" "" "J05AR13" "lamivudine, abacavir and dolutegravir" "Antivirals for treatment of HIV infections, combinations" "" "J05AR24" "lamivudine, tenofovir disoproxil and doravirine" "Antivirals for treatment of HIV infections, combinations" "" "J05AR11" "lamivudine, tenofovir disoproxil and efavirenz" "Antivirals for treatment of HIV infections, combinations" "" -"J05AX18" "45138674" "letermovir" "Other antivirals" "c(\"Letermovir\", \"Prevymis\")" "0.48" "g" "0.48" "g" -"J05AR10" "11979606" "lopinavir and ritonavir" "Antivirals for treatment of HIV infections, combinations" "c(\"Aluvia\", \"Kaletra\")" "0.8" "g" -"J05AX02" "24839946" "lysozyme" "Other antivirals" "c(\"Lysozyme chloride\", \"Lysozyme Chloride\", \"Lysozyme G\")" -"J05AX09" "3002977" "maraviroc" "Other antivirals" "c(\"Celsentri\", \"Maraviroc\", \"Selzentry\")" "0.6" "g" -"J05AX10" "471161" "maribavir" "Other antivirals" "c(\"Benzimidavir\", \"Camvia\", \"Maribavir\")" -"J05AA01" "667492" "metisazone" "Thiosemicarbazones" "c(\"Kemoviran\", \"Marboran\", \"Marborane\", \"Methisazon\", \"Methisazone\", \"Methsazone\", \"Metisazon\", \"Metisazona\", \"Metisazone\", \"Metisazonum\", \"Viruzona\")" -"J05AX01" "71655" "moroxydine" "Other antivirals" "c(\"Bimolin\", \"Flumidine\", \"Influmine\", \"Moroxidina\", \"Moroxydine\", \"Moroxydinum\", \"Vironil\", \"Virugon\", \"Virumin\", \"Wirumin\")" "0.3" "g" -"J05AE04" "64143" "nelfinavir" "Protease inhibitors" "c(\"Nelfinavir\", \"Viracept\")" "2.25" "g" -"J05AG01" "4463" "nevirapine" "Non-nucleoside reverse transcriptase inhibitors" "c(\"Nevirapine\", \"Nevirapine anhydrous\", \"Viramune\", \"Viramune IR\", \"Viramune XR\")" "0.4" "g" +"J05AX18" 45138674 "letermovir" "Other antivirals" "c(\"Letermovir\", \"Prevymis\")" 0.48 "g" 0.48 "g" +"J05AR10" 11979606 "lopinavir and ritonavir" "Antivirals for treatment of HIV infections, combinations" "c(\"Aluvia\", \"Kaletra\")" 0.8 "g" +"J05AX02" 24839946 "lysozyme" "Other antivirals" "c(\"Lysozyme chloride\", \"Lysozyme Chloride\", \"Lysozyme G\")" +"J05AX09" 3002977 "maraviroc" "Other antivirals" "c(\"Celsentri\", \"Maraviroc\", \"Selzentry\")" 0.6 "g" +"J05AX10" 471161 "maribavir" "Other antivirals" "c(\"Benzimidavir\", \"Camvia\", \"Maribavir\")" +"J05AA01" 667492 "metisazone" "Thiosemicarbazones" "c(\"Kemoviran\", \"Marboran\", \"Marborane\", \"Methisazon\", \"Methisazone\", \"Methsazone\", \"Metisazon\", \"Metisazona\", \"Metisazone\", \"Metisazonum\", \"Viruzona\")" +"J05AX01" 71655 "moroxydine" "Other antivirals" "c(\"Bimolin\", \"Flumidine\", \"Influmine\", \"Moroxidina\", \"Moroxydine\", \"Moroxydinum\", \"Vironil\", \"Virugon\", \"Virumin\", \"Wirumin\")" 0.3 "g" +"J05AE04" 64143 "nelfinavir" "Protease inhibitors" "c(\"Nelfinavir\", \"Viracept\")" 2.25 "g" +"J05AG01" 4463 "nevirapine" "Non-nucleoside reverse transcriptase inhibitors" "c(\"Nevirapine\", \"Nevirapine anhydrous\", \"Viramune\", \"Viramune IR\", \"Viramune XR\")" 0.4 "g" "J05AP53" "ombitasvir, paritaprevir and ritonavir" "Antivirals for treatment of HCV infections" "" -"J05AH02" "65028" "oseltamivir" "Neuraminidase inhibitors" "c(\"Agucort\", \"Oseltamivir\", \"Tamiflu\", \"Tamvir\")" "0.15" "g" -"J05AB13" "135398748" "penciclovir" "Nucleosides and nucleotides excl. reverse transcriptase inhibitors" "c(\"Adenovir\", \"Denavir\", \"Penciceovir\", \"Penciclovir\", \"Penciclovirum\", \"Pencyclovir\", \"Vectavir\")" -"J05AX21" "9942657" "pentanedioic acid imidazolyl ethanamide" "Other antivirals" "Ingamine" "90" "mg" -"J05AH03" "154234" "peramivir" "Neuraminidase inhibitors" "c(\"PeramiFlu\", \"Peramivir\", \"Rapiacta\", \"RAPIVAB\")" -"J05AX06" "1684" "pleconaril" "Other antivirals" "c(\"Picovir\", \"Pleconaril\", \"Pleconarilis\")" -"J05AX08" "54671008" "raltegravir" "Other antivirals" "c(\"Isentress\", \"Raltegravir\")" "0.8" "g" -"J05AP01" "37542" "ribavirin" "Antivirals for treatment of HCV infections" "c(\"Copegus\", \"Cotronak\", \"Drug: Ribavirin\", \"Ravanex\", \"Rebetol\", \"Rebetron\", \"Rebretron\", \"Ribacine\", \"Ribamide\", \"Ribamidil\", \"Ribamidyl\", \"Ribasphere\", \"Ribavirin\", \"Ribavirin Capsules\", \"Ribavirina\", \"Ribavirine\", \"Ribavirinum\", \"Ribovirin\", \"Tribavirin\", \"Varazid\", \"Vilona\", \"Viramid\", \"Viramide\", \"Virazid\", \"Virazide\", \"Virazole\")" "1" "g" -"J05AG05" "6451164" "rilpivirine" "Non-nucleoside reverse transcriptase inhibitors" "c(\"Edurant\", \"Rilpivirine\")" "25" "mg" -"J05AC02" "5071" "rimantadine" "Cyclic amines" "c(\"Remantadine\", \"Riamantadine\", \"Rimant\", \"RIMANTADIN\", \"Rimantadin A\", \"Rimantadina\", \"Rimantadine\", \"Rimantadinum\")" "0.2" "g" -"J05AE03" "392622" "ritonavir" "Protease inhibitors" "c(\"Norvir\", \"Norvir Sec\", \"Norvir Softgel\", \"Ritonavir\", \"Ritonavire\", \"Ritonavirum\")" "1.2" "g" -"J05AE01" "441243" "saquinavir" "Protease inhibitors" "c(\"Fortovase\", \"Invirase\", \"Saquinavir\")" "1.8" "g" -"J05AP05" "24873435" "simeprevir" "Antivirals for treatment of HCV infections" "c(\"Olysio\", \"Simeprevir sodium\")" "0.15" "g" -"J05AP08" "45375808" "sofosbuvir" "Antivirals for treatment of HCV infections" "c(\"Hepcinat\", \"Hepcvir\", \"Sofosbuvir\", \"Sovaldi\", \"SOVALDI\", \"SoviHep\")" "0.4" "g" -"J05AP51" "72734365" "sofosbuvir and ledipasvir" "Antivirals for treatment of HCV infections" "" -"J05AP55" "91885554" "sofosbuvir and velpatasvir" "Antivirals for treatment of HCV infections" "Epclusa Tablet" +"J05AH02" 65028 "oseltamivir" "Neuraminidase inhibitors" "c(\"Agucort\", \"Oseltamivir\", \"Tamiflu\", \"Tamvir\")" 0.15 "g" +"J05AB13" 135398748 "penciclovir" "Nucleosides and nucleotides excl. reverse transcriptase inhibitors" "c(\"Adenovir\", \"Denavir\", \"Penciceovir\", \"Penciclovir\", \"Penciclovirum\", \"Pencyclovir\", \"Vectavir\")" +"J05AX21" 9942657 "pentanedioic acid imidazolyl ethanamide" "Other antivirals" "Ingamine" 90 "mg" +"J05AH03" 154234 "peramivir" "Neuraminidase inhibitors" "c(\"PeramiFlu\", \"Peramivir\", \"Rapiacta\", \"RAPIVAB\")" +"J05AX06" 1684 "pleconaril" "Other antivirals" "c(\"Picovir\", \"Pleconaril\", \"Pleconarilis\")" +"J05AX08" 54671008 "raltegravir" "Other antivirals" "c(\"Isentress\", \"Raltegravir\")" 0.8 "g" +"J05AP01" 37542 "ribavirin" "Antivirals for treatment of HCV infections" "c(\"Copegus\", \"Cotronak\", \"Drug: Ribavirin\", \"Ravanex\", \"Rebetol\", \"Rebetron\", \"Rebretron\", \"Ribacine\", \"Ribamide\", \"Ribamidil\", \"Ribamidyl\", \"Ribasphere\", \"Ribavirin\", \"Ribavirin Capsules\", \"Ribavirina\", \"Ribavirine\", \"Ribavirinum\", \"Ribovirin\", \"Tribavirin\", \"Varazid\", \"Vilona\", \"Viramid\", \"Viramide\", \"Virazid\", \"Virazide\", \"Virazole\")" 1 "g" +"J05AG05" 6451164 "rilpivirine" "Non-nucleoside reverse transcriptase inhibitors" "c(\"Edurant\", \"Rilpivirine\")" 25 "mg" +"J05AC02" 5071 "rimantadine" "Cyclic amines" "c(\"Remantadine\", \"Riamantadine\", \"Rimant\", \"RIMANTADIN\", \"Rimantadin A\", \"Rimantadina\", \"Rimantadine\", \"Rimantadinum\")" 0.2 "g" +"J05AE03" 392622 "ritonavir" "Protease inhibitors" "c(\"Norvir\", \"Norvir Sec\", \"Norvir Softgel\", \"Ritonavir\", \"Ritonavire\", \"Ritonavirum\")" 1.2 "g" +"J05AE01" 441243 "saquinavir" "Protease inhibitors" "c(\"Fortovase\", \"Invirase\", \"Saquinavir\")" 1.8 "g" +"J05AP05" 24873435 "simeprevir" "Antivirals for treatment of HCV infections" "c(\"Olysio\", \"Simeprevir sodium\")" 0.15 "g" +"J05AP08" 45375808 "sofosbuvir" "Antivirals for treatment of HCV infections" "c(\"Hepcinat\", \"Hepcvir\", \"Sofosbuvir\", \"Sovaldi\", \"SOVALDI\", \"SoviHep\")" 0.4 "g" +"J05AP51" 72734365 "sofosbuvir and ledipasvir" "Antivirals for treatment of HCV infections" "" +"J05AP55" 91885554 "sofosbuvir and velpatasvir" "Antivirals for treatment of HCV infections" "Epclusa Tablet" "J05AP56" "sofosbuvir, velpatasvir and voxilaprevir" "Antivirals for treatment of HCV infections" "" -"J05AF04" "18283" "stavudine" "Nucleoside and nucleotide reverse transcriptase inhibitors" "c(\"Estavudina\", \"Sanilvudine\", \"Stavudin\", \"Stavudine\", \"Stavudinum\", \"Zerit Xr\", \"Zerut XR\")" "80" "mg" -"J05AR07" "15979285" "stavudine, lamivudine and nevirapine" "Antivirals for treatment of HIV infections, combinations" "STAVUDIINE" -"J05AP02" "3010818" "telaprevir" "Antivirals for treatment of HCV infections" "c(\"Incivek\", \"Incivo\", \"Telaprevir\", \"Telavic\")" "2.25" "g" -"J05AF11" "159269" "telbivudine" "Nucleoside and nucleotide reverse transcriptase inhibitors" "c(\"Epavudine\", \"Sebivo\", \"Telbivudin\", \"Telbivudine\", \"Tyzeka\")" "0.6" "g" -"J05AF13" "9574768" "tenofovir alafenamide" "Nucleoside and nucleotide reverse transcriptase inhibitors" "Vemlidy" "25" "mg" -"J05AF07" "5481350" "tenofovir disoproxil" "Nucleoside and nucleotide reverse transcriptase inhibitors" "c(\"BisPMPA\", \"PMPA prodrug\", \"Tenofovir\", \"Viread\")" "0.245" "g" +"J05AF04" 18283 "stavudine" "Nucleoside and nucleotide reverse transcriptase inhibitors" "c(\"Estavudina\", \"Sanilvudine\", \"Stavudin\", \"Stavudine\", \"Stavudinum\", \"Zerit Xr\", \"Zerut XR\")" 80 "mg" +"J05AR07" 15979285 "stavudine, lamivudine and nevirapine" "Antivirals for treatment of HIV infections, combinations" "STAVUDIINE" +"J05AP02" 3010818 "telaprevir" "Antivirals for treatment of HCV infections" "c(\"Incivek\", \"Incivo\", \"Telaprevir\", \"Telavic\")" 2.25 "g" +"J05AF11" 159269 "telbivudine" "Nucleoside and nucleotide reverse transcriptase inhibitors" "c(\"Epavudine\", \"Sebivo\", \"Telbivudin\", \"Telbivudine\", \"Tyzeka\")" 0.6 "g" +"J05AF13" 9574768 "tenofovir alafenamide" "Nucleoside and nucleotide reverse transcriptase inhibitors" "Vemlidy" 25 "mg" +"J05AF07" 5481350 "tenofovir disoproxil" "Nucleoside and nucleotide reverse transcriptase inhibitors" "c(\"BisPMPA\", \"PMPA prodrug\", \"Tenofovir\", \"Viread\")" 0.245 "g" "J05AR03" "tenofovir disoproxil and emtricitabine" "Antivirals for treatment of HIV infections, combinations" "" -"J05AX19" "5475" "tilorone" "Other antivirals" "c(\"Amiksin\", \"Amixin\", \"Amixin IC\", \"Amyxin\", \"Tiloron\", \"Tilorona\", \"Tilorone\", \"Tiloronum\")" "0.125" "g" -"J05AE09" "54682461" "tipranavir" "Protease inhibitors" "c(\"Aptivus\", \"Tipranavir\")" "1" "g" -"J05AC03" "64377" "tromantadine" "Cyclic amines" "c(\"Tromantadina\", \"Tromantadine\", \"Tromantadinum\", \"Viruserol\")" -"J05AX13" "131411" "umifenovir" "Other antivirals" "c(\"Arbidol\", \"Arbidol base\", \"Umifenovir\")" "0.8" "g" -"J05AB11" "135398742" "valaciclovir" "Nucleosides and nucleotides excl. reverse transcriptase inhibitors" "c(\"Talavir\", \"Valaciclovir\", \"Valaciclovirum\", \"ValACV\", \"Valcivir\", \"Valcyclovir\", \"Valtrex\", \"Virval\", \"Zelitrex\")" "3" "g" -"J05AB14" "135413535" "valganciclovir" "Nucleosides and nucleotides excl. reverse transcriptase inhibitors" "c(\"Cymeval\", \"Valganciclovir\")" "0.9" "g" -"J05AB03" "21704" "vidarabine" "Nucleosides and nucleotides excl. reverse transcriptase inhibitors" "c(\"Adenine arabinoside\", \"Araadenosine\", \"Arabinoside adenine\", \"Arabinosyl adenine\", \"Arabinosyladenine\", \"Spongoadenosine\", \"Vidarabin\", \"Vidarabina\", \"Vidarabine\", \"Vidarabine anhydrous\", \"Vidarabinum\", \"Vira A\", \"Vira ATM\")" -"J05AF03" "24066" "zalcitabine" "Nucleoside and nucleotide reverse transcriptase inhibitors" "c(\"Dideoxycytidine\", \"Interferon AD + ddC\", \"Zalcitabine\", \"Zalcitibine\")" "2.25" "mg" -"J05AH01" "60855" "zanamivir" "Neuraminidase inhibitors" "c(\"MODIFIED SIALIC ACID\", \"Relenza\", \"Zanamavir\", \"Zanamir\", \"Zanamivi\", \"Zanamivir\", \"Zanamivir hydrate\")" -"J05AF01" "35370" "zidovudine" "Nucleoside and nucleotide reverse transcriptase inhibitors" "c(\"Azidothymidine\", \"AZT Antiviral\", \"Beta interferon\", \"Compound S\", \"Propolis+AZT\", \"Retrovir\", \"Zidovudina\", \"Zidovudine\", \"ZIDOVUDINE\", \"Zidovudine EP III\", \"Zidovudinum\")" "0.6" "g" "0.6" "g" +"J05AX19" 5475 "tilorone" "Other antivirals" "c(\"Amiksin\", \"Amixin\", \"Amixin IC\", \"Amyxin\", \"Tiloron\", \"Tilorona\", \"Tilorone\", \"Tiloronum\")" 0.125 "g" +"J05AE09" 54682461 "tipranavir" "Protease inhibitors" "c(\"Aptivus\", \"Tipranavir\")" 1 "g" +"J05AC03" 64377 "tromantadine" "Cyclic amines" "c(\"Tromantadina\", \"Tromantadine\", \"Tromantadinum\", \"Viruserol\")" +"J05AX13" 131411 "umifenovir" "Other antivirals" "c(\"Arbidol\", \"Arbidol base\", \"Umifenovir\")" 0.8 "g" +"J05AB11" 135398742 "valaciclovir" "Nucleosides and nucleotides excl. reverse transcriptase inhibitors" "c(\"Talavir\", \"Valaciclovir\", \"Valaciclovirum\", \"ValACV\", \"Valcivir\", \"Valcyclovir\", \"Valtrex\", \"Virval\", \"Zelitrex\")" 3 "g" +"J05AB14" 135413535 "valganciclovir" "Nucleosides and nucleotides excl. reverse transcriptase inhibitors" "c(\"Cymeval\", \"Valganciclovir\")" 0.9 "g" +"J05AB03" 21704 "vidarabine" "Nucleosides and nucleotides excl. reverse transcriptase inhibitors" "c(\"Adenine arabinoside\", \"Araadenosine\", \"Arabinoside adenine\", \"Arabinosyl adenine\", \"Arabinosyladenine\", \"Spongoadenosine\", \"Vidarabin\", \"Vidarabina\", \"Vidarabine\", \"Vidarabine anhydrous\", \"Vidarabinum\", \"Vira A\", \"Vira ATM\")" +"J05AF03" 24066 "zalcitabine" "Nucleoside and nucleotide reverse transcriptase inhibitors" "c(\"Dideoxycytidine\", \"Interferon AD + ddC\", \"Zalcitabine\", \"Zalcitibine\")" 2.25 "mg" +"J05AH01" 60855 "zanamivir" "Neuraminidase inhibitors" "c(\"MODIFIED SIALIC ACID\", \"Relenza\", \"Zanamavir\", \"Zanamir\", \"Zanamivi\", \"Zanamivir\", \"Zanamivir hydrate\")" +"J05AF01" 35370 "zidovudine" "Nucleoside and nucleotide reverse transcriptase inhibitors" "c(\"Azidothymidine\", \"AZT Antiviral\", \"Beta interferon\", \"Compound S\", \"Propolis+AZT\", \"Retrovir\", \"Zidovudina\", \"Zidovudine\", \"ZIDOVUDINE\", \"Zidovudine EP III\", \"Zidovudinum\")" 0.6 "g" 0.6 "g" "J05AR01" "zidovudine and lamivudine" "Antivirals for treatment of HIV infections, combinations" "" "J05AR04" "zidovudine, lamivudine and abacavir" "Antivirals for treatment of HIV infections, combinations" "" "J05AR05" "zidovudine, lamivudine and nevirapine" "Antivirals for treatment of HIV infections, combinations" "" diff --git a/data-raw/antivirals.xlsx b/data-raw/antivirals.xlsx new file mode 100644 index 000000000..d9d5e5bc6 Binary files /dev/null and b/data-raw/antivirals.xlsx differ diff --git a/data-raw/internals.R b/data-raw/internals.R index 2f837443c..3cd8547e9 100644 --- a/data-raw/internals.R +++ b/data-raw/internals.R @@ -73,13 +73,41 @@ rm(microorganisms.translation) usethis::ui_done(paste0("Saving raw data to {usethis::ui_value('/data-raw/')}")) devtools::load_all(quiet = TRUE) # give official names to ABs and MOs -write.table(dplyr::mutate(rsi_translation, ab = ab_name(ab), mo = mo_name(mo)), - "data-raw/rsi_translation.txt", sep = "\t", na = "", row.names = FALSE) -write.table(dplyr::mutate_if(microorganisms, ~!is.numeric(.), as.character), - "data-raw/microorganisms.txt", sep = "\t", na = "", row.names = FALSE) -write.table(dplyr::mutate_if(antibiotics, ~!is.numeric(.), as.character), - "data-raw/antibiotics.txt", sep = "\t", na = "", row.names = FALSE) -write.table(dplyr::mutate_all(antivirals, as.character), - "data-raw/antivirals.txt", sep = "\t", na = "", row.names = FALSE) -write.table(intrinsic_resistant, - "data-raw/intrinsic_resistant.txt", sep = "\t", na = "", row.names = FALSE) +rsi <- dplyr::mutate(rsi_translation, ab = ab_name(ab), mo = mo_name(mo)) +saveRDS(rsi, "data-raw/rsi_translation.rds", version = 2) +write.table(rsi, "data-raw/rsi_translation.txt", sep = "\t", na = "", row.names = FALSE) +haven::write_sas(rsi, "data-raw/rsi_translation.sas") +haven::write_sav(rsi, "data-raw/rsi_translation.sav") +haven::write_dta(rsi, "data-raw/rsi_translation.dta") +openxlsx::write.xlsx(rsi, "data-raw/rsi_translation.xlsx") + +mo <- dplyr::mutate_if(microorganisms, ~!is.numeric(.), as.character) +saveRDS(mo, "data-raw/microorganisms.rds", version = 2) +write.table(mo, "data-raw/microorganisms.txt", sep = "\t", na = "", row.names = FALSE) +haven::write_sas(mo, "data-raw/microorganisms.sas") +haven::write_sav(mo, "data-raw/microorganisms.sav") +haven::write_dta(mo, "data-raw/microorganisms.dta") +openxlsx::write.xlsx(mo, "data-raw/microorganisms.xlsx") + +ab <- dplyr::mutate_if(antibiotics, ~!is.numeric(.), as.character) +saveRDS(ab, "data-raw/antibiotics.rds", version = 2) +write.table(ab, "data-raw/antibiotics.txt", sep = "\t", na = "", row.names = FALSE) +haven::write_sas(ab, "data-raw/antibiotics.sas") +haven::write_sav(ab, "data-raw/antibiotics.sav") +haven::write_dta(ab, "data-raw/antibiotics.dta") +openxlsx::write.xlsx(ab, "data-raw/antibiotics.xlsx") + +av <- dplyr::mutate_if(antivirals, ~!is.numeric(.), as.character) +saveRDS(av, "data-raw/antivirals.rds", version = 2) +write.table(av, "data-raw/antivirals.txt", sep = "\t", na = "", row.names = FALSE) +haven::write_sas(av, "data-raw/antivirals.sas") +haven::write_sav(av, "data-raw/antivirals.sav") +haven::write_dta(av, "data-raw/antivirals.dta") +openxlsx::write.xlsx(av, "data-raw/antivirals.xlsx") + +saveRDS(intrinsic_resistant, "data-raw/intrinsic_resistant.rds", version = 2) +write.table(intrinsic_resistant, "data-raw/intrinsic_resistant.txt", sep = "\t", na = "", row.names = FALSE) +haven::write_sas(intrinsic_resistant, "data-raw/intrinsic_resistant.sas") +haven::write_sav(intrinsic_resistant, "data-raw/intrinsic_resistant.sav") +haven::write_dta(intrinsic_resistant, "data-raw/intrinsic_resistant.dta") +openxlsx::write.xlsx(intrinsic_resistant, "data-raw/intrinsic_resistant.xlsx") diff --git a/data-raw/intrinsic_resistant.dta b/data-raw/intrinsic_resistant.dta new file mode 100644 index 000000000..2217c7781 Binary files /dev/null and b/data-raw/intrinsic_resistant.dta differ diff --git a/data-raw/intrinsic_resistant.rds b/data-raw/intrinsic_resistant.rds new file mode 100644 index 000000000..56beac225 Binary files /dev/null and b/data-raw/intrinsic_resistant.rds differ diff --git a/data-raw/intrinsic_resistant.sas b/data-raw/intrinsic_resistant.sas new file mode 100644 index 000000000..b558266f5 Binary files /dev/null and b/data-raw/intrinsic_resistant.sas differ diff --git a/data-raw/intrinsic_resistant.sav b/data-raw/intrinsic_resistant.sav new file mode 100644 index 000000000..c3236fa23 Binary files /dev/null and b/data-raw/intrinsic_resistant.sav differ diff --git a/data-raw/intrinsic_resistant.xlsx b/data-raw/intrinsic_resistant.xlsx new file mode 100644 index 000000000..627527e44 Binary files /dev/null and b/data-raw/intrinsic_resistant.xlsx differ diff --git a/data-raw/microorganisms.dta b/data-raw/microorganisms.dta new file mode 100644 index 000000000..3da452fee Binary files /dev/null and b/data-raw/microorganisms.dta differ diff --git a/data-raw/microorganisms.rds b/data-raw/microorganisms.rds new file mode 100644 index 000000000..2d064bda0 Binary files /dev/null and b/data-raw/microorganisms.rds differ diff --git a/data-raw/microorganisms.sas b/data-raw/microorganisms.sas new file mode 100644 index 000000000..c8403aa43 Binary files /dev/null and b/data-raw/microorganisms.sas differ diff --git a/data-raw/microorganisms.sav b/data-raw/microorganisms.sav new file mode 100644 index 000000000..450e5d8d0 Binary files /dev/null and b/data-raw/microorganisms.sav differ diff --git a/data-raw/microorganisms.xlsx b/data-raw/microorganisms.xlsx new file mode 100644 index 000000000..1e54872cb Binary files /dev/null and b/data-raw/microorganisms.xlsx differ diff --git a/data-raw/rsi_translation.dta b/data-raw/rsi_translation.dta new file mode 100644 index 000000000..838b6cd71 Binary files /dev/null and b/data-raw/rsi_translation.dta differ diff --git a/data-raw/rsi_translation.rds b/data-raw/rsi_translation.rds new file mode 100644 index 000000000..e3ab7d135 Binary files /dev/null and b/data-raw/rsi_translation.rds differ diff --git a/data-raw/rsi_translation.sas b/data-raw/rsi_translation.sas new file mode 100644 index 000000000..421961536 Binary files /dev/null and b/data-raw/rsi_translation.sas differ diff --git a/data-raw/rsi_translation.sav b/data-raw/rsi_translation.sav new file mode 100644 index 000000000..a998eb998 Binary files /dev/null and b/data-raw/rsi_translation.sav differ diff --git a/data-raw/rsi_translation.xlsx b/data-raw/rsi_translation.xlsx new file mode 100644 index 000000000..650486000 Binary files /dev/null and b/data-raw/rsi_translation.xlsx differ diff --git a/docs/404.html b/docs/404.html index 3469455d5..9eeae66fa 100644 --- a/docs/404.html +++ b/docs/404.html @@ -81,7 +81,7 @@ AMR (for R) - 1.3.0.9003 + 1.3.0.9004 @@ -117,6 +117,13 @@ Predict antimicrobial resistance +
  • + + + + Download our free data sets + +
  • diff --git a/docs/LICENSE-text.html b/docs/LICENSE-text.html index 16496ec73..8b8a95376 100644 --- a/docs/LICENSE-text.html +++ b/docs/LICENSE-text.html @@ -81,7 +81,7 @@ AMR (for R) - 1.3.0.9003 + 1.3.0.9004 @@ -117,6 +117,13 @@ Predict antimicrobial resistance
  • +
  • + + + + Download our free data sets + +
  • diff --git a/docs/articles/datasets.html b/docs/articles/datasets.html new file mode 100644 index 000000000..e402db03a --- /dev/null +++ b/docs/articles/datasets.html @@ -0,0 +1,958 @@ + + + + + + + +Data sets for download • AMR (for R) + + + + + + + + + + + + + + + + + + +
    +
    + + + + +
    +
    + + + + +

    This package contains a lot of reference data sets that are all reliable, up-to-date and free to download. You can even use them outside of R, for example to train your laboratory information system (LIS) about intrinsic resistance!

    +

    We included them in our AMR package, but also automatically ‘mirror’ them to our public repository in different software formats. On this page, we explain how to download them and how the structure of the data sets look like. The tab separated files allow for machine reading taxonomic data and EUCAST and CLSI interpretation guidelines, which is almost impossible with the Excel and PDF files distributed by EUCAST and CLSI.

    +

    Note: Years and dates of updates mentioned on this page, are from on AMR package version 1.3.0.9004, online released on 16 August 2020. If you are reading this page from within R, please visit our website for the latest update.

    +
    +

    +Microorganisms

    +

    This data set is in R available as microorganisms, after you load the AMR package.

    +
    +

    +Source

    +

    Our full taxonomy of microorganisms is based on the authoritative and comprehensive:

    + +
    +
    +

    +Structure

    +

    A data set with 67,151 rows and 16 columns, containing the following column names:

    +

    mo, fullname, kingdom, phylum, class, order, family, genus, species, subspecies, rank, ref, species_id, source, prevalence, snomed.

    +

    Included per taxonomic kingdom:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    KingdomNumber of (sub)species
    (unknown kingdom)1
    Animalia2,153
    Archaea697
    Bacteria19,244
    Chromista32,164
    Fungi9,582
    +
    +
    +

    +Download

    +

    Download the data set preferably in the software you use, so the data file already has the correct data structure. Below files were updated on 28 July 2020 20:52:40 CEST.

    + +
    +
    +

    +Example

    +

    Example rows when filtering on genus Escherichia:

    + ++++++++++++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    mofullnamekingdomphylumclassorderfamilygenusspeciessubspeciesrankrefspecies_idsourceprevalencesnomed
    B_ESCHREscherichiaBacteriaProteobacteriaGammaproteobacteriaEnterobacteralesEnterobacteriaceaeEscherichiagenusbc4fdde6867d5ecfc728000b0bfb49a3CoL164735005
    B_ESCHR_ALBREscherichia albertiiBacteriaProteobacteriaGammaproteobacteriaEnterobacteralesEnterobacteriaceaeEscherichiaalbertiispeciesHuys et al., 200336618b1ed3b8b7e5a61f40eb9386e63cCoL1419388003
    B_ESCHR_COLIEscherichia coliBacteriaProteobacteriaGammaproteobacteriaEnterobacteralesEnterobacteriaceaeEscherichiacolispeciesCastellani et al., 19193254b3db31bf16fdde669ac57bf8c4feCoL1112283007
    B_ESCHR_FRGSEscherichia fergusoniiBacteriaProteobacteriaGammaproteobacteriaEnterobacteralesEnterobacteriaceaeEscherichiafergusoniispeciesFarmer et al., 198582d98b10c456ce5f4c8c515f4e1567e2CoL172461005
    B_ESCHR_HRMNEscherichia hermanniiBacteriaProteobacteriaGammaproteobacteriaEnterobacteralesEnterobacteriaceaeEscherichiahermanniispeciesBrenner et al., 1983b16086aee36e3b46b565510083ab4b65CoL185786000
    B_ESCHR_MRMTEscherichia marmotaeBacteriaProteobacteriaGammaproteobacteriaEnterobacteralesEnterobacteriaceaeEscherichiamarmotaespeciesLiu et al., 2015792928DSMZ1
    +
    +
    +
    +

    +Antibiotic agents

    +

    This data set is in R available as antibiotics, after you load the AMR package.

    +
    +

    +Source

    +

    This data set contains all EARS-Net and ATC codes gathered from WHO and WHONET, and all compound IDs from PubChem. It also contains all brand names (synonyms) as found on PubChem and Defined Daily Doses (DDDs) for oral and parenteral administration.

    + +
    +
    +

    +Structure

    +

    A data set with 456 rows and 14 columns, containing the following column names:

    +

    ab, atc, cid, name, group, atc_group1, atc_group2, abbreviations, synonyms, oral_ddd, oral_units, iv_ddd, iv_units, loinc.

    +
    +
    +

    +Download

    +

    Download the data set preferably in the software you use, so the data file already has the correct data structure. Below files were updated on 31 July 2020 12:12:13 CEST.

    + +
    +
    +

    +Example

    +

    Example rows:

    + ++++++++++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    abatccidnamegroupatc_group1atc_group2abbreviationssynonymsoral_dddoral_unitsiv_dddiv_unitsloinc
    AMKJ01GB0637768AmikacinAminoglycosidesAminoglycoside antibacterialsOther aminoglycosidesak, ami, amik, …amicacin, amikacillin, amikacin, …1.0g13546-7, 15098-7, 17798-0, …
    AMXJ01CA0433613AmoxicillinBeta-lactams/penicillinsBeta-lactam antibacterials, penicillinsPenicillins with extended spectrumac, amox, amxactimoxi, amoclen, amolin, …1.0g1.0g16365-9, 25274-2, 3344-9, …
    AMCJ01CR0223665637Amoxicillin/clavulanic acidBeta-lactams/penicillinsBeta-lactam antibacterials, penicillinsCombinations of penicillins, incl. beta-lactamase inhibitorsa/c, amcl, aml, …amocla, amoclan, amoclav, …1.0g3.0g
    AMPJ01CA016249AmpicillinBeta-lactams/penicillinsBeta-lactam antibacterials, penicillinsPenicillins with extended spectrumam, amp, ampiacillin, adobacillin, amblosin, …2.0g2.0g21066-6, 3355-5, 33562-0, …
    AZMJ01FA10447043AzithromycinMacrolides/lincosamidesMacrolides, lincosamides and streptograminsMacrolidesaz, azi, azit, …aritromicina, azasite, azenil, …0.3g0.5g16420-2, 25233-8
    CZOJ01DB0433255CefazolinCephalosporins (1st gen.)Other beta-lactam antibacterialsFirst-generation cephalosporinscfz, cfzl, cz, …atirin, cefamezin, cefamezine, …3.0g16566-2, 25235-3, 3442-1, …
    +
    +
    +
    +

    +Antiviral agents

    +

    This data set is in R available as antivirals, after you load the AMR package.

    +
    +

    +Source

    +

    This data set contains all ATC codes gathered from WHO and all compound IDs from PubChem. It also contains all brand names (synonyms) as found on PubChem and Defined Daily Doses (DDDs) for oral and parenteral administration.

    + +
    +
    +

    +Structure

    +

    A data set with 102 rows and 9 columns, containing the following column names:

    +

    atc, cid, name, atc_group, synonyms, oral_ddd, oral_units, iv_ddd, iv_units.

    +
    +
    +

    +Download

    +

    Download the data set preferably in the software you use, so the data file already has the correct data structure. Below files were updated on 23 November 2019 19:03:43 CET.

    + +
    +
    +

    +Example

    +

    Example rows:

    + +++++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    atccidnameatc_groupsynonymsoral_dddoral_unitsiv_dddiv_units
    J05AF06441300abacavirNucleoside and nucleotide reverse transcriptase inhibitorsAbacavir, Abacavir sulfate, Ziagen0.6g
    J05AB01135398513aciclovirNucleosides and nucleotides excl. reverse transcriptase inhibitorsAcicloftal, Aciclovier, Aciclovir, …4.0g4g
    J05AF0860871adefovir dipivoxilNucleoside and nucleotide reverse transcriptase inhibitorsAdefovir di ester, Adefovir dipivoxil, Adefovir Dipivoxil, …10.0mg
    J05AE0565016amprenavirProtease inhibitorsAgenerase, Amprenavir, Amprenavirum, …1.2g
    J05AP0616076883asunaprevirAntivirals for treatment of HCV infectionsAsunaprevir, Sunvepra
    J05AE08148192atazanavirProtease inhibitorsAtazanavir, Atazanavir Base, Latazanavir, …0.3g
    +
    +
    +
    +

    +Intrinsic bacterial resistance

    +

    This data set is in R available as intrinsic_resistant, after you load the AMR package.

    +
    +

    +Source

    +

    This data set contains all defined intrinsic resistance by EUCAST of all bug-drug combinations.

    +

    The data set is based on ‘EUCAST Expert Rules, Intrinsic Resistance and Exceptional Phenotypes’, version 3.1, 2016.

    +
    +
    +

    +Structure

    +

    A data set with 49,462 rows and 2 columns, containing the following column names:

    +

    microorganism, antibiotic.

    +
    +
    +

    +Download

    +

    Download the data set preferably in the software you use, so the data file already has the correct data structure. Below files were updated on 14 August 2020 14:18:20 CEST.

    + +
    +
    +

    +Example

    +

    Example rows:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    microorganismantibiotic
    KlebsiellaAmoxicillin
    KlebsiellaAmpicillin
    KlebsiellaAzithromycin
    KlebsiellaClarithromycin
    KlebsiellaDaptomycin
    KlebsiellaErythromycin
    +
    +
    +
    +

    +Interpretation from MIC values / disk diameters to R/SI

    +

    This data set is in R available as rsi_translation, after you load the AMR package.

    +
    +

    +Source

    +

    This data set contains interpretation rules for MIC values and disk diffusion diameters. Included guidelines are CLSI (2010-2019) and EUCAST (2011-2020).

    +
    +
    +

    +Structure

    +

    A data set with 18,650 rows and 10 columns, containing the following column names:

    +

    guideline, method, site, mo, ab, ref_tbl, disk_dose, breakpoint_S, breakpoint_R, uti.

    +
    +
    +

    +Download

    +

    Download the data set preferably in the software you use, so the data file already has the correct data structure. Below files were updated on 29 July 2020 13:12:34 CEST.

    + +
    +
    +

    +Example

    +

    Example rows:

    + ++++++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    guidelinemethodsitemoabref_tbldisk_dosebreakpoint_Sbreakpoint_Ruti
    EUCAST 2020DISKEnterobacteralesAmoxicillin/clavulanic acidEnterobacterales20-10ug1919FALSE
    EUCAST 2020DISKUTIEnterobacteralesAmoxicillin/clavulanic acidEnterobacterales20-10ug1616TRUE
    EUCAST 2020MICEnterobacteralesAmoxicillin/clavulanic acidEnterobacterales88FALSE
    EUCAST 2020MICUTIEnterobacteralesAmoxicillin/clavulanic acidEnterobacterales3232TRUE
    EUCAST 2020MICActinomycesAmoxicillin/clavulanic acidAnaerobes, Grampositive48FALSE
    EUCAST 2020MICBacteroidesAmoxicillin/clavulanic acidAnaerobes, Gramnegative48FALSE
    +
    +
    +
    + + + +
    + + + + +
    + + + + + + diff --git a/docs/articles/datasets_files/accessible-code-block-0.0.1/empty-anchor.js b/docs/articles/datasets_files/accessible-code-block-0.0.1/empty-anchor.js new file mode 100644 index 000000000..ca349fd6a --- /dev/null +++ b/docs/articles/datasets_files/accessible-code-block-0.0.1/empty-anchor.js @@ -0,0 +1,15 @@ +// Hide empty tag within highlighted CodeBlock for screen reader accessibility (see https://github.com/jgm/pandoc/issues/6352#issuecomment-626106786) --> +// v0.0.1 +// Written by JooYoung Seo (jooyoung@psu.edu) and Atsushi Yasumoto on June 1st, 2020. + +document.addEventListener('DOMContentLoaded', function() { + const codeList = document.getElementsByClassName("sourceCode"); + for (var i = 0; i < codeList.length; i++) { + var linkList = codeList[i].getElementsByTagName('a'); + for (var j = 0; j < linkList.length; j++) { + if (linkList[j].innerHTML === "") { + linkList[j].setAttribute('aria-hidden', 'true'); + } + } + } +}); diff --git a/docs/articles/index.html b/docs/articles/index.html index 6821137a3..38e31d1a9 100644 --- a/docs/articles/index.html +++ b/docs/articles/index.html @@ -81,7 +81,7 @@ AMR (for R) - 1.3.0.9003 + 1.3.0.9004 @@ -117,6 +117,13 @@ Predict antimicrobial resistance
  • +
  • + + + + Download our free data sets + +
  • @@ -247,6 +254,8 @@
    Benchmarks
    +
    Data sets for download
    +
    How to predict antimicrobial resistance
    Welcome to the AMR package
    diff --git a/docs/authors.html b/docs/authors.html index fe5ae604c..429576fda 100644 --- a/docs/authors.html +++ b/docs/authors.html @@ -81,7 +81,7 @@ AMR (for R) - 1.3.0.9003 + 1.3.0.9004 @@ -117,6 +117,13 @@ Predict antimicrobial resistance
  • +
  • + + + + Download our free data sets + +
  • diff --git a/docs/extra.css b/docs/extra.css index 10dadf1af..0991f0b27 100644 --- a/docs/extra.css +++ b/docs/extra.css @@ -250,3 +250,24 @@ table a:not(.btn):hover, .table a:not(.btn):hover { background: #128f7645; color: #2c3e50; } +.home-buttons { + display: flex; + margin-bottom: 5px; +} +.home-buttons a { + display: grid; + text-align: center; + font-size: 16px; + text-transform: uppercase; + width: 25%; +} +.home-buttons a:hover { + text-decoration: none; +} +.home-buttons div { + display: grid; + padding: 10px; +} +.home-buttons .fa { + font-size: 3.5em; +} diff --git a/docs/index.html b/docs/index.html index 8e1b77675..ffd5fce98 100644 --- a/docs/index.html +++ b/docs/index.html @@ -43,7 +43,7 @@ AMR (for R) - 1.3.0.9003 + 1.3.0.9004 @@ -79,6 +79,13 @@ Predict antimicrobial resistance
  • +
  • + + + + Download our free data sets + +
  • @@ -207,6 +214,33 @@ Since you are one of our users, we would like to know how you use the package an



    +

    Partners

    @@ -245,6 +279,7 @@ Since you are one of our users, we would like to know how you use the package an

    Latest released version

    +

    This package is available here on the official R network (CRAN), which has a peer-reviewed submission process. Install this package in R from CRAN by using the command:

     install.packages("AMR")
    diff --git a/docs/news/index.html b/docs/news/index.html
    index a24afd8e3..43134cac2 100644
    --- a/docs/news/index.html
    +++ b/docs/news/index.html
    @@ -81,7 +81,7 @@
           
           
             AMR (for R)
    -        1.3.0.9003
    +        1.3.0.9004
           
         
    @@ -117,6 +117,13 @@ Predict antimicrobial resistance
  • +
  • + + + + Download our free data sets + +
  • @@ -229,13 +236,13 @@ Source: NEWS.md -
    -

    -AMR 1.3.0.9003 Unreleased +
    +

    +AMR 1.3.0.9004 Unreleased

    -
    +

    -Last updated: 15 August 2020 +Last updated: 16 August 2020

    @@ -250,7 +257,7 @@ intrinsic_resistant %>% filter(antibiotic == "Vancomycin", microorganism %like% "Enterococcus") %>% pull(microorganism) -# [1] "Enterococcus casseliflavus" "Enterococcus gallinarum" +#> [1] "Enterococcus casseliflavus" "Enterococcus gallinarum"

  • @@ -259,7 +266,8 @@

    Changed

    @@ -292,7 +309,7 @@
  • Function ab_from_text() to retrieve antimicrobial drug names, doses and forms of administration from clinical texts in e.g. health care records, which also corrects for misspelling since it uses as.ab() internally

  • Tidyverse selection helpers for antibiotic classes, that help to select the columns of antibiotics that are of a specific antibiotic class, without the need to define the columns or antibiotic abbreviations. They can be used in any function that allows selection helpers, like dplyr::select() and tidyr::pivot_longer():

    -
    +
     library(dplyr)
     
     # Columns 'IPM' and 'MEM' are in the example_isolates data set
    @@ -481,7 +498,7 @@ This works for all drug combinations, such as ampicillin/sulbactam, ceftazidime/
     
  • Fixed important floating point error for some MIC comparisons in EUCAST 2020 guideline

  • Interpretation from MIC values (and disk zones) to R/SI can now be used with mutate_at() of the dplyr package:

    -
    +
     yourdata %>% 
       mutate_at(vars(antibiotic1:antibiotic25), as.rsi, mo = "E. coli")
     
    @@ -510,7 +527,7 @@ This works for all drug combinations, such as ampicillin/sulbactam, ceftazidime/
     
    • Support for LOINC codes in the antibiotics data set. Use ab_loinc() to retrieve LOINC codes, or use a LOINC code for input in any ab_* function:

      -
      +
       ab_loinc("ampicillin")
       #> [1] "21066-6" "3355-5"  "33562-0" "33919-2" "43883-8" "43884-6" "87604-5"
       ab_name("21066-6")
      @@ -521,7 +538,7 @@ This works for all drug combinations, such as ampicillin/sulbactam, ceftazidime/
       
    • Support for SNOMED CT codes in the microorganisms data set. Use mo_snomed() to retrieve SNOMED codes, or use a SNOMED code for input in any mo_* function:

      -
      +
       mo_snomed("S. aureus")
       #> [1] 115329001   3092008 113961008
       mo_name(115329001)
      @@ -586,11 +603,11 @@ This works for all drug combinations, such as ampicillin/sulbactam, ceftazidime/
       
      • If you were dependent on the old Enterobacteriaceae family e.g. by using in your code:

        -
        +
         if (mo_family(somebugs) == "Enterobacteriaceae") ...
         

        then please adjust this to:

        -
        +
         if (mo_order(somebugs) == "Enterobacterales") ...
         
      • @@ -604,7 +621,7 @@ This works for all drug combinations, such as ampicillin/sulbactam, ceftazidime/
        • Functions susceptibility() and resistance() as aliases of proportion_SI() and proportion_R(), respectively. These functions were added to make it more clear that “I” should be considered susceptible and not resistant.

          -
          +
           library(dplyr)
           example_isolates %>%
             group_by(bug = mo_name(mo)) %>% 
          @@ -633,7 +650,7 @@ This works for all drug combinations, such as ampicillin/sulbactam, ceftazidime/
           
        • More intelligent way of coping with some consonants like “l” and “r”

        • Added a score (a certainty percentage) to mo_uncertainties(), that is calculated using the Levenshtein distance:

          -
          +
           as.mo(c("Stafylococcus aureus",
                   "staphylokok aureuz"))
           #> Warning: 
          @@ -692,14 +709,14 @@ This works for all drug combinations, such as ampicillin/sulbactam, ceftazidime/
           
          • Determination of first isolates now excludes all ‘unknown’ microorganisms at default, i.e. microbial code "UNKNOWN". They can be included with the new parameter include_unknown:

            -
            +
             first_isolate(..., include_unknown = TRUE)
             

            For WHONET users, this means that all records/isolates with organism code "con" (contamination) will be excluded at default, since as.mo("con") = "UNKNOWN". The function always shows a note with the number of ‘unknown’ microorganisms that were included or excluded.

          • For code consistency, classes ab and mo will now be preserved in any subsetting or assignment. For the sake of data integrity, this means that invalid assignments will now result in NA:

            -
            +
             # how it works in base R:
             x <- factor("A")
             x[1] <- "B"
            @@ -724,7 +741,7 @@ This works for all drug combinations, such as ampicillin/sulbactam, ceftazidime/
             
            • Function bug_drug_combinations() to quickly get a data.frame with the results of all bug-drug combinations in a data set. The column containing microorganism codes is guessed automatically and its input is transformed with mo_shortname() at default:

              -
              +
               x <- bug_drug_combinations(example_isolates)
               #> NOTE: Using column `mo` as input for `col_mo`.
               x[1:4, ]
              @@ -747,13 +764,13 @@ This works for all drug combinations, such as ampicillin/sulbactam, ceftazidime/
               #> NOTE: Use 'format()' on this result to get a publicable/printable format.
               

              You can format this to a printable format, ready for reporting or exporting to e.g. Excel with the base R format() function:

              -
              +
               format(x, combine_IR = FALSE)
               
            • Additional way to calculate co-resistance, i.e. when using multiple antimicrobials as input for portion_* functions or count_* functions. This can be used to determine the empiric susceptibility of a combination therapy. A new parameter only_all_tested (which defaults to FALSE) replaces the old also_single_tested and can be used to select one of the two methods to count isolates and calculate portions. The difference can be seen in this example table (which is also on the portion and count help pages), where the %SI is being determined:

              -
              +
               # --------------------------------------------------------------------
               #                     only_all_tested = FALSE  only_all_tested = TRUE
               #                     -----------------------  -----------------------
              @@ -775,7 +792,7 @@ This works for all drug combinations, such as ampicillin/sulbactam, ceftazidime/
               
            • tibble printing support for classes rsi, mic, disk, ab mo. When using tibbles containing antimicrobial columns, values S will print in green, values I will print in yellow and values R will print in red. Microbial IDs (class mo) will emphasise on the genus and species, not on the kingdom.

              -
              +
               # (run this on your own console, as this page does not support colour printing)
               library(dplyr)
               example_isolates %>%
              @@ -858,7 +875,7 @@ This works for all drug combinations, such as ampicillin/sulbactam, ceftazidime/
               
              • Function rsi_df() to transform a data.frame to a data set containing only the microbial interpretation (S, I, R), the antibiotic, the percentage of S/I/R and the number of available isolates. This is a convenient combination of the existing functions count_df() and portion_df() to immediately show resistance percentages and number of available isolates:

                -
                +
                 septic_patients %>%
                   select(AMX, CIP) %>%
                   rsi_df()
                @@ -885,7 +902,7 @@ This works for all drug combinations, such as ampicillin/sulbactam, ceftazidime/
                 
              • UPEC (Uropathogenic E. coli)

              All these lead to the microbial ID of E. coli:

              -
              +
               as.mo("UPEC")
               # B_ESCHR_COL
               mo_name("UPEC")
              @@ -990,7 +1007,7 @@ This works for all drug combinations, such as ampicillin/sulbactam, ceftazidime/
               
            • when all values are unique it now shows a message instead of a warning

            • support for boxplots:

              -
              +
               septic_patients %>% 
                 freq(age) %>% 
                 boxplot()
              @@ -1085,7 +1102,7 @@ This works for all drug combinations, such as ampicillin/sulbactam, ceftazidime/
               
            • New filters for antimicrobial classes. Use these functions to filter isolates on results in one of more antibiotics from a specific class:

              -
              +
               filter_aminoglycosides()
               filter_carbapenems()
               filter_cephalosporins()
              @@ -1099,7 +1116,7 @@ This works for all drug combinations, such as ampicillin/sulbactam, ceftazidime/
               filter_tetracyclines()
               

              The antibiotics data set will be searched, after which the input data will be checked for column names with a value in any abbreviations, codes or official names found in the antibiotics data set. For example:

              -
              +
               septic_patients %>% filter_glycopeptides(result = "R")
               # Filtering on glycopeptide antibacterials: any of `vanc` or `teic` is R
               septic_patients %>% filter_glycopeptides(result = "R", scope = "all")
              @@ -1108,7 +1125,7 @@ This works for all drug combinations, such as ampicillin/sulbactam, ceftazidime/
               
            • All ab_* functions are deprecated and replaced by atc_* functions:

              -
              +
               ab_property -> atc_property()
               ab_name -> atc_name()
               ab_official -> atc_official()
              @@ -1129,7 +1146,7 @@ This works for all drug combinations, such as ampicillin/sulbactam, ceftazidime/
               
            • New function age_groups() to split ages into custom or predefined groups (like children or elderly). This allows for easier demographic antimicrobial resistance analysis per age group.

            • New function ggplot_rsi_predict() as well as the base R plot() function can now be used for resistance prediction calculated with resistance_predict():

              -
              +
               x <- resistance_predict(septic_patients, col_ab = "amox")
               plot(x)
               ggplot_rsi_predict(x)
              @@ -1137,13 +1154,13 @@ This works for all drug combinations, such as ampicillin/sulbactam, ceftazidime/
               
            • Functions filter_first_isolate() and filter_first_weighted_isolate() to shorten and fasten filtering on data sets with antimicrobial results, e.g.:

              -
              +
               septic_patients %>% filter_first_isolate(...)
               # or
               filter_first_isolate(septic_patients, ...)
               

              is equal to:

              -
              +
               septic_patients %>%
                 mutate(only_firsts = first_isolate(septic_patients, ...)) %>%
                 filter(only_firsts == TRUE) %>%
              @@ -1176,7 +1193,7 @@ This works for all drug combinations, such as ampicillin/sulbactam, ceftazidime/
               
              • Now handles incorrect spelling, like i instead of y and f instead of ph:

                -
                +
                 # mo_fullname() uses as.mo() internally
                 
                 mo_fullname("Sthafilokockus aaureuz")
                @@ -1188,7 +1205,7 @@ This works for all drug combinations, such as ampicillin/sulbactam, ceftazidime/
                 
              • Uncertainty of the algorithm is now divided into four levels, 0 to 3, where the default allow_uncertain = TRUE is equal to uncertainty level 2. Run ?as.mo for more info about these levels.

                -
                +
                 # equal:
                 as.mo(..., allow_uncertain = TRUE)
                 as.mo(..., allow_uncertain = 2)
                @@ -1203,7 +1220,7 @@ This works for all drug combinations, such as ampicillin/sulbactam, ceftazidime/
                 
              • All microbial IDs that found are now saved to a local file ~/.Rhistory_mo. Use the new function clean_mo_history() to delete this file, which resets the algorithms.

              • Incoercible results will now be considered ‘unknown’, MO code UNKNOWN. On foreign systems, properties of these will be translated to all languages already previously supported: German, Dutch, French, Italian, Spanish and Portuguese:

                -
                +
                 mo_genus("qwerty", language = "es")
                 # Warning: 
                 # one unique value (^= 100.0%) could not be coerced and is considered 'unknown': "qwerty". Use mo_failures() to review it.
                @@ -1253,7 +1270,7 @@ This works for all drug combinations, such as ampicillin/sulbactam, ceftazidime/
                 
                • Support for tidyverse quasiquotation! Now you can create frequency tables of function outcomes:

                  -
                  +
                   # Determine genus of microorganisms (mo) in `septic_patients` data set:
                   # OLD WAY
                   septic_patients %>%
                  @@ -1337,7 +1354,7 @@ This works for all drug combinations, such as ampicillin/sulbactam, ceftazidime/
                   
                • Fewer than 3 characters as input for as.mo will return NA

                • Function as.mo (and all mo_* wrappers) now supports genus abbreviations with “species” attached

                  -
                  +
                   as.mo("E. species")        # B_ESCHR
                   mo_fullname("E. spp.")     # "Escherichia species"
                   as.mo("S. spp")            # B_STPHY
                  @@ -1354,7 +1371,7 @@ This works for all drug combinations, such as ampicillin/sulbactam, ceftazidime/
                   
                  • Support for grouping variables, test with:

                    -
                    +
                     septic_patients %>% 
                       group_by(hospital_id) %>% 
                       freq(gender)
                    @@ -1362,7 +1379,7 @@ This works for all drug combinations, such as ampicillin/sulbactam, ceftazidime/
                     
                  • Support for (un)selecting columns:

                    -
                    +
                     septic_patients %>% 
                       freq(hospital_id) %>% 
                       select(-count, -cum_count) # only get item, percent, cum_percent
                    @@ -1442,7 +1459,7 @@ This works for all drug combinations, such as ampicillin/sulbactam, ceftazidime/
                     

                  They also come with support for German, Dutch, French, Italian, Spanish and Portuguese:

                  -
                  +
                   mo_gramstain("E. coli")
                   # [1] "Gram negative"
                   mo_gramstain("E. coli", language = "de") # German
                  @@ -1453,7 +1470,7 @@ This works for all drug combinations, such as ampicillin/sulbactam, ceftazidime/
                   # [1] "Streptococcus grupo A"
                   

                  Furthermore, former taxonomic names will give a note about the current taxonomic name:

                  -
                  +
                   mo_gramstain("Esc blattae")
                   # Note: 'Escherichia blattae' (Burgess et al., 1973) was renamed 'Shimwellia blattae' (Priest and Barker, 2010)
                   # [1] "Gram negative"
                  @@ -1468,7 +1485,7 @@ This works for all drug combinations, such as ampicillin/sulbactam, ceftazidime/
                   
                • Function is.rsi.eligible to check for columns that have valid antimicrobial results, but do not have the rsi class yet. Transform the columns of your raw data with: data %>% mutate_if(is.rsi.eligible, as.rsi)

                • Functions as.mo and is.mo as replacements for as.bactid and is.bactid (since the microoganisms data set not only contains bacteria). These last two functions are deprecated and will be removed in a future release. The as.mo function determines microbial IDs using intelligent rules:

                  -
                  +
                   as.mo("E. coli")
                   # [1] B_ESCHR_COL
                   as.mo("MRSA")
                  @@ -1477,7 +1494,7 @@ This works for all drug combinations, such as ampicillin/sulbactam, ceftazidime/
                   # [1] B_STRPTC_GRA
                   

                  And with great speed too - on a quite regular Linux server from 2007 it takes us less than 0.02 seconds to transform 25,000 items:

                  -
                  +
                   thousands_of_E_colis <- rep("E. coli", 25000)
                   microbenchmark::microbenchmark(as.mo(thousands_of_E_colis), unit = "s")
                   # Unit: seconds
                  @@ -1511,7 +1528,7 @@ This works for all drug combinations, such as ampicillin/sulbactam, ceftazidime/
                   
                • 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.:

                  -
                  +
                   ab_official("Bactroban")
                   # [1] "Mupirocin"
                   ab_name(c("Bactroban", "Amoxil", "Zithromax", "Floxapen"))
                  @@ -1528,7 +1545,7 @@ This works for all drug combinations, such as ampicillin/sulbactam, ceftazidime/
                   
                • Added parameters minimum and as_percent to portion_df

                • Support for quasiquotation in the functions series count_* and portions_*, and n_rsi. This allows to check for more than 2 vectors or columns.

                  -
                  +
                   septic_patients %>% select(amox, cipr) %>% count_IR()
                   # which is the same as:
                   septic_patients %>% count_IR(amox, cipr)
                  @@ -1548,12 +1565,12 @@ This works for all drug combinations, such as ampicillin/sulbactam, ceftazidime/
                   
                • Added longest en shortest character length in the frequency table (freq) header of class character

                • Support for types (classes) list and matrix for freq

                  -
                  +
                   my_matrix = with(septic_patients, matrix(c(age, gender), ncol = 2))
                   freq(my_matrix)
                   

                  For lists, subsetting is possible:

                  -
                  +
                   my_list = list(age = septic_patients$age, gender = septic_patients$gender)
                   my_list %>% freq(age)
                   my_list %>% freq(gender)
                  diff --git a/docs/pkgdown.yml b/docs/pkgdown.yml
                  index 0f0211528..a095edebb 100644
                  --- a/docs/pkgdown.yml
                  +++ b/docs/pkgdown.yml
                  @@ -2,7 +2,7 @@ pandoc: 2.7.3
                   pkgdown: 1.5.1.9000
                   pkgdown_sha: eae56f08694abebf93cdfc0dd8e9ede06d8c815f
                   articles: []
                  -last_built: 2020-08-15T10:52Z
                  +last_built: 2020-08-16T19:34Z
                   urls:
                     reference: https://msberends.github.io/AMR/reference
                     article: https://msberends.github.io/AMR/articles
                  diff --git a/docs/reference/as.rsi.html b/docs/reference/as.rsi.html
                  index 5c2058dc8..c62ebfb42 100644
                  --- a/docs/reference/as.rsi.html
                  +++ b/docs/reference/as.rsi.html
                  @@ -82,7 +82,7 @@
                         
                         
                           AMR (for R)
                  -        1.3.0.9002
                  +        1.3.0.9004
                         
                       
                  @@ -118,6 +118,13 @@ Predict antimicrobial resistance
                • +
                • + + + + Download our free data sets + +
                • @@ -249,6 +256,7 @@ guideline = "EUCAST", uti = FALSE, conserve_capped_values = FALSE, + add_intrinsic_resistance = FALSE, ... ) @@ -259,6 +267,7 @@ ab = deparse(substitute(x)), guideline = "EUCAST", uti = FALSE, + add_intrinsic_resistance = FALSE, ... ) @@ -269,6 +278,7 @@ guideline = "EUCAST", uti = NULL, conserve_capped_values = FALSE, + add_intrinsic_resistance = FALSE, ... )
                • @@ -307,6 +317,10 @@ conserve_capped_values

                  a logical to indicate that MIC values starting with ">" (but not ">=") must always return "R" , and that MIC values starting with "<" (but not "<=") must always return "S"

                  + + add_intrinsic_resistance +

                  (only useful when using a EUCAST guideline) a logical to indicate whether intrinsic antibiotic resistance must also be considered for applicable bug-drug combinations, meaning that e.g. ampicillin will always return "R" in Klebsiella species. Determination is based on the intrinsic_resistant data set, that itself is based on 'EUCAST Expert Rules, Intrinsic Resistance and Exceptional Phenotypes', version 3.1, 2016.

                  + col_mo

                  column name of the IDs of the microorganisms (see as.mo()), defaults to the first column of class mo. Values will be coerced using as.mo().

                  @@ -406,6 +420,9 @@ The lifecycle of this function is stable# the dplyr way library(dplyr) +df %>% mutate_if(is.mic, as.rsi) +df %>% mutate_if(function(x) is.mic(x) | is.disk(x), as.rsi) +df %>% mutate(across(where(is.mic), as.rsi)) df %>% mutate_at(vars(AMP:TOB), as.rsi) df %>% mutate(across(AMP:TOB), as.rsi) diff --git a/docs/reference/index.html b/docs/reference/index.html index 0bb816f7e..39efb037f 100644 --- a/docs/reference/index.html +++ b/docs/reference/index.html @@ -81,7 +81,7 @@ AMR (for R) - 1.3.0.9003 + 1.3.0.9004
                  @@ -117,6 +117,13 @@ Predict antimicrobial resistance
                • +
                • + + + + Download our free data sets + +
                • diff --git a/docs/reference/intrinsic_resistant.html b/docs/reference/intrinsic_resistant.html index e9851ab39..8d5373154 100644 --- a/docs/reference/intrinsic_resistant.html +++ b/docs/reference/intrinsic_resistant.html @@ -82,7 +82,7 @@ AMR (for R) - 1.3.0.9003 + 1.3.0.9004
                • @@ -118,6 +118,13 @@ Predict antimicrobial resistance
                • +
                • + + + + Download our free data sets + +
                • diff --git a/docs/reference/rsi_translation.html b/docs/reference/rsi_translation.html index 10aae30c3..fe6161136 100644 --- a/docs/reference/rsi_translation.html +++ b/docs/reference/rsi_translation.html @@ -49,7 +49,7 @@ - + @@ -82,7 +82,7 @@ AMR (for R) - 1.3.0.9003 + 1.3.0.9004
                • @@ -118,6 +118,13 @@ Predict antimicrobial resistance
                • +
                • + + + + Download our free data sets + +
                • @@ -232,7 +239,7 @@
                • -

                  Data set to interpret MIC and disk diffusion to R/SI values. Included guidelines are CLSI (2011-2019) and EUCAST (2011-2020). Use as.rsi() to transform MICs or disks measurements to R/SI values.

                  +

                  Data set to interpret MIC and disk diffusion to R/SI values. Included guidelines are CLSI (2010-2019) and EUCAST (2011-2020). Use as.rsi() to transform MICs or disks measurements to R/SI values.

                  rsi_translation
                  diff --git a/docs/sitemap.xml b/docs/sitemap.xml index 529b0b45c..57f9817f7 100644 --- a/docs/sitemap.xml +++ b/docs/sitemap.xml @@ -171,6 +171,9 @@ https://msberends.github.io/AMR/articles/benchmarks.html + + https://msberends.github.io/AMR/articles/datasets.html + https://msberends.github.io/AMR/articles/resistance_predict.html diff --git a/docs/survey.html b/docs/survey.html index 09b33c4a0..6d71e998d 100644 --- a/docs/survey.html +++ b/docs/survey.html @@ -81,7 +81,7 @@ AMR (for R) - 1.3.0.9003 + 1.3.0.9004
                  @@ -117,6 +117,13 @@ Predict antimicrobial resistance
                • +
                • + + + + Download our free data sets + +
                • diff --git a/index.md b/index.md index 8c0a1e0b0..7ea66be9c 100644 --- a/index.md +++ b/index.md @@ -23,6 +23,33 @@ This package is [fully independent of any other R package](https://en.wikipedia. Since its first public release in early 2018, this package has been downloaded from more than 100 countries. Click the map to enlarge and to also see the names of the countries.



                • + + #### Partners The development of this package is part of, related to, or made possible by: @@ -59,6 +86,8 @@ This package can be used for: ### Get this package #### Latest released version + + This package is available [here on the official R network (CRAN)](https://cran.r-project.org/package=AMR), which has a peer-reviewed submission process. Install this package in R from CRAN by using the command: diff --git a/man/as.rsi.Rd b/man/as.rsi.Rd index 9be415bb6..07be30bf5 100755 --- a/man/as.rsi.Rd +++ b/man/as.rsi.Rd @@ -23,6 +23,7 @@ is.rsi.eligible(x, threshold = 0.05) guideline = "EUCAST", uti = FALSE, conserve_capped_values = FALSE, + add_intrinsic_resistance = FALSE, ... ) @@ -32,6 +33,7 @@ is.rsi.eligible(x, threshold = 0.05) ab = deparse(substitute(x)), guideline = "EUCAST", uti = FALSE, + add_intrinsic_resistance = FALSE, ... ) @@ -41,6 +43,7 @@ is.rsi.eligible(x, threshold = 0.05) guideline = "EUCAST", uti = NULL, conserve_capped_values = FALSE, + add_intrinsic_resistance = FALSE, ... ) } @@ -61,6 +64,8 @@ is.rsi.eligible(x, threshold = 0.05) \item{conserve_capped_values}{a logical to indicate that MIC values starting with \code{">"} (but not \code{">="}) must always return "R" , and that MIC values starting with \code{"<"} (but not \code{"<="}) must always return "S"} +\item{add_intrinsic_resistance}{\emph{(only useful when using a EUCAST guideline)} a logical to indicate whether intrinsic antibiotic resistance must also be considered for applicable bug-drug combinations, meaning that e.g. ampicillin will always return "R" in \emph{Klebsiella} species. Determination is based on the \link{intrinsic_resistant} data set, that itself is based on 'EUCAST Expert Rules, Intrinsic Resistance and Exceptional Phenotypes', version 3.1, 2016.} + \item{col_mo}{column name of the IDs of the microorganisms (see \code{\link[=as.mo]{as.mo()}}), defaults to the first column of class \code{\link{mo}}. Values will be coerced using \code{\link[=as.mo]{as.mo()}}.} } \value{ @@ -160,6 +165,9 @@ as.rsi(df) # the dplyr way library(dplyr) +df \%>\% mutate_if(is.mic, as.rsi) +df \%>\% mutate_if(function(x) is.mic(x) | is.disk(x), as.rsi) +df \%>\% mutate(across(where(is.mic), as.rsi)) df \%>\% mutate_at(vars(AMP:TOB), as.rsi) df \%>\% mutate(across(AMP:TOB), as.rsi) diff --git a/man/rsi_translation.Rd b/man/rsi_translation.Rd index ebc462230..00429732d 100644 --- a/man/rsi_translation.Rd +++ b/man/rsi_translation.Rd @@ -23,7 +23,7 @@ A \code{\link{data.frame}} with 18,650 observations and 10 variables: rsi_translation } \description{ -Data set to interpret MIC and disk diffusion to R/SI values. Included guidelines are CLSI (2011-2019) and EUCAST (2011-2020). Use \code{\link[=as.rsi]{as.rsi()}} to transform MICs or disks measurements to R/SI values. +Data set to interpret MIC and disk diffusion to R/SI values. Included guidelines are CLSI (2010-2019) and EUCAST (2011-2020). Use \code{\link[=as.rsi]{as.rsi()}} to transform MICs or disks measurements to R/SI values. } \details{ The repository of this \code{AMR} package contains a file comprising this exact data set: \url{https://github.com/msberends/AMR/blob/master/data-raw/rsi_translation.txt}. This file \strong{allows for machine reading EUCAST and CLSI guidelines}, which is almost impossible with the Excel and PDF files distributed by EUCAST and CLSI. The file is updated automatically. diff --git a/pkgdown/extra.css b/pkgdown/extra.css index 10dadf1af..0991f0b27 100644 --- a/pkgdown/extra.css +++ b/pkgdown/extra.css @@ -250,3 +250,24 @@ table a:not(.btn):hover, .table a:not(.btn):hover { background: #128f7645; color: #2c3e50; } +.home-buttons { + display: flex; + margin-bottom: 5px; +} +.home-buttons a { + display: grid; + text-align: center; + font-size: 16px; + text-transform: uppercase; + width: 25%; +} +.home-buttons a:hover { + text-decoration: none; +} +.home-buttons div { + display: grid; + padding: 10px; +} +.home-buttons .fa { + font-size: 3.5em; +} diff --git a/vignettes/datasets.Rmd b/vignettes/datasets.Rmd new file mode 100644 index 000000000..6ebb7a249 --- /dev/null +++ b/vignettes/datasets.Rmd @@ -0,0 +1,256 @@ +--- +title: "Data sets for download" +output: + rmarkdown::html_vignette: + toc: true + toc_depth: 3 +vignette: > + %\VignetteIndexEntry{Data sets for download} + %\VignetteEncoding{UTF-8} + %\VignetteEngine{knitr::rmarkdown} +editor_options: + chunk_output_type: console +--- + +```{r setup, include = FALSE, results = 'markup'} +knitr::opts_chunk$set( + warning = FALSE, + collapse = TRUE, + comment = "#", + fig.width = 7.5, + fig.height = 5 +) +options(knitr.kable.NA = '') + +file_size <- function(...) { + size_kb <- file.size(...) / 1024 + if (size_kb > 500) { + paste(round(size_kb / 1024, 1), "MB") + } else { + paste(round(size_kb, 1), "kB") + } +} + +structure_txt <- function(dataset) { + paste0("A data set with ", + format(nrow(dataset), big.mark = ","), " rows and ", + ncol(dataset), " columns, containing the following column names:\n\n*", + paste0(colnames(dataset), collapse = ", "), "*.") +} + +download_txt <- function(filename) { + msg <- paste0("Download the data set preferably in the software you use, so the data file already has the correct data structure. Below files were updated on ", + trimws(format(file.mtime(paste0("../data/", filename, ".rda")), "%e %B %Y %H:%M:%S %Z")), ".") + github_base <- "https://github.com/msberends/AMR/raw/master/data-raw/" + gitlab_base <- "https://gitlab.com/msberends/AMR/-/raw/master/data-raw/" + filename <- paste0("../data-raw/", filename) + txt <- paste0(filename, ".txt") + rds <- paste0(filename, ".rds") + spss <- paste0(filename, ".sav") + stata <- paste0(filename, ".sav") + sas <- paste0(filename, ".dta") + excel <- paste0(filename, ".xlsx") + create_txt <- function(filename, type) { + paste0("* ", type, ": ", + "[from GitHub](", github_base, filename, "), ", + "[from GitLab](", gitlab_base, filename, ") ", + "(file size: ", file_size(filename), ")") + } + + if (file.exists(rds)) msg <- c(msg, create_txt(rds, "R file (.rds)")) + if (file.exists(excel)) msg <- c(msg, create_txt(excel, "Excel workbook (.xlsx)")) + if (file.exists(spss)) msg <- c(msg, create_txt(spss, "SPSS file (.sav)")) + if (file.exists(stata)) msg <- c(msg, create_txt(stata, "Stata file (.dta)")) + if (file.exists(sas)) msg <- c(msg, create_txt(sas, "SAS file (.sas)")) + if (file.exists(txt)) msg <- c(msg, create_txt(txt, "Tab separated file (.txt)")) + paste0(msg, collapse = "\n\n") +} + +library(AMR) +library(dplyr) + +print_df <- function(x) { + x %>% + head() %>% + mutate_all(function(x) { + if (is.list(x)) { + sapply(x, function(y) { + if (length(y) > 3) { + paste0(paste(y[1:3], collapse = ", "), ", ...") + } else if (length(y) == 0 || is.na(y)) { + "" + } else { + paste(y, collapse = ", ") + } + }) + } else { + x + } + }) %>% + knitr::kable(align = "c") +} + +``` + +This package contains a lot of reference data sets that are all reliable, up-to-date and free to download. You can even use them outside of R, for example to train your laboratory information system (LIS) about intrinsic resistance! + +We included them in our `AMR` package, but also automatically 'mirror' them to our public repository in different software formats. On this page, we explain how to download them and how the structure of the data sets look like. The tab separated files **allow for machine reading taxonomic data and EUCAST and CLSI interpretation guidelines**, which is almost impossible with the Excel and PDF files distributed by EUCAST and CLSI. + +*Note: Years and dates of updates mentioned on this page, are from on `AMR` package version `r utils::packageVersion("AMR")`, online released on `r format(utils::packageDate("AMR"), "%e %B %Y")`. **If you are reading this page from within R, please [visit our website](https://msberends.github.io/AMR/articles/datasets.html) for the latest update.*** + +## Microorganisms + +This data set is in R available as `microorganisms`, after you load the `AMR` package. + +#### Source + +Our full taxonomy of microorganisms is based on the authoritative and comprehensive: + +* [Catalogue of Life](http://www.catalogueoflife.org) (included version: `r AMR:::catalogue_of_life$year`) +* [List of Prokaryotic names with Standing in Nomenclature](https://lpsn.dsmz.de) (LPSN, included version: `r AMR:::catalogue_of_life$yearmonth_DSMZ`) + +#### Structure + +`r structure_txt(microorganisms)` + +Included per taxonomic kingdom: + +```{r, echo = FALSE} +microorganisms %>% + pull(kingdom) %>% + table() %>% + as.data.frame() %>% + mutate(Freq = format(Freq, big.mark = ",")) %>% + setNames(c("Kingdom", "Number of (sub)species")) %>% + print_df() +``` + + +#### Download + +`r download_txt("microorganisms")` + +#### Example + +Example rows when filtering on genus *Escherichia*: + +```{r, echo = FALSE} +microorganisms %>% + filter(genus == "Escherichia") %>% + print_df() +``` + +## Antibiotic agents + +This data set is in R available as `antibiotics`, after you load the `AMR` package. + +#### Source + +This data set contains all EARS-Net and ATC codes gathered from WHO and WHONET, and all compound IDs from PubChem. It also contains all brand names (synonyms) as found on PubChem and Defined Daily Doses (DDDs) for oral and parenteral administration. + +* [ATC/DDD index from WHO Collaborating Centre for Drug Statistics Methodology](https://www.whocc.no/atc_ddd_index/) (note: this may not be used for commercial purposes, but is frelly available from the WHO CC website for personal use) +* [PubChem by the US National Library of Medicine](https://pubchem.ncbi.nlm.nih.gov) +* [WHONET software 2019](https://whonet.org) + +#### Structure + +`r structure_txt(antibiotics)` + +#### Download + +`r download_txt("antibiotics")` + +#### Example + +Example rows: + +```{r, echo = FALSE} +antibiotics %>% + filter(ab %in% colnames(example_isolates)) %>% + print_df() +``` + + +## Antiviral agents + +This data set is in R available as `antivirals`, after you load the `AMR` package. + +#### Source + +This data set contains all ATC codes gathered from WHO and all compound IDs from PubChem. It also contains all brand names (synonyms) as found on PubChem and Defined Daily Doses (DDDs) for oral and parenteral administration. + +* [ATC/DDD index from WHO Collaborating Centre for Drug Statistics Methodology](https://www.whocc.no/atc_ddd_index/) (note: this may not be used for commercial purposes, but is frelly available from the WHO CC website for personal use) +* [PubChem by the US National Library of Medicine](https://pubchem.ncbi.nlm.nih.gov) + +#### Structure + +`r structure_txt(antivirals)` + +#### Download + +`r download_txt("antivirals")` + +#### Example + +Example rows: + +```{r, echo = FALSE} +antivirals %>% + print_df() +``` + + +## Intrinsic bacterial resistance + +This data set is in R available as `intrinsic_resistant`, after you load the `AMR` package. + +#### Source + +This data set contains all defined intrinsic resistance by EUCAST of all bug-drug combinations. + +The data set is based on 'EUCAST Expert Rules, Intrinsic Resistance and Exceptional Phenotypes', version `r AMR:::EUCAST_VERSION_EXPERT_RULES`. + +#### Structure + +`r structure_txt(intrinsic_resistant)` + +#### Download + +`r download_txt("intrinsic_resistant")` + +#### Example + +Example rows: + +```{r, echo = FALSE} +intrinsic_resistant %>% + filter(microorganism %like% "^Klebsiella") %>% + print_df() +``` + + +## Interpretation from MIC values / disk diameters to R/SI + +This data set is in R available as `rsi_translation`, after you load the `AMR` package. + +#### Source + +This data set contains interpretation rules for MIC values and disk diffusion diameters. Included guidelines are CLSI (`r min(as.integer(gsub("[^0-9]", "", subset(rsi_translation, guideline %like% "CLSI")$guideline)))`-`r max(as.integer(gsub("[^0-9]", "", subset(rsi_translation, guideline %like% "CLSI")$guideline)))`) and EUCAST (`r min(as.integer(gsub("[^0-9]", "", subset(rsi_translation, guideline %like% "EUCAST")$guideline)))`-`r max(as.integer(gsub("[^0-9]", "", subset(rsi_translation, guideline %like% "EUCAST")$guideline)))`). + +#### Structure + +`r structure_txt(rsi_translation)` + +#### Download + +`r download_txt("rsi_translation")` + +#### Example + +Example rows: + +```{r, echo = FALSE} +rsi_translation %>% + mutate(ab = ab_name(ab), mo = mo_name(mo)) %>% + print_df() +```