mirror of
https://github.com/msberends/AMR.git
synced 2025-07-08 11:51:59 +02:00
added taxonomic data from ITIS
This commit is contained in:
25
R/data.R
25
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"
|
||||
|
||||
|
@ -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 %>%
|
||||
|
@ -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)) {
|
||||
|
Reference in New Issue
Block a user