From 5d80cef338a89e799b1743873660b9b2d8092f2e Mon Sep 17 00:00:00 2001 From: "Matthijs S. Berends" Date: Mon, 17 Sep 2018 20:53:32 +0200 Subject: [PATCH] added taxonomic data from ITIS --- NAMESPACE | 4 ++ NEWS.md | 6 +- R/data.R | 25 +++------ R/ggplot_rsi.R | 12 ++-- R/mo_property.R | 89 +++++++++++++++++++++--------- README.md | 6 +- data/microorganisms.rda | Bin 42164 -> 45753 bytes man/ggplot_rsi.Rd | 12 ++-- man/microorganisms.Rd | 14 +++-- man/microorganisms.umcg.Rd | 2 +- man/mo_property.Rd | 51 ++++++++++++----- tests/testthat/test-mo_property.R | 3 + vignettes/AMR.Rmd | 6 +- 13 files changed, 150 insertions(+), 80 deletions(-) diff --git a/NAMESPACE b/NAMESPACE index ec2413be..de08bf3f 100755 --- a/NAMESPACE +++ b/NAMESPACE @@ -91,14 +91,18 @@ export(labels_rsi_count) export(left_join_microorganisms) export(like) export(mo_aerobic) +export(mo_class) export(mo_family) export(mo_fullname) export(mo_genus) export(mo_gramstain) +export(mo_order) +export(mo_phylum) export(mo_property) export(mo_shortname) export(mo_species) export(mo_subspecies) +export(mo_taxonomy) export(mo_type) export(n_rsi) export(p.symbol) diff --git a/NEWS.md b/NEWS.md index c3eaf75a..e8108efb 100755 --- a/NEWS.md +++ b/NEWS.md @@ -27,7 +27,11 @@ * All old syntaxes will still work with this version, but will throw warnings * Function `labels_rsi_count` to print datalabels on a RSI `ggplot2` model * Functions `as.atc` and `is.atc` to transform/look up antibiotic ATC codes as defined by the WHO. The existing function `guess_atc` is now an alias of `as.atc`. -* Aliases for existing function `mo_property`: `mo_family`, `mo_genus`, `mo_species`, `mo_subspecies`, `mo_fullname`, `mo_shortname`, `mo_aerobic`, `mo_type` and `mo_gramstain`. They also come with support for German, Dutch, French, Italian, Spanish and Portuguese, and it defaults to the systems locale: +* Aliases for existing function `mo_property` and new data from ITIS (Integrated Taxonomic Information System, https://www.itis.gov) + * Taxonomic names: `mo_phylum`, `mo_class`, `mo_order`, `mo_family`, `mo_genus`, `mo_species`, `mo_subspecies` + * Semantic names: `mo_fullname`, `mo_shortname` + * Microbial properties: `mo_aerobic`, `mo_type`, `mo_gramstain`. + They also come with support for German, Dutch, French, Italian, Spanish and Portuguese, and it defaults to the systems locale: ```r mo_gramstain("E. coli") # [1] "Negative rods" diff --git a/R/data.R b/R/data.R index 3600cefd..a70e83e7 100755 --- a/R/data.R +++ b/R/data.R @@ -123,34 +123,28 @@ #' Data set with human pathogenic microorganisms #' #' A data set containing (potential) human pathogenic microorganisms. MO codes can be looked up using \code{\link{guess_mo}}. -#' @format A \code{\link{tibble}} with 2,642 observations and 11 variables: +#' @format A \code{\link{tibble}} with 2,642 observations and 14 variables: #' \describe{ #' \item{\code{mo}}{ID of microorganism} #' \item{\code{bactsys}}{Bactsyscode of microorganism} -#' \item{\code{family}}{Family name of microorganism} #' \item{\code{genus}}{Genus name of microorganism, like \code{"Echerichia"}} #' \item{\code{species}}{Species name of microorganism, like \code{"coli"}} #' \item{\code{subspecies}}{Subspecies name of bio-/serovar of microorganism, like \code{"EHEC"}} #' \item{\code{fullname}}{Full name, like \code{"Echerichia coli (EHEC)"}} -#' \item{\code{aerobic}}{Logical whether bacteria is aerobic} -#' \item{\code{type}}{Type of microorganism, like \code{"Bacteria"} and \code{"Fungus/yeast"}} #' \item{\code{gramstain}}{Gram of microorganism, like \code{"Negative rods"}} +#' \item{\code{aerobic}}{Logical whether bacteria is aerobic} +#' \item{\code{family}}{Taxonomic family of the microorganism as found in ITIS, see Source} +#' \item{\code{order}}{Taxonomic order of the microorganism as found in ITIS, see Source} +#' \item{\code{class}}{Taxonomic class of the microorganism as found in ITIS, see Source} +#' \item{\code{phylum}}{Taxonomic phylum of the microorganism as found in ITIS, see Source} +#' \item{\code{type}}{Type of microorganism, like \code{"Bacteria"} and \code{"Fungus/yeast"}} #' \item{\code{prevalence}}{A rounded integer based on prevalence of the microorganism. Used internally by \code{\link{as.mo}}, otherwise quite meaningless.} #' } -# source MOLIS (LIS of Certe) - \url{https://www.certe.nl} -# new <- microorganisms %>% filter(genus == "Bacteroides") %>% .[1,] -# new[1, 'mo'] <- "DIAPNU" -# new[1, 'bactsys'] <- "DIAPNU" -# new[1, 'family'] <- "Veillonellaceae" -# new[1, 'genus'] <- "Dialister" -# new[1, 'species'] <- "pneumosintes" -# new[1, 'subspecies'] <- NA -# new[1, 'fullname'] <- paste(new[1, 'genus'], new[1, 'species']) -# microorganisms <- microorganisms %>% bind_rows(new) %>% arrange(mo) +#' @source Integrated Taxonomic Information System (ITIS) on-line database, \url{https://www.itis.gov}. #' @seealso \code{\link{guess_mo}} \code{\link{antibiotics}} \code{\link{microorganisms.umcg}} "microorganisms" -#' Translation table for UMCG with ~1,100 microorganisms +#' Translation table for UMCG #' #' A data set containing all bacteria codes of UMCG MMB. These codes can be joined to data with an ID from \code{\link{microorganisms}$mo} (using \code{\link{left_join_microorganisms}}). GLIMS codes can also be translated to valid \code{MO}s with \code{\link{guess_mo}}. #' @format A \code{\link{tibble}} with 1,095 observations and 2 variables: @@ -158,7 +152,6 @@ #' \item{\code{umcg}}{Code of microorganism according to UMCG MMB} #' \item{\code{mo}}{Code of microorganism in \code{\link{microorganisms}}} #' } -# source MOLIS (LIS of Certe) - \url{https://www.certe.nl} \cr \cr GLIMS (LIS of UMCG) - \url{https://www.umcg.nl} #' @seealso \code{\link{guess_mo}} \code{\link{microorganisms}} "microorganisms.umcg" diff --git a/R/ggplot_rsi.R b/R/ggplot_rsi.R index 7f3f520b..634900cd 100644 --- a/R/ggplot_rsi.R +++ b/R/ggplot_rsi.R @@ -34,15 +34,15 @@ #' @details At default, the names of antibiotics will be shown on the plots using \code{\link{abname}}. This can be set with the option \code{get_antibiotic_names} (a logical value), so change it e.g. to \code{FALSE} with \code{options(get_antibiotic_names = FALSE)}. #' #' \strong{The functions}\cr -#' \code{geom_rsi} will take any variable from the data that has an \code{rsi} class (created with \code{\link{as.rsi}}) using \code{fun} (\code{\link{portion_df}} at default, could also be \code{\link{count_df}}) and will plot bars with the percentage R, I and S. The default behaviour is to have the bars stacked and to have the different antibiotics on the x axis. +#' \code{geom_rsi} will take any variable from the data that has an \code{rsi} class (created with \code{\link{as.rsi}}) using \code{fun} (\code{\link{count_df}} at default, can also be \code{\link{portion_df}}) and will plot bars with the percentage R, I and S. The default behaviour is to have the bars stacked and to have the different antibiotics on the x axis. #' #' \code{facet_rsi} creates 2d plots (at default based on S/I/R) using \code{\link[ggplot2]{facet_wrap}}. #' -#' \code{scale_y_percent} transforms the y axis to a 0 to 100\% range using \code{\link[ggplot2]{scale_y_continuous}}. +#' \code{scale_y_percent} transforms the y axis to a 0 to 100\% range using \code{\link[ggplot2]{scale_continuous}}. #' -#' \code{scale_rsi_colours} sets colours to the bars: green for S, yellow for I and red for R, using \code{\link[ggplot2]{scale_fill_brewer}}. +#' \code{scale_rsi_colours} sets colours to the bars: green for S, yellow for I and red for R, using \code{\link[ggplot2]{scale_colour_brewer}}. #' -#' \code{theme_rsi} is a \code{\link[ggplot2]{theme}} with minimal distraction. +#' \code{theme_rsi} is a \code{ggplot \link[ggplot2]{theme}} with minimal distraction. #' #' \code{labels_rsi_count} print datalabels on the bars with percentage and amount of isolates using \code{\link[ggplot2]{geom_text}} #' @@ -71,10 +71,10 @@ #' select(amox, nitr, fosf, trim, cipr) %>% #' ggplot_rsi() #' -#' # get counts instead of percentages: +#' # get only portions and no counts: #' septic_patients %>% #' select(amox, nitr, fosf, trim, cipr) %>% -#' ggplot_rsi(fun = count_df) +#' ggplot_rsi(fun = portion_df) #' #' # add other ggplot2 parameters as you like: #' septic_patients %>% diff --git a/R/mo_property.R b/R/mo_property.R index ef77e293..3addd71d 100644 --- a/R/mo_property.R +++ b/R/mo_property.R @@ -27,14 +27,19 @@ #' [1] Becker K \emph{et al.} \strong{Coagulase-Negative Staphylococci}. 2014. Clin Microbiol Rev. 27(4): 870–926. \url{https://dx.doi.org/10.1128/CMR.00109-13} #' #' [2] Lancefield RC \strong{A serological differentiation of human and other groups of hemolytic streptococci}. 1933. J Exp Med. 57(4): 571–95. \url{https://dx.doi.org/10.1084/jem.57.4.571} +#' +#' [3] Integrated Taxonomic Information System (ITIS) on-line database, \url{https://www.itis.gov}. #' @rdname mo_property #' @name mo_property -#' @return Character or logical (only \code{mo_aerobic}) +#' @return A logical (in case of \code{mo_aerobic}), a list (in case of \code{mo_taxonomy}), a character otherwise #' @export #' @importFrom dplyr %>% left_join pull #' @seealso \code{\link{microorganisms}} #' @examples #' # All properties +#' mo_phylum("E. coli") # "Proteobacteria" +#' mo_class("E. coli") # "Gammaproteobacteria" +#' mo_order("E. coli") # "Enterobacteriales" #' mo_family("E. coli") # "Enterobacteriaceae" #' mo_genus("E. coli") # "Escherichia" #' mo_species("E. coli") # "coli" @@ -105,30 +110,10 @@ #' mo_fullname("S. pyogenes", #' Lancefield = TRUE, #' language = "nl") # "Streptococcus groep A" -mo_family <- function(x) { - mo_property(x, "family") -} - -#' @rdname mo_property -#' @export -mo_genus <- function(x, language = NULL) { - mo_property(x, "genus", language = language) -} - -#' @rdname mo_property -#' @export -mo_species <- function(x, Becker = FALSE, Lancefield = FALSE, language = NULL) { - mo_property(x, "species", Becker = Becker, Lancefield = Lancefield, language = language) -} - -#' @rdname mo_property -#' @export -mo_subspecies <- function(x, Becker = FALSE, Lancefield = FALSE, language = NULL) { - mo_property(x, "subspecies", Becker = Becker, Lancefield = Lancefield, language = language) -} - -#' @rdname mo_property -#' @export +#' +#' +#' # Complete taxonomy up to Phylum, returns a list +#' mo_taxonomy("E. coli") mo_fullname <- function(x, Becker = FALSE, Lancefield = FALSE, language = NULL) { mo_property(x, "fullname", Becker = Becker, Lancefield = Lancefield, language = language) } @@ -164,6 +149,47 @@ mo_shortname <- function(x, Becker = FALSE, Lancefield = FALSE, language = NULL) mo_translate(result, language = language) } +#' @rdname mo_property +#' @export +mo_subspecies <- function(x, Becker = FALSE, Lancefield = FALSE, language = NULL) { + mo_property(x, "subspecies", Becker = Becker, Lancefield = Lancefield, language = language) +} + +#' @rdname mo_property +#' @export +mo_species <- function(x, Becker = FALSE, Lancefield = FALSE, language = NULL) { + mo_property(x, "species", Becker = Becker, Lancefield = Lancefield, language = language) +} + +#' @rdname mo_property +#' @export +mo_genus <- function(x, language = NULL) { + mo_property(x, "genus", language = language) +} + +#' @rdname mo_property +#' @export +mo_family <- function(x) { + mo_property(x, "family") +} + +#' @rdname mo_property +#' @export +mo_order <- function(x) { + mo_property(x, "order") +} + +#' @rdname mo_property +#' @export +mo_class <- function(x) { + mo_property(x, "class") +} + +#' @rdname mo_property +#' @export +mo_phylum <- function(x) { + mo_property(x, "phylum") +} #' @rdname mo_property #' @export @@ -204,6 +230,19 @@ mo_property <- function(x, property = 'fullname', Becker = FALSE, Lancefield = F result2 } +#' @rdname mo_property +#' @export +mo_taxonomy <- function(x) { + x <- as.mo(x) + base::list(phylum = mo_phylum(x), + class = mo_class(x), + order = mo_order(x), + family = mo_family(x), + genus = mo_genus(x), + species = mo_species(x), + subspecies = mo_subspecies(x)) +} + #' @importFrom dplyr %>% case_when mo_translate <- function(x, language) { if (is.null(language)) { diff --git a/README.md b/README.md index 3bd4f304..85290334 100755 --- a/README.md +++ b/README.md @@ -55,8 +55,8 @@ This `AMR` package basically does four important things: * Use `first_isolate` to identify the first isolates of every patient [using guidelines from the CLSI](https://clsi.org/standards/products/microbiology/documents/m39/) (Clinical and Laboratory Standards Institute). * You can also identify first *weighted* isolates of every patient, an adjusted version of the CLSI guideline. This takes into account key antibiotics of every strain and compares them. * Use `MDRO` (abbreviation of Multi Drug Resistant Organisms) to check your isolates for exceptional resistance with country-specific guidelines or EUCAST rules. Currently, national guidelines for Germany and the Netherlands are supported. - * The data set `microorganisms` contains the family, genus, species, subspecies, colloquial name and Gram stain of almost 3,000 potential human pathogenic microorganisms (bacteria, fungi/yeasts and parasites). This enables resistance analysis of e.g. different antibiotics per Gram stain. The package also contains functions to look up values in this data set like `mo_genus`, `mo_family` or `mo_gramstain`. As they use `as.mo` internally, they also use artificial intelligence. For example, `mo_genus("MRSA")` and `mo_genus("S. aureus")` will both return `"Staphylococcus"`. They also come with support for German, Dutch, French, Italian, Spanish and Portuguese. These functions can be used to add new variables to your data. - * The data set `antibiotics` contains the ATC code, LIS codes, official name, trivial name and DDD of both oral and parenteral administration. It also contains a total of 298 trade names. Use functions like `ab_name` and `ab_tradenames` to look up values. As the `mo_*` functions use `as.mo` internally, the `ab_*` functions use `as.atc` internally so it uses AI to guess your expected result. For example, `ab_name("Fluclox")`, `ab_name("Floxapen")` and `ab_name("J01CF05")` will all return `"Flucloxacillin"`. These functions can again be used to add new variables to your data. + * The data set `microorganisms` contains the taxonomic properties of almost 3,000 potential human pathogenic microorganisms (bacteria, fungi/yeasts and parasites). Taxonomic names were downloaded from ITIS (Integrated Taxonomic Information System, http://www.itis.gov). Furhermore, the colloquial name and Gram stain are available, which enables resistance analysis of e.g. different antibiotics per Gram stain. The package also contains functions to look up values in this data set like `mo_genus`, `mo_family`, `mo_gramstain` or even `mo_phylum`. As they use `as.mo` internally, they also use artificial intelligence. For example, `mo_genus("MRSA")` and `mo_genus("S. aureus")` will both return `"Staphylococcus"`. They also come with support for German, Dutch, French, Italian, Spanish and Portuguese. These functions can be used to add new variables to your data. + * The data set `antibiotics` contains the ATC code, LIS codes, official name, trivial name and DDD of both oral and parenteral administration. It also contains a total of 298 trade names. Use functions like `ab_name` and `ab_tradenames` to look up values. The `ab_*` functions use `as.atc` internally so they support AI to guess your expected result. For example, `ab_name("Fluclox")`, `ab_name("Floxapen")` and `ab_name("J01CF05")` will all return `"Flucloxacillin"`. These functions can again be used to add new variables to your data. 3. It **analyses the data** with convenient functions that use well-known methods. @@ -390,7 +390,7 @@ antibiotics # A tibble: 423 x 18 # Dataset with bacteria codes and properties like gram stain and # aerobic/anaerobic -microorganisms # A tibble: 2,642 x 11 +microorganisms # A tibble: 2,642 x 14 ``` ## Copyright diff --git a/data/microorganisms.rda b/data/microorganisms.rda index a6d4843bf9b488c0105cd9b511237436157756a4..193a6d33ac42f1104b11b69ed4ca1131659a8845 100755 GIT binary patch literal 45753 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 z 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 Nxgwk>NMAOmrhwXYXSDzT literal 42164 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\% select(amox, nitr, fosf, trim, cipr) \%>\% ggplot_rsi() -# get counts instead of percentages: +# get only portions and no counts: septic_patients \%>\% select(amox, nitr, fosf, trim, cipr) \%>\% - ggplot_rsi(fun = count_df) + ggplot_rsi(fun = portion_df) # add other ggplot2 parameters as you like: septic_patients \%>\% diff --git a/man/microorganisms.Rd b/man/microorganisms.Rd index f7eecd09..d6a26726 100755 --- a/man/microorganisms.Rd +++ b/man/microorganisms.Rd @@ -4,20 +4,26 @@ \name{microorganisms} \alias{microorganisms} \title{Data set with human pathogenic microorganisms} -\format{A \code{\link{tibble}} with 2,642 observations and 11 variables: +\format{A \code{\link{tibble}} with 2,642 observations and 14 variables: \describe{ \item{\code{mo}}{ID of microorganism} \item{\code{bactsys}}{Bactsyscode of microorganism} - \item{\code{family}}{Family name of microorganism} \item{\code{genus}}{Genus name of microorganism, like \code{"Echerichia"}} \item{\code{species}}{Species name of microorganism, like \code{"coli"}} \item{\code{subspecies}}{Subspecies name of bio-/serovar of microorganism, like \code{"EHEC"}} \item{\code{fullname}}{Full name, like \code{"Echerichia coli (EHEC)"}} - \item{\code{aerobic}}{Logical whether bacteria is aerobic} - \item{\code{type}}{Type of microorganism, like \code{"Bacteria"} and \code{"Fungus/yeast"}} \item{\code{gramstain}}{Gram of microorganism, like \code{"Negative rods"}} + \item{\code{aerobic}}{Logical whether bacteria is aerobic} + \item{\code{family}}{Taxonomic family of the microorganism as found in ITIS, see Source} + \item{\code{order}}{Taxonomic order of the microorganism as found in ITIS, see Source} + \item{\code{class}}{Taxonomic class of the microorganism as found in ITIS, see Source} + \item{\code{phylum}}{Taxonomic phylum of the microorganism as found in ITIS, see Source} + \item{\code{type}}{Type of microorganism, like \code{"Bacteria"} and \code{"Fungus/yeast"}} \item{\code{prevalence}}{A rounded integer based on prevalence of the microorganism. Used internally by \code{\link{as.mo}}, otherwise quite meaningless.} }} +\source{ +Integrated Taxonomic Information System (ITIS) on-line database, \url{https://www.itis.gov}. +} \usage{ microorganisms } diff --git a/man/microorganisms.umcg.Rd b/man/microorganisms.umcg.Rd index 7b99880a..3140299d 100755 --- a/man/microorganisms.umcg.Rd +++ b/man/microorganisms.umcg.Rd @@ -3,7 +3,7 @@ \docType{data} \name{microorganisms.umcg} \alias{microorganisms.umcg} -\title{Translation table for UMCG with ~1,100 microorganisms} +\title{Translation table for UMCG} \format{A \code{\link{tibble}} with 1,095 observations and 2 variables: \describe{ \item{\code{umcg}}{Code of microorganism according to UMCG MMB} diff --git a/man/mo_property.Rd b/man/mo_property.Rd index 53208dd3..1d478569 100644 --- a/man/mo_property.Rd +++ b/man/mo_property.Rd @@ -2,34 +2,46 @@ % Please edit documentation in R/mo_property.R \name{mo_property} \alias{mo_property} -\alias{mo_family} -\alias{mo_genus} -\alias{mo_species} -\alias{mo_subspecies} \alias{mo_fullname} \alias{mo_shortname} +\alias{mo_subspecies} +\alias{mo_species} +\alias{mo_genus} +\alias{mo_family} +\alias{mo_order} +\alias{mo_class} +\alias{mo_phylum} \alias{mo_type} \alias{mo_gramstain} \alias{mo_aerobic} +\alias{mo_taxonomy} \title{Property of a microorganism} \source{ [1] Becker K \emph{et al.} \strong{Coagulase-Negative Staphylococci}. 2014. Clin Microbiol Rev. 27(4): 870–926. \url{https://dx.doi.org/10.1128/CMR.00109-13} [2] Lancefield RC \strong{A serological differentiation of human and other groups of hemolytic streptococci}. 1933. J Exp Med. 57(4): 571–95. \url{https://dx.doi.org/10.1084/jem.57.4.571} + +[3] Integrated Taxonomic Information System (ITIS) on-line database, \url{https://www.itis.gov}. } \usage{ -mo_family(x) - -mo_genus(x, language = NULL) - -mo_species(x, Becker = FALSE, Lancefield = FALSE, language = NULL) - -mo_subspecies(x, Becker = FALSE, Lancefield = FALSE, language = NULL) - mo_fullname(x, Becker = FALSE, Lancefield = FALSE, language = NULL) mo_shortname(x, Becker = FALSE, Lancefield = FALSE, language = NULL) +mo_subspecies(x, Becker = FALSE, Lancefield = FALSE, language = NULL) + +mo_species(x, Becker = FALSE, Lancefield = FALSE, language = NULL) + +mo_genus(x, language = NULL) + +mo_family(x) + +mo_order(x) + +mo_class(x) + +mo_phylum(x) + mo_type(x, language = NULL) mo_gramstain(x, language = NULL) @@ -38,12 +50,12 @@ mo_aerobic(x) mo_property(x, property = "fullname", Becker = FALSE, Lancefield = FALSE, language = NULL) + +mo_taxonomy(x) } \arguments{ \item{x}{any (vector of) text that can be coerced to a valid microorganism code with \code{\link{as.mo}}} -\item{language}{language of the returned text, defaults to the systems language. Either one of \code{"en"} (English), \code{"de"} (German), \code{"nl"} (Dutch), \code{"es"} (Spanish) or \code{"pt"} (Portuguese).} - \item{Becker}{a logical to indicate whether \emph{Staphylococci} should be categorised into Coagulase Negative \emph{Staphylococci} ("CoNS") and Coagulase Positive \emph{Staphylococci} ("CoPS") instead of their own species, according to Karsten Becker \emph{et al.} [1]. This excludes \emph{Staphylococcus aureus} at default, use \code{Becker = "all"} to also categorise \emph{S. aureus} as "CoPS".} @@ -52,16 +64,21 @@ mo_property(x, property = "fullname", Becker = FALSE, This excludes \emph{Enterococci} at default (who are in group D), use \code{Lancefield = "all"} to also categorise all \emph{Enterococci} as group D.} +\item{language}{language of the returned text, defaults to the systems language. Either one of \code{"en"} (English), \code{"de"} (German), \code{"nl"} (Dutch), \code{"es"} (Spanish) or \code{"pt"} (Portuguese).} + \item{property}{one of the column names of one of the \code{\link{microorganisms}} data set, like \code{"mo"}, \code{"bactsys"}, \code{"family"}, \code{"genus"}, \code{"species"}, \code{"fullname"}, \code{"gramstain"} and \code{"aerobic"}} } \value{ -Character or logical (only \code{mo_aerobic}) +A logical (in case of \code{mo_aerobic}), a list (in case of \code{mo_taxonomy}), a character otherwise } \description{ Use these functions to return a specific property of a microorganism from the \code{\link{microorganisms}} data set. All input values will be evaluated internally with \code{\link{as.mo}}. } \examples{ # All properties +mo_phylum("E. coli") # "Proteobacteria" +mo_class("E. coli") # "Gammaproteobacteria" +mo_order("E. coli") # "Enterobacteriales" mo_family("E. coli") # "Enterobacteriaceae" mo_genus("E. coli") # "Escherichia" mo_species("E. coli") # "coli" @@ -132,6 +149,10 @@ mo_fullname("S. pyogenes", mo_fullname("S. pyogenes", Lancefield = TRUE, language = "nl") # "Streptococcus groep A" + + +# Complete taxonomy up to Phylum, returns a list +mo_taxonomy("E. coli") } \seealso{ \code{\link{microorganisms}} diff --git a/tests/testthat/test-mo_property.R b/tests/testthat/test-mo_property.R index ca183bd2..d4f91bfe 100644 --- a/tests/testthat/test-mo_property.R +++ b/tests/testthat/test-mo_property.R @@ -1,6 +1,9 @@ context("mo_property.R") test_that("mo_property works", { + expect_equal(mo_phylum("E. coli"), "Proteobacteria") + expect_equal(mo_class("E. coli"), "Gammaproteobacteria") + expect_equal(mo_order("E. coli"), "Enterobacteriales") expect_equal(mo_family("E. coli"), "Enterobacteriaceae") expect_equal(mo_genus("E. coli"), "Escherichia") expect_equal(mo_species("E. coli"), "coli") diff --git a/vignettes/AMR.Rmd b/vignettes/AMR.Rmd index e6dedaf1..31a74f2e 100755 --- a/vignettes/AMR.Rmd +++ b/vignettes/AMR.Rmd @@ -34,9 +34,9 @@ This `AMR` package basically does four important things: * Use `first_isolate` to identify the first isolates of every patient [using guidelines from the CLSI](https://clsi.org/standards/products/microbiology/documents/m39/) (Clinical and Laboratory Standards Institute). * You can also identify first *weighted* isolates of every patient, an adjusted version of the CLSI guideline. This takes into account key antibiotics of every strain and compares them. * Use `MDRO` (abbreviation of Multi Drug Resistant Organisms) to check your isolates for exceptional resistance with country-specific guidelines or EUCAST rules. Currently, national guidelines for Germany and the Netherlands are supported. - * The data set `microorganisms` contains the family, genus, species, subspecies, colloquial name and Gram stain of almost 3,000 potential human pathogenic microorganisms (bacteria, fungi/yeasts and parasites). This enables resistance analysis of e.g. different antibiotics per Gram stain. The package also contains functions to look up values in this data set like `mo_genus`, `mo_family` or `mo_gramstain`. As they use `as.mo` internally, they also use artificial intelligence. For example, `mo_genus("MRSA")` and `mo_genus("S. aureus")` will both return `"Staphylococcus"`. They also come with support for German, Dutch, French, Italian, Spanish and Portuguese. These functions can be used to add new variables to your data. - * The data set `antibiotics` contains the ATC code, LIS codes, official name, trivial name and DDD of both oral and parenteral administration. It also contains a total of 298 trade names. Use functions like `ab_official` and `ab_tradenames` to look up values. As the `mo_*` functions use `as.mo` internally, the `ab_*` functions use `as.atc` internally so it uses AI to guess your expected result. For example, `ab_official("Fluclox")`, `ab_official("Floxapen")` and `ab_official("J01CF05")` will all return `"Flucloxacillin"`. These functions can again be used to add new variables to your data. - + * The data set `microorganisms` contains the taxonomic properties of almost 3,000 potential human pathogenic microorganisms (bacteria, fungi/yeasts and parasites). Taxonomic names were downloaded from ITIS (Integrated Taxonomic Information System, http://www.itis.gov). Furhermore, the colloquial name and Gram stain are available, which enables resistance analysis of e.g. different antibiotics per Gram stain. The package also contains functions to look up values in this data set like `mo_genus`, `mo_family`, `mo_gramstain` or even `mo_phylum`. As they use `as.mo` internally, they also use artificial intelligence. For example, `mo_genus("MRSA")` and `mo_genus("S. aureus")` will both return `"Staphylococcus"`. They also come with support for German, Dutch, French, Italian, Spanish and Portuguese. These functions can be used to add new variables to your data. + * The data set `antibiotics` contains the ATC code, LIS codes, official name, trivial name and DDD of both oral and parenteral administration. It also contains a total of 298 trade names. Use functions like `ab_name` and `ab_tradenames` to look up values. The `ab_*` functions use `as.atc` internally so they support AI to guess your expected result. For example, `ab_name("Fluclox")`, `ab_name("Floxapen")` and `ab_name("J01CF05")` will all return `"Flucloxacillin"`. These functions can again be used to add new variables to your data. + 3. It **analyses the data** with convenient functions that use well-known methods. * Calculate the resistance (and even co-resistance) of microbial isolates with the `portion_R`, `portion_IR`, `portion_I`, `portion_SI` and `portion_S` functions. Similarly, the *amount* of isolates can be determined with the `count_R`, `count_IR`, `count_I`, `count_SI` and `count_S` functions. All these functions can be used [with the `dplyr` package](https://dplyr.tidyverse.org/#usage) (e.g. in conjunction with [`summarise`](https://dplyr.tidyverse.org/reference/summarise.html))