mirror of
https://github.com/msberends/AMR.git
synced 2025-07-08 09:51:48 +02:00
use dplyr where available, new antibiogram()
for WISCA, fixed Salmonella Typhi/Paratyphi
This commit is contained in:
@ -1,6 +1,6 @@
|
||||
Package: AMR
|
||||
Version: 1.8.2.9105
|
||||
Date: 2023-01-30
|
||||
Version: 1.8.2.9106
|
||||
Date: 2023-02-06
|
||||
Title: Antimicrobial Resistance Data Analysis
|
||||
Description: Functions to simplify and standardise antimicrobial resistance (AMR)
|
||||
data analysis and to work with microbial and antimicrobial properties by
|
||||
|
@ -73,6 +73,7 @@ S3method(asin,mic)
|
||||
S3method(asinh,mic)
|
||||
S3method(atan,mic)
|
||||
S3method(atanh,mic)
|
||||
S3method(barplot,antibiogram)
|
||||
S3method(barplot,disk)
|
||||
S3method(barplot,mic)
|
||||
S3method(barplot,rsi)
|
||||
@ -123,12 +124,14 @@ S3method(mean_amr_distance,mic)
|
||||
S3method(mean_amr_distance,sir)
|
||||
S3method(median,mic)
|
||||
S3method(min,mic)
|
||||
S3method(plot,antibiogram)
|
||||
S3method(plot,disk)
|
||||
S3method(plot,mic)
|
||||
S3method(plot,resistance_predict)
|
||||
S3method(plot,rsi)
|
||||
S3method(plot,sir)
|
||||
S3method(print,ab)
|
||||
S3method(print,antibiogram)
|
||||
S3method(print,av)
|
||||
S3method(print,bug_drug_combinations)
|
||||
S3method(print,custom_eucast_rules)
|
||||
@ -216,6 +219,7 @@ export(aminoglycosides)
|
||||
export(aminopenicillins)
|
||||
export(amr_distance_from_row)
|
||||
export(anti_join_microorganisms)
|
||||
export(antibiogram)
|
||||
export(antifungals)
|
||||
export(antimicrobials_equal)
|
||||
export(antimycobacterials)
|
||||
|
18
NEWS.md
18
NEWS.md
@ -1,4 +1,4 @@
|
||||
# AMR 1.8.2.9105
|
||||
# AMR 1.8.2.9106
|
||||
|
||||
*(this beta version will eventually become v2.0! We're happy to reach a new major milestone soon!)*
|
||||
|
||||
@ -7,13 +7,13 @@ This is a new major release of the AMR package, with great new additions but als
|
||||
**[TL;DR](https://en.wikipedia.org/wiki/TL;DR)**
|
||||
|
||||
* All functions and arguments with 'rsi' were replaced with 'sir', such as the interpretation of MIC values (now `as.sir()` instead of `as.rsi()`) - all old functions still work for now
|
||||
* Many new interesting functions, such as `antibiogram()` (for generating traditional/combined/syndromic/WISCA antibiograms), `sir_confidence_interval()` and `mean_amr_distance()`, and `add_custom_microorganisms()` to add custom microorganisms to this package
|
||||
* Clinical breakpoints added for EUCAST 2022 and CLSI 2022
|
||||
* Microbiological taxonomy (`microorganisms` data set) updated to 2022 and now based on LPSN and GBIF
|
||||
* Much increased algorithms to translate user input to valid taxonomy, e.g. by using [recent scientific work](https://doi.org/10.1099/mic.0.001269) about per-species human pathogenicity
|
||||
* Clinical breakpoints added for EUCAST 2022 and CLSI 2022
|
||||
* 20 new antibiotics added and updated all DDDs and ATC codes
|
||||
* Extended support for antiviral agents (`antivirals` data set), with many new functions
|
||||
* Now available in 16 languages
|
||||
* Many new interesting functions, such as `sir_confidence_interval()` and `mean_amr_distance()`, and `add_custom_microorganisms()` to add custom microorganisms to this package
|
||||
* Many small bug fixes
|
||||
|
||||
## New
|
||||
@ -26,6 +26,17 @@ While existing functions such as `as.rsi()`, `rsi_df()` and `ggplot_rsi()` still
|
||||
|
||||
The 'RSI functions' will be removed in a future version, but not before late 2023 / early 2024.
|
||||
|
||||
### New antibiogram function
|
||||
|
||||
Klinker *et al.* (2021, DOI [10.1177/20499361211011373](https://doi.org/10.1177/20499361211011373)) and Barbieri *et al.* (2021, DOI [10.1186/s13756-021-00939-2](https://doi.org/10.1186/s13756-021-00939-2)).
|
||||
|
||||
With the new `antibiogram()` function, users can now generate traditional, combined, syndromic, and even weighted-incidence syndromic combination antibiograms (WISCA). With this, we follow the logic in the previously described work of Klinker *et al.* (2021, DOI [10.1177/20499361211011373](https://doi.org/10.1177/20499361211011373)) and Barbieri *et al.* (2021, DOI [10.1186/s13756-021-00939-2](https://doi.org/10.1186/s13756-021-00939-2)).
|
||||
|
||||
The help page for `antibiogram()` extensively elaborates on use cases, and `antibiogram()` also supports printing in R Markdown and Quarto, with support for 16 languages.
|
||||
|
||||
Furthermore, different plotting methods were implemented to allow for graphical visualisations as well.
|
||||
|
||||
|
||||
### Interpretation of MIC and disk diffusion values
|
||||
|
||||
The clinical breakpoints and intrinsic resistance of EUCAST 2022 and CLSI 2022 have been added for `as.sir()`. EUCAST 2022 (v12.0) is now the new default guideline for all MIC and disks diffusion interpretations, and for `eucast_rules()` to apply EUCAST Expert Rules. The default guideline (EUCAST) can now be changed with the new `AMR_guideline` option, such as: `options(AMR_guideline = "CLSI 2020")`.
|
||||
@ -123,6 +134,7 @@ We now added extensive support for antiviral agents! For the first time, the `AM
|
||||
* Antimicrobial interpretation 'SDD' (susceptible dose-dependent, coined by CLSI) will be interpreted as 'I' to comply with EUCAST's 'I' in `as.sir()`
|
||||
* Fix for `mo_shortname()` in case of higher taxonomic ranks (order, class, phylum)
|
||||
* Cleaning columns with `as.sir()`, `as.mic()`, or `as.disk()` will now show the column name in the warning for invalid results
|
||||
* Fix for using `g.test()` with zeroes in a 2x2 table
|
||||
|
||||
## Other
|
||||
|
||||
|
@ -519,7 +519,7 @@ pm_join_message <- function(by) {
|
||||
}
|
||||
}
|
||||
pm_lag <- function(x, pm_n = 1L, default = NA) {
|
||||
if (inherits(x, "ts")) stop("`x` must be a vector, not a `ts` object, do you want `stats::pm_lag()`?")
|
||||
if (inherits(x, "ts")) stop("`x` must be a vector, not a `ts` object, do you want `stats::lag()`?")
|
||||
if (length(pm_n) != 1L || !is.numeric(pm_n) || pm_n < 0L) stop("`pm_n` must be a nonnegative integer scalar")
|
||||
if (pm_n == 0L) {
|
||||
return(x)
|
||||
|
@ -63,99 +63,6 @@ pm_left_join <- function(x, y, by = NULL, suffix = c(".x", ".y")) {
|
||||
merged
|
||||
}
|
||||
|
||||
# support where() like tidyverse:
|
||||
# adapted from https://github.com/nathaneastwood/poorman/blob/52eb6947e0b4430cd588976ed8820013eddf955f/R/where.R#L17-L32
|
||||
where <- function(fn) {
|
||||
if (!is.function(fn)) {
|
||||
stop(pm_deparse_var(fn), " is not a valid predicate function.")
|
||||
}
|
||||
preds <- unlist(lapply(
|
||||
pm_select_env$.data,
|
||||
function(x, fn) {
|
||||
do.call("fn", list(x))
|
||||
},
|
||||
fn
|
||||
))
|
||||
if (!is.logical(preds)) stop("`where()` must be used with functions that return `TRUE` or `FALSE`.")
|
||||
data_cols <- pm_select_env$get_colnames()
|
||||
cols <- data_cols[preds]
|
||||
which(data_cols %in% cols)
|
||||
}
|
||||
|
||||
# copied and slightly rewritten from poorman under same license (2021-10-15)
|
||||
quick_case_when <- function(...) {
|
||||
fs <- list(...)
|
||||
lapply(fs, function(x) {
|
||||
if (!inherits(x, "formula")) {
|
||||
stop("`case_when()` requires formula inputs.")
|
||||
}
|
||||
})
|
||||
n <- length(fs)
|
||||
if (n == 0L) {
|
||||
stop("No cases provided.")
|
||||
}
|
||||
|
||||
validate_case_when_length <- function(query, value, fs) {
|
||||
lhs_lengths <- lengths(query)
|
||||
rhs_lengths <- lengths(value)
|
||||
all_lengths <- unique(c(lhs_lengths, rhs_lengths))
|
||||
if (length(all_lengths) <= 1L) {
|
||||
return(all_lengths[[1L]])
|
||||
}
|
||||
non_atomic_lengths <- all_lengths[all_lengths != 1L]
|
||||
len <- non_atomic_lengths[[1L]]
|
||||
if (length(non_atomic_lengths) == 1L) {
|
||||
return(len)
|
||||
}
|
||||
inconsistent_lengths <- non_atomic_lengths[-1L]
|
||||
lhs_problems <- lhs_lengths %in% inconsistent_lengths
|
||||
rhs_problems <- rhs_lengths %in% inconsistent_lengths
|
||||
problems <- lhs_problems | rhs_problems
|
||||
if (any(problems)) {
|
||||
stop("The following formulas must be length ", len, " or 1, not ",
|
||||
paste(inconsistent_lengths, collapse = ", "), ".\n ",
|
||||
paste(fs[problems], collapse = "\n "),
|
||||
call. = FALSE
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
replace_with <- function(x, i, val, arg_name) {
|
||||
if (is.null(val)) {
|
||||
return(x)
|
||||
}
|
||||
i[is.na(i)] <- FALSE
|
||||
if (length(val) == 1L) {
|
||||
x[i] <- val
|
||||
} else {
|
||||
x[i] <- val[i]
|
||||
}
|
||||
x
|
||||
}
|
||||
|
||||
query <- vector("list", n)
|
||||
value <- vector("list", n)
|
||||
default_env <- parent.frame()
|
||||
for (i in seq_len(n)) {
|
||||
query[[i]] <- eval(fs[[i]][[2]], envir = default_env)
|
||||
value[[i]] <- eval(fs[[i]][[3]], envir = default_env)
|
||||
if (!is.logical(query[[i]])) {
|
||||
stop(fs[[i]][[2]], " does not return a `logical` vector.")
|
||||
}
|
||||
}
|
||||
m <- validate_case_when_length(query, value, fs)
|
||||
out <- value[[1]][rep(NA_integer_, m)]
|
||||
replaced <- rep(FALSE, m)
|
||||
for (i in seq_len(n)) {
|
||||
out <- replace_with(
|
||||
out, query[[i]] & !replaced, value[[i]],
|
||||
NULL
|
||||
)
|
||||
replaced <- replaced | (query[[i]] & !is.na(query[[i]]))
|
||||
}
|
||||
out
|
||||
}
|
||||
|
||||
# No export, no Rd
|
||||
addin_insert_in <- function() {
|
||||
import_fn("insertText", "rstudioapi")(" %in% ")
|
||||
@ -386,7 +293,7 @@ import_fn <- function(name, pkg, error_on_fail = TRUE) {
|
||||
getExportedValue(name = name, ns = asNamespace(pkg)),
|
||||
error = function(e) {
|
||||
if (isTRUE(error_on_fail)) {
|
||||
stop_("function ", name, "() is not an exported object from package '", pkg,
|
||||
stop_("function `", name, "()` is not an exported object from package '", pkg,
|
||||
"'. Please create an issue at ", font_url("https://github.com/msberends/AMR/issues"), ". Many thanks!",
|
||||
call = FALSE
|
||||
)
|
||||
@ -1272,7 +1179,7 @@ create_pillar_column <- function(x, ...) {
|
||||
new_pillar_shaft_simple(x, ...)
|
||||
}
|
||||
|
||||
as_original_data_class <- function(df, old_class = NULL) {
|
||||
as_original_data_class <- function(df, old_class = NULL, extra_class = NULL) {
|
||||
if ("tbl_df" %in% old_class && pkg_is_available("tibble", also_load = FALSE)) {
|
||||
# this will then also remove groups
|
||||
fn <- import_fn("as_tibble", "tibble")
|
||||
@ -1285,7 +1192,11 @@ as_original_data_class <- function(df, old_class = NULL) {
|
||||
} else {
|
||||
fn <- function(x) base::as.data.frame(df, stringsAsFactors = FALSE)
|
||||
}
|
||||
fn(df)
|
||||
out <- fn(df)
|
||||
if (!is.null(extra_class)) {
|
||||
class(out) <- c(extra_class, class(out))
|
||||
}
|
||||
out
|
||||
}
|
||||
|
||||
# works exactly like round(), but rounds `round2(44.55, 1)` to 44.6 instead of 44.5
|
||||
@ -1425,7 +1336,7 @@ add_MO_lookup_to_AMR_env <- function() {
|
||||
}
|
||||
|
||||
trimws2 <- function(..., whitespace = "[\u0009\u000A\u000B\u000C\u000D\u0020\u0085\u00A0\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u200B\u200C\u200D\u2028\u2029\u202F\u205F\u2060\u3000\uFEFF]") {
|
||||
# this is even faster than trimws() itself which sets " \t\n\r".
|
||||
# this is even faster than trimws() itself which sets "[ \t\r\n]".
|
||||
trimws(..., whitespace = whitespace)
|
||||
}
|
||||
|
||||
@ -1436,12 +1347,192 @@ readRDS2 <- function(file, refhook = NULL) {
|
||||
readRDS(con, refhook = refhook)
|
||||
}
|
||||
|
||||
|
||||
# dplyr implementations ----
|
||||
|
||||
# copied from https://github.com/nathaneastwood/poorman under same license (2021-10-15)
|
||||
case_when <- function(...) {
|
||||
fs <- list(...)
|
||||
lapply(fs, function(x) {
|
||||
if (!inherits(x, "formula")) {
|
||||
stop("`case_when()` requires formula inputs.")
|
||||
}
|
||||
})
|
||||
n <- length(fs)
|
||||
if (n == 0L) {
|
||||
stop("No cases provided.")
|
||||
}
|
||||
|
||||
validate_case_when_length <- function(query, value, fs) {
|
||||
lhs_lengths <- lengths(query)
|
||||
rhs_lengths <- lengths(value)
|
||||
all_lengths <- unique(c(lhs_lengths, rhs_lengths))
|
||||
if (length(all_lengths) <= 1L) {
|
||||
return(all_lengths[[1L]])
|
||||
}
|
||||
non_atomic_lengths <- all_lengths[all_lengths != 1L]
|
||||
len <- non_atomic_lengths[[1L]]
|
||||
if (length(non_atomic_lengths) == 1L) {
|
||||
return(len)
|
||||
}
|
||||
inconsistent_lengths <- non_atomic_lengths[-1L]
|
||||
lhs_problems <- lhs_lengths %in% inconsistent_lengths
|
||||
rhs_problems <- rhs_lengths %in% inconsistent_lengths
|
||||
problems <- lhs_problems | rhs_problems
|
||||
if (any(problems)) {
|
||||
stop("The following formulas must be length ", len, " or 1, not ",
|
||||
paste(inconsistent_lengths, collapse = ", "), ".\n ",
|
||||
paste(fs[problems], collapse = "\n "),
|
||||
call. = FALSE
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
replace_with <- function(x, i, val, arg_name) {
|
||||
if (is.null(val)) {
|
||||
return(x)
|
||||
}
|
||||
i[is.na(i)] <- FALSE
|
||||
if (length(val) == 1L) {
|
||||
x[i] <- val
|
||||
} else {
|
||||
x[i] <- val[i]
|
||||
}
|
||||
x
|
||||
}
|
||||
|
||||
query <- vector("list", n)
|
||||
value <- vector("list", n)
|
||||
default_env <- parent.frame()
|
||||
for (i in seq_len(n)) {
|
||||
query[[i]] <- eval(fs[[i]][[2]], envir = default_env)
|
||||
value[[i]] <- eval(fs[[i]][[3]], envir = default_env)
|
||||
if (!is.logical(query[[i]])) {
|
||||
stop(fs[[i]][[2]], " does not return a `logical` vector.")
|
||||
}
|
||||
}
|
||||
m <- validate_case_when_length(query, value, fs)
|
||||
out <- value[[1]][rep(NA_integer_, m)]
|
||||
replaced <- rep(FALSE, m)
|
||||
for (i in seq_len(n)) {
|
||||
out <- replace_with(
|
||||
out, query[[i]] & !replaced, value[[i]],
|
||||
NULL
|
||||
)
|
||||
replaced <- replaced | (query[[i]] & !is.na(query[[i]]))
|
||||
}
|
||||
out
|
||||
}
|
||||
|
||||
# adapted from https://github.com/nathaneastwood/poorman/blob/52eb6947e0b4430cd588976ed8820013eddf955f/R/where.R#L17-L32
|
||||
where <- function(fn) {
|
||||
if (!is.function(fn)) {
|
||||
stop_("`", deparse(substitute(fn)), "()` is not a valid predicate function.")
|
||||
}
|
||||
df <- pm_select_env$.data
|
||||
cols <- pm_select_env$get_colnames()
|
||||
if (is.null(df)) {
|
||||
df <- get_current_data("where", call = FALSE)
|
||||
cols <- colnames(df)
|
||||
}
|
||||
preds <- unlist(lapply(
|
||||
df,
|
||||
function(x, fn) {
|
||||
do.call("fn", list(x))
|
||||
},
|
||||
fn
|
||||
))
|
||||
if (!is.logical(preds)) stop_("`where()` must be used with functions that return `TRUE` or `FALSE`.")
|
||||
data_cols <- cols
|
||||
cols <- data_cols[preds]
|
||||
which(data_cols %in% cols)
|
||||
}
|
||||
|
||||
|
||||
# dplyr implementations ----
|
||||
|
||||
# take {dplyr} functions if available, and the slower {poorman} functions otherwise
|
||||
if (pkg_is_available("dplyr", also_load = FALSE)) {
|
||||
`%>%` <- import_fn("%>%", "dplyr", error_on_fail = FALSE)
|
||||
anti_join <- import_fn("anti_join", "dplyr", error_on_fail = FALSE)
|
||||
arrange <- import_fn("arrange", "dplyr", error_on_fail = FALSE)
|
||||
count <- import_fn("count", "dplyr", error_on_fail = FALSE)
|
||||
desc <- import_fn("desc", "dplyr", error_on_fail = FALSE)
|
||||
distinct <- import_fn("distinct", "dplyr", error_on_fail = FALSE)
|
||||
everything <- import_fn("everything", "dplyr", error_on_fail = FALSE)
|
||||
filter <- import_fn("filter", "dplyr", error_on_fail = FALSE)
|
||||
full_join <- import_fn("full_join", "dplyr", error_on_fail = FALSE)
|
||||
group_by <- import_fn("group_by", "dplyr", error_on_fail = FALSE)
|
||||
group_vars <- import_fn("group_vars", "dplyr", error_on_fail = FALSE)
|
||||
inner_join <- import_fn("inner_join", "dplyr", error_on_fail = FALSE)
|
||||
lag <- import_fn("lag", "dplyr", error_on_fail = FALSE)
|
||||
left_join <- import_fn("left_join", "dplyr", error_on_fail = FALSE)
|
||||
n_distinct <- import_fn("n_distinct", "dplyr", error_on_fail = FALSE)
|
||||
pull <- import_fn("pull", "dplyr", error_on_fail = FALSE)
|
||||
rename <- import_fn("rename", "dplyr", error_on_fail = FALSE)
|
||||
right_join <- import_fn("right_join", "dplyr", error_on_fail = FALSE)
|
||||
row_number <- import_fn("row_number", "dplyr", error_on_fail = FALSE)
|
||||
select <- import_fn("select", "dplyr", error_on_fail = FALSE)
|
||||
semi_join <- import_fn("semi_join", "dplyr", error_on_fail = FALSE)
|
||||
summarise <- import_fn("summarise", "dplyr", error_on_fail = FALSE)
|
||||
ungroup <- import_fn("ungroup", "dplyr", error_on_fail = FALSE)
|
||||
mutate <- import_fn("mutate", "dplyr", error_on_fail = FALSE)
|
||||
bind_rows <- import_fn("bind_rows", "dplyr", error_on_fail = FALSE)
|
||||
} else {
|
||||
`%>%` <- `%pm>%`
|
||||
anti_join <- pm_anti_join
|
||||
arrange <- pm_arrange
|
||||
count <- pm_count
|
||||
desc <- pm_desc
|
||||
distinct <- pm_distinct
|
||||
everything <- pm_everything
|
||||
filter <- pm_filter
|
||||
full_join <- pm_full_join
|
||||
group_by <- pm_group_by
|
||||
group_vars <- pm_group_vars
|
||||
inner_join <- pm_inner_join
|
||||
lag <- pm_lag
|
||||
left_join <- pm_left_join
|
||||
n_distinct <- pm_n_distinct
|
||||
pull <- pm_pull
|
||||
rename <- pm_rename
|
||||
right_join <- pm_right_join
|
||||
row_number <- pm_row_number
|
||||
select <- pm_select
|
||||
semi_join <- pm_semi_join
|
||||
summarise <- pm_summarise
|
||||
ungroup <- pm_ungroup
|
||||
mutate <- function(.data, ...) {
|
||||
# pm_mutate is buggy, use this simple alternative
|
||||
dots <- list(...)
|
||||
for (i in seq_len(length(dots))) {
|
||||
.data[, names(dots)[i]] <- dots[[i]]
|
||||
}
|
||||
.data
|
||||
}
|
||||
bind_rows <- function(..., fill = NA) {
|
||||
# this AMAZING code is from ChatGPT when I asked for a base R dplyr::bind_rows alternative
|
||||
dfs <- list(...)
|
||||
all_cols <- unique(unlist(lapply(dfs, colnames)))
|
||||
mat_list <- lapply(dfs, function(x) {
|
||||
mat <- matrix(NA, nrow = nrow(x), ncol = length(all_cols))
|
||||
colnames(mat) <- all_cols
|
||||
mat[, colnames(x)] <- as.matrix(x)
|
||||
mat
|
||||
})
|
||||
mat <- do.call(rbind, mat_list)
|
||||
as.data.frame(mat, stringsAsFactors = FALSE)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
# Faster data.table implementations ----
|
||||
|
||||
match <- function(x, table, ...) {
|
||||
chmatch <- import_fn("chmatch", "data.table", error_on_fail = FALSE)
|
||||
if (!is.null(chmatch) && is.character(x) && is.character(table)) {
|
||||
# data.table::chmatch() is 35% faster than base::match() for character
|
||||
# data.table::chmatch() is much faster than base::match() for character
|
||||
chmatch(x, table, ...)
|
||||
} else {
|
||||
base::match(x, table, ...)
|
||||
@ -1450,7 +1541,7 @@ match <- function(x, table, ...) {
|
||||
`%in%` <- function(x, table) {
|
||||
chin <- import_fn("%chin%", "data.table", error_on_fail = FALSE)
|
||||
if (!is.null(chin) && is.character(x) && is.character(table)) {
|
||||
# data.table::`%chin%`() is 20-50% faster than base::`%in%`() for character
|
||||
# data.table::`%chin%`() is much faster than base::`%in%`() for character
|
||||
chin(x, table)
|
||||
} else {
|
||||
base::`%in%`(x, table)
|
@ -338,7 +338,7 @@ ab_url <- function(x, open = FALSE, ...) {
|
||||
ab_property <- function(x, property = "name", language = get_AMR_locale(), ...) {
|
||||
meet_criteria(x, allow_NA = TRUE)
|
||||
meet_criteria(property, is_in = colnames(AMR::antibiotics), has_length = 1)
|
||||
meet_criteria(language, is_in = c(LANGUAGES_SUPPORTED, ""), has_length = 1, allow_NULL = TRUE, allow_NA = TRUE)
|
||||
language <- validate_language(language)
|
||||
translate_into_language(ab_validate(x = x, property = property, ...), language = language)
|
||||
}
|
||||
|
||||
@ -367,7 +367,7 @@ set_ab_names <- function(data, ..., property = "name", language = get_AMR_locale
|
||||
if (!is.null(out)) {
|
||||
df <- data[, out, drop = FALSE]
|
||||
} else {
|
||||
df <- pm_select(data, ...)
|
||||
df <- select(data, ...)
|
||||
}
|
||||
} else {
|
||||
df <- data
|
||||
@ -438,7 +438,7 @@ set_ab_names <- function(data, ..., property = "name", language = get_AMR_locale
|
||||
|
||||
ab_validate <- function(x, property, ...) {
|
||||
if (tryCatch(all(x[!is.na(x)] %in% AMR_env$AB_lookup$ab), error = function(e) FALSE)) {
|
||||
# special case for ab_* functions where class is already 'ab'
|
||||
# # special case for ab_* functions where class is already 'ab'
|
||||
x <- AMR_env$AB_lookup[match(x, AMR_env$AB_lookup$ab), property, drop = TRUE]
|
||||
} else {
|
||||
# try to catch an error when inputting an invalid argument
|
||||
|
@ -785,14 +785,14 @@ is_all <- function(el1) {
|
||||
|
||||
find_ab_group <- function(ab_class_args) {
|
||||
ab_class_args <- gsub("[^a-zA-Z0-9]", ".*", ab_class_args)
|
||||
AMR_env$AB_lookup %pm>%
|
||||
subset(group %like% ab_class_args |
|
||||
AMR_env$AB_lookup %>%
|
||||
filter(group %like% ab_class_args |
|
||||
atc_group1 %like% ab_class_args |
|
||||
atc_group2 %like% ab_class_args) %pm>%
|
||||
pm_pull(group) %pm>%
|
||||
unique() %pm>%
|
||||
tolower() %pm>%
|
||||
sort() %pm>%
|
||||
atc_group2 %like% ab_class_args) %>%
|
||||
pull(group) %>%
|
||||
unique() %>%
|
||||
tolower() %>%
|
||||
sort() %>%
|
||||
paste(collapse = "/")
|
||||
}
|
||||
|
||||
|
512
R/antibiogram.R
Executable file
512
R/antibiogram.R
Executable file
@ -0,0 +1,512 @@
|
||||
# ==================================================================== #
|
||||
# TITLE #
|
||||
# AMR: An R Package for Working with Antimicrobial Resistance Data #
|
||||
# #
|
||||
# SOURCE #
|
||||
# https://github.com/msberends/AMR #
|
||||
# #
|
||||
# CITE AS #
|
||||
# Berends MS, Luz CF, Friedrich AW, Sinha BNM, Albers CJ, Glasner C #
|
||||
# (2022). AMR: An R Package for Working with Antimicrobial Resistance #
|
||||
# Data. Journal of Statistical Software, 104(3), 1-31. #
|
||||
# doi:10.18637/jss.v104.i03 #
|
||||
# #
|
||||
# Developed at the University of Groningen and the University Medical #
|
||||
# Center Groningen in The Netherlands, in collaboration with many #
|
||||
# colleagues from around the world, see our website. #
|
||||
# #
|
||||
# This R package is free software; you can freely use and distribute #
|
||||
# it for both personal and commercial purposes under the terms of the #
|
||||
# GNU General Public License version 2.0 (GNU GPL-2), as published by #
|
||||
# the Free Software Foundation. #
|
||||
# We created this package for both routine data analysis and academic #
|
||||
# research and it was publicly released in the hope that it will be #
|
||||
# useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. #
|
||||
# #
|
||||
# Visit our website for the full manual and a complete tutorial about #
|
||||
# how to conduct AMR data analysis: https://msberends.github.io/AMR/ #
|
||||
# ==================================================================== #
|
||||
|
||||
#' Generate Antibiogram: Traditional, Combined, Syndromic, or Weighted-Incidence Syndromic Combination (WISCA)
|
||||
#'
|
||||
#' Generate an antibiogram, and communicate the results in plots or tables. These functions follow the logic of Klinker *et al.* (2021, \doi{10.1177/20499361211011373}) and Barbieri *et al.* (2021, \doi{10.1186/s13756-021-00939-2}), and allow reporting in e.g. R Markdown and Quarto as well.
|
||||
#' @param x a [data.frame] containing at least a column with microorganisms and columns with antibiotic results (class 'sir', see [as.sir()])
|
||||
#' @param antibiotics vector of column names, or (any combinations of) [antibiotic selectors][antibiotic_class_selectors] such as [aminoglycosides()] or [carbapenems()]. For combination antibiograms, this can also be column names separated with `"+"`, such as "TZP+TOB" given that the data set contains columns "TZP" and "TOB". See *Examples*.
|
||||
#' @param mo_transform a character to transform microorganism input - must be "name", "shortname", "gramstain", or one of the column names of the [microorganisms] data set: `r vector_or(colnames(microorganisms), sort = FALSE, quotes = TRUE)`. Can also be `NULL` to not transform the input.
|
||||
#' @param ab_transform a character to transform antibiotic input - must be one of the column names of the [antibiotics] data set: `r vector_or(colnames(antibiotics), sort = FALSE, quotes = TRUE)`. Can also be `NULL` to not transform the input.
|
||||
#' @param syndromic_group a column name of `x`, or values calculated to split rows of `x`, e.g. by using [ifelse()] or [`case_when()`][dplyr::case_when()]. See *Examples*.
|
||||
#' @param add_total_n a [logical] to indicate whether total available numbers per pathogen should be added to the table (defaults to `TRUE`). This will add the lowest and highest number of available isolate per antibiotic (e.g, if for *E. coli* 200 isolates are available for ciprofloxacin and 150 for amoxicillin, the returned number will be "150-200").
|
||||
#' @param only_all_tested (for combination antibiograms): a [logical] to indicate that isolates must be tested for all antibiotics, see *Details*
|
||||
#' @param digits number of digits to use for rounding
|
||||
#' @param col_mo column name of the names or codes of the microorganisms (see [as.mo()]), defaults to the first column of class [`mo`]. Values will be coerced using [as.mo()].
|
||||
#' @param language language to translate text, which defaults to the system language (see [get_AMR_locale()])
|
||||
#' @param minimum the minimum allowed number of available (tested) isolates. Any isolate count lower than `minimum` will return `NA` with a warning. The default number of `30` isolates is advised by the Clinical and Laboratory Standards Institute (CLSI) as best practice, see *Source*.
|
||||
#' @param combine_SI a [logical] to indicate whether all susceptibility should be determined by results of either S or I, instead of only S (defaults to `TRUE`)
|
||||
#' @param sep a separating character for antibiotic columns in combination antibiograms
|
||||
#' @details This function returns a table with values between 0 and 100 for *susceptibility*, not resistance.
|
||||
#'
|
||||
#' **Remember that you should filter your data to let it contain only first isolates!** This is needed to exclude duplicates and to reduce selection bias. Use [first_isolate()] to determine them in your data set with one of the four available algorithms.
|
||||
#'
|
||||
#' There are four antibiogram types, as proposed by Klinker *et al.* (2021, \doi{10.1177/20499361211011373}), and they are all supported by [antibiogram()]:
|
||||
#'
|
||||
#' 1. **Traditional Antibiogram**
|
||||
#'
|
||||
#' Case example: Susceptibility of *Pseudomonas aeruginosa* to piperacillin/tazobactam (TZP)
|
||||
#'
|
||||
#' Code example:
|
||||
#'
|
||||
#' ```r
|
||||
#' antibiogram(your_data,
|
||||
#' antibiotics = "TZP")
|
||||
#' ```
|
||||
#'
|
||||
#' 2. **Combination Antibiogram**
|
||||
#'
|
||||
#' Case example: Additional susceptibility of *Pseudomonas aeruginosa* to TZP + tobramycin versus TZP alone
|
||||
#'
|
||||
#' Code example:
|
||||
#'
|
||||
#' ```r
|
||||
#' antibiogram(your_data,
|
||||
#' antibiotics = c("TZP", "TZP+TOB", "TZP+GEN"))
|
||||
#' ```
|
||||
#'
|
||||
#' 3. **Syndromic Antibiogram**
|
||||
#'
|
||||
#' Case example: Susceptibility of *Pseudomonas aeruginosa* to TZP among respiratory specimens (obtained among ICU patients only)
|
||||
#'
|
||||
#' Code example:
|
||||
#'
|
||||
#' ```r
|
||||
#' antibiogram(your_data,
|
||||
#' antibiotics = penicillins(),
|
||||
#' syndromic_group = "ward")
|
||||
#' ```
|
||||
#'
|
||||
#' 4. **Weighted-Incidence Syndromic Combination Antibiogram (WISCA)**
|
||||
#'
|
||||
#' Case example: Susceptibility of *Pseudomonas aeruginosa* to TZP among respiratory specimens (obtained among ICU patients only) for male patients age >=65 years with heart failure
|
||||
#'
|
||||
#' Code example:
|
||||
#'
|
||||
#' ```r
|
||||
#' antibiogram(your_data,
|
||||
#' antibiotics = c("TZP", "TZP+TOB", "TZP+GEN"),
|
||||
#' syndromic_group = ifelse(your_data$age >= 65 & your_data$gender == "Male",
|
||||
#' "Group 1", "Group 2"))
|
||||
#' ```
|
||||
#'
|
||||
#' All types of antibiograms can be generated with the functions as described on this page, and can be plotted (using [ggplot2::autoplot()] or base \R [plot()]/[barplot()]) or printed into R Markdown / Quarto formats for reports. Use functions from specific 'table reporting' packages to transform the output of [antibiogram()] to your needs, e.g. `flextable::as_flextable()` or `gt::gt()`.
|
||||
#'
|
||||
#' Note that for combination antibiograms, it is important to realise that susceptibility can be calculated in two ways, which can be set with the `only_all_tested` argument (defaults to `FALSE`). See this example for two antibiotics, Drug A and Drug B, about how [antibiogram()] works to calculate the %SI:
|
||||
#'
|
||||
#' ```
|
||||
#' --------------------------------------------------------------------
|
||||
#' only_all_tested = FALSE only_all_tested = TRUE
|
||||
#' ----------------------- -----------------------
|
||||
#' Drug A Drug B include as include as include as include as
|
||||
#' numerator denominator numerator denominator
|
||||
#' -------- -------- ---------- ----------- ---------- -----------
|
||||
#' S or I S or I X X X X
|
||||
#' R S or I X X X X
|
||||
#' <NA> S or I X X - -
|
||||
#' S or I R X X X X
|
||||
#' R R - X - X
|
||||
#' <NA> R - - - -
|
||||
#' S or I <NA> X X - -
|
||||
#' R <NA> - - - -
|
||||
#' <NA> <NA> - - - -
|
||||
#' --------------------------------------------------------------------
|
||||
#' ```
|
||||
#' @source
|
||||
#' * Klinker KP *et al.* (2021). **Antimicrobial stewardship and antibiograms: importance of moving beyond traditional antibiograms**. *Therapeutic Advances in Infectious Disease*, May 5;8:20499361211011373; \doi{10.1177/20499361211011373}
|
||||
#' * Barbieri E *et al.* (2021). **Development of a Weighted-Incidence Syndromic Combination Antibiogram (WISCA) to guide the choice of the empiric antibiotic treatment for urinary tract infection in paediatric patients: a Bayesian approach** *Antimicrobial Resistance & Infection Control* May 1;10(1):74; \doi{10.1186/s13756-021-00939-2}
|
||||
#' * **M39 Analysis and Presentation of Cumulative Antimicrobial Susceptibility Test Data, 5th Edition**, 2022, *Clinical and Laboratory Standards Institute (CLSI)*. <https://clsi.org/standards/products/microbiology/documents/m39/>.
|
||||
#' @rdname antibiogram
|
||||
#' @name antibiogram
|
||||
#' @export
|
||||
#' @examples
|
||||
#' # example_isolates is a data set available in the AMR package.
|
||||
#' # run ?example_isolates for more info.
|
||||
#' example_isolates
|
||||
#'
|
||||
#'
|
||||
#' # Traditional antibiogram ----------------------------------------------
|
||||
#'
|
||||
#' antibiogram(example_isolates,
|
||||
#' antibiotics = c(aminoglycosides(), carbapenems()))
|
||||
#'
|
||||
#' antibiogram(example_isolates,
|
||||
#' antibiotics = aminoglycosides(),
|
||||
#' ab_transform = "atc",
|
||||
#' mo_transform = "gramstain")
|
||||
#'
|
||||
#' antibiogram(example_isolates,
|
||||
#' antibiotics = carbapenems(),
|
||||
#' ab_transform = "name",
|
||||
#' mo_transform = "name")
|
||||
#'
|
||||
#'
|
||||
#' # Combined antibiogram -------------------------------------------------
|
||||
#'
|
||||
#' # combined antibiotics yield higher empiric coverage
|
||||
#' antibiogram(example_isolates,
|
||||
#' antibiotics = c("TZP", "TZP+TOB", "TZP+GEN"),
|
||||
#' mo_transform = "gramstain")
|
||||
#'
|
||||
#' antibiogram(example_isolates,
|
||||
#' antibiotics = c("TZP", "TZP+TOB"),
|
||||
#' mo_transform = "gramstain",
|
||||
#' ab_transform = "name",
|
||||
#' sep = " & ")
|
||||
#'
|
||||
#'
|
||||
#' # Syndromic antibiogram ------------------------------------------------
|
||||
#'
|
||||
#' # the data set could contain a filter for e.g. respiratory specimens
|
||||
#' antibiogram(example_isolates,
|
||||
#' antibiotics = c(aminoglycosides(), carbapenems()),
|
||||
#' syndromic_group = "ward")
|
||||
#'
|
||||
#' # with a custom language, though this will be determined automatically
|
||||
#' # (i.e., this table will be in Spanish on Spanish systems)
|
||||
#' ex1 <- example_isolates[which(mo_genus() == "Escherichia"), ]
|
||||
#' antibiogram(ex1,
|
||||
#' antibiotics = aminoglycosides(),
|
||||
#' ab_transform = "name",
|
||||
#' syndromic_group = ifelse(ex1$ward == "ICU",
|
||||
#' "UCI", "No UCI"),
|
||||
#' language = "es")
|
||||
#'
|
||||
#'
|
||||
#' # Weighted-incidence syndromic combination antibiogram (WISCA) ---------
|
||||
#'
|
||||
#' # the data set could contain a filter for e.g. respiratory specimens
|
||||
#' antibiogram(example_isolates,
|
||||
#' antibiotics = c("AMC", "AMC+CIP", "TZP", "TZP+TOB"),
|
||||
#' mo_transform = "gramstain",
|
||||
#' minimum = 10, # this should be >= 30, but now just as example
|
||||
#' syndromic_group = ifelse(example_isolates$age >= 65 &
|
||||
#' example_isolates$gender == "M",
|
||||
#' "WISCA Group 1", "WISCA Group 2"))
|
||||
#'
|
||||
#'
|
||||
#' # Generate plots with ggplot2 or base R --------------------------------
|
||||
#'
|
||||
#' ab1 <- antibiogram(example_isolates,
|
||||
#' antibiotics = c("AMC", "CIP", "TZP", "TZP+TOB"),
|
||||
#' mo_transform = "gramstain")
|
||||
#' ab2 <- antibiogram(example_isolates,
|
||||
#' antibiotics = c("AMC", "CIP", "TZP", "TZP+TOB"),
|
||||
#' mo_transform = "gramstain",
|
||||
#' syndromic_group = "ward")
|
||||
#'
|
||||
#' plot(ab1)
|
||||
#'
|
||||
#' if (requireNamespace("ggplot2")) {
|
||||
#' ggplot2::autoplot(ab1)
|
||||
#' }
|
||||
#'
|
||||
#' plot(ab2)
|
||||
#'
|
||||
#' if (requireNamespace("ggplot2")) {
|
||||
#' ggplot2::autoplot(ab2)
|
||||
#' }
|
||||
antibiogram <- function(x,
|
||||
antibiotics = where(is.sir),
|
||||
mo_transform = "shortname",
|
||||
ab_transform = NULL,
|
||||
syndromic_group = NULL,
|
||||
add_total_n = TRUE,
|
||||
only_all_tested = FALSE,
|
||||
digits = 0,
|
||||
col_mo = NULL,
|
||||
language = get_AMR_locale(),
|
||||
minimum = 30,
|
||||
combine_SI = TRUE,
|
||||
sep = " + ") {
|
||||
meet_criteria(x, allow_class = "data.frame", contains_column_class = "sir")
|
||||
meet_criteria(mo_transform, allow_class = "character", has_length = 1, is_in = c("name", "shortname", "gramstain", colnames(AMR::microorganisms)), allow_NULL = TRUE)
|
||||
meet_criteria(ab_transform, allow_class = "character", has_length = 1, is_in = colnames(AMR::antibiotics), allow_NULL = TRUE)
|
||||
meet_criteria(syndromic_group, allow_class = "character", allow_NULL = TRUE, allow_NA = TRUE)
|
||||
meet_criteria(add_total_n, allow_class = "logical", has_length = 1)
|
||||
meet_criteria(only_all_tested, allow_class = "logical", has_length = 1)
|
||||
meet_criteria(digits, allow_class = c("numeric", "integer"), has_length = 1, is_finite = TRUE)
|
||||
meet_criteria(col_mo, allow_class = "character", has_length = 1, allow_NULL = TRUE, is_in = colnames(x))
|
||||
language <- validate_language(language)
|
||||
meet_criteria(minimum, allow_class = c("numeric", "integer"), has_length = 1, is_positive_or_zero = TRUE, is_finite = TRUE)
|
||||
meet_criteria(combine_SI, allow_class = "logical", has_length = 1)
|
||||
meet_criteria(sep, allow_class = "character", has_length = 1)
|
||||
|
||||
# try to find columns based on type
|
||||
if (is.null(col_mo)) {
|
||||
col_mo <- search_type_in_df(x = x, type = "mo", info = interactive())
|
||||
stop_if(is.null(col_mo), "`col_mo` must be set")
|
||||
}
|
||||
# transform MOs
|
||||
x$`.mo` <- x[, col_mo, drop = TRUE]
|
||||
if (is.null(mo_transform)) {
|
||||
# leave as is
|
||||
} else if (mo_transform == "gramstain") {
|
||||
x$`.mo` <- mo_gramstain(x$`.mo`, language = language)
|
||||
} else if (mo_transform == "shortname") {
|
||||
x$`.mo` <- mo_shortname(x$`.mo`, language = language)
|
||||
} else if (mo_transform == "name") {
|
||||
x$`.mo` <- mo_name(x$`.mo`, language = language)
|
||||
} else {
|
||||
x$`.mo` <- mo_property(x$`.mo`, language = language)
|
||||
}
|
||||
x$`.mo`[is.na(x$`.mo`)] <- "(??)"
|
||||
|
||||
# get syndromic groups
|
||||
if (!is.null(syndromic_group)) {
|
||||
if (length(syndromic_group) == 1 && syndromic_group %in% colnames(x)) {
|
||||
x$`.syndromic_group` <- x[, syndromic_group, drop = TRUE]
|
||||
} else if (!is.null(syndromic_group)) {
|
||||
x$`.syndromic_group` <- syndromic_group
|
||||
}
|
||||
x$`.syndromic_group`[is.na(x$`.syndromic_group`) | x$`.syndromic_group` == ""] <- paste0("(", translate_AMR("unknown", language = language), ")")
|
||||
has_syndromic_group <- TRUE
|
||||
} else {
|
||||
has_syndromic_group <- FALSE
|
||||
}
|
||||
|
||||
# get antibiotics
|
||||
if (tryCatch(is.character(antibiotics), error = function(e) FALSE)) {
|
||||
antibiotics <- strsplit(gsub(" ", "", antibiotics), "+", fixed = TRUE)
|
||||
non_existing <- unlist(antibiotics)[!unlist(antibiotics) %in% colnames(x)]
|
||||
if (length(non_existing) > 0) {
|
||||
warning_("The following antibiotics were not available and ignored: ", vector_and(non_existing, sort = FALSE))
|
||||
antibiotics <- lapply(antibiotics, function(ab) ab[!ab %in% non_existing])
|
||||
}
|
||||
# make list unique
|
||||
antibiotics <- unique(antibiotics)
|
||||
# go through list to set AMR in combinations
|
||||
for (i in seq_len(length(antibiotics))) {
|
||||
abx <- antibiotics[[i]]
|
||||
for (ab in abx) {
|
||||
# make sure they are SIR columns
|
||||
x[, ab] <- as.sir(x[, ab, drop = TRUE])
|
||||
}
|
||||
new_colname <- paste0(trimws(abx), collapse = sep)
|
||||
if (length(abx) == 1) {
|
||||
next
|
||||
} else {
|
||||
# determine whether this new column should contain S, I, R, or NA
|
||||
if (isTRUE(combine_SI)) {
|
||||
S_values <- c("S", "I")
|
||||
}else {
|
||||
S_values <- "S"
|
||||
}
|
||||
other_values <- setdiff(c("S", "I", "R"), S_values)
|
||||
x_transposed <- as.list(as.data.frame(t(x[, abx, drop = FALSE]), stringsAsFactors = FALSE))
|
||||
if (isTRUE(only_all_tested)) {
|
||||
x[new_colname] <- as.sir(vapply(FUN.VALUE = character(1), x_transposed, function(x) ifelse(anyNA(x), NA_character_, ifelse(any(x %in% S_values), "S", "R")), USE.NAMES = FALSE))
|
||||
} else {
|
||||
x[new_colname] <- as.sir(vapply(FUN.VALUE = character(1), x_transposed, function(x) ifelse(any(x %in% S_values, na.rm = TRUE), "S", ifelse(anyNA(x), NA_character_, "R")),
|
||||
USE.NAMES = FALSE))
|
||||
}
|
||||
}
|
||||
antibiotics[[i]] <- new_colname
|
||||
}
|
||||
antibiotics <- unlist(antibiotics)
|
||||
} else {
|
||||
if (identical(select, import_fn("select", "dplyr", error_on_fail = FALSE))) {
|
||||
antibiotics <- suppressWarnings(x %>% select({{ antibiotics }}) %>% colnames())
|
||||
} else {
|
||||
antibiotics <- x %>% select(antibiotics) %>% colnames()
|
||||
}
|
||||
}
|
||||
|
||||
if (isTRUE(has_syndromic_group)) {
|
||||
out <- x %>%
|
||||
select(.syndromic_group, .mo, antibiotics) %>%
|
||||
group_by(.syndromic_group)
|
||||
} else {
|
||||
out <- x %>%
|
||||
select(.mo, antibiotics)
|
||||
}
|
||||
# get numbers of S, I, R (per group)
|
||||
out <- out %>%
|
||||
bug_drug_combinations(col_mo = ".mo",
|
||||
FUN = function(x) x)
|
||||
counts <- out
|
||||
|
||||
# regroup for summarising
|
||||
if (isTRUE(has_syndromic_group)) {
|
||||
colnames(out)[1] <- "syndromic_group"
|
||||
out <- out %>%
|
||||
group_by(syndromic_group, mo, ab)
|
||||
} else {
|
||||
out <- out %>%
|
||||
group_by(mo, ab)
|
||||
}
|
||||
if (any(out$total < minimum, na.rm = TRUE)) {
|
||||
message_("NOTE: ", sum(out$total < minimum, na.rm = TRUE), " combinations had less than `minimum = ", minimum, "` results and were ignored", add_fn = font_red)
|
||||
}
|
||||
|
||||
out <- out %>%
|
||||
mutate(numerator = ifelse(isTRUE(combine_SI), S + I, S)) %>%
|
||||
summarise(SI = ifelse(total >= minimum, numerator / total, NA_real_)) %>%
|
||||
filter(!is.na(SI))
|
||||
|
||||
# transform names of antibiotics
|
||||
ab_naming_function <- function(x, t, l, s) {
|
||||
x <- strsplit(x, s, fixed = TRUE)
|
||||
out <- character(length = length(x))
|
||||
for (i in seq_len(length(x))) {
|
||||
a <- x[[i]]
|
||||
if (is.null(t)) {
|
||||
# leave as is
|
||||
} else if (t == "atc") {
|
||||
a <- ab_atc(a, only_first = TRUE, language = l)
|
||||
} else {
|
||||
a <- ab_property(a, property = t, language = l)
|
||||
}
|
||||
if (length(a) > 1) {
|
||||
a <- paste0(trimws(a), collapse = sep)
|
||||
}
|
||||
out[i] <- a
|
||||
}
|
||||
out
|
||||
}
|
||||
out$ab <- ab_naming_function(out$ab, t = ab_transform, l = language, s = sep)
|
||||
|
||||
# transform long to wide
|
||||
long_to_wide <- function(object, digs) {
|
||||
object <- object %>%
|
||||
mutate(SI = round(SI * 100, digits = digs)) %>%
|
||||
# an unclassed data.frame is required for stats::reshape()
|
||||
as.data.frame(stringsAsFactors = FALSE) %>%
|
||||
stats::reshape(direction = "wide", idvar = "mo", timevar = "ab", v.names = "SI")
|
||||
colnames(object) <- gsub("^SI?[.]", "", colnames(object))
|
||||
return(object)
|
||||
}
|
||||
|
||||
long <- ungroup(out)
|
||||
|
||||
if (isTRUE(has_syndromic_group)) {
|
||||
grps <- unique(out$syndromic_group)
|
||||
for (i in seq_len(length(grps))) {
|
||||
grp <- grps[i]
|
||||
if (i == 1) {
|
||||
new_df <- long_to_wide(out[which(out$syndromic_group == grp), , drop = FALSE], digs = digits)
|
||||
} else {
|
||||
new_df <- bind_rows(new_df,
|
||||
long_to_wide(out[which(out$syndromic_group == grp), , drop = FALSE], digs = digits))
|
||||
}
|
||||
}
|
||||
# sort rows
|
||||
new_df <- new_df %>% arrange(mo, syndromic_group)
|
||||
# sort columns
|
||||
new_df <- new_df[, c("syndromic_group", "mo", sort(colnames(new_df)[!colnames(new_df) %in% c("syndromic_group", "mo")])), drop = FALSE]
|
||||
colnames(new_df)[1:2] <- translate_AMR(c("Syndromic Group", "Pathogen"), language = language)
|
||||
} else {
|
||||
new_df <- long_to_wide(out, digs = digits)
|
||||
# sort rows
|
||||
new_df <- new_df %>% arrange(mo)
|
||||
# sort columns
|
||||
new_df <- new_df[, c("mo", sort(colnames(new_df)[colnames(new_df) != "mo"])), drop = FALSE]
|
||||
colnames(new_df)[1] <- translate_AMR("Pathogen", language = language)
|
||||
}
|
||||
|
||||
# add total N if indicated
|
||||
if (isTRUE(add_total_n)) {
|
||||
if (isTRUE(has_syndromic_group)) {
|
||||
n_per_mo <- counts %>%
|
||||
group_by(mo, .syndromic_group) %>%
|
||||
summarise(paste0(min(total, na.rm = TRUE), "-", max(total, na.rm = TRUE)))
|
||||
colnames(n_per_mo) <- c("mo", "syn", "count")
|
||||
count_group <- n_per_mo$count[match(paste(new_df[[2]], new_df[[1]]), paste(n_per_mo$mo, n_per_mo$syn))]
|
||||
edit_col <- 2
|
||||
} else {
|
||||
n_per_mo <- counts %>%
|
||||
group_by(mo) %>%
|
||||
summarise(paste0(min(total, na.rm = TRUE), "-", max(total, na.rm = TRUE)))
|
||||
colnames(n_per_mo) <- c("mo", "count")
|
||||
count_group <- n_per_mo$count[match(new_df[[1]], n_per_mo$mo)]
|
||||
edit_col <- 1
|
||||
}
|
||||
new_df[[edit_col]] <- paste0(new_df[[edit_col]], " (", count_group, ")")
|
||||
colnames(new_df)[edit_col] <- paste(colnames(new_df)[edit_col], "(N min-max)")
|
||||
}
|
||||
|
||||
structure(as_original_data_class(new_df, class(x), extra_class = "antibiogram"),
|
||||
long = long,
|
||||
combine_SI = combine_SI)
|
||||
}
|
||||
|
||||
#' @export
|
||||
#' @rdname antibiogram
|
||||
plot.antibiogram <- function(x, ...) {
|
||||
df <- attributes(x)$long
|
||||
if ("syndromic_group" %in% colnames(df)) {
|
||||
# barplot in base R does not support facets - paste columns together
|
||||
df$mo <- paste(df$mo, "-", df$syndromic_group)
|
||||
df$syndromic_group <- NULL
|
||||
df <- df[order(df$mo), , drop = FALSE]
|
||||
}
|
||||
mo_levels = unique(df$mo)
|
||||
mfrow_old <- par()$mfrow
|
||||
sqrt_levels <- sqrt(length(mo_levels))
|
||||
par(mfrow = c(ceiling(sqrt_levels), floor(sqrt_levels)))
|
||||
for (i in seq_along(mo_levels)) {
|
||||
mo <- mo_levels[i]
|
||||
df_sub <- df[df$mo == mo, , drop = FALSE]
|
||||
|
||||
barplot(height = df_sub$SI * 100,
|
||||
xlab = NULL,
|
||||
ylab = ifelse(isTRUE(attributes(x)$combine_SI), "%SI", "%S"),
|
||||
names.arg = df_sub$ab,
|
||||
col = "#aaaaaa",
|
||||
beside = TRUE,
|
||||
main = mo,
|
||||
legend = NULL)
|
||||
}
|
||||
par(mfrow = mfrow_old)
|
||||
}
|
||||
|
||||
#' @export
|
||||
#' @noRd
|
||||
barplot.antibiogram <- plot.antibiogram
|
||||
|
||||
#' @method autoplot antibiogram
|
||||
#' @rdname antibiogram
|
||||
# will be exported using s3_register() in R/zzz.R
|
||||
autoplot.antibiogram <- function(object, ...) {
|
||||
df <- attributes(object)$long
|
||||
ggplot2::ggplot(df) +
|
||||
ggplot2::geom_col(ggplot2::aes(x = ab,
|
||||
y = SI * 100,
|
||||
fill = if ("syndromic_group" %in% colnames(df)) {
|
||||
syndromic_group
|
||||
} else {
|
||||
NULL
|
||||
}),
|
||||
position = "dodge") +
|
||||
ggplot2::facet_wrap("mo") +
|
||||
ggplot2::labs(y = ifelse(isTRUE(attributes(object)$combine_SI), "%SI", "%S"),
|
||||
x = NULL,
|
||||
fill = if ("syndromic_group" %in% colnames(df)) {
|
||||
colnames(object)[1]
|
||||
} else {
|
||||
NULL
|
||||
})
|
||||
}
|
||||
|
||||
#' @export
|
||||
#' @param as_kable a [logical] to indicate whether the printing should be done using [knitr::kable()] (which is the default in non-interactive sessions)
|
||||
#' @details Printing the antibiogram in non-interactive sessions will be done by [knitr::kable()], with support for [all their implemented formats][knitr::kable()], such as "markdown". The knitr format will be automatically determined if printed inside a knitr document (LaTeX, HTML, etc.).
|
||||
#' @rdname antibiogram
|
||||
print.antibiogram <- function(x, as_kable = !interactive(), ...) {
|
||||
meet_criteria(as_kable, allow_class = "logical", has_length = 1)
|
||||
if (isTRUE(as_kable)) {
|
||||
stop_ifnot_installed("knitr")
|
||||
kable <- import_fn("kable", "knitr", error_on_fail = TRUE)
|
||||
kable(x, ...)
|
||||
} else {
|
||||
# remove 'antibiogram' class and print as indicated
|
||||
class(x) <- class(x)[class(x) != "antibiogram"]
|
||||
print(x, ...)
|
||||
}
|
||||
}
|
@ -139,9 +139,9 @@ atc_online_property <- function(atc_code,
|
||||
|
||||
if (property == "groups") {
|
||||
out <- tryCatch(
|
||||
read_html(atc_url) %pm>%
|
||||
html_node("#content") %pm>%
|
||||
html_children() %pm>%
|
||||
read_html(atc_url) %>%
|
||||
html_node("#content") %>%
|
||||
html_children() %>%
|
||||
html_node("a"),
|
||||
error = function(e) NULL
|
||||
)
|
||||
@ -151,9 +151,9 @@ atc_online_property <- function(atc_code,
|
||||
}
|
||||
|
||||
# get URLS of items
|
||||
hrefs <- out %pm>% html_attr("href")
|
||||
hrefs <- out %>% html_attr("href")
|
||||
# get text of items
|
||||
texts <- out %pm>% html_text()
|
||||
texts <- out %>% html_text()
|
||||
# select only text items where URL like "code="
|
||||
texts <- texts[grepl("?code=", tolower(hrefs), fixed = TRUE)]
|
||||
# last one is antibiotics, skip it
|
||||
@ -161,9 +161,9 @@ atc_online_property <- function(atc_code,
|
||||
returnvalue <- c(list(texts), returnvalue)
|
||||
} else {
|
||||
out <- tryCatch(
|
||||
read_html(atc_url) %pm>%
|
||||
html_nodes("table") %pm>%
|
||||
html_table(header = TRUE) %pm>%
|
||||
read_html(atc_url) %>%
|
||||
html_nodes("table") %>%
|
||||
html_table(header = TRUE) %>%
|
||||
as.data.frame(stringsAsFactors = FALSE),
|
||||
error = function(e) NULL
|
||||
)
|
||||
|
@ -252,7 +252,7 @@ av_url <- function(x, open = FALSE, ...) {
|
||||
av_property <- function(x, property = "name", language = get_AMR_locale(), ...) {
|
||||
meet_criteria(x, allow_NA = TRUE)
|
||||
meet_criteria(property, is_in = colnames(AMR::antivirals), has_length = 1)
|
||||
meet_criteria(language, is_in = c(LANGUAGES_SUPPORTED, ""), has_length = 1, allow_NULL = TRUE, allow_NA = TRUE)
|
||||
language <- validate_language(language)
|
||||
translate_into_language(av_validate(x = x, property = property, ...), language = language)
|
||||
}
|
||||
|
||||
|
@ -45,6 +45,10 @@
|
||||
#' @return The function [bug_drug_combinations()] returns a [data.frame] with columns "mo", "ab", "S", "I", "R" and "total".
|
||||
#' @examples
|
||||
#' \donttest{
|
||||
#' #' # example_isolates is a data set available in the AMR package.
|
||||
#' # run ?example_isolates for more info.
|
||||
#' example_isolates
|
||||
#'
|
||||
#' x <- bug_drug_combinations(example_isolates)
|
||||
#' head(x)
|
||||
#' format(x, translate_ab = "name (atc)")
|
||||
@ -79,7 +83,30 @@ bug_drug_combinations <- function(x,
|
||||
} else {
|
||||
stop_ifnot(col_mo %in% colnames(x), "column '", col_mo, "' (`col_mo`) not found")
|
||||
}
|
||||
|
||||
|
||||
# use dplyr and tidyr if they are available, they are much faster!
|
||||
if (pkg_is_available("dplyr", min_version = "1.0.0", also_load = FALSE) &&
|
||||
pkg_is_available("tidyr", min_version = "1.0.0", also_load = FALSE)) {
|
||||
across <- import_fn("across", "dplyr")
|
||||
pivot_longer <- import_fn("pivot_longer", "tidyr")
|
||||
out <- x %>%
|
||||
ungroup() %>%
|
||||
mutate(mo = FUN(ungroup(x)[, col_mo, drop = TRUE], ...)) %>%
|
||||
pivot_longer(where(is.sir), names_to = "ab") %>%
|
||||
group_by(across(c(group_vars(x), mo, ab))) %>%
|
||||
summarise(S = sum(value == "S", na.rm = TRUE),
|
||||
I = sum(value == "I", na.rm = TRUE),
|
||||
R = sum(value == "R", na.rm = TRUE),
|
||||
.groups = "drop") %>%
|
||||
mutate(total = S + I + R)
|
||||
out <- out %>% arrange(mo, ab)
|
||||
return(structure(out,
|
||||
class = c("bug_drug_combinations",
|
||||
ifelse(is_null_or_grouped_tbl(x), "grouped", character(0)),
|
||||
class(out))))
|
||||
}
|
||||
|
||||
# no dplyr or tidyr available, so use base R
|
||||
x.bak <- x
|
||||
x <- as.data.frame(x, stringsAsFactors = FALSE)
|
||||
x[, col_mo] <- FUN(x[, col_mo, drop = TRUE], ...)
|
||||
@ -161,6 +188,7 @@ bug_drug_combinations <- function(x,
|
||||
out <- run_it(x)
|
||||
}
|
||||
rownames(out) <- NULL
|
||||
out <- out %>% arrange(mo, ab)
|
||||
out <- as_original_data_class(out, class(x.bak)) # will remove tibble groups
|
||||
structure(out, class = c("bug_drug_combinations", ifelse(data_has_groups, "grouped", character(0)), class(out)))
|
||||
}
|
||||
@ -176,12 +204,12 @@ format.bug_drug_combinations <- function(x,
|
||||
add_ab_group = TRUE,
|
||||
remove_intrinsic_resistant = FALSE,
|
||||
decimal.mark = getOption("OutDec"),
|
||||
big.mark = ifelse(decimal.mark == ",", ".", ","),
|
||||
big.mark = ifelse(decimal.mark == ",", " ", ","),
|
||||
...) {
|
||||
meet_criteria(x, allow_class = "data.frame")
|
||||
meet_criteria(translate_ab, allow_class = c("character", "logical"), has_length = 1, allow_NA = TRUE)
|
||||
language <- validate_language(language)
|
||||
meet_criteria(minimum, allow_class = c("numeric", "integer"), has_length = 1, is_positive = TRUE, is_finite = TRUE)
|
||||
meet_criteria(minimum, allow_class = c("numeric", "integer"), has_length = 1, is_positive_or_zero = TRUE, is_finite = TRUE)
|
||||
meet_criteria(combine_SI, allow_class = "logical", has_length = 1)
|
||||
meet_criteria(add_ab_group, allow_class = "logical", has_length = 1)
|
||||
meet_criteria(remove_intrinsic_resistant, allow_class = "logical", has_length = 1)
|
||||
@ -246,46 +274,38 @@ format.bug_drug_combinations <- function(x,
|
||||
.data
|
||||
}
|
||||
|
||||
create_var <- function(.data, ...) {
|
||||
dots <- list(...)
|
||||
for (i in seq_len(length(dots))) {
|
||||
.data[, names(dots)[i]] <- dots[[i]]
|
||||
}
|
||||
.data
|
||||
}
|
||||
|
||||
y <- x %pm>%
|
||||
create_var(
|
||||
y <- x %>%
|
||||
mutate(
|
||||
ab = as.ab(x$ab),
|
||||
ab_txt = give_ab_name(ab = x$ab, format = translate_ab, language = language)
|
||||
) %pm>%
|
||||
pm_group_by(ab, ab_txt, mo) %pm>%
|
||||
pm_summarise(
|
||||
) %>%
|
||||
group_by(ab, ab_txt, mo) %>%
|
||||
summarise(
|
||||
isolates = sum(isolates, na.rm = TRUE),
|
||||
total = sum(total, na.rm = TRUE)
|
||||
) %pm>%
|
||||
pm_ungroup()
|
||||
) %>%
|
||||
ungroup()
|
||||
|
||||
y <- y %pm>%
|
||||
create_var(txt = paste0(
|
||||
y <- y %>%
|
||||
mutate(txt = paste0(
|
||||
percentage(y$isolates / y$total, decimal.mark = decimal.mark, big.mark = big.mark),
|
||||
" (", trimws(format(y$isolates, big.mark = big.mark)), "/",
|
||||
trimws(format(y$total, big.mark = big.mark)), ")"
|
||||
)) %pm>%
|
||||
pm_select(ab, ab_txt, mo, txt) %pm>%
|
||||
pm_arrange(mo)
|
||||
)) %>%
|
||||
select(ab, ab_txt, mo, txt) %>%
|
||||
arrange(mo)
|
||||
|
||||
# replace tidyr::pivot_wider() from here
|
||||
for (i in unique(y$mo)) {
|
||||
mo_group <- y[which(y$mo == i), c("ab", "txt"), drop = FALSE]
|
||||
colnames(mo_group) <- c("ab", i)
|
||||
rownames(mo_group) <- NULL
|
||||
y <- y %pm>%
|
||||
pm_left_join(mo_group, by = "ab")
|
||||
y <- y %>%
|
||||
left_join(mo_group, by = "ab")
|
||||
}
|
||||
y <- y %pm>%
|
||||
pm_distinct(ab, .keep_all = TRUE) %pm>%
|
||||
pm_select(-mo, -txt) %pm>%
|
||||
y <- y %>%
|
||||
distinct(ab, .keep_all = TRUE) %>%
|
||||
select(-mo, -txt) %>%
|
||||
# replace tidyr::pivot_wider() until here
|
||||
remove_NAs()
|
||||
|
||||
@ -293,21 +313,21 @@ format.bug_drug_combinations <- function(x,
|
||||
.data[, c("ab_group", "ab_txt", colnames(.data)[!colnames(.data) %in% c("ab_group", "ab_txt", "ab")]), drop = FALSE]
|
||||
}
|
||||
|
||||
y <- y %pm>%
|
||||
create_var(ab_group = ab_group(y$ab, language = language)) %pm>%
|
||||
select_ab_vars() %pm>%
|
||||
pm_arrange(ab_group, ab_txt)
|
||||
y <- y %pm>%
|
||||
create_var(ab_group = ifelse(y$ab_group != pm_lag(y$ab_group) | is.na(pm_lag(y$ab_group)), y$ab_group, ""))
|
||||
y <- y %>%
|
||||
mutate(ab_group = ab_group(y$ab, language = language)) %>%
|
||||
select_ab_vars() %>%
|
||||
arrange(ab_group, ab_txt)
|
||||
y <- y %>%
|
||||
mutate(ab_group = ifelse(y$ab_group != lag(y$ab_group) | is.na(lag(y$ab_group)), y$ab_group, ""))
|
||||
|
||||
if (add_ab_group == FALSE) {
|
||||
y <- y %pm>%
|
||||
pm_select(-ab_group) %pm>%
|
||||
pm_rename("Drug" = ab_txt)
|
||||
y <- y %>%
|
||||
select(-ab_group) %>%
|
||||
rename("Drug" = ab_txt)
|
||||
colnames(y)[1] <- translate_into_language(colnames(y)[1], language, only_unknown = FALSE)
|
||||
} else {
|
||||
y <- y %pm>%
|
||||
pm_rename(
|
||||
y <- y %>%
|
||||
rename(
|
||||
"Group" = ab_group,
|
||||
"Drug" = ab_txt
|
||||
)
|
||||
|
30
R/data.R
30
R/data.R
@ -27,7 +27,7 @@
|
||||
# how to conduct AMR data analysis: https://msberends.github.io/AMR/ #
|
||||
# ==================================================================== #
|
||||
|
||||
#' Data Sets with `r format(nrow(antibiotics) + nrow(antivirals), big.mark = ",")` Antimicrobial Drugs
|
||||
#' Data Sets with `r format(nrow(antibiotics) + nrow(antivirals), big.mark = " ")` Antimicrobial Drugs
|
||||
#'
|
||||
#' Two data sets containing all antibiotics/antimycotics and antivirals. Use [as.ab()] or one of the [`ab_*`][ab_property()] functions to retrieve values from the [antibiotics] data set. Three identifiers are included in this data set: an antibiotic ID (`ab`, primarily used in this package) as defined by WHONET/EARS-Net, an ATC code (`atc`) as defined by the WHO, and a Compound ID (`cid`) as found in PubChem. Other properties in this data set are derived from one or more of these codes. Note that some drugs have multiple ATC codes.
|
||||
#' @format
|
||||
@ -82,10 +82,10 @@
|
||||
#' @rdname antibiotics
|
||||
"antivirals"
|
||||
|
||||
#' Data Set with `r format(nrow(microorganisms), big.mark = ",")` Microorganisms
|
||||
#' Data Set with `r format(nrow(microorganisms), big.mark = " ")` Microorganisms
|
||||
#'
|
||||
#' A data set containing the full microbial taxonomy (**last updated: `r documentation_date(max(TAXONOMY_VERSION$GBIF$accessed_date, TAXONOMY_VERSION$LPSN$accessed_date))`**) of `r nr2char(length(unique(microorganisms$kingdom[!microorganisms$kingdom %like% "unknown"])))` kingdoms from the List of Prokaryotic names with Standing in Nomenclature (LPSN) and the Global Biodiversity Information Facility (GBIF). This data set is the backbone of this `AMR` package. MO codes can be looked up using [as.mo()].
|
||||
#' @format A [tibble][tibble::tibble] with `r format(nrow(microorganisms), big.mark = ",")` observations and `r ncol(microorganisms)` variables:
|
||||
#' @format A [tibble][tibble::tibble] with `r format(nrow(microorganisms), big.mark = " ")` observations and `r ncol(microorganisms)` variables:
|
||||
#' - `mo`\cr ID of microorganism as used by this package
|
||||
#' - `fullname`\cr Full name, like `"Escherichia coli"`. For the taxonomic ranks genus, species and subspecies, this is the 'pasted' text of genus, species, and subspecies. For all taxonomic ranks higher than genus, this is the name of the taxon.
|
||||
#' - `status` \cr Status of the taxon, either `r vector_or(microorganisms$status)`
|
||||
@ -150,10 +150,10 @@
|
||||
#' microorganisms
|
||||
"microorganisms"
|
||||
|
||||
#' Data Set with `r format(nrow(microorganisms.codes), big.mark = ",")` Common Microorganism Codes
|
||||
#' Data Set with `r format(nrow(microorganisms.codes), big.mark = " ")` Common Microorganism Codes
|
||||
#'
|
||||
#' A data set containing commonly used codes for microorganisms, from laboratory systems and WHONET. Define your own with [set_mo_source()]. They will all be searched when using [as.mo()] and consequently all the [`mo_*`][mo_property()] functions.
|
||||
#' @format A [tibble][tibble::tibble] with `r format(nrow(microorganisms.codes), big.mark = ",")` observations and `r ncol(microorganisms.codes)` variables:
|
||||
#' @format A [tibble][tibble::tibble] with `r format(nrow(microorganisms.codes), big.mark = " ")` observations and `r ncol(microorganisms.codes)` variables:
|
||||
#' - `code`\cr Commonly used code of a microorganism
|
||||
#' - `mo`\cr ID of the microorganism in the [microorganisms] data set
|
||||
#' @details
|
||||
@ -163,10 +163,10 @@
|
||||
#' microorganisms.codes
|
||||
"microorganisms.codes"
|
||||
|
||||
#' Data Set with `r format(nrow(example_isolates), big.mark = ",")` Example Isolates
|
||||
#' Data Set with `r format(nrow(example_isolates), big.mark = " ")` Example Isolates
|
||||
#'
|
||||
#' A data set containing `r format(nrow(example_isolates), big.mark = ",")` microbial isolates with their full antibiograms. This data set contains randomised fictitious data, but reflects reality and can be used to practise AMR data analysis. For examples, please read [the tutorial on our website](https://msberends.github.io/AMR/articles/AMR.html).
|
||||
#' @format A [tibble][tibble::tibble] with `r format(nrow(example_isolates), big.mark = ",")` observations and `r ncol(example_isolates)` variables:
|
||||
#' A data set containing `r format(nrow(example_isolates), big.mark = " ")` microbial isolates with their full antibiograms. This data set contains randomised fictitious data, but reflects reality and can be used to practise AMR data analysis. For examples, please read [the tutorial on our website](https://msberends.github.io/AMR/articles/AMR.html).
|
||||
#' @format A [tibble][tibble::tibble] with `r format(nrow(example_isolates), big.mark = " ")` observations and `r ncol(example_isolates)` variables:
|
||||
#' - `date`\cr Date of receipt at the laboratory
|
||||
#' - `patient`\cr ID of the patient
|
||||
#' - `age`\cr Age of the patient
|
||||
@ -182,8 +182,8 @@
|
||||
|
||||
#' Data Set with Unclean Data
|
||||
#'
|
||||
#' A data set containing `r format(nrow(example_isolates_unclean), big.mark = ",")` microbial isolates that are not cleaned up and consequently not ready for AMR data analysis. This data set can be used for practice.
|
||||
#' @format A [tibble][tibble::tibble] with `r format(nrow(example_isolates_unclean), big.mark = ",")` observations and `r ncol(example_isolates_unclean)` variables:
|
||||
#' A data set containing `r format(nrow(example_isolates_unclean), big.mark = " ")` microbial isolates that are not cleaned up and consequently not ready for AMR data analysis. This data set can be used for practice.
|
||||
#' @format A [tibble][tibble::tibble] with `r format(nrow(example_isolates_unclean), big.mark = " ")` observations and `r ncol(example_isolates_unclean)` variables:
|
||||
#' - `patient_id`\cr ID of the patient
|
||||
#' - `date`\cr date of receipt at the laboratory
|
||||
#' - `hospital`\cr ID of the hospital, from A to C
|
||||
@ -195,10 +195,10 @@
|
||||
#' example_isolates_unclean
|
||||
"example_isolates_unclean"
|
||||
|
||||
#' Data Set with `r format(nrow(WHONET), big.mark = ",")` Isolates - WHONET Example
|
||||
#' Data Set with `r format(nrow(WHONET), big.mark = " ")` Isolates - WHONET Example
|
||||
#'
|
||||
#' This example data set has the exact same structure as an export file from WHONET. Such files can be used with this package, as this example data set shows. The antibiotic results are from our [example_isolates] data set. All patient names are created using online surname generators and are only in place for practice purposes.
|
||||
#' @format A [tibble][tibble::tibble] with `r format(nrow(WHONET), big.mark = ",")` observations and `r ncol(WHONET)` variables:
|
||||
#' @format A [tibble][tibble::tibble] with `r format(nrow(WHONET), big.mark = " ")` observations and `r ncol(WHONET)` variables:
|
||||
#' - `Identification number`\cr ID of the sample
|
||||
#' - `Specimen number`\cr ID of the specimen
|
||||
#' - `Organism`\cr Name of the microorganism. Before analysis, you should transform this to a valid microbial class, using [as.mo()].
|
||||
@ -234,7 +234,7 @@
|
||||
#' Data Set with Clinical Breakpoints for SIR Interpretation
|
||||
#'
|
||||
#' Data set containing clinical breakpoints to interpret MIC and disk diffusion to SIR values, according to international guidelines. Currently implemented guidelines are EUCAST (`r min(as.integer(gsub("[^0-9]", "", subset(clinical_breakpoints, guideline %like% "EUCAST")$guideline)))`-`r max(as.integer(gsub("[^0-9]", "", subset(clinical_breakpoints, guideline %like% "EUCAST")$guideline)))`) and CLSI (`r min(as.integer(gsub("[^0-9]", "", subset(clinical_breakpoints, guideline %like% "CLSI")$guideline)))`-`r max(as.integer(gsub("[^0-9]", "", subset(clinical_breakpoints, guideline %like% "CLSI")$guideline)))`). Use [as.sir()] to transform MICs or disks measurements to SIR values.
|
||||
#' @format A [tibble][tibble::tibble] with `r format(nrow(clinical_breakpoints), big.mark = ",")` observations and `r ncol(clinical_breakpoints)` variables:
|
||||
#' @format A [tibble][tibble::tibble] with `r format(nrow(clinical_breakpoints), big.mark = " ")` observations and `r ncol(clinical_breakpoints)` variables:
|
||||
#' - `guideline`\cr Name of the guideline
|
||||
#' - `method`\cr Either `r vector_or(clinical_breakpoints$method)`
|
||||
#' - `site`\cr Body site, e.g. "Oral" or "Respiratory"
|
||||
@ -258,7 +258,7 @@
|
||||
#' Data Set with Bacterial Intrinsic Resistance
|
||||
#'
|
||||
#' Data set containing defined intrinsic resistance by EUCAST of all bug-drug combinations.
|
||||
#' @format A [tibble][tibble::tibble] with `r format(nrow(intrinsic_resistant), big.mark = ",")` observations and `r ncol(intrinsic_resistant)` variables:
|
||||
#' @format A [tibble][tibble::tibble] with `r format(nrow(intrinsic_resistant), big.mark = " ")` observations and `r ncol(intrinsic_resistant)` variables:
|
||||
#' - `mo`\cr Microorganism ID
|
||||
#' - `ab`\cr Antibiotic ID
|
||||
#' @details
|
||||
@ -275,7 +275,7 @@
|
||||
#' Data Set with Treatment Dosages as Defined by EUCAST
|
||||
#'
|
||||
#' EUCAST breakpoints used in this package are based on the dosages in this data set. They can be retrieved with [eucast_dosage()].
|
||||
#' @format A [tibble][tibble::tibble] with `r format(nrow(dosage), big.mark = ",")` observations and `r ncol(dosage)` variables:
|
||||
#' @format A [tibble][tibble::tibble] with `r format(nrow(dosage), big.mark = " ")` observations and `r ncol(dosage)` variables:
|
||||
#' - `ab`\cr Antibiotic ID as used in this package (such as `AMC`), using the official EARS-Net (European Antimicrobial Resistance Surveillance Network) codes where available
|
||||
#' - `name`\cr Official name of the antimicrobial drug as used by WHONET/EARS-Net or the WHO
|
||||
#' - `type`\cr Type of the dosage, either `r vector_or(dosage$type)`
|
||||
|
6
R/disk.R
6
R/disk.R
@ -114,9 +114,9 @@ as.disk <- function(x, na.rm = FALSE) {
|
||||
na_after <- length(x[is.na(x)])
|
||||
|
||||
if (na_before != na_after) {
|
||||
list_missing <- x.bak[is.na(x) & !is.na(x.bak)] %pm>%
|
||||
unique() %pm>%
|
||||
sort() %pm>%
|
||||
list_missing <- x.bak[is.na(x) & !is.na(x.bak)] %>%
|
||||
unique() %>%
|
||||
sort() %>%
|
||||
vector_and(quotes = TRUE)
|
||||
cur_col <- get_current_column()
|
||||
warning_("in `as.disk()`: ", na_after - na_before, " result",
|
||||
|
@ -236,7 +236,7 @@ eucast_rules <- function(x,
|
||||
}
|
||||
|
||||
decimal.mark <- getOption("OutDec")
|
||||
big.mark <- ifelse(decimal.mark != ",", ",", ".")
|
||||
big.mark <- ifelse(decimal.mark != ",", ",", " ")
|
||||
formatnr <- function(x, big = big.mark, dec = decimal.mark) {
|
||||
trimws(format(x, big.mark = big, decimal.mark = dec))
|
||||
}
|
||||
@ -331,12 +331,12 @@ eucast_rules <- function(x,
|
||||
|
||||
# Some helper functions ---------------------------------------------------
|
||||
get_antibiotic_names <- function(x) {
|
||||
x <- x %pm>%
|
||||
strsplit(",") %pm>%
|
||||
unlist() %pm>%
|
||||
trimws2() %pm>%
|
||||
vapply(FUN.VALUE = character(1), function(x) if (x %in% AMR::antibiotics$ab) ab_name(x, language = NULL, tolower = TRUE, fast_mode = TRUE) else x) %pm>%
|
||||
sort() %pm>%
|
||||
x <- x %>%
|
||||
strsplit(",") %>%
|
||||
unlist() %>%
|
||||
trimws2() %>%
|
||||
vapply(FUN.VALUE = character(1), function(x) if (x %in% AMR::antibiotics$ab) ab_name(x, language = NULL, tolower = TRUE, fast_mode = TRUE) else x) %>%
|
||||
sort() %>%
|
||||
paste(collapse = ", ")
|
||||
x <- gsub("_", " ", x, fixed = TRUE)
|
||||
x <- gsub("except CAZ", paste("except", ab_name("CAZ", language = NULL, tolower = TRUE)), x, fixed = TRUE)
|
||||
@ -419,10 +419,10 @@ eucast_rules <- function(x,
|
||||
# save original table, with the new .rowid column
|
||||
x.bak <- x
|
||||
# keep only unique rows for MO and ABx
|
||||
x <- x %pm>%
|
||||
pm_arrange(`.rowid`) %pm>%
|
||||
x <- x %>%
|
||||
arrange(`.rowid`) %>%
|
||||
# big speed gain! only analyse unique rows:
|
||||
pm_distinct(`.rowid`, .keep_all = TRUE) %pm>%
|
||||
distinct(`.rowid`, .keep_all = TRUE) %>%
|
||||
as.data.frame(stringsAsFactors = FALSE)
|
||||
x[, col_mo] <- as.mo(as.character(x[, col_mo, drop = TRUE]), info = info)
|
||||
# rename col_mo to prevent interference with joined columns
|
||||
@ -925,16 +925,16 @@ eucast_rules <- function(x,
|
||||
|
||||
# Print overview ----------------------------------------------------------
|
||||
if (isTRUE(info) || isTRUE(verbose)) {
|
||||
verbose_info <- x.bak %pm>%
|
||||
pm_mutate(row = pm_row_number()) %pm>%
|
||||
pm_select(`.rowid`, row) %pm>%
|
||||
pm_right_join(verbose_info,
|
||||
verbose_info <- x.bak %>%
|
||||
mutate(row = row_number()) %>%
|
||||
select(`.rowid`, row) %>%
|
||||
right_join(verbose_info,
|
||||
by = c(".rowid" = "rowid")
|
||||
) %pm>%
|
||||
pm_select(-`.rowid`) %pm>%
|
||||
pm_select(row, pm_everything()) %pm>%
|
||||
pm_filter(!is.na(new) | is.na(new) & !is.na(old)) %pm>%
|
||||
pm_arrange(row, rule_group, rule_name, col)
|
||||
) %>%
|
||||
select(-`.rowid`) %>%
|
||||
select(row, everything()) %>%
|
||||
filter(!is.na(new) | is.na(new) & !is.na(old)) %>%
|
||||
arrange(row, rule_group, rule_name, col)
|
||||
rownames(verbose_info) <- NULL
|
||||
}
|
||||
|
||||
@ -949,7 +949,7 @@ eucast_rules <- function(x,
|
||||
cat(word_wrap(paste0(
|
||||
"The rules ", paste0(wouldve, "affected "),
|
||||
font_bold(
|
||||
formatnr(pm_n_distinct(verbose_info$row)),
|
||||
formatnr(n_distinct(verbose_info$row)),
|
||||
"out of", formatnr(nrow(x.bak)),
|
||||
"rows"
|
||||
),
|
||||
@ -957,8 +957,8 @@ eucast_rules <- function(x,
|
||||
font_bold(formatnr(nrow(verbose_info)), "edits\n")
|
||||
)))
|
||||
|
||||
total_n_added <- verbose_info %pm>% pm_filter(is.na(old)) %pm>% nrow()
|
||||
total_n_changed <- verbose_info %pm>% pm_filter(!is.na(old)) %pm>% nrow()
|
||||
total_n_added <- verbose_info %>% filter(is.na(old)) %>% nrow()
|
||||
total_n_changed <- verbose_info %>% filter(!is.na(old)) %>% nrow()
|
||||
|
||||
# print added values
|
||||
if (total_n_added == 0) {
|
||||
@ -968,15 +968,15 @@ eucast_rules <- function(x,
|
||||
}
|
||||
cat(colour(paste0(
|
||||
"=> ", wouldve, "added ",
|
||||
font_bold(formatnr(verbose_info %pm>%
|
||||
pm_filter(is.na(old)) %pm>%
|
||||
font_bold(formatnr(verbose_info %>%
|
||||
filter(is.na(old)) %>%
|
||||
nrow()), "test results"),
|
||||
"\n"
|
||||
)))
|
||||
if (total_n_added > 0) {
|
||||
added_summary <- verbose_info %pm>%
|
||||
pm_filter(is.na(old)) %pm>%
|
||||
pm_count(new, name = "n")
|
||||
added_summary <- verbose_info %>%
|
||||
filter(is.na(old)) %>%
|
||||
count(new, name = "n")
|
||||
cat(paste(" -",
|
||||
paste0(
|
||||
formatnr(added_summary$n), " test result", ifelse(added_summary$n > 1, "s", ""),
|
||||
@ -997,16 +997,16 @@ eucast_rules <- function(x,
|
||||
}
|
||||
cat(colour(paste0(
|
||||
"=> ", wouldve, "changed ",
|
||||
font_bold(formatnr(verbose_info %pm>%
|
||||
pm_filter(!is.na(old)) %pm>%
|
||||
font_bold(formatnr(verbose_info %>%
|
||||
filter(!is.na(old)) %>%
|
||||
nrow()), "test results"),
|
||||
"\n"
|
||||
)))
|
||||
if (total_n_changed > 0) {
|
||||
changed_summary <- verbose_info %pm>%
|
||||
pm_filter(!is.na(old)) %pm>%
|
||||
pm_mutate(new = ifelse(is.na(new), "NA", new)) %pm>%
|
||||
pm_count(old, new, name = "n")
|
||||
changed_summary <- verbose_info %>%
|
||||
filter(!is.na(old)) %>%
|
||||
mutate(new = ifelse(is.na(new), "NA", new)) %>%
|
||||
count(old, new, name = "n")
|
||||
cat(paste(" -",
|
||||
paste0(
|
||||
formatnr(changed_summary$n), " test result", ifelse(changed_summary$n > 1, "s", ""), " changed from ",
|
||||
@ -1049,8 +1049,8 @@ eucast_rules <- function(x,
|
||||
# x was analysed with only unique rows, so join everything together again
|
||||
x <- x[, c(cols_ab, ".rowid"), drop = FALSE]
|
||||
x.bak <- x.bak[, setdiff(colnames(x.bak), cols_ab), drop = FALSE]
|
||||
x.bak <- x.bak %pm>%
|
||||
pm_left_join(x, by = ".rowid")
|
||||
x.bak <- x.bak %>%
|
||||
left_join(x, by = ".rowid")
|
||||
x.bak <- x.bak[, old_cols, drop = FALSE]
|
||||
# reset original attributes
|
||||
attributes(x.bak) <- old_attributes
|
||||
@ -1103,8 +1103,8 @@ edit_sir <- function(x,
|
||||
if (w$message %like% "invalid factor level") {
|
||||
xyz <- vapply(FUN.VALUE = logical(1), cols, function(col) {
|
||||
new_edits[, col] <<- factor(
|
||||
x = as.character(pm_pull(new_edits, col)),
|
||||
levels = unique(c(to, levels(pm_pull(new_edits, col))))
|
||||
x = as.character(pull(new_edits, col)),
|
||||
levels = unique(c(to, levels(pull(new_edits, col))))
|
||||
)
|
||||
TRUE
|
||||
})
|
||||
@ -1159,22 +1159,22 @@ edit_sir <- function(x,
|
||||
"rowid", "col", "mo_fullname", "old", "new",
|
||||
"rule", "rule_group", "rule_name", "rule_source"
|
||||
)
|
||||
verbose_new <- verbose_new %pm>% pm_filter(old != new | is.na(old) | is.na(new) & !is.na(old))
|
||||
verbose_new <- verbose_new %>% filter(old != new | is.na(old) | is.na(new) & !is.na(old))
|
||||
# save changes to data set 'verbose_info'
|
||||
track_changes$verbose_info <- rbind(track_changes$verbose_info,
|
||||
verbose_new,
|
||||
stringsAsFactors = FALSE
|
||||
)
|
||||
# count adds and changes
|
||||
track_changes$added <- track_changes$added + verbose_new %pm>%
|
||||
pm_filter(is.na(old)) %pm>%
|
||||
pm_pull(rowid) %pm>%
|
||||
get_original_rows() %pm>%
|
||||
track_changes$added <- track_changes$added + verbose_new %>%
|
||||
filter(is.na(old)) %>%
|
||||
pull(rowid) %>%
|
||||
get_original_rows() %>%
|
||||
length()
|
||||
track_changes$changed <- track_changes$changed + verbose_new %pm>%
|
||||
pm_filter(!is.na(old)) %pm>%
|
||||
pm_pull(rowid) %pm>%
|
||||
get_original_rows() %pm>%
|
||||
track_changes$changed <- track_changes$changed + verbose_new %>%
|
||||
filter(!is.na(old)) %>%
|
||||
pull(rowid) %>%
|
||||
get_original_rows() %>%
|
||||
length()
|
||||
}
|
||||
}
|
||||
|
@ -33,7 +33,7 @@
|
||||
#' @param x a [data.frame] containing isolates. Can be left blank for automatic determination, see *Examples*.
|
||||
#' @param col_date column name of the result date (or date that is was received on the lab), defaults to the first column with a date class
|
||||
#' @param col_patient_id column name of the unique IDs of the patients, defaults to the first column that starts with 'patient' or 'patid' (case insensitive)
|
||||
#' @param 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()].
|
||||
#' @param col_mo column name of the names or codes of the microorganisms (see [as.mo()]), defaults to the first column of class [`mo`]. Values will be coerced using [as.mo()].
|
||||
#' @param col_testcode column name of the test codes. Use `col_testcode = NULL` to **not** exclude certain test codes (such as test codes for screening). In that case `testcodes_exclude` will be ignored.
|
||||
#' @param col_specimen column name of the specimen type or group
|
||||
#' @param col_icu column name of the logicals (`TRUE`/`FALSE`) whether a ward or department is an Intensive Care Unit (ICU). This can also be a [logical] vector with the same length as rows in `x`.
|
||||
@ -71,17 +71,14 @@
|
||||
#' | **Isolate-based** | `first_isolate(x, method = "isolate-based")` |
|
||||
#' | *(= all isolates)* | |
|
||||
#' | | |
|
||||
#' | | |
|
||||
#' | **Patient-based** | `first_isolate(x, method = "patient-based")` |
|
||||
#' | *(= first isolate per patient)* | |
|
||||
#' | | |
|
||||
#' | | |
|
||||
#' | **Episode-based** | `first_isolate(x, method = "episode-based")`, or: |
|
||||
#' | *(= first isolate per episode)* | |
|
||||
#' | - 7-Day interval from initial isolate | - `first_isolate(x, method = "e", episode_days = 7)` |
|
||||
#' | - 30-Day interval from initial isolate | - `first_isolate(x, method = "e", episode_days = 30)` |
|
||||
#' | | |
|
||||
#' | | |
|
||||
#' | **Phenotype-based** | `first_isolate(x, method = "phenotype-based")`, or: |
|
||||
#' | *(= first isolate per phenotype)* | |
|
||||
#' | - Major difference in any antimicrobial result | - `first_isolate(x, type = "points")` |
|
||||
@ -133,7 +130,7 @@
|
||||
#' # `example_isolates` is a data set available in the AMR package.
|
||||
#' # See ?example_isolates.
|
||||
#'
|
||||
#' example_isolates[first_isolate(), ]
|
||||
#' example_isolates[first_isolate(info = TRUE), ]
|
||||
#' \donttest{
|
||||
#' # get all first Gram-negatives
|
||||
#' example_isolates[which(first_isolate(info = FALSE) & mo_is_gram_negative()), ]
|
||||
@ -141,7 +138,7 @@
|
||||
#' if (require("dplyr")) {
|
||||
#' # filter on first isolates using dplyr:
|
||||
#' example_isolates %>%
|
||||
#' filter(first_isolate())
|
||||
#' filter(first_isolate(info = TRUE))
|
||||
#' }
|
||||
#' if (require("dplyr")) {
|
||||
#' # short-hand version:
|
||||
@ -152,7 +149,7 @@
|
||||
#' # flag the first isolates per group:
|
||||
#' example_isolates %>%
|
||||
#' group_by(ward) %>%
|
||||
#' mutate(first = first_isolate()) %>%
|
||||
#' mutate(first = first_isolate(info = FALSE)) %>%
|
||||
#' select(ward, date, patient, mo, first)
|
||||
#' }
|
||||
#' }
|
||||
@ -394,17 +391,17 @@ first_isolate <- function(x = NULL,
|
||||
} else {
|
||||
# filtering on specimen and only analyse these rows to save time
|
||||
x <- x[order(
|
||||
pm_pull(x, col_specimen),
|
||||
pull(x, col_specimen),
|
||||
x$newvar_patient_id,
|
||||
x$newvar_genus_species,
|
||||
x$newvar_date
|
||||
), ]
|
||||
rownames(x) <- NULL
|
||||
suppressWarnings(
|
||||
row.start <- which(x %pm>% pm_pull(col_specimen) == specimen_group) %pm>% min(na.rm = TRUE)
|
||||
row.start <- which(x %>% pull(col_specimen) == specimen_group) %>% min(na.rm = TRUE)
|
||||
)
|
||||
suppressWarnings(
|
||||
row.end <- which(x %pm>% pm_pull(col_specimen) == specimen_group) %pm>% max(na.rm = TRUE)
|
||||
row.end <- which(x %>% pull(col_specimen) == specimen_group) %>% max(na.rm = TRUE)
|
||||
)
|
||||
}
|
||||
|
||||
@ -427,7 +424,7 @@ first_isolate <- function(x = NULL,
|
||||
}
|
||||
return(TRUE)
|
||||
}
|
||||
if (length(c(row.start:row.end)) == pm_n_distinct(x[c(row.start:row.end), col_mo, drop = TRUE])) {
|
||||
if (length(c(row.start:row.end)) == n_distinct(x[c(row.start:row.end), col_mo, drop = TRUE])) {
|
||||
if (isTRUE(info)) {
|
||||
message_("=> Found ", font_bold(paste(length(c(row.start:row.end)), "first isolates")),
|
||||
", as all isolates were different microbial species",
|
||||
@ -465,7 +462,7 @@ first_isolate <- function(x = NULL,
|
||||
}
|
||||
}
|
||||
|
||||
x$other_pat_or_mo <- !(x$newvar_patient_id == pm_lag(x$newvar_patient_id) & x$newvar_genus_species == pm_lag(x$newvar_genus_species))
|
||||
x$other_pat_or_mo <- !(x$newvar_patient_id == lag(x$newvar_patient_id) & x$newvar_genus_species == lag(x$newvar_genus_species))
|
||||
|
||||
x$episode_group <- paste(x$newvar_patient_id, x$newvar_genus_species)
|
||||
x$more_than_episode_ago <- unlist(
|
||||
@ -485,29 +482,21 @@ first_isolate <- function(x = NULL,
|
||||
# with key antibiotics
|
||||
x$other_key_ab <- !antimicrobials_equal(
|
||||
y = x$newvar_key_ab,
|
||||
z = pm_lag(x$newvar_key_ab),
|
||||
z = lag(x$newvar_key_ab),
|
||||
type = type,
|
||||
ignore_I = ignore_I,
|
||||
points_threshold = points_threshold
|
||||
)
|
||||
x$newvar_first_isolate <- pm_if_else(
|
||||
x$newvar_row_index_sorted >= row.start &
|
||||
x$newvar_row_index_sorted <= row.end &
|
||||
x$newvar_genus_species != "" &
|
||||
(x$other_pat_or_mo | x$more_than_episode_ago | x$other_key_ab),
|
||||
TRUE,
|
||||
FALSE
|
||||
)
|
||||
x$newvar_first_isolate <- x$newvar_row_index_sorted >= row.start &
|
||||
x$newvar_row_index_sorted <= row.end &
|
||||
x$newvar_genus_species != "" &
|
||||
(x$other_pat_or_mo | x$more_than_episode_ago | x$other_key_ab)
|
||||
} else {
|
||||
# no key antibiotics
|
||||
x$newvar_first_isolate <- pm_if_else(
|
||||
x$newvar_row_index_sorted >= row.start &
|
||||
x$newvar_row_index_sorted <= row.end &
|
||||
x$newvar_genus_species != "" &
|
||||
(x$other_pat_or_mo | x$more_than_episode_ago),
|
||||
TRUE,
|
||||
FALSE
|
||||
)
|
||||
x$newvar_first_isolate <- x$newvar_row_index_sorted >= row.start &
|
||||
x$newvar_row_index_sorted <= row.end &
|
||||
x$newvar_genus_species != "" &
|
||||
(x$other_pat_or_mo | x$more_than_episode_ago)
|
||||
}
|
||||
|
||||
# first one as TRUE
|
||||
@ -518,12 +507,14 @@ first_isolate <- function(x = NULL,
|
||||
}
|
||||
if (!is.null(col_icu)) {
|
||||
if (icu_exclude == TRUE) {
|
||||
message_("Excluding ", format(sum(col_icu, na.rm = TRUE), big.mark = ","), " isolates from ICU.",
|
||||
add_fn = font_black,
|
||||
as_note = FALSE
|
||||
)
|
||||
if (isTRUE(info)) {
|
||||
message_("Excluding ", format(sum(col_icu, na.rm = TRUE), big.mark = ","), " isolates from ICU.",
|
||||
add_fn = font_black,
|
||||
as_note = FALSE
|
||||
)
|
||||
}
|
||||
x[which(col_icu), "newvar_first_isolate"] <- FALSE
|
||||
} else {
|
||||
} else if (isTRUE(info)) {
|
||||
message_("Including isolates from ICU.",
|
||||
add_fn = font_black,
|
||||
as_note = FALSE
|
||||
@ -532,7 +523,7 @@ first_isolate <- function(x = NULL,
|
||||
}
|
||||
|
||||
decimal.mark <- getOption("OutDec")
|
||||
big.mark <- ifelse(decimal.mark != ",", ",", ".")
|
||||
big.mark <- ifelse(decimal.mark != ",", ",", " ")
|
||||
|
||||
if (isTRUE(info)) {
|
||||
# print group name if used in dplyr::group_by()
|
||||
|
@ -29,7 +29,7 @@
|
||||
|
||||
#' Determine (New) Episodes for Patients
|
||||
#'
|
||||
#' These functions determine which items in a vector can be considered (the start of) a new episode, based on the argument `episode_days`. This can be used to determine clinical episodes for any epidemiological analysis. The [get_episode()] function returns the index number of the episode per group, while the [is_new_episode()] function returns values `TRUE`/`FALSE` to indicate whether an item in a vector is the start of a new episode.
|
||||
#' These functions determine which items in a vector can be considered (the start of) a new episode, based on the argument `episode_days`. This can be used to determine clinical episodes for any epidemiological analysis. The [get_episode()] function returns the index number of the episode per group, while the [is_new_episode()] function returns values `TRUE`/`FALSE` for where [get_episode()] returns 1, and is thus equal to `get_episode(...) == 1`.
|
||||
#' @param x vector of dates (class `Date` or `POSIXt`), will be sorted internally to determine episodes
|
||||
#' @param episode_days required episode length in days, can also be less than a day or `Inf`, see *Details*
|
||||
#' @param ... ignored, only in place to allow future extensions
|
||||
@ -38,7 +38,7 @@
|
||||
#'
|
||||
#' The [first_isolate()] function is a wrapper around the [is_new_episode()] function, but is more efficient for data sets containing microorganism codes or names and allows for different isolate selection methods.
|
||||
#'
|
||||
#' The `dplyr` package is not required for these functions to work, but these functions do support [variable grouping][dplyr::group_by()] and work conveniently inside `dplyr` verbs such as [`filter()`][dplyr::filter()], [`mutate()`][dplyr::mutate()] and [`summarise()`][dplyr::summarise()].
|
||||
#' The `dplyr` package is not required for these functions to work, but these episode functions do support [variable grouping][dplyr::group_by()] and work conveniently inside `dplyr` verbs such as [`filter()`][dplyr::filter()], [`mutate()`][dplyr::mutate()] and [`summarise()`][dplyr::summarise()].
|
||||
#' @return
|
||||
#' * [get_episode()]: a [double] vector
|
||||
#' * [is_new_episode()]: a [logical] vector
|
||||
@ -48,7 +48,7 @@
|
||||
#' @examples
|
||||
#' # `example_isolates` is a data set available in the AMR package.
|
||||
#' # See ?example_isolates
|
||||
#' df <- example_isolates[sample(seq_len(2000), size = 200), ]
|
||||
#' df <- example_isolates[sample(seq_len(2000), size = 100), ]
|
||||
#'
|
||||
#' get_episode(df$date, episode_days = 60) # indices
|
||||
#' is_new_episode(df$date, episode_days = 60) # TRUE/FALSE
|
||||
@ -57,13 +57,9 @@
|
||||
#' df[which(get_episode(df$date, 60) == 3), ]
|
||||
#'
|
||||
#' # the functions also work for less than a day, e.g. to include one per hour:
|
||||
#' get_episode(
|
||||
#' c(
|
||||
#' Sys.time(),
|
||||
#' Sys.time() + 60 * 60
|
||||
#' ),
|
||||
#' episode_days = 1 / 24
|
||||
#' )
|
||||
#' get_episode(c(Sys.time(),
|
||||
#' Sys.time() + 60 * 60),
|
||||
#' episode_days = 1 / 24)
|
||||
#'
|
||||
#' \donttest{
|
||||
#' if (require("dplyr")) {
|
||||
@ -79,6 +75,7 @@
|
||||
#' mutate(new_episode = is_new_episode(date, 365)) %>%
|
||||
#' select(patient, date, condition, new_episode)
|
||||
#' }
|
||||
#'
|
||||
#' if (require("dplyr")) {
|
||||
#' df %>%
|
||||
#' group_by(ward, patient) %>%
|
||||
@ -88,6 +85,7 @@
|
||||
#' new_logical = is_new_episode(date, 60)
|
||||
#' )
|
||||
#' }
|
||||
#'
|
||||
#' if (require("dplyr")) {
|
||||
#' df %>%
|
||||
#' group_by(ward) %>%
|
||||
@ -98,25 +96,10 @@
|
||||
#' n_episodes_30 = sum(is_new_episode(date, episode_days = 30))
|
||||
#' )
|
||||
#' }
|
||||
#'
|
||||
#' if (require("dplyr")) {
|
||||
#' # grouping on patients and microorganisms leads to the same
|
||||
#' # results as first_isolate() when using 'episode-based':
|
||||
#' x <- df %>%
|
||||
#' filter_first_isolate(
|
||||
#' include_unknown = TRUE,
|
||||
#' method = "episode-based"
|
||||
#' )
|
||||
#'
|
||||
#' y <- df %>%
|
||||
#' group_by(patient, mo) %>%
|
||||
#' filter(is_new_episode(date, 365)) %>%
|
||||
#' ungroup()
|
||||
#'
|
||||
#' identical(x, y)
|
||||
#' }
|
||||
#' if (require("dplyr")) {
|
||||
#' # but is_new_episode() has a lot more flexibility than first_isolate(),
|
||||
#' # since you can now group on anything that seems relevant:
|
||||
#' # is_new_episode() has a lot more flexibility than first_isolate(),
|
||||
#' # since you can group on anything that seems relevant:
|
||||
#' df %>%
|
||||
#' group_by(patient, mo, ward) %>%
|
||||
#' mutate(flag_episode = is_new_episode(date, 365)) %>%
|
||||
@ -129,7 +112,6 @@ get_episode <- function(x, episode_days, ...) {
|
||||
|
||||
exec_episode(
|
||||
x = x,
|
||||
type = "sequential",
|
||||
episode_days = episode_days,
|
||||
... = ...
|
||||
)
|
||||
@ -140,43 +122,26 @@ get_episode <- function(x, episode_days, ...) {
|
||||
is_new_episode <- function(x, episode_days, ...) {
|
||||
meet_criteria(x, allow_class = c("Date", "POSIXt"), allow_NA = TRUE)
|
||||
meet_criteria(episode_days, allow_class = c("numeric", "integer"), has_length = 1, is_positive = TRUE, is_finite = FALSE)
|
||||
|
||||
exec_episode(
|
||||
x = x,
|
||||
type = "logical",
|
||||
episode_days = episode_days,
|
||||
... = ...
|
||||
)
|
||||
get_episode(x, episode_days, ...) == 1
|
||||
}
|
||||
|
||||
exec_episode <- function(x, type, episode_days, ...) {
|
||||
x <- as.double(as.POSIXct(x)) # as.POSIXct() required for Date classes
|
||||
|
||||
# since x is now in seconds, get seconds from episode_days as well
|
||||
episode_seconds <- episode_days * 60 * 60 * 24
|
||||
|
||||
if (length(x) == 1) { # this will also match 1 NA, which is fine
|
||||
if (type == "logical") {
|
||||
return(TRUE)
|
||||
} else if (type == "sequential") {
|
||||
return(1)
|
||||
}
|
||||
return(1)
|
||||
} else if (length(x) == 2 && !all(is.na(x))) {
|
||||
if (max(x) - min(x) >= episode_seconds) {
|
||||
if (type == "logical") {
|
||||
return(c(TRUE, TRUE))
|
||||
} else if (type == "sequential") {
|
||||
return(c(1, 2))
|
||||
}
|
||||
return(c(1, 2))
|
||||
} else {
|
||||
if (type == "logical") {
|
||||
return(c(TRUE, FALSE))
|
||||
} else if (type == "sequential") {
|
||||
return(c(1, 1))
|
||||
}
|
||||
return(c(1, 1))
|
||||
}
|
||||
}
|
||||
|
||||
# I asked on StackOverflow:
|
||||
# we asked on StackOverflow:
|
||||
# https://stackoverflow.com/questions/42122245/filter-one-row-every-year
|
||||
run_episodes <- function(x, episode_seconds) {
|
||||
indices <- integer()
|
||||
@ -186,26 +151,15 @@ exec_episode <- function(x, type, episode_days, ...) {
|
||||
for (i in 2:length(x)) {
|
||||
if (isTRUE((x[i] - start) >= episode_seconds)) {
|
||||
ind <- ind + 1
|
||||
if (type == "logical") {
|
||||
indices[ind] <- i
|
||||
}
|
||||
start <- x[i]
|
||||
}
|
||||
if (type == "sequential") {
|
||||
indices[i] <- ind
|
||||
}
|
||||
}
|
||||
if (type == "logical") {
|
||||
result <- rep(FALSE, length(x))
|
||||
result[indices] <- TRUE
|
||||
result
|
||||
} else if (type == "sequential") {
|
||||
indices
|
||||
indices[i] <- ind
|
||||
}
|
||||
indices
|
||||
}
|
||||
|
||||
ord <- order(x)
|
||||
out <- run_episodes(x[ord], episode_seconds)[order(ord)]
|
||||
out[is.na(x) & ord != 1] <- NA # every NA but the first must remain NA
|
||||
out[is.na(x) & ord != 1] <- NA # every NA expect for the first must remain NA
|
||||
out
|
||||
}
|
@ -202,7 +202,7 @@ ggplot_sir <- function(data,
|
||||
meet_criteria(limits, allow_class = c("numeric", "integer"), has_length = 2, allow_NULL = TRUE, allow_NA = TRUE)
|
||||
meet_criteria(translate_ab, allow_class = c("character", "logical"), has_length = 1, allow_NA = TRUE)
|
||||
meet_criteria(combine_SI, allow_class = "logical", has_length = 1)
|
||||
meet_criteria(minimum, allow_class = c("numeric", "integer"), has_length = 1, is_finite = TRUE)
|
||||
meet_criteria(minimum, allow_class = c("numeric", "integer"), has_length = 1, is_positive_or_zero = TRUE, is_finite = TRUE)
|
||||
language <- validate_language(language)
|
||||
meet_criteria(nrow, allow_class = c("numeric", "integer"), has_length = 1, allow_NULL = TRUE, is_positive = TRUE, is_finite = TRUE)
|
||||
meet_criteria(colours, allow_class = c("character", "logical"))
|
||||
@ -300,7 +300,7 @@ geom_sir <- function(position = NULL,
|
||||
meet_criteria(x, allow_class = "character", has_length = 1)
|
||||
meet_criteria(fill, allow_class = "character", has_length = 1)
|
||||
meet_criteria(translate_ab, allow_class = c("character", "logical"), has_length = 1, allow_NA = TRUE)
|
||||
meet_criteria(minimum, allow_class = c("numeric", "integer"), has_length = 1, is_finite = TRUE)
|
||||
meet_criteria(minimum, allow_class = c("numeric", "integer"), has_length = 1, is_positive_or_zero = TRUE, is_finite = TRUE)
|
||||
language <- validate_language(language)
|
||||
meet_criteria(combine_SI, allow_class = "logical", has_length = 1)
|
||||
|
||||
@ -486,7 +486,7 @@ labels_sir_count <- function(position = NULL,
|
||||
meet_criteria(position, allow_class = "character", has_length = 1, is_in = c("fill", "stack", "dodge"), allow_NULL = TRUE)
|
||||
meet_criteria(x, allow_class = "character", has_length = 1)
|
||||
meet_criteria(translate_ab, allow_class = c("character", "logical"), has_length = 1, allow_NA = TRUE)
|
||||
meet_criteria(minimum, allow_class = c("numeric", "integer"), has_length = 1, is_finite = TRUE)
|
||||
meet_criteria(minimum, allow_class = c("numeric", "integer"), has_length = 1, is_positive_or_zero = TRUE, is_finite = TRUE)
|
||||
language <- validate_language(language)
|
||||
meet_criteria(combine_SI, allow_class = "logical", has_length = 1)
|
||||
meet_criteria(datalabels.size, allow_class = c("numeric", "integer"), has_length = 1, is_positive = TRUE, is_finite = TRUE)
|
||||
@ -519,11 +519,11 @@ labels_sir_count <- function(position = NULL,
|
||||
language = language
|
||||
)
|
||||
transformed$gr <- transformed[, x_name, drop = TRUE]
|
||||
transformed %pm>%
|
||||
pm_group_by(gr) %pm>%
|
||||
pm_mutate(lbl = paste0("n=", isolates)) %pm>%
|
||||
pm_ungroup() %pm>%
|
||||
pm_select(-gr)
|
||||
transformed %>%
|
||||
group_by(gr) %>%
|
||||
mutate(lbl = paste0("n=", isolates)) %>%
|
||||
ungroup() %>%
|
||||
select(-gr)
|
||||
}
|
||||
)
|
||||
}
|
||||
|
@ -159,14 +159,9 @@ join_microorganisms <- function(type, x, by, suffix, ...) {
|
||||
by <- stats::setNames("mo", by)
|
||||
}
|
||||
|
||||
# use dplyr if available - it's much faster than poorman alternatives
|
||||
dplyr_join <- import_fn(name = type, pkg = "dplyr", error_on_fail = FALSE)
|
||||
if (!is.null(dplyr_join)) {
|
||||
join_fn <- dplyr_join
|
||||
} else {
|
||||
# otherwise use poorman, see R/aa_helper_pm_functions.R
|
||||
join_fn <- get(paste0("pm_", type), envir = asNamespace("AMR"))
|
||||
}
|
||||
# this will use dplyr if available, and the slower poorman otherwise, see R/aaa_helper_pm_functions.R
|
||||
join_fn <- get(type, envir = asNamespace("AMR"))
|
||||
|
||||
MO_df <- AMR_env$MO_lookup[, colnames(AMR::microorganisms), drop = FALSE]
|
||||
if (type %like% "full|left|right|inner") {
|
||||
joined <- join_fn(x = x, y = MO_df, by = by, suffix = suffix, ...)
|
||||
|
@ -137,7 +137,7 @@ mean_amr_distance.data.frame <- function(x, ..., combine_SI = TRUE) {
|
||||
if (!is.null(out)) {
|
||||
df <- df[, out, drop = FALSE]
|
||||
} else {
|
||||
df <- pm_select(df, ...)
|
||||
df <- select(df, ...)
|
||||
}
|
||||
}
|
||||
df_classes <- colnames(df)[vapply(FUN.VALUE = logical(1), df, function(x) is.disk(x) | is.mic(x) | is.disk(x), USE.NAMES = FALSE)]
|
||||
|
10
R/mic.R
10
R/mic.R
@ -219,14 +219,14 @@ as.mic <- function(x, na.rm = FALSE) {
|
||||
## previously unempty values now empty - should return a warning later on
|
||||
x[x.bak != "" & x == ""] <- "invalid"
|
||||
|
||||
na_before <- x[is.na(x) | x == ""] %pm>% length()
|
||||
na_before <- x[is.na(x) | x == ""] %>% length()
|
||||
x[!x %in% valid_mic_levels] <- NA
|
||||
na_after <- x[is.na(x) | x == ""] %pm>% length()
|
||||
na_after <- x[is.na(x) | x == ""] %>% length()
|
||||
|
||||
if (na_before != na_after) {
|
||||
list_missing <- x.bak[is.na(x) & !is.na(x.bak) & x.bak != ""] %pm>%
|
||||
unique() %pm>%
|
||||
sort() %pm>%
|
||||
list_missing <- x.bak[is.na(x) & !is.na(x.bak) & x.bak != ""] %>%
|
||||
unique() %>%
|
||||
sort() %>%
|
||||
vector_and(quotes = TRUE)
|
||||
cur_col <- get_current_column()
|
||||
warning_("in `as.mic()`: ", na_after - na_before, " result",
|
||||
|
22
R/mo.R
22
R/mo.R
@ -561,10 +561,10 @@ pillar_shaft.mo <- function(x, ...) {
|
||||
# markup NA and UNKNOWN
|
||||
out[is.na(x)] <- font_na(" NA")
|
||||
out[x == "UNKNOWN"] <- font_na(" UNKNOWN")
|
||||
|
||||
|
||||
# markup manual codes
|
||||
out[x %in% AMR_env$MO_lookup$mo & !x %in% AMR::microorganisms$mo] <- font_blue(out[x %in% AMR_env$MO_lookup$mo & !x %in% AMR::microorganisms$mo], collapse = NULL)
|
||||
|
||||
|
||||
df <- tryCatch(get_current_data(arg_name = "x", call = 0),
|
||||
error = function(e) NULL
|
||||
)
|
||||
@ -579,7 +579,7 @@ pillar_shaft.mo <- function(x, ...) {
|
||||
(!is.null(df) && !all(unlist(df[, which(mo_cols), drop = FALSE]) %in% all_mos))) {
|
||||
# markup old mo codes
|
||||
out[!x %in% all_mos] <- font_italic(
|
||||
font_na(x[!x %in% all_mos],
|
||||
font_na(font_stripstyle(out[!x %in% all_mos]),
|
||||
collapse = NULL
|
||||
),
|
||||
collapse = NULL
|
||||
@ -627,7 +627,7 @@ freq.mo <- function(x, ...) {
|
||||
.add_header = list(
|
||||
`Gram-negative` = paste0(
|
||||
format(sum(grams == "Gram-negative", na.rm = TRUE),
|
||||
big.mark = ",",
|
||||
big.mark = " ",
|
||||
decimal.mark = "."
|
||||
),
|
||||
" (", percentage(sum(grams == "Gram-negative", na.rm = TRUE) / length(grams),
|
||||
@ -637,7 +637,7 @@ freq.mo <- function(x, ...) {
|
||||
),
|
||||
`Gram-positive` = paste0(
|
||||
format(sum(grams == "Gram-positive", na.rm = TRUE),
|
||||
big.mark = ",",
|
||||
big.mark = " ",
|
||||
decimal.mark = "."
|
||||
),
|
||||
" (", percentage(sum(grams == "Gram-positive", na.rm = TRUE) / length(grams),
|
||||
@ -645,8 +645,8 @@ freq.mo <- function(x, ...) {
|
||||
),
|
||||
")"
|
||||
),
|
||||
`Nr. of genera` = pm_n_distinct(mo_genus(x_noNA, language = NULL)),
|
||||
`Nr. of species` = pm_n_distinct(paste(
|
||||
`Nr. of genera` = n_distinct(mo_genus(x_noNA, language = NULL)),
|
||||
`Nr. of species` = n_distinct(paste(
|
||||
mo_genus(x_noNA, language = NULL),
|
||||
mo_species(x_noNA, language = NULL)
|
||||
))
|
||||
@ -1155,14 +1155,14 @@ repair_reference_df <- function(reference_df) {
|
||||
return(NULL)
|
||||
}
|
||||
# has valid own reference_df
|
||||
reference_df <- reference_df %pm>%
|
||||
pm_filter(!is.na(mo))
|
||||
reference_df <- reference_df %>%
|
||||
filter(!is.na(mo))
|
||||
|
||||
# keep only first two columns, second must be mo
|
||||
if (colnames(reference_df)[1] == "mo") {
|
||||
reference_df <- reference_df %pm>% pm_select(2, "mo")
|
||||
reference_df <- reference_df %>% select(2, "mo")
|
||||
} else {
|
||||
reference_df <- reference_df %pm>% pm_select(1, "mo")
|
||||
reference_df <- reference_df %>% select(1, "mo")
|
||||
}
|
||||
|
||||
# remove factors, just keep characters
|
||||
|
@ -31,7 +31,7 @@
|
||||
#'
|
||||
#' Use these functions to return a specific property of a microorganism based on the latest accepted taxonomy. All input values will be evaluated internally with [as.mo()], which makes it possible to use microbial abbreviations, codes and names as input. See *Examples*.
|
||||
#' @param x any [character] (vector) that can be coerced to a valid microorganism code with [as.mo()]. Can be left blank for auto-guessing the column containing microorganism codes if used in a data set, see *Examples*.
|
||||
#' @param property one of the column names of the [microorganisms] data set: `r vector_or(colnames(microorganisms), sort = FALSE, quotes = TRUE)`, or must be `"shortname"`
|
||||
#' @param property one of the column names of the [microorganisms] data set: `r vector_or(colnames(microorganisms), sort = FALSE, quotes = TRUE)`
|
||||
#' @inheritParams as.mo
|
||||
#' @param ... other arguments passed on to [as.mo()], such as 'minimum_matching_score', 'ignore_pattern', and 'remove_from_input'
|
||||
#' @param ab any (vector of) text that can be coerced to a valid antibiotic drug code with [as.ab()]
|
||||
@ -900,12 +900,16 @@ mo_validate <- function(x, property, language, keep_synonyms = keep_synonyms, ..
|
||||
}
|
||||
|
||||
# get property reeaaally fast using match()
|
||||
x <- AMR_env$MO_lookup[[property]][match(x, AMR_env$MO_lookup$mo)]
|
||||
|
||||
if (property == "snomed") {
|
||||
x <- lapply(x, function(y) unlist(AMR_env$MO_lookup$snomed[match(y, AMR_env$MO_lookup$mo)]))
|
||||
} else {
|
||||
x <- AMR_env$MO_lookup[[property]][match(x, AMR_env$MO_lookup$mo)]
|
||||
}
|
||||
|
||||
if (property == "mo") {
|
||||
return(set_clean_class(x, new_class = c("mo", "character")))
|
||||
} else if (property == "snomed") {
|
||||
return(sort(as.character(eval(parse(text = x)))))
|
||||
return(x)
|
||||
} else if (property == "prevalence") {
|
||||
return(as.double(x))
|
||||
} else {
|
||||
|
2
R/pca.R
2
R/pca.R
@ -127,7 +127,7 @@ pca <- function(x,
|
||||
x <- cbind(x.bak[, vapply(FUN.VALUE = logical(1), x.bak, function(y) !is.numeric(y) & !all(is.na(y))), drop = FALSE], x)
|
||||
}
|
||||
|
||||
x <- pm_ungroup(x) # would otherwise select the grouping vars
|
||||
x <- ungroup(x) # would otherwise select the grouping vars
|
||||
x <- x[rowSums(is.na(x)) == 0, ] # remove columns containing NAs
|
||||
|
||||
pca_data <- x[, which(vapply(FUN.VALUE = logical(1), x, function(x) is.numeric(x))), drop = FALSE]
|
||||
|
4
R/plot.R
4
R/plot.R
@ -602,7 +602,7 @@ plot.sir <- function(x,
|
||||
|
||||
data$x <- factor(data$x, levels = c("S", "I", "R"), ordered = TRUE)
|
||||
|
||||
ymax <- pm_if_else(max(data$s) > 95, 105, 100)
|
||||
ymax <- ifelse(max(data$s) > 95, 105, 100)
|
||||
|
||||
plot(
|
||||
x = data$x,
|
||||
@ -615,7 +615,7 @@ plot.sir <- function(x,
|
||||
axes = FALSE
|
||||
)
|
||||
# x axis
|
||||
axis(side = 1, at = 1:pm_n_distinct(data$x), labels = levels(data$x), lwd = 0)
|
||||
axis(side = 1, at = 1:n_distinct(data$x), labels = levels(data$x), lwd = 0)
|
||||
# y axis, 0-100%
|
||||
axis(side = 2, at = seq(0, 100, 5))
|
||||
|
||||
|
@ -27,7 +27,7 @@
|
||||
# how to conduct AMR data analysis: https://msberends.github.io/AMR/ #
|
||||
# ==================================================================== #
|
||||
|
||||
#' Calculate Microbial Resistance
|
||||
#' Calculate Antimicrobial Resistance
|
||||
#'
|
||||
#' @description These functions can be used to calculate the (co-)resistance or susceptibility of microbial isolates (i.e. percentage of S, SI, I, IR or R). All functions support quasiquotation with pipes, can be used in `summarise()` from the `dplyr` package and also support grouped variables, see *Examples*.
|
||||
#'
|
||||
@ -49,7 +49,7 @@
|
||||
#'
|
||||
#' Use [sir_confidence_interval()] to calculate the confidence interval, which relies on [binom.test()], i.e., the Clopper-Pearson method. This function returns a vector of length 2 at default for antimicrobial *resistance*. Change the `side` argument to "left"/"min" or "right"/"max" to return a single value, and change the `ab_result` argument to e.g. `c("S", "I")` to test for antimicrobial *susceptibility*, see Examples.
|
||||
#'
|
||||
#' **Remember that you should filter your data to let it contain only first isolates!** This is needed to exclude duplicates and to reduce selection bias. Use [first_isolate()] to determine them in your data set.
|
||||
#' **Remember that you should filter your data to let it contain only first isolates!** This is needed to exclude duplicates and to reduce selection bias. Use [first_isolate()] to determine them in your data set with one of the four available algorithms.
|
||||
#'
|
||||
#' These functions are not meant to count isolates, but to calculate the proportion of resistance/susceptibility. Use the [`count()`][AMR::count()] functions to count isolates. The function [susceptibility()] is essentially equal to `count_susceptible() / count_all()`. *Low counts can influence the outcome - the `proportion` functions may camouflage this, since they only return the proportion (albeit being dependent on the `minimum` argument).*
|
||||
#'
|
||||
@ -77,11 +77,14 @@
|
||||
#' ```
|
||||
#'
|
||||
#' Please note that, in combination therapies, for `only_all_tested = TRUE` applies that:
|
||||
#'
|
||||
#' ```
|
||||
#' count_S() + count_I() + count_R() = count_all()
|
||||
#' proportion_S() + proportion_I() + proportion_R() = 1
|
||||
#' ```
|
||||
#'
|
||||
#' and that, in combination therapies, for `only_all_tested = FALSE` applies that:
|
||||
#'
|
||||
#' ```
|
||||
#' count_S() + count_I() + count_R() >= count_all()
|
||||
#' proportion_S() + proportion_I() + proportion_R() >= 1
|
||||
@ -98,7 +101,8 @@
|
||||
#' @examples
|
||||
#' # example_isolates is a data set available in the AMR package.
|
||||
#' # run ?example_isolates for more info.
|
||||
#'
|
||||
#' example_isolates
|
||||
#'
|
||||
#' # base R ------------------------------------------------------------
|
||||
#' # determines %R
|
||||
#' resistance(example_isolates$AMX)
|
||||
|
12
R/random.R
12
R/random.R
@ -91,10 +91,10 @@ random_sir <- function(size = NULL, prob_SIR = c(0.33, 0.33, 0.33), ...) {
|
||||
}
|
||||
|
||||
random_exec <- function(type, size, mo = NULL, ab = NULL) {
|
||||
df <- clinical_breakpoints %pm>%
|
||||
pm_filter(guideline %like% "EUCAST") %pm>%
|
||||
pm_arrange(pm_desc(guideline)) %pm>%
|
||||
subset(guideline == max(guideline) &
|
||||
df <- clinical_breakpoints %>%
|
||||
filter(guideline %like% "EUCAST") %>%
|
||||
arrange(pm_desc(guideline)) %>%
|
||||
filter(guideline == max(guideline) &
|
||||
method == type)
|
||||
|
||||
if (!is.null(mo)) {
|
||||
@ -105,7 +105,7 @@ random_exec <- function(type, size, mo = NULL, ab = NULL) {
|
||||
as.mo(mo_family(mo_coerced)),
|
||||
as.mo(mo_order(mo_coerced))
|
||||
)
|
||||
df_new <- df %pm>%
|
||||
df_new <- df %>%
|
||||
subset(mo %in% mo_include)
|
||||
if (nrow(df_new) > 0) {
|
||||
df <- df_new
|
||||
@ -116,7 +116,7 @@ random_exec <- function(type, size, mo = NULL, ab = NULL) {
|
||||
|
||||
if (!is.null(ab)) {
|
||||
ab_coerced <- as.ab(ab)
|
||||
df_new <- df %pm>%
|
||||
df_new <- df %>%
|
||||
subset(ab %in% ab_coerced)
|
||||
if (nrow(df_new) > 0) {
|
||||
df <- df_new
|
||||
|
@ -125,7 +125,7 @@ resistance_predict <- function(x,
|
||||
meet_criteria(year_min, allow_class = c("numeric", "integer"), has_length = 1, allow_NULL = TRUE, is_positive = TRUE, is_finite = TRUE)
|
||||
meet_criteria(year_max, allow_class = c("numeric", "integer"), has_length = 1, allow_NULL = TRUE, is_positive = TRUE, is_finite = TRUE)
|
||||
meet_criteria(year_every, allow_class = c("numeric", "integer"), has_length = 1, is_positive = TRUE, is_finite = TRUE)
|
||||
meet_criteria(minimum, allow_class = c("numeric", "integer"), has_length = 1, is_finite = TRUE)
|
||||
meet_criteria(minimum, allow_class = c("numeric", "integer"), has_length = 1, is_positive_or_zero = TRUE, is_finite = TRUE)
|
||||
meet_criteria(model, allow_class = c("character", "function"), has_length = 1, allow_NULL = TRUE)
|
||||
meet_criteria(I_as_S, allow_class = "logical", has_length = 1)
|
||||
meet_criteria(preserve_measurements, allow_class = "logical", has_length = 1)
|
||||
@ -260,8 +260,8 @@ resistance_predict <- function(x,
|
||||
observed = df$R / (df$R + df$S),
|
||||
stringsAsFactors = FALSE
|
||||
)
|
||||
df_prediction <- df_prediction %pm>%
|
||||
pm_left_join(df_observations, by = "year")
|
||||
df_prediction <- df_prediction %>%
|
||||
left_join(df_observations, by = "year")
|
||||
df_prediction$estimated <- df_prediction$value
|
||||
|
||||
if (preserve_measurements == TRUE) {
|
||||
|
54
R/sir.R
54
R/sir.R
@ -89,7 +89,7 @@
|
||||
#'
|
||||
#' ### Machine-Readable Interpretation Guidelines
|
||||
#'
|
||||
#' The repository of this package [contains a machine-readable version](https://github.com/msberends/AMR/blob/main/data-raw/clinical_breakpoints.txt) of all guidelines. This is a CSV file consisting of `r format(nrow(AMR::clinical_breakpoints), big.mark = ",")` rows and `r ncol(AMR::clinical_breakpoints)` columns. This file is machine-readable, since it contains one row for every unique combination of the test method (MIC or disk diffusion), the antimicrobial drug and the microorganism. **This allows for easy implementation of these rules in laboratory information systems (LIS)**. Note that it only contains interpretation guidelines for humans - interpretation guidelines from CLSI for animals were removed.
|
||||
#' The repository of this package [contains a machine-readable version](https://github.com/msberends/AMR/blob/main/data-raw/clinical_breakpoints.txt) of all guidelines. This is a CSV file consisting of `r format(nrow(AMR::clinical_breakpoints), big.mark = " ")` rows and `r ncol(AMR::clinical_breakpoints)` columns. This file is machine-readable, since it contains one row for every unique combination of the test method (MIC or disk diffusion), the antimicrobial drug and the microorganism. **This allows for easy implementation of these rules in laboratory information systems (LIS)**. Note that it only contains interpretation guidelines for humans - interpretation guidelines from CLSI for animals were removed.
|
||||
#'
|
||||
#' ### Other
|
||||
#'
|
||||
@ -373,9 +373,9 @@ as.sir.default <- function(x, ...) {
|
||||
|
||||
if (!isFALSE(list(...)$warn)) { # so as.sir(..., warn = FALSE) will never throw a warning
|
||||
if (na_before != na_after) {
|
||||
list_missing <- x.bak[is.na(x) & !is.na(x.bak) & x.bak != ""] %pm>%
|
||||
unique() %pm>%
|
||||
sort() %pm>%
|
||||
list_missing <- x.bak[is.na(x) & !is.na(x.bak) & x.bak != ""] %>%
|
||||
unique() %>%
|
||||
sort() %>%
|
||||
vector_and(quotes = TRUE)
|
||||
cur_col <- get_current_column()
|
||||
warning_("in `as.sir()`: ", na_after - na_before, " result",
|
||||
@ -543,7 +543,7 @@ as.sir.data.frame <- function(x,
|
||||
|
||||
i <- 0
|
||||
if (tryCatch(length(list(...)) > 0, error = function(e) TRUE)) {
|
||||
sel <- colnames(pm_select(x, ...))
|
||||
sel <- colnames(select(x, ...))
|
||||
} else {
|
||||
sel <- colnames(x)
|
||||
}
|
||||
@ -597,10 +597,10 @@ as.sir.data.frame <- function(x,
|
||||
|
||||
for (i in seq_len(length(ab_cols))) {
|
||||
if (types[i] == "mic") {
|
||||
x[, ab_cols[i]] <- x %pm>%
|
||||
pm_pull(ab_cols[i]) %pm>%
|
||||
as.character() %pm>%
|
||||
as.mic() %pm>%
|
||||
x[, ab_cols[i]] <- x %>%
|
||||
pull(ab_cols[i]) %>%
|
||||
as.character() %>%
|
||||
as.mic() %>%
|
||||
as.sir(
|
||||
mo = x_mo,
|
||||
mo.bak = x[, col_mo, drop = TRUE],
|
||||
@ -614,10 +614,10 @@ as.sir.data.frame <- function(x,
|
||||
is_data.frame = TRUE
|
||||
)
|
||||
} else if (types[i] == "disk") {
|
||||
x[, ab_cols[i]] <- x %pm>%
|
||||
pm_pull(ab_cols[i]) %pm>%
|
||||
as.character() %pm>%
|
||||
as.disk() %pm>%
|
||||
x[, ab_cols[i]] <- x %>%
|
||||
pull(ab_cols[i]) %>%
|
||||
as.character() %>%
|
||||
as.disk() %>%
|
||||
as.sir(
|
||||
mo = x_mo,
|
||||
mo.bak = x[, col_mo, drop = TRUE],
|
||||
@ -848,21 +848,21 @@ as_sir_method <- function(method_short,
|
||||
mo_coerced <- mo
|
||||
|
||||
if (identical(reference_data, AMR::clinical_breakpoints)) {
|
||||
breakpoints <- reference_data %pm>%
|
||||
breakpoints <- reference_data %>%
|
||||
subset(guideline == guideline_coerced & method == method_coerced & ab == ab_coerced)
|
||||
if (ab_coerced == "AMX" && nrow(breakpoints) == 0) {
|
||||
ab_coerced <- "AMP"
|
||||
breakpoints <- reference_data %pm>%
|
||||
breakpoints <- reference_data %>%
|
||||
subset(guideline == guideline_coerced & method == method_coerced & ab == ab_coerced)
|
||||
}
|
||||
} else {
|
||||
breakpoints <- reference_data %pm>%
|
||||
breakpoints <- reference_data %>%
|
||||
subset(method == method_coerced & ab == ab_coerced)
|
||||
}
|
||||
|
||||
if (isFALSE(include_PKPD)) {
|
||||
# remove PKPD rules from the breakpoints table
|
||||
breakpoints <- breakpoints %pm>%
|
||||
breakpoints <- breakpoints %>%
|
||||
subset(mo != "UNKNOWN" & ref_tbl %unlike% "PK.*PD")
|
||||
}
|
||||
|
||||
@ -918,7 +918,7 @@ as_sir_method <- function(method_short,
|
||||
|
||||
# gather all available breakpoints for current MO and sort on taxonomic rank
|
||||
# (this will prefer species breakpoints over order breakpoints)
|
||||
breakpoints_current <- breakpoints %pm>%
|
||||
breakpoints_current <- breakpoints %>%
|
||||
subset(mo %in% c(
|
||||
mo_current_genus, mo_current_family,
|
||||
mo_current_order, mo_current_class,
|
||||
@ -927,14 +927,14 @@ as_sir_method <- function(method_short,
|
||||
))
|
||||
|
||||
if (any(uti, na.rm = TRUE)) {
|
||||
breakpoints_current <- breakpoints_current %pm>%
|
||||
breakpoints_current <- breakpoints_current %>%
|
||||
# be as specific as possible (i.e. prefer species over genus):
|
||||
# the below `pm_desc(uti)` will put `TRUE` on top and FALSE on bottom
|
||||
pm_arrange(rank_index, pm_desc(uti)) # 'uti' is a column in data set 'clinical_breakpoints'
|
||||
# the below `desc(uti)` will put `TRUE` on top and FALSE on bottom
|
||||
arrange(rank_index, desc(uti)) # 'uti' is a column in data set 'clinical_breakpoints'
|
||||
} else {
|
||||
breakpoints_current <- breakpoints_current %pm>%
|
||||
breakpoints_current <- breakpoints_current %>%
|
||||
# sort UTI = FALSE first, then UTI = TRUE
|
||||
pm_arrange(rank_index, uti)
|
||||
arrange(rank_index, uti)
|
||||
}
|
||||
|
||||
# throw notes for different body sites
|
||||
@ -945,8 +945,8 @@ as_sir_method <- function(method_short,
|
||||
} else if (nrow(breakpoints_current) > 1 && length(unique(breakpoints_current$site)) > 1 && any(is.na(uti)) && all(c(TRUE, FALSE) %in% breakpoints_current$uti, na.rm = TRUE) && message_not_thrown_before("as.sir", "siteUTI", mo_unique, ab_coerced)) {
|
||||
# both UTI and Non-UTI breakpoints available
|
||||
msgs <- c(msgs, paste0("Breakpoints for UTI ", font_underline("and"), " non-UTI available for ", ab_formatted, " in ", mo_formatted, " - assuming non-UTI. Use argument `uti` to set which isolates are from urine. See `?as.sir`."))
|
||||
breakpoints_current <- breakpoints_current %pm>%
|
||||
pm_filter(uti == FALSE)
|
||||
breakpoints_current <- breakpoints_current %>%
|
||||
filter(uti == FALSE)
|
||||
} else if (nrow(breakpoints_current) > 1 && length(unique(breakpoints_current$site)) > 1 && all(breakpoints_current$uti == FALSE, na.rm = TRUE) && message_not_thrown_before("as.sir", "siteOther", mo_unique, ab_coerced)) {
|
||||
# breakpoints for multiple body sites available
|
||||
site <- breakpoints_current[1L, "site", drop = FALSE] # this is the one we'll take
|
||||
@ -974,7 +974,7 @@ as_sir_method <- function(method_short,
|
||||
}
|
||||
|
||||
if (method == "mic") {
|
||||
new_sir <- quick_case_when(
|
||||
new_sir <- case_when(
|
||||
is.na(values) ~ NA_sir_,
|
||||
values <= breakpoints_current$breakpoint_S ~ as.sir("S"),
|
||||
guideline_coerced %like% "EUCAST" & values > breakpoints_current$breakpoint_R ~ as.sir("R"),
|
||||
@ -985,7 +985,7 @@ as_sir_method <- function(method_short,
|
||||
TRUE ~ NA_sir_
|
||||
)
|
||||
} else if (method == "disk") {
|
||||
new_sir <- quick_case_when(
|
||||
new_sir <- case_when(
|
||||
is.na(values) ~ NA_sir_,
|
||||
as.double(values) >= as.double(breakpoints_current$breakpoint_S) ~ as.sir("S"),
|
||||
guideline_coerced %like% "EUCAST" & as.double(values) < as.double(breakpoints_current$breakpoint_R) ~ as.sir("R"),
|
||||
|
22
R/sir_calc.R
22
R/sir_calc.R
@ -31,7 +31,8 @@ dots2vars <- function(...) {
|
||||
# this function is to give more informative output about
|
||||
# variable names in count_* and proportion_* functions
|
||||
dots <- substitute(list(...))
|
||||
as.character(dots)[2:length(dots)]
|
||||
dots <- as.character(dots)[2:length(dots)]
|
||||
paste0(dots[dots != "."], collapse = "+")
|
||||
}
|
||||
|
||||
sir_calc <- function(...,
|
||||
@ -41,7 +42,7 @@ sir_calc <- function(...,
|
||||
only_all_tested = FALSE,
|
||||
only_count = FALSE) {
|
||||
meet_criteria(ab_result, allow_class = c("character", "numeric", "integer"), has_length = c(1, 2, 3))
|
||||
meet_criteria(minimum, allow_class = c("numeric", "integer"), has_length = 1, is_finite = TRUE)
|
||||
meet_criteria(minimum, allow_class = c("numeric", "integer"), has_length = 1, is_positive_or_zero = TRUE, is_finite = TRUE)
|
||||
meet_criteria(as_percent, allow_class = "logical", has_length = 1)
|
||||
meet_criteria(only_all_tested, allow_class = "logical", has_length = 1)
|
||||
meet_criteria(only_count, allow_class = "logical", has_length = 1)
|
||||
@ -67,7 +68,7 @@ sir_calc <- function(...,
|
||||
ndots <- length(dots)
|
||||
|
||||
if (is.data.frame(dots_df)) {
|
||||
# data.frame passed with other columns, like: example_isolates %pm>% proportion_S(AMC, GEN)
|
||||
# data.frame passed with other columns, like: example_isolates %>% proportion_S(AMC, GEN)
|
||||
|
||||
dots <- as.character(dots)
|
||||
# remove first element, it's the data.frame
|
||||
@ -77,7 +78,7 @@ sir_calc <- function(...,
|
||||
dots <- dots[2:length(dots)]
|
||||
}
|
||||
if (length(dots) == 0 || all(dots == "df")) {
|
||||
# for complete data.frames, like example_isolates %pm>% select(AMC, GEN) %pm>% proportion_S()
|
||||
# for complete data.frames, like example_isolates %>% select(AMC, GEN) %>% proportion_S()
|
||||
# and the old sir function, which has "df" as name of the first argument
|
||||
x <- dots_df
|
||||
} else {
|
||||
@ -92,14 +93,14 @@ sir_calc <- function(...,
|
||||
x <- dots_df[, dots, drop = FALSE]
|
||||
}
|
||||
} else if (ndots == 1) {
|
||||
# only 1 variable passed (can also be data.frame), like: proportion_S(example_isolates$AMC) and example_isolates$AMC %pm>% proportion_S()
|
||||
# only 1 variable passed (can also be data.frame), like: proportion_S(example_isolates$AMC) and example_isolates$AMC %>% proportion_S()
|
||||
x <- dots_df
|
||||
} else {
|
||||
# multiple variables passed without pipe, like: proportion_S(example_isolates$AMC, example_isolates$GEN)
|
||||
x <- NULL
|
||||
try(x <- as.data.frame(dots, stringsAsFactors = FALSE), silent = TRUE)
|
||||
if (is.null(x)) {
|
||||
# support for example_isolates %pm>% group_by(ward) %pm>% summarise(amox = susceptibility(GEN, AMX))
|
||||
# support for example_isolates %>% group_by(ward) %>% summarise(amox = susceptibility(GEN, AMX))
|
||||
x <- as.data.frame(list(...), stringsAsFactors = FALSE)
|
||||
}
|
||||
}
|
||||
@ -133,7 +134,7 @@ sir_calc <- function(...,
|
||||
}
|
||||
|
||||
x_transposed <- as.list(as.data.frame(t(x), stringsAsFactors = FALSE))
|
||||
if (only_all_tested == TRUE) {
|
||||
if (isTRUE(only_all_tested)) {
|
||||
# no NAs in any column
|
||||
y <- apply(
|
||||
X = as.data.frame(lapply(x, as.integer), stringsAsFactors = FALSE),
|
||||
@ -170,7 +171,7 @@ sir_calc <- function(...,
|
||||
if (only_count == TRUE) {
|
||||
return(numerator)
|
||||
}
|
||||
|
||||
|
||||
if (denominator < minimum) {
|
||||
if (data_vars != "") {
|
||||
data_vars <- paste(" for", data_vars)
|
||||
@ -224,8 +225,8 @@ sir_calc_df <- function(type, # "proportion", "count" or "both"
|
||||
meet_criteria(type, is_in = c("proportion", "count", "both"), has_length = 1)
|
||||
meet_criteria(data, allow_class = "data.frame", contains_column_class = "sir")
|
||||
meet_criteria(translate_ab, allow_class = c("character", "logical"), has_length = 1, allow_NA = TRUE)
|
||||
meet_criteria(language, has_length = 1, is_in = c(LANGUAGES_SUPPORTED, ""), allow_NULL = TRUE, allow_NA = TRUE)
|
||||
meet_criteria(minimum, allow_class = c("numeric", "integer"), has_length = 1, is_finite = TRUE)
|
||||
language <- validate_language(language)
|
||||
meet_criteria(minimum, allow_class = c("numeric", "integer"), has_length = 1, is_positive_or_zero = TRUE, is_finite = TRUE)
|
||||
meet_criteria(as_percent, allow_class = "logical", has_length = 1)
|
||||
meet_criteria(combine_SI, allow_class = "logical", has_length = 1)
|
||||
meet_criteria(confidence_level, allow_class = "numeric", has_length = 1)
|
||||
@ -355,6 +356,7 @@ sir_calc_df <- function(type, # "proportion", "count" or "both"
|
||||
|
||||
if (data_has_groups) {
|
||||
# ordering by the groups and two more: "antibiotic" and "interpretation"
|
||||
# (pm_ungroup here, as we do not use dplyr for summarising)
|
||||
out <- pm_ungroup(out[do.call("order", out[, seq_len(length(groups) + 2), drop = FALSE]), , drop = FALSE])
|
||||
} else {
|
||||
out <- out[order(out$antibiotic, out$interpretation), , drop = FALSE]
|
||||
|
BIN
R/sysdata.rda
BIN
R/sysdata.rda
Binary file not shown.
@ -244,9 +244,10 @@ translate_into_language <- function(from,
|
||||
if (NROW(df_trans) == 0 | !any_form_in_patterns) {
|
||||
return(from)
|
||||
}
|
||||
|
||||
|
||||
lapply(
|
||||
seq_len(nrow(df_trans)),
|
||||
# starting from last row, since more general translation are on top, such as 'Group'
|
||||
rev(seq_len(nrow(df_trans))),
|
||||
function(i) {
|
||||
from_unique_translated <<- gsub(
|
||||
pattern = df_trans$pattern[i],
|
||||
|
3
R/zzz.R
3
R/zzz.R
@ -123,6 +123,7 @@ if (utf8_supported && !is_latex) {
|
||||
s3_register("ggplot2::autoplot", "mic")
|
||||
s3_register("ggplot2::autoplot", "disk")
|
||||
s3_register("ggplot2::autoplot", "resistance_predict")
|
||||
s3_register("ggplot2::autoplot", "antibiogram")
|
||||
# Support for fortify from the ggplot2 package
|
||||
s3_register("ggplot2::fortify", "sir")
|
||||
s3_register("ggplot2::fortify", "mic")
|
||||
@ -180,7 +181,7 @@ if (utf8_supported && !is_latex) {
|
||||
if (pkg_is_available("tibble", also_load = FALSE)) {
|
||||
try(loadNamespace("tibble"), silent = TRUE)
|
||||
}
|
||||
|
||||
|
||||
# reference data - they have additional to improve algorithm speed
|
||||
# they cannot be part of R/sysdata.rda since CRAN thinks it would make the package too large (+3 MB)
|
||||
AMR_env$AB_lookup <- cbind(AMR::antibiotics, AB_LOOKUP)
|
||||
|
@ -78,6 +78,9 @@ navbar:
|
||||
- text: "Conduct AMR Analysis"
|
||||
icon: "fa-directions"
|
||||
href: "articles/AMR.html"
|
||||
- text: "Generate Antibiogram (Trad./Syndromic/WISCA)"
|
||||
icon: "fa-file-prescription"
|
||||
href: "reference/antibiogram.html" # reference instead of an article
|
||||
- text: "Predict Antimicrobial Resistance"
|
||||
icon: "fa-dice"
|
||||
href: "articles/resistance_predict.html"
|
||||
@ -161,9 +164,12 @@ reference:
|
||||
- title: "Analysing data: antimicrobial resistance"
|
||||
desc: >
|
||||
Use these function for the analysis part. You can use `susceptibility()` or `resistance()` on any antibiotic column.
|
||||
With `antibiogram()`, you can generate a traditional, combined, syndromic, or weighted-incidence syndromic combination
|
||||
antibiogram(WISCA). This function also comes with support for R Markdown and Quarto.
|
||||
Be sure to first select the isolates that are appropiate for analysis, by using `first_isolate()` or `is_new_episode()`.
|
||||
You can also filter your data on certain resistance in certain antibiotic classes (`carbapenems()`, `aminoglycosides()`), or determine multi-drug resistant microorganisms (MDRO, `mdro()`).
|
||||
contents:
|
||||
- "`antibiogram`"
|
||||
- "`proportion`"
|
||||
- "`count`"
|
||||
- "`is_new_episode`"
|
||||
|
Binary file not shown.
Binary file not shown.
@ -1 +1 @@
|
||||
810cc621f75ee69a51cfe6726ab46398
|
||||
b3734ad222d485de6923fc9957d8f2f5
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,8 +1,8 @@
|
||||
"mo" "fullname" "status" "kingdom" "phylum" "class" "order" "family" "genus" "species" "subspecies" "rank" "ref" "source" "lpsn" "lpsn_parent" "lpsn_renamed_to" "gbif" "gbif_parent" "gbif_renamed_to" "prevalence" "snomed"
|
||||
"B_ANAER" "(unknown anaerobic bacteria)" "accepted" "Bacteria" "(unknown phylum)" "(unknown class)" "(unknown order)" "(unknown family)" "(unknown Gram-negatives)" "(unknown species)" "(unknown subspecies)" "subspecies" "manually added" 2 ""
|
||||
"F_FUNGUS" "(unknown fungus)" "accepted" "Fungi" "(unknown phylum)" "(unknown class)" "(unknown order)" "(unknown family)" "(unknown genus)" "(unknown species)" "(unknown subspecies)" "subspecies" "manually added" 2 ""
|
||||
"B_GRAMN" "(unknown Gram-negatives)" "accepted" "Bacteria" "(unknown phylum)" "(unknown class)" "(unknown order)" "(unknown family)" "(unknown Gram-negatives)" "(unknown species)" "(unknown subspecies)" "subspecies" "manually added" 2 ""
|
||||
"B_GRAMP" "(unknown Gram-positives)" "accepted" "Bacteria" "(unknown phylum)" "(unknown class)" "(unknown order)" "(unknown family)" "(unknown Gram-positives)" "(unknown species)" "(unknown subspecies)" "subspecies" "manually added" 2 ""
|
||||
"B_ANAER" "(unknown anaerobic bacteria)" "accepted" "Bacteria" "(unknown phylum)" "(unknown class)" "(unknown order)" "(unknown family)" "(unknown Gram-negatives)" "(unknown species)" "(unknown subspecies)" "subspecies" "manually added" 2 ""
|
||||
"F_FUNGUS" "(unknown fungus)" "accepted" "Fungi" "(unknown phylum)" "(unknown class)" "(unknown order)" "(unknown family)" "(unknown genus)" "(unknown species)" "(unknown subspecies)" "subspecies" "manually added" 2 ""
|
||||
"UNKNOWN" "(unknown name)" "accepted" "(unknown kingdom)" "(unknown phylum)" "(unknown class)" "(unknown order)" "(unknown family)" "(unknown genus)" "(unknown species)" "(unknown subspecies)" "subspecies" "manually added" 2 ""
|
||||
"F_YEAST" "(unknown yeast)" "accepted" "Fungi" "(unknown phylum)" "(unknown class)" "(unknown order)" "(unknown family)" "(unknown genus)" "(unknown species)" "(unknown subspecies)" "subspecies" "manually added" 2 ""
|
||||
"B_[FAM]_ABDTBCTR" "Abditibacteriaceae" "accepted" "Bacteria" "Abditibacteriota" "Abditibacteriia" "Abditibacteriales" "Abditibacteriaceae" "" "" "" "family" "Tahon et al., 2018" "LPSN" "4812" "4982" "10678443" "10853930" 2 ""
|
||||
@ -6477,6 +6477,7 @@
|
||||
"B_AZYRT" "Azyrtalia" "accepted" "Bacteria" "Cyanobacteria" "Cyanobacteriia" "Cyanobacteriales" "Rivulariaceae" "Azyrtalia" "" "" "genus" "Vologdin et al., 1969" "GBIF" "3237706" "4306626" 2 ""
|
||||
"B_AZYRT_ZNLT" "Azyrtalia zonulata" "accepted" "Bacteria" "Cyanobacteria" "Cyanobacteriia" "Cyanobacteriales" "Rivulariaceae" "Azyrtalia" "zonulata" "" "species" "Vologdin et al., 1969" "GBIF" "11176322" "3237706" 2 ""
|
||||
"A_B-DKE" "B-DKE" "accepted" "Archaea" "Euryarchaeota" "Thermoplasmata" "Thermoplasmatales" "Thermoplasmataceae" "B-DKE" "" "" "genus" "GBIF" "11214677" "3810" 2 ""
|
||||
"A_BE-D" "BE-D" "accepted" "Archaea" "Thermoproteota" "Thermoproteia" "Marsarchaeales" "Marsarchaeaceae" "BE-D" "" "" "genus" "GBIF" "11119914" "10885120" 2 ""
|
||||
"B_BABEL" "Babela" "accepted" "Bacteria" "Dependentiae" "Babeliae" "Babeliales" "Babeliaceae" "Babela" "" "" "genus" "GBIF" "10699249" "10857700" 2 ""
|
||||
"B_BABEL_MSSL" "Babela massiliensis" "accepted" "Bacteria" "Dependentiae" "Babeliae" "Babeliales" "Babeliaceae" "Babela" "massiliensis" "" "species" "GBIF" "10816215" "10699249" 2 ""
|
||||
"B_[FAM]_BABELIAC" "Babeliaceae" "accepted" "Bacteria" "Dependentiae" "Babeliae" "Babeliales" "Babeliaceae" "" "" "" "family" "GBIF" "10857700" "10791973" 2 ""
|
||||
@ -7288,7 +7289,6 @@
|
||||
"B_BDLLV_STLP" "Bdellovibrio stolpii" "synonym" "Bacteria" "Pseudomonadota" "Oligoflexia" "Bdellovibrionales" "Bdellovibrionaceae" "Bdellovibrio" "stolpii" "" "species" "Seidler et al., 1972" "LPSN" "773991" "516977" "773917" 2 "9752009"
|
||||
"B_[FAM]_BDLLVBRN" "Bdellovibrionaceae" "accepted" "Bacteria" "Pseudomonadota" "Oligoflexia" "Bdellovibrionales" "Bdellovibrionaceae" "" "" "" "family" "Garrity et al., 2006" "LPSN" "203" "5078" "8932" "652" 2 "427516001"
|
||||
"B_[ORD]_BDLLVBRN" "Bdellovibrionales" "accepted" "Bacteria" "Pseudomonadota" "Oligoflexia" "Bdellovibrionales" "" "" "" "" "order" "Garrity et al., 2006" "LPSN" "5078" "111" "652" "10808561" 2 "426331002"
|
||||
"A_BE-D" "BE-D" "accepted" "Archaea" "Thermoproteota" "Thermoproteia" "Marsarchaeales" "Marsarchaeaceae" "BE-D" "" "" "genus" "GBIF" "11119914" "10885120" 2 ""
|
||||
"F_BEAVR" "Beauveria" "accepted" "Fungi" "Ascomycota" "Sordariomycetes" "Hypocreales" "Cordycipitaceae" "Beauveria" "" "" "genus" "Vuill, 1912" "GBIF" "2560584" "8418" 1.5 "66193005"
|
||||
"F_BEAVR_ACRD" "Beauveria acridophila" "accepted" "Fungi" "Ascomycota" "Sordariomycetes" "Hypocreales" "Cordycipitaceae" "Beauveria" "acridophila" "" "species" "Sanjuan et al." "GBIF" "10753468" "2560584" 1.5 ""
|
||||
"F_BEAVR_AMRP" "Beauveria amorpha" "accepted" "Fungi" "Ascomycota" "Sordariomycetes" "Hypocreales" "Cordycipitaceae" "Beauveria" "amorpha" "" "species" "Minnis et al." "GBIF" "7417312" "2560584" 1.5 ""
|
||||
@ -19169,6 +19169,7 @@
|
||||
"B_FSBCTR_VARM" "Fusobacterium varium" "accepted" "Bacteria" "Fusobacteriota" "Fusobacteriia" "Fusobacteriales" "Fusobacteriaceae" "Fusobacterium" "varium" "" "species" "Moore et al., 1969" "LPSN" "783893" "515666" "3225872" "4903731" 1 "1972005"
|
||||
"B_FSBCTR_VNCN" "Fusobacterium vincentii" "accepted" "Bacteria" "Fusobacteriota" "Fusobacteriia" "Fusobacteriales" "Fusobacteriaceae" "Fusobacterium" "vincentii" "" "species" "Kook et al., 2022" "LPSN" "28103" "515666" "10808231" "4903731" 1.5 ""
|
||||
"B_FSBCTR_WTNB" "Fusobacterium watanabei" "accepted" "Bacteria" "Fusobacteriota" "Fusobacteriia" "Fusobacteriales" "Fusobacteriaceae" "Fusobacterium" "watanabei" "" "species" "Tomida et al., 2021" "LPSN" "17647" "515666" 1.5 ""
|
||||
"B_GBCHB" "GBChlB" "accepted" "Bacteria" "Chlorobiota" "Chlorobiia" "Chlorobiales" "Chloroherpetonaceae" "GBChlB" "" "" "genus" "GBIF" "11171983" "10775177" 2 ""
|
||||
"B_GBNBC" "Gabonibacter" "accepted" "Bacteria" "Bacteroidota" "Bacteroidia" "Bacteroidales" "Odoribacteraceae" "Gabonibacter" "" "" "genus" "Mourembou et al., 2017" "LPSN" "519111" "2047" "9240178" 2 "785729002"
|
||||
"B_GBNBC_JSTS" "Gabonibacter justesenii" "synonym" "Bacteria" "Bacteroidota" "Bacteroidia" "Bacteroidales" "Odoribacteraceae" "Gabonibacter" "justesenii" "" "species" "GBIF" "11090238" "9240178" "9415109" 2 ""
|
||||
"B_GBNBC_MSSL" "Gabonibacter massiliensis" "accepted" "Bacteria" "Bacteroidota" "Bacteroidia" "Bacteroidales" "Odoribacteraceae" "Gabonibacter" "massiliensis" "" "species" "Mourembou et al., 2017" "LPSN" "795002" "519111" "9415109" "9240178" 2 ""
|
||||
@ -19282,7 +19283,6 @@
|
||||
"B_GSTRN_PHSC" "Gastranaerophilus phascolarctosicola" "accepted" "Bacteria" "Cyanobacteria" "Vampirovibrionia" "Gastranaerophilales" "Gastranaerophilaceae" "Gastranaerophilus" "phascolarctosicola" "" "species" "GBIF" "10876363" "10700903" 2 ""
|
||||
"P_GDRYN" "Gaudryina" "accepted" "Protozoa" "Sarcomastigophora" "" "" "Verneulidae" "Gaudryina" "" "" "genus" "GBIF" "10167887" "6123475" 2 ""
|
||||
"P_GDRYN_KKSN" "Gaudryina kokuseiensis" "accepted" "Protozoa" "Sarcomastigophora" "" "" "Verneulidae" "Gaudryina" "kokuseiensis" "" "species" "Ishizaki" "GBIF" "6123479" "10167887" 2 ""
|
||||
"B_GBCHB" "GBChlB" "accepted" "Bacteria" "Chlorobiota" "Chlorobiia" "Chlorobiales" "Chloroherpetonaceae" "GBChlB" "" "" "genus" "GBIF" "11171983" "10775177" 2 ""
|
||||
"P_GMPHR" "Geamphorella" "accepted" "Protozoa" "Amoebozoa" "Lobosa" "Arcellinida" "Nebelidae" "Geamphorella" "" "" "genus" "Bonnet, 1959" "GBIF" "4888795" "2170" 2 ""
|
||||
"P_GMPHR_LUCD" "Geamphorella lucida" "accepted" "Protozoa" "Amoebozoa" "Lobosa" "Arcellinida" "Nebelidae" "Geamphorella" "lucida" "" "species" "Bonnet, 1959" "GBIF" "10677162" "4888795" 2 ""
|
||||
"B_GEHNG" "Gehongia" "accepted" "Bacteria" "Bacillota" "Clostridia" "Eubacteriales" "Christensenellaceae" "Gehongia" "" "" "genus" "Liu et al., 2022" "LPSN" "28816" "1935" 2 ""
|
||||
@ -22583,6 +22583,7 @@
|
||||
"B_HYNSN_UDNS" "Hyunsoonleella udoensis" "synonym" "Bacteria" "Bacteroidota" "Flavobacteriia" "Flavobacteriales" "Flavobacteriaceae" "Hyunsoonleella" "udoensis" "" "species" "Kim et al., 2016" "LPSN" "793695" "517944" "793694" 2 ""
|
||||
"B_HYNSN_UDNN" "Hyunsoonleella udonensis" "accepted" "Bacteria" "Bacteroidota" "Flavobacteriia" "Flavobacteriales" "Flavobacteriaceae" "Hyunsoonleella" "udonensis" "" "species" "Kim et al., 2016" "LPSN" "793694" "517944" "8797340" "7660455" 2 ""
|
||||
"B_HYNSN_ULVA" "Hyunsoonleella ulvae" "accepted" "Bacteria" "Bacteroidota" "Flavobacteriia" "Flavobacteriales" "Flavobacteriaceae" "Hyunsoonleella" "ulvae" "" "species" "Wang et al., 2022" "LPSN" "28379" "517944" 2 ""
|
||||
"B_ISDG" "ISDg" "accepted" "Bacteria" "Bacillota" "Clostridia" "Eubacteriales" "Lachnospiraceae" "ISDg" "" "" "genus" "GBIF" "11121283" "4713" 2 ""
|
||||
"A_[FAM]_IAINRCHC" "Iainarchaeaceae" "accepted" "Archaea" "Iainarchaeota" "Iainarchaeia" "Iainarchaeales" "Iainarchaeaceae" "" "" "" "family" "GBIF" "10843220" "10672343" 2 ""
|
||||
"A_[ORD]_IANRCHLS" "Iainarchaeales" "accepted" "Archaea" "Iainarchaeota" "Iainarchaeia" "Iainarchaeales" "" "" "" "" "order" "GBIF" "10672343" "10847779" 2 ""
|
||||
"A_[CLS]_IAINARCH" "Iainarchaeia" "accepted" "Archaea" "Iainarchaeota" "Iainarchaeia" "" "" "" "" "" "class" "GBIF" "10847779" "10776132" 2 ""
|
||||
@ -22792,7 +22793,6 @@
|
||||
"B_ISCHN_ALKL" "Isachenkonia alkalipeptolytica" "accepted" "Bacteria" "Bacillota" "Clostridia" "Eubacteriales" "Clostridiaceae" "Isachenkonia" "alkalipeptolytica" "" "species" "Zavarzina et al., 2020" "LPSN" "8748" "8742" 2 ""
|
||||
"B_ISCTS" "Isactis" "accepted" "Bacteria" "Cyanobacteria" "Cyanobacteriia" "Cyanobacteriales" "Rivulariaceae" "Isactis" "" "" "genus" "Thuret et al., 1886" "GBIF" "3219609" "4306626" 2 ""
|
||||
"B_ISCTS_PLAN" "Isactis plana" "accepted" "Bacteria" "Cyanobacteria" "Cyanobacteriia" "Cyanobacteriales" "Rivulariaceae" "Isactis" "plana" "" "species" "Thur et al." "GBIF" "3219610" "3219609" 2 ""
|
||||
"B_ISDG" "ISDg" "accepted" "Bacteria" "Bacillota" "Clostridia" "Eubacteriales" "Lachnospiraceae" "ISDg" "" "" "genus" "GBIF" "11121283" "4713" 2 ""
|
||||
"B_ISHKW" "Ishikawaella" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Ishikawaella" "" "" "genus" "GBIF" "10797324" "11158430" 2 ""
|
||||
"B_ISHKW_CPSL" "Ishikawaella capsulata" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Ishikawaella" "capsulata" "" "species" "GBIF" "10718144" "10797324" 2 ""
|
||||
"B_ISBCL" "Isobaculum" "accepted" "Bacteria" "Bacillota" "Bacilli" "Lactobacillales" "Carnobacteriaceae" "Isobaculum" "" "" "genus" "Collins et al., 2002" "LPSN" "515857" "279" "3227154" 2 "432998006"
|
||||
@ -23653,6 +23653,7 @@
|
||||
"B_KYTCC_AERL" "Kytococcus aerolatus" "accepted" "Bacteria" "Actinomycetota" "Actinomycetes" "Micrococcales" "Kytococcaceae" "Kytococcus" "aerolatus" "" "species" "Nouioui et al., 2018" "LPSN" "788155" "515905" "7687887" "3225662" 1.5 ""
|
||||
"B_KYTCC_SCHR" "Kytococcus schroeteri" "accepted" "Bacteria" "Actinomycetota" "Actinomycetes" "Micrococcales" "Kytococcaceae" "Kytococcus" "schroeteri" "" "species" "Becker et al., 2002" "LPSN" "777226" "515905" "3225663" "3225662" 1 "428721003"
|
||||
"B_KYTCC_SDNT" "Kytococcus sedentarius" "accepted" "Bacteria" "Actinomycetota" "Actinomycetes" "Micrococcales" "Kytococcaceae" "Kytococcus" "sedentarius" "" "species" "Nouioui et al., 2018" "LPSN" "777227" "515905" "3225664" "3225662" 1 "113775009"
|
||||
"B_LS-NO" "LS-NOB" "accepted" "Bacteria" "Nitrospinota" "Nitrospinia" "Nitrospinales" "Nitrospinaceae" "LS-NOB" "" "" "genus" "GBIF" "11159629" "5444" 2 ""
|
||||
"B_LABED" "Labedaea" "accepted" "Bacteria" "Actinomycetota" "Actinomycetes" "Pseudonocardiales" "Pseudonocardiaceae" "Labedaea" "" "" "genus" "2012" "LPSN" "518231" "1137" "7668340" "3841" 2 ""
|
||||
"B_LABED_RHZS" "Labedaea rhizosphaerae" "accepted" "Bacteria" "Actinomycetota" "Actinomycetes" "Pseudonocardiales" "Pseudonocardiaceae" "Labedaea" "rhizosphaerae" "" "species" "2012" "LPSN" "790047" "518231" "7830525" "7668340" 2 ""
|
||||
"B_LBDLL" "Labedella" "accepted" "Bacteria" "Actinomycetota" "Actinomycetes" "Micrococcales" "Microbacteriaceae" "Labedella" "" "" "genus" "Li et al., 2019" "LPSN" "517689" "875" "4899919" 2 ""
|
||||
@ -25497,7 +25498,6 @@
|
||||
"B_LTTDB" "Lottiidibacillus" "accepted" "Bacteria" "Bacillota" "Bacilli" "Caryophanales" "Bacillaceae" "Lottiidibacillus" "" "" "genus" "Liu et al., 2020" "LPSN" "9035" "191" 2 ""
|
||||
"B_LTTDB_PTLL" "Lottiidibacillus patelloidae" "accepted" "Bacteria" "Bacillota" "Bacilli" "Caryophanales" "Bacillaceae" "Lottiidibacillus" "patelloidae" "" "species" "Liu et al., 2020" "LPSN" "15262" "9035" 2 ""
|
||||
"P_[PHL]_LOUKOZOA" "Loukozoa" "accepted" "Protozoa" "Loukozoa" "" "" "" "" "" "" "phylum" "GBIF" "7872314" "7" 2 ""
|
||||
"B_LS-NO" "LS-NOB" "accepted" "Bacteria" "Nitrospinota" "Nitrospinia" "Nitrospinales" "Nitrospinaceae" "LS-NOB" "" "" "genus" "GBIF" "11159629" "5444" 2 ""
|
||||
"B_LUCBCTRM" "Lucibacterium" "synonym" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Vibrionales" "Vibrionaceae" "Lucibacterium" "" "" "genus" "Hendrie et al., 1970" "LPSN" "515980" "1543" "517157" 1 ""
|
||||
"B_LUCBCTRM_HRVY" "Lucibacterium harveyi" "synonym" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Vibrionales" "Vibrionaceae" "Lucibacterium" "harveyi" "" "species" "Hendrie et al., 1970" "LPSN" "777606" "515980" "783009" 1 ""
|
||||
"B_LUCFR" "Lucifera" "accepted" "Bacteria" "Bacillota" "Negativicutes" "Selenomonadales" "Sporomusaceae" "Lucifera" "" "" "genus" "Sanchez-Andrea et al., 2019" "LPSN" "521634" "2041" 2 ""
|
||||
@ -25850,6 +25850,9 @@
|
||||
"B_LYTCM" "Lyticum" "accepted" "Bacteria" "Pseudomonadota" "Alphaproteobacteria" "Rickettsiales" "Ehrlichiaceae" "Lyticum" "" "" "genus" "Preer et al., 1982" "LPSN" "517271" "473" "3221463" "4901684" 2 "433004006"
|
||||
"B_LYTCM_FLGL" "Lyticum flagellatum" "accepted" "Bacteria" "Pseudomonadota" "Alphaproteobacteria" "Rickettsiales" "Ehrlichiaceae" "Lyticum" "flagellatum" "" "species" "Preer et al., 1982" "LPSN" "784168" "517271" "3221464" "3221463" 2 "433754005"
|
||||
"B_LYTCM_SNSM" "Lyticum sinuosum" "accepted" "Bacteria" "Pseudomonadota" "Alphaproteobacteria" "Rickettsiales" "Ehrlichiaceae" "Lyticum" "sinuosum" "" "species" "Preer et al., 1982" "LPSN" "784169" "517271" "3221465" "3221463" 2 "434353007"
|
||||
"A_MGII-" "MGIIa-I" "accepted" "Archaea" "Thermoplasmatota" "Poseidoniia" "Poseidoniales" "Poseidoniaceae" "MGIIa-I" "" "" "genus" "GBIF" "11196009" "10685831" 2 ""
|
||||
"A_GII-P" "MGIIb-P" "accepted" "Archaea" "Thermoplasmatota" "Poseidoniia" "Poseidoniales" "Thalassarchaeaceae" "MGIIb-P" "" "" "genus" "GBIF" "11123790" "10752789" 2 ""
|
||||
"B_MZ-XQ" "MZ-XQ" "accepted" "Bacteria" "Mycoplasmatota" "Mollicutes" "Acholeplasmatales" "Acholeplasmataceae" "MZ-XQ" "" "" "genus" "GBIF" "11137212" 2 ""
|
||||
"B_MBKBC" "Mabikibacter" "synonym" "Bacteria" "Pseudomonadota" "Alphaproteobacteria" "Hyphomicrobiales" "Notoacmeibacteraceae" "Mabikibacter" "" "" "genus" "Choi et al., 2017" "LPSN" "519257" "2084" "519233" 2 ""
|
||||
"B_MBKBC_RUBR" "Mabikibacter ruber" "synonym" "Bacteria" "Pseudomonadota" "Alphaproteobacteria" "Hyphomicrobiales" "Notoacmeibacteraceae" "Mabikibacter" "ruber" "" "species" "Choi et al., 2017" "LPSN" "795890" "519257" "795709" "9791970" 2 ""
|
||||
"B_MCLLB" "Macellibacteroides" "accepted" "Bacteria" "Bacteroidota" "Bacteroidia" "Bacteroidales" "Porphyromonadaceae" "Macellibacteroides" "" "" "genus" "Jabari et al., 2012" "LPSN" "518264" "1100" "8021701" 2 ""
|
||||
@ -27856,8 +27859,6 @@
|
||||
"F_MYRZY_PRPS_TXTL" "Meyerozyma parapsilosis tuxtlensis" "synonym" "Fungi" "Ascomycota" "Saccharomycetes" "Saccharomycetales" "Debaryomycetaceae" "Meyerozyma" "parapsilosis" "tuxtlensis" "subspecies" "Herrera et al." "GBIF" "3479713" "5893383" 1.5 ""
|
||||
"F_MYRZY_PSDG" "Meyerozyma pseudoguilliermondii" "synonym" "Fungi" "Ascomycota" "Saccharomycetes" "Saccharomycetales" "Debaryomycetaceae" "Meyerozyma" "pseudoguilliermondii" "" "species" "GBIF" "3556778" "5893380" "5893383" 1.5 ""
|
||||
"F_MYRZY_SMTH" "Meyerozyma smithsonii" "accepted" "Fungi" "Ascomycota" "Saccharomycetes" "Saccharomycetales" "Debaryomycetaceae" "Meyerozyma" "smithsonii" "" "species" "Yurkov et al." "GBIF" "10712206" "5893380" 1.5 ""
|
||||
"A_MGII-" "MGIIa-I" "accepted" "Archaea" "Thermoplasmatota" "Poseidoniia" "Poseidoniales" "Poseidoniaceae" "MGIIa-I" "" "" "genus" "GBIF" "11196009" "10685831" 2 ""
|
||||
"A_GII-P" "MGIIb-P" "accepted" "Archaea" "Thermoplasmatota" "Poseidoniia" "Poseidoniales" "Thalassarchaeaceae" "MGIIb-P" "" "" "genus" "GBIF" "11123790" "10752789" 2 ""
|
||||
"B_MCVBR" "Micavibrio" "accepted" "Bacteria" "Pseudomonadota" "Oligoflexia" "Bdellovibrionales" "Bdellovibrionaceae" "Micavibrio" "" "" "genus" "Lambina et al., 1989" "LPSN" "517285" "203" "11199699" "8932" 2 "429897008"
|
||||
"B_MCVBR_ADMR" "Micavibrio admirandus" "accepted" "Bacteria" "Pseudomonadota" "Oligoflexia" "Bdellovibrionales" "Bdellovibrionaceae" "Micavibrio" "admirandus" "" "species" "Lambina et al., 1989" "LPSN" "784260" "517285" 2 "433368001"
|
||||
"A_[FAM]_MICRRCHC" "Micrarchaeaceae" "accepted" "Archaea" "Micrarchaeota" "Micrarchaeia" "Micrarchaeales" "Micrarchaeaceae" "" "" "" "family" "GBIF" "10878041" "10702512" 2 ""
|
||||
@ -30316,7 +30317,6 @@
|
||||
"B_MYXSR_BRMN" "Myxosarcina burmensis" "accepted" "Bacteria" "Cyanobacteria" "Cyanobacteriia" "Cyanobacteriales" "Xenococcaceae" "Myxosarcina" "burmensis" "" "species" "Skuja" "GBIF" "3216275" "7729673" 2 ""
|
||||
"B_MYXSR_CNCN" "Myxosarcina concinna" "accepted" "Bacteria" "Cyanobacteria" "Cyanobacteriia" "Cyanobacteriales" "Xenococcaceae" "Myxosarcina" "concinna" "" "species" "GBIF" "3217367" "7729673" 2 ""
|
||||
"B_MYXSR_GLCP" "Myxosarcina gloeocapsoides" "accepted" "Bacteria" "Cyanobacteria" "Cyanobacteriia" "Cyanobacteriales" "Xenococcaceae" "Myxosarcina" "gloeocapsoides" "" "species" "Komarek et al." "GBIF" "3217365" "7729673" 2 ""
|
||||
"B_MZ-XQ" "MZ-XQ" "accepted" "Bacteria" "Mycoplasmatota" "Mollicutes" "Acholeplasmatales" "Acholeplasmataceae" "MZ-XQ" "" "" "genus" "GBIF" "11137212" 2 ""
|
||||
"B_MZBMY" "Mzabimyces" "synonym" "Bacteria" "Actinomycetota" "Actinomycetes" "Pseudonocardiales" "Pseudonocardiaceae" "Mzabimyces" "" "" "genus" "Saker et al., 2015" "LPSN" "518817" "1137" "518590" 2 ""
|
||||
"B_MZBMY_ALGR" "Mzabimyces algeriensis" "synonym" "Bacteria" "Actinomycetota" "Actinomycetes" "Pseudonocardiales" "Pseudonocardiaceae" "Mzabimyces" "algeriensis" "" "species" "Saker et al., 2015" "LPSN" "793403" "518817" "795677" 2 ""
|
||||
"B_NAASI" "Naasia" "accepted" "Bacteria" "Actinomycetota" "Actinomycetes" "Micrococcales" "Microbacteriaceae" "Naasia" "" "" "genus" "Weon et al., 2013" "LPSN" "518394" "875" "8305219" 2 ""
|
||||
@ -41270,7 +41270,6 @@
|
||||
"B_SLMNL_ARPH" "Salmonella Arapahoe" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Arapahoe" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_ARCH" "Salmonella Arechavaleta" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Arechavaleta" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_ARGN" "Salmonella Argenteuil" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Argenteuil" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_ARZN" "Salmonella arizonae" "synonym" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "arizonae" "" "species" "Kauffmann, 1964" "LPSN" "780744" "516547" "780755" "5427588" "3221815" 1.5 ""
|
||||
"B_SLMNL_ARSH" "Salmonella Arusha" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Arusha" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_ASCH" "Salmonella Aschersleben" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Aschersleben" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_ASHN" "Salmonella Ashanti" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Ashanti" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
@ -41379,7 +41378,6 @@
|
||||
"B_SLMNL_BLTN" "Salmonella Bolton" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Bolton" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_BNMS" "Salmonella Bonames" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Bonames" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_BNRN" "Salmonella Bonariensis" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Bonariensis" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_BNGR" "Salmonella bongori" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "bongori" "" "species" "Reeves et al., 1989" "LPSN" "780745" "516547" "5427596" "3221815" 1 "398393000"
|
||||
"B_SLMNL_BONN" "Salmonella Bonn" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Bonn" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_BOTL" "Salmonella Bootle" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Bootle" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_BRBC" "Salmonella Borbeck" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Borbeck" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
@ -41482,14 +41480,6 @@
|
||||
"B_SLMNL_CHNG" "Salmonella Chingola" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Chingola" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_CHRD" "Salmonella Chiredzi" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Chiredzi" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_CHTT" "Salmonella Chittagong" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Chittagong" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_CHLR" "Salmonella choleraesuis" "synonym" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "choleraesuis" "" "species" "Weldin, 1927" "LPSN" "780746" "516547" "784857" "7515106" "3221815" "9701185" 1 ""
|
||||
"B_SLMNL_CHLR_ARZN" "Salmonella choleraesuis arizonae" "synonym" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "choleraesuis" "arizonae" "subspecies" "Le Minor et al., 1985" "LPSN" "780747" "780746" "780755" "5427587" "7515106" "5427586" 1 ""
|
||||
"B_SLMNL_CHLR_BNGR" "Salmonella choleraesuis bongori" "synonym" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "choleraesuis" "bongori" "subspecies" "Le Minor et al., 1985" "LPSN" "780748" "780746" "780745" "5427597" "7515106" "5427596" 1 ""
|
||||
"B_SLMNL_CHLR_CHLR" "Salmonella choleraesuis choleraesuis" "synonym" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "choleraesuis" "choleraesuis" "subspecies" "Le Minor et al., 1985" "LPSN" "780749" "780746" "780758" "5427590" "7515106" "5427589" 1 ""
|
||||
"B_SLMNL_CHLR_DRZN" "Salmonella choleraesuis diarizonae" "synonym" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "choleraesuis" "diarizonae" "subspecies" "Le Minor et al., 1985" "LPSN" "780750" "780746" "780757" "5427579" "7515106" "5427578" 1 ""
|
||||
"B_SLMNL_CHLR_HOTN" "Salmonella choleraesuis houtenae" "synonym" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "choleraesuis" "houtenae" "subspecies" "Le Minor et al., 1985" "LPSN" "780751" "780746" "780759" "5427581" "7515106" "5427580" 1 ""
|
||||
"B_SLMNL_CHLR_INDC" "Salmonella choleraesuis indica" "synonym" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "choleraesuis" "indica" "subspecies" "Le Minor et al., 1987" "LPSN" "780752" "780746" "780760" "5427583" "7515106" "5427582" 1 ""
|
||||
"B_SLMNL_CHLR_SALM" "Salmonella choleraesuis salamae" "synonym" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "choleraesuis" "salamae" "subspecies" "Le Minor et al., 1985" "LPSN" "780753" "780746" "780761" "5427585" "7515106" "5427584" 1 ""
|
||||
"B_SLMNL_CHMD" "Salmonella Chomedey" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Chomedey" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_CHRS" "Salmonella Christiansborg" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Christiansborg" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_CLCK" "Salmonella Clackamas" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Clackamas" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
@ -41552,7 +41542,6 @@
|
||||
"B_SLMNL_DESS" "Salmonella Dessau" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Dessau" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_DTML" "Salmonella Detmold" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Detmold" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_DVRS" "Salmonella Deversoir" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Deversoir" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_DRZN" "Salmonella diarizonae" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "diarizonae" "" "species" "GBIF" "10672082" "3221815" 1.5 ""
|
||||
"B_SLMNL_DIBR" "Salmonella Dibra" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Dibra" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_DTRC" "Salmonella Dietrichsdorf" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Dietrichsdorf" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_DPPL" "Salmonella Dieuppeul" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Dieuppeul" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
@ -41614,15 +41603,6 @@
|
||||
"B_SLMNL_ENCN" "Salmonella Encino" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Encino" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_ENSC" "Salmonella Enschede" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Enschede" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_ENTB" "Salmonella Entebbe" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Entebbe" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_ENTR" "Salmonella enterica" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "" "species" "Le Minor et al., 1987" "LPSN" "784857" "516547" "9701185" "3221815" 1 "110378009,397502001,398428002,398508004,398371005,398620001,398488004"
|
||||
"B_SLMNL_ENTR_ARZN" "Salmonella enterica arizonae" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "arizonae" "subspecies" "Le Minor et al., 1987" "LPSN" "780755" "784857" "5427586" "9701185" 1 ""
|
||||
"B_SLMNL_ENTR_BNGR" "Salmonella enterica bongori" "synonym" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "bongori" "subspecies" "Le Minor et al., 1987" "LPSN" "780756" "784857" "780745" "5427598" "9701185" "5427596" 1 ""
|
||||
"B_SLMNL_ENTR_DRZN" "Salmonella enterica diarizonae" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "diarizonae" "subspecies" "Le Minor et al., 1987" "LPSN" "780757" "784857" "5427578" "9701185" 1 ""
|
||||
"B_SLMNL_ENTR_ENTR" "Salmonella enterica enterica" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "enterica" "subspecies" "Le Minor et al., 1987" "LPSN" "780758" "784857" "5427589" "9701185" 1 ""
|
||||
"B_SLMNL_ENTR_HOTN" "Salmonella enterica houtenae" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "houtenae" "subspecies" "Le Minor et al., 1987" "LPSN" "780759" "784857" "5427580" "9701185" 1 ""
|
||||
"B_SLMNL_ENTR_INDC" "Salmonella enterica indica" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "indica" "subspecies" "Le Minor et al., 1987" "LPSN" "780760" "784857" "5427582" "9701185" 1 ""
|
||||
"B_SLMNL_ENTR_SALM" "Salmonella enterica salamae" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "salamae" "subspecies" "Le Minor et al., 1987" "LPSN" "780761" "784857" "5427584" "9701185" 1 ""
|
||||
"B_SLMNL_RTDS" "Salmonella enteritidis" "synonym" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enteritidis" "" "species" "Castellani et al., 1919" "LPSN" "780762" "516547" "784857" "5427592" "3221815" "9701185" 1 ""
|
||||
"B_SLMNL_ENUG" "Salmonella Enugu" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Enugu" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_EPLN" "Salmonella Epalinges" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Epalinges" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_EPCR" "Salmonella Epicrates" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Epicrates" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
@ -41741,9 +41721,10 @@
|
||||
"B_SLMNL_GRAZ" "Salmonella Graz" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Graz" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_GREZ" "Salmonella Greiz" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Greiz" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_GRNK" "Salmonella Groenekan" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Groenekan" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_GRPB" "Salmonella Group B" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "Group B" "" "species" "manually added" 1.5 ""
|
||||
"B_SLMNL_GRPC" "Salmonella Group C" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "Group C" "" "species" "manually added" 1.5 ""
|
||||
"B_SLMNL_GRPD" "Salmonella Group D" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "Group D" "" "species" "manually added" 1.5 ""
|
||||
"B_SLMNL_GRPA" "Salmonella Group A" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "Group A" "" "species" "manually added" "516547" "3221815" 1.5 ""
|
||||
"B_SLMNL_GRPB" "Salmonella Group B" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "Group B" "" "species" "manually added" "516547" "3221815" 1.5 ""
|
||||
"B_SLMNL_GRPC" "Salmonella Group C" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "Group C" "" "species" "manually added" "516547" "3221815" 1.5 ""
|
||||
"B_SLMNL_GRPD" "Salmonella Group D" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "Group D" "" "species" "manually added" "516547" "3221815" 1.5 ""
|
||||
"B_SLMNL_GNSS" "Salmonella Grumpensis" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Grumpensis" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_GRPR" "Salmonella Guarapiranga" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Guarapiranga" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_GURN" "Salmonella Guerin" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Guerin" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
@ -41807,7 +41788,6 @@
|
||||
"B_SLMNL_HNGK" "Salmonella Hongkong" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Hongkong" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_HRSH" "Salmonella Horsham" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Horsham" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_HSTN" "Salmonella Houston" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Houston" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_HOTN" "Salmonella houtenae" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "houtenae" "" "species" "GBIF" "7617321" "3221815" 1.5 ""
|
||||
"B_SLMNL_HDDN" "Salmonella Huddinge" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Huddinge" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_HTTW" "Salmonella Huettwilen" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Huettwilen" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_HULL" "Salmonella Hull" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Hull" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
@ -42277,13 +42257,12 @@
|
||||
"B_SLMNL_PKST" "Salmonella Pakistan" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Pakistan" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_PLMN" "Salmonella Palamaner" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Palamaner" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_PALM" "Salmonella Palime" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Palime" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_PANM" "Salmonella panama" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "panama" "" "species" "Kauffmann, 1934" "GBIF" "9407232" "3221815" 1.5 ""
|
||||
"B_SLMNL_PAPN" "Salmonella Papuana" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Papuana" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_PARK" "Salmonella Parakou" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Parakou" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_PRTY" "Salmonella paratyphi" "synonym" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "paratyphi" "" "species" "Ezaki et al., 2000" "LPSN" "784858" "516547" "784857" "5427593" "3221815" "9701185" 1 "840687007"
|
||||
"B_SLMNL_PRTA" "Salmonella Paratyphi A" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "Paratyphi A" "" "species" "manually added" 1.5 ""
|
||||
"B_SLMNL_PRTB" "Salmonella Paratyphi B" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "Paratyphi B" "" "species" "manually added" 1.5 ""
|
||||
"B_SLMNL_PRTC" "Salmonella Paratyphi C" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "Paratyphi C" "" "species" "manually added" 1.5 ""
|
||||
"B_SLMNL_PRTY" "Salmonella Paratyphi" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Paratyphi" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_PRTA" "Salmonella Paratyphi A" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "Paratyphi A" "" "species" "manually added" "516547" "3221815" 1.5 ""
|
||||
"B_SLMNL_PRTB" "Salmonella Paratyphi B" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "Paratyphi B" "" "species" "manually added" "516547" "3221815" 1.5 ""
|
||||
"B_SLMNL_PRTC" "Salmonella Paratyphi C" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "Paratyphi C" "" "species" "manually added" "516547" "3221815" 1.5 ""
|
||||
"B_SLMNL_PARS" "Salmonella Paris" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Paris" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_PRKR" "Salmonella Parkroyal" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Parkroyal" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_PSNG" "Salmonella Pasing" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Pasing" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
@ -42480,7 +42459,6 @@
|
||||
"B_SLMNL_STVN" "Salmonella Stuivenberg" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Stuivenberg" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_STTT" "Salmonella Stuttgart" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Stuttgart" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_SUBR" "Salmonella Suberu" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Suberu" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_SBTR" "Salmonella subterranea" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "subterranea" "" "species" "Shelobolina et al., 2005" "LPSN" "780769" "516547" "5427595" "3221815" 1.5 ""
|
||||
"B_SLMNL_SUDN" "Salmonella Sudan" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Sudan" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_SLLD" "Salmonella Suelldorf" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Suelldorf" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_SNDS" "Salmonella Sundsvall" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Sundsvall" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
@ -42574,8 +42552,8 @@
|
||||
"B_SLMNL_TCSN" "Salmonella Tucson" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Tucson" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_TUDU" "Salmonella Tudu" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Tudu" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_TUMD" "Salmonella Tumodi" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Tumodi" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_TYPH" "Salmonella typhi" "synonym" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "typhi" "" "species" "Warren et al., 1930" "LPSN" "784859" "516547" "784857" "5427594" "3221815" "9701185" 1 "712764007"
|
||||
"B_SLMNL_HMRM" "Salmonella typhimurium" "synonym" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "typhimurium" "" "species" "Castellani et al., 1919" "LPSN" "780770" "516547" "784857" "5427591" "3221815" "9701185" 1 ""
|
||||
"B_SLMNL_TYPH" "Salmonella Typhi" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Typhi" "subspecies" "manually added" "784857" "9701185" 1 "840687007"
|
||||
"B_SLMNL_HMRM" "Salmonella Typhimurium" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Typhimurium" "subspecies" "manually added" "784857" "9701185" 1 "712764007"
|
||||
"B_SLMNL_THSS" "Salmonella Typhisuis" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Typhisuis" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_TYRS" "Salmonella Tyresoe" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Tyresoe" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_UCCL" "Salmonella Uccle" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Uccle" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
@ -42718,6 +42696,29 @@
|
||||
"B_SLMNL_ZONG" "Salmonella Zongo" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Zongo" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_ZULN" "Salmonella Zuilen" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Zuilen" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_ZWCK" "Salmonella Zwickau" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "Zwickau" "subspecies" "manually added" "784857" "9701185" 1 ""
|
||||
"B_SLMNL_ARZN" "Salmonella arizonae" "synonym" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "arizonae" "" "species" "Kauffmann, 1964" "LPSN" "780744" "516547" "780755" "5427588" "3221815" 1.5 ""
|
||||
"B_SLMNL_BNGR" "Salmonella bongori" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "bongori" "" "species" "Reeves et al., 1989" "LPSN" "780745" "516547" "5427596" "3221815" 1 "398393000"
|
||||
"B_SLMNL_CHLR" "Salmonella choleraesuis" "synonym" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "choleraesuis" "" "species" "Weldin, 1927" "LPSN" "780746" "516547" "784857" "7515106" "3221815" "9701185" 1 ""
|
||||
"B_SLMNL_CHLR_ARZN" "Salmonella choleraesuis arizonae" "synonym" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "choleraesuis" "arizonae" "subspecies" "Le Minor et al., 1985" "LPSN" "780747" "780746" "780755" "5427587" "7515106" "5427586" 1 ""
|
||||
"B_SLMNL_CHLR_BNGR" "Salmonella choleraesuis bongori" "synonym" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "choleraesuis" "bongori" "subspecies" "Le Minor et al., 1985" "LPSN" "780748" "780746" "780745" "5427597" "7515106" "5427596" 1 ""
|
||||
"B_SLMNL_CHLR_CHLR" "Salmonella choleraesuis choleraesuis" "synonym" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "choleraesuis" "choleraesuis" "subspecies" "Le Minor et al., 1985" "LPSN" "780749" "780746" "780758" "5427590" "7515106" "5427589" 1 ""
|
||||
"B_SLMNL_CHLR_DRZN" "Salmonella choleraesuis diarizonae" "synonym" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "choleraesuis" "diarizonae" "subspecies" "Le Minor et al., 1985" "LPSN" "780750" "780746" "780757" "5427579" "7515106" "5427578" 1 ""
|
||||
"B_SLMNL_CHLR_HOTN" "Salmonella choleraesuis houtenae" "synonym" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "choleraesuis" "houtenae" "subspecies" "Le Minor et al., 1985" "LPSN" "780751" "780746" "780759" "5427581" "7515106" "5427580" 1 ""
|
||||
"B_SLMNL_CHLR_INDC" "Salmonella choleraesuis indica" "synonym" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "choleraesuis" "indica" "subspecies" "Le Minor et al., 1987" "LPSN" "780752" "780746" "780760" "5427583" "7515106" "5427582" 1 ""
|
||||
"B_SLMNL_CHLR_SALM" "Salmonella choleraesuis salamae" "synonym" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "choleraesuis" "salamae" "subspecies" "Le Minor et al., 1985" "LPSN" "780753" "780746" "780761" "5427585" "7515106" "5427584" 1 ""
|
||||
"B_SLMNL_DRZN" "Salmonella diarizonae" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "diarizonae" "" "species" "GBIF" "516547" "10672082" "3221815" 1.5 ""
|
||||
"B_SLMNL_ENTR" "Salmonella enterica" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "" "species" "Le Minor et al., 1987" "LPSN" "784857" "516547" "9701185" "3221815" 1 "110378009,397502001,398428002,398508004,398371005,398620001,398488004"
|
||||
"B_SLMNL_ENTR_ARZN" "Salmonella enterica arizonae" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "arizonae" "subspecies" "Le Minor et al., 1987" "LPSN" "780755" "784857" "5427586" "9701185" 1 ""
|
||||
"B_SLMNL_ENTR_BNGR" "Salmonella enterica bongori" "synonym" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "bongori" "subspecies" "Le Minor et al., 1987" "LPSN" "780756" "784857" "780745" "5427598" "9701185" "5427596" 1 ""
|
||||
"B_SLMNL_ENTR_DRZN" "Salmonella enterica diarizonae" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "diarizonae" "subspecies" "Le Minor et al., 1987" "LPSN" "780757" "784857" "5427578" "9701185" 1 ""
|
||||
"B_SLMNL_ENTR_ENTR" "Salmonella enterica enterica" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "enterica" "subspecies" "Le Minor et al., 1987" "LPSN" "780758" "784857" "5427589" "9701185" 1 ""
|
||||
"B_SLMNL_ENTR_HOTN" "Salmonella enterica houtenae" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "houtenae" "subspecies" "Le Minor et al., 1987" "LPSN" "780759" "784857" "5427580" "9701185" 1 ""
|
||||
"B_SLMNL_ENTR_INDC" "Salmonella enterica indica" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "indica" "subspecies" "Le Minor et al., 1987" "LPSN" "780760" "784857" "5427582" "9701185" 1 ""
|
||||
"B_SLMNL_ENTR_SALM" "Salmonella enterica salamae" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enterica" "salamae" "subspecies" "Le Minor et al., 1987" "LPSN" "780761" "784857" "5427584" "9701185" 1 ""
|
||||
"B_SLMNL_RTDS" "Salmonella enteritidis" "synonym" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "enteritidis" "" "species" "Castellani et al., 1919" "LPSN" "780762" "516547" "784857" "5427592" "3221815" "9701185" 1 ""
|
||||
"B_SLMNL_HOTN" "Salmonella houtenae" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "houtenae" "" "species" "GBIF" "516547" "7617321" "3221815" 1.5 ""
|
||||
"B_SLMNL_PANM" "Salmonella panama" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "panama" "" "species" "Kauffmann, 1934" "GBIF" "516547" "9407232" "3221815" 1.5 ""
|
||||
"B_SLMNL_SBTR" "Salmonella subterranea" "accepted" "Bacteria" "Pseudomonadota" "Gammaproteobacteria" "Enterobacterales" "Enterobacteriaceae" "Salmonella" "subterranea" "" "species" "Shelobolina et al., 2005" "LPSN" "780769" "516547" "5427595" "3221815" 1.5 ""
|
||||
"B_SLSPL" "Salsipaludibacter" "accepted" "Bacteria" "Actinomycetota" "Nitriliruptoria" "Salsipaludibacterales" "Salsipaludibacteraceae" "Salsipaludibacter" "" "" "genus" "Almeida et al., 2022" "LPSN" "25963" "25953" 2 ""
|
||||
"B_SLSPL_ALBS" "Salsipaludibacter albus" "accepted" "Bacteria" "Actinomycetota" "Nitriliruptoria" "Salsipaludibacterales" "Salsipaludibacteraceae" "Salsipaludibacter" "albus" "" "species" "Almeida et al., 2022" "LPSN" "25977" "25963" 2 ""
|
||||
"B_[FAM]_SLSPLDBC" "Salsipaludibacteraceae" "accepted" "Bacteria" "Actinomycetota" "Nitriliruptoria" "Salsipaludibacterales" "Salsipaludibacteraceae" "" "" "" "family" "Almeida et al., 2022" "LPSN" "25953" "25966" 2 ""
|
||||
@ -45427,6 +45428,15 @@
|
||||
"B_STRPTB_RATT" "Streptobacillus ratti" "accepted" "Bacteria" "Fusobacteriota" "Fusobacteriia" "Fusobacteriales" "Leptotrichiaceae" "Streptobacillus" "ratti" "" "species" "Eisenberg et al., 2016" "LPSN" "794063" "516688" "9144099" "3225903" 1.5 ""
|
||||
"B_[FAM]_STRPTCCC" "Streptococcaceae" "accepted" "Bacteria" "Bacillota" "Bacilli" "Lactobacillales" "Streptococcaceae" "" "" "" "family" "Deibel et al., 1974" "LPSN" "1344" "5123" "4899829" "577" "7798" 2 "115107007"
|
||||
"B_STRPT" "Streptococcus" "accepted" "Bacteria" "Bacillota" "Bacilli" "Lactobacillales" "Streptococcaceae" "Streptococcus" "" "" "genus" "Rosenbach, 1884" "LPSN" "517118" "1344" "3223465" "4899829" 1 "58800005,414871004,70160008"
|
||||
"B_STRPT_GRPA" "Streptococcus Group A" "accepted" "Bacteria" "Bacillota" "Bacilli" "Lactobacillales" "Streptococcaceae" "Streptococcus" "Group A" "" "species" "Lancefield, 1933" "manually added" 1.5 ""
|
||||
"B_STRPT_GRPB" "Streptococcus Group B" "accepted" "Bacteria" "Bacillota" "Bacilli" "Lactobacillales" "Streptococcaceae" "Streptococcus" "Group B" "" "species" "Lancefield, 1933" "manually added" 1.5 ""
|
||||
"B_STRPT_GRPC" "Streptococcus Group C" "accepted" "Bacteria" "Bacillota" "Bacilli" "Lactobacillales" "Streptococcaceae" "Streptococcus" "Group C" "" "species" "Lancefield, 1933" "manually added" 1.5 ""
|
||||
"B_STRPT_GRPD" "Streptococcus Group D" "accepted" "Bacteria" "Bacillota" "Bacilli" "Lactobacillales" "Streptococcaceae" "Streptococcus" "Group D" "" "species" "Lancefield, 1933" "manually added" 1.5 ""
|
||||
"B_STRPT_GRPF" "Streptococcus Group F" "accepted" "Bacteria" "Bacillota" "Bacilli" "Lactobacillales" "Streptococcaceae" "Streptococcus" "Group F" "" "species" "Lancefield, 1933" "manually added" 1.5 ""
|
||||
"B_STRPT_GRPG" "Streptococcus Group G" "accepted" "Bacteria" "Bacillota" "Bacilli" "Lactobacillales" "Streptococcaceae" "Streptococcus" "Group G" "" "species" "Lancefield, 1933" "manually added" 1.5 ""
|
||||
"B_STRPT_GRPH" "Streptococcus Group H" "accepted" "Bacteria" "Bacillota" "Bacilli" "Lactobacillales" "Streptococcaceae" "Streptococcus" "Group H" "" "species" "Lancefield, 1933" "manually added" 1.5 ""
|
||||
"B_STRPT_GRPK" "Streptococcus Group K" "accepted" "Bacteria" "Bacillota" "Bacilli" "Lactobacillales" "Streptococcaceae" "Streptococcus" "Group K" "" "species" "Lancefield, 1933" "manually added" 1.5 ""
|
||||
"B_STRPT_GRPL" "Streptococcus Group L" "accepted" "Bacteria" "Bacillota" "Bacilli" "Lactobacillales" "Streptococcaceae" "Streptococcus" "Group L" "" "species" "Lancefield, 1933" "manually added" 1.5 ""
|
||||
"B_STRPT_ACDM" "Streptococcus acidominimus" "accepted" "Bacteria" "Bacillota" "Bacilli" "Lactobacillales" "Streptococcaceae" "Streptococcus" "acidominimus" "" "species" "Ayers et al., 1922" "LPSN" "781295" "517118" 1 "51182006"
|
||||
"B_STRPT_ADJC" "Streptococcus adjacens" "synonym" "Bacteria" "Bacillota" "Bacilli" "Lactobacillales" "Streptococcaceae" "Streptococcus" "adjacens" "" "species" "Bouvet et al., 1989" "LPSN" "781296" "517118" "776611" 1.5 ""
|
||||
"B_STRPT_AGLC" "Streptococcus agalactiae" "accepted" "Bacteria" "Bacillota" "Bacilli" "Lactobacillales" "Streptococcaceae" "Streptococcus" "agalactiae" "" "species" "Lehmann et al., 1896" "LPSN" "781297" "517118" 1 "713924007,43492007"
|
||||
@ -45496,15 +45506,6 @@
|
||||
"B_STRPT_GLLL_PSTR" "Streptococcus gallolyticus pasteurianus" "accepted" "Bacteria" "Bacillota" "Bacilli" "Lactobacillales" "Streptococcaceae" "Streptococcus" "gallolyticus" "pasteurianus" "subspecies" "Beck et al., 2008" "LPSN" "781340" "781337" "3227070" 1.25 ""
|
||||
"B_STRPT_GARV" "Streptococcus garvieae" "synonym" "Bacteria" "Bacillota" "Bacilli" "Lactobacillales" "Streptococcaceae" "Streptococcus" "garvieae" "" "species" "Collins et al., 1984" "LPSN" "781341" "517118" "777418" 1 ""
|
||||
"B_STRPT_GRDN" "Streptococcus gordonii" "accepted" "Bacteria" "Bacillota" "Bacilli" "Lactobacillales" "Streptococcaceae" "Streptococcus" "gordonii" "" "species" "Kilian et al., 1989" "LPSN" "781342" "517118" 1 "113986004"
|
||||
"B_STRPT_GRPA" "Streptococcus Group A" "accepted" "Bacteria" "Bacillota" "Bacilli" "Lactobacillales" "Streptococcaceae" "Streptococcus" "Group A" "" "species" "Lancefield, 1933" "manually added" 1.5 ""
|
||||
"B_STRPT_GRPB" "Streptococcus Group B" "accepted" "Bacteria" "Bacillota" "Bacilli" "Lactobacillales" "Streptococcaceae" "Streptococcus" "Group B" "" "species" "Lancefield, 1933" "manually added" 1.5 ""
|
||||
"B_STRPT_GRPC" "Streptococcus Group C" "accepted" "Bacteria" "Bacillota" "Bacilli" "Lactobacillales" "Streptococcaceae" "Streptococcus" "Group C" "" "species" "Lancefield, 1933" "manually added" 1.5 ""
|
||||
"B_STRPT_GRPD" "Streptococcus Group D" "accepted" "Bacteria" "Bacillota" "Bacilli" "Lactobacillales" "Streptococcaceae" "Streptococcus" "Group D" "" "species" "Lancefield, 1933" "manually added" 1.5 ""
|
||||
"B_STRPT_GRPF" "Streptococcus Group F" "accepted" "Bacteria" "Bacillota" "Bacilli" "Lactobacillales" "Streptococcaceae" "Streptococcus" "Group F" "" "species" "Lancefield, 1933" "manually added" 1.5 ""
|
||||
"B_STRPT_GRPG" "Streptococcus Group G" "accepted" "Bacteria" "Bacillota" "Bacilli" "Lactobacillales" "Streptococcaceae" "Streptococcus" "Group G" "" "species" "Lancefield, 1933" "manually added" 1.5 ""
|
||||
"B_STRPT_GRPH" "Streptococcus Group H" "accepted" "Bacteria" "Bacillota" "Bacilli" "Lactobacillales" "Streptococcaceae" "Streptococcus" "Group H" "" "species" "Lancefield, 1933" "manually added" 1.5 ""
|
||||
"B_STRPT_GRPK" "Streptococcus Group K" "accepted" "Bacteria" "Bacillota" "Bacilli" "Lactobacillales" "Streptococcaceae" "Streptococcus" "Group K" "" "species" "Lancefield, 1933" "manually added" 1.5 ""
|
||||
"B_STRPT_GRPL" "Streptococcus Group L" "accepted" "Bacteria" "Bacillota" "Bacilli" "Lactobacillales" "Streptococcaceae" "Streptococcus" "Group L" "" "species" "Lancefield, 1933" "manually added" 1.5 ""
|
||||
"B_STRPT_GWNG" "Streptococcus gwangjuense" "accepted" "Bacteria" "Bacillota" "Bacilli" "Lactobacillales" "Streptococcaceae" "Streptococcus" "gwangjuense" "" "species" "GBIF" "11190550" "3223465" 1.5 ""
|
||||
"B_STRPT_HLCH" "Streptococcus halichoeri" "accepted" "Bacteria" "Bacillota" "Bacilli" "Lactobacillales" "Streptococcaceae" "Streptococcus" "halichoeri" "" "species" "Shewmaker et al., 2016" "LPSN" "781344" "517118" 1.25 "438161002"
|
||||
"B_STRPT_HLTS" "Streptococcus halitosis" "accepted" "Bacteria" "Bacillota" "Bacilli" "Lactobacillales" "Streptococcaceae" "Streptococcus" "halitosis" "" "species" "GBIF" "10822581" "3223465" 1.5 ""
|
||||
@ -45554,7 +45555,7 @@
|
||||
"B_STRPT_ORLX" "Streptococcus oriloxodontae" "accepted" "Bacteria" "Bacillota" "Bacilli" "Lactobacillales" "Streptococcaceae" "Streptococcus" "oriloxodontae" "" "species" "Shinozaki-Kuwahara et al., 2014" "LPSN" "792340" "517118" 1.5 ""
|
||||
"B_STRPT_ORSS" "Streptococcus orisasini" "accepted" "Bacteria" "Bacillota" "Bacilli" "Lactobacillales" "Streptococcaceae" "Streptococcus" "orisasini" "" "species" "Takada et al., 2013" "LPSN" "790987" "517118" 1.5 ""
|
||||
"B_STRPT_ORSR" "Streptococcus orisratti" "accepted" "Bacteria" "Bacillota" "Bacilli" "Lactobacillales" "Streptococcaceae" "Streptococcus" "orisratti" "" "species" "Zhu et al., 2000" "LPSN" "781365" "517118" 1.5 "438034004"
|
||||
"B_STRPT_sirS" "Streptococcus orisuis" "accepted" "Bacteria" "Bacillota" "Bacilli" "Lactobacillales" "Streptococcaceae" "Streptococcus" "orisuis" "" "species" "Takada et al., 2007" "LPSN" "781314" "517118" 1.5 "6441000146108"
|
||||
"B_STRPT_RSIS" "Streptococcus orisuis" "accepted" "Bacteria" "Bacillota" "Bacilli" "Lactobacillales" "Streptococcaceae" "Streptococcus" "orisuis" "" "species" "Takada et al., 2007" "LPSN" "781314" "517118" 1.5 "6441000146108"
|
||||
"B_STRPT_OVIS" "Streptococcus ovis" "accepted" "Bacteria" "Bacillota" "Bacilli" "Lactobacillales" "Streptococcaceae" "Streptococcus" "ovis" "" "species" "Collins et al., 2001" "LPSN" "781366" "517118" 1.5 "438035003"
|
||||
"B_STRPT_OVBR" "Streptococcus ovuberis" "accepted" "Bacteria" "Bacillota" "Bacilli" "Lactobacillales" "Streptococcaceae" "Streptococcus" "ovuberis" "" "species" "Zamora et al., 2017" "LPSN" "796216" "517118" 1.5 ""
|
||||
"B_STRPT_PCFC" "Streptococcus pacificus" "accepted" "Bacteria" "Bacillota" "Bacilli" "Lactobacillales" "Streptococcaceae" "Streptococcus" "pacificus" "" "species" "Volokhov et al., 2021" "LPSN" "19573" "517118" 1.5 ""
|
||||
@ -51721,6 +51722,7 @@
|
||||
"A_WKNGR_YPNS" "Wukongarchaeum yapensis" "accepted" "Archaea" "Asgardarchaeota" "Wukongarchaeia" "Wukongarchaeales" "Wukongarchaeaceae" "Wukongarchaeum" "yapensis" "" "species" "GBIF" "11649514" "11817462" 2 ""
|
||||
"B_WKNGB" "Wukongibacter" "accepted" "Bacteria" "Bacillota" "Clostridia" "Eubacteriales" "Peptostreptococcaceae" "Wukongibacter" "" "" "genus" "Li et al., 2016" "LPSN" "519079" "1053" "9506110" "7800" 2 ""
|
||||
"B_WKNGB_BDNS" "Wukongibacter baidiensis" "accepted" "Bacteria" "Bacillota" "Clostridia" "Eubacteriales" "Peptostreptococcaceae" "Wukongibacter" "baidiensis" "" "species" "Li et al., 2016" "LPSN" "794822" "519079" "9479445" "9506110" 2 ""
|
||||
"B_XYC" "XYC" "accepted" "Bacteria" "Nitrospirota" "Thermodesulfovibrionia" "Thermodesulfovibrionales" "Magnetobacteriaceae" "XYC" "" "" "genus" "GBIF" "11695901" "10718264" 2 ""
|
||||
"P_XNTHS" "Xanthiosphaera" "accepted" "Protozoa" "Sarcomastigophora" "" "" "" "Xanthiosphaera" "" "" "genus" "GBIF" "9472186" 2 ""
|
||||
"P_XNTHS_LPPC" "Xanthiosphaera lappacea" "accepted" "Protozoa" "Sarcomastigophora" "" "" "" "Xanthiosphaera" "lappacea" "" "species" "Haeckel" "GBIF" "6123506" "9472186" 2 ""
|
||||
"B_XNTHB" "Xanthobacter" "accepted" "Bacteria" "Pseudomonadota" "Alphaproteobacteria" "Hyphomicrobiales" "Xanthobacteraceae" "Xanthobacter" "" "" "genus" "Wiegel et al., 1978" "LPSN" "516929" "1568" 2 "439120008"
|
||||
@ -51890,7 +51892,6 @@
|
||||
"B_[FAM]_XPHNMTBC" "Xiphinematobacteraceae" "accepted" "Bacteria" "Verrucomicrobiota" "Verrucomicrobiae" "Chthoniobacterales" "Xiphinematobacteraceae" "" "" "" "family" "GBIF" "10770063" "10733345" 2 ""
|
||||
"B_XUHSH" "Xuhuaishuia" "synonym" "Bacteria" "Pseudomonadota" "Alphaproteobacteria" "Rhodobacterales" "Rhodobacteraceae" "Xuhuaishuia" "" "" "genus" "Wang et al., 2016" "LPSN" "518921" "1175" "518801" 2 ""
|
||||
"B_XUHSH_MNGN" "Xuhuaishuia manganoxidans" "synonym" "Bacteria" "Pseudomonadota" "Alphaproteobacteria" "Rhodobacterales" "Rhodobacteraceae" "Xuhuaishuia" "manganoxidans" "" "species" "Wang et al., 2016" "LPSN" "793971" "518921" "793304" 2 ""
|
||||
"B_XYC" "XYC" "accepted" "Bacteria" "Nitrospirota" "Thermodesulfovibrionia" "Thermodesulfovibrionales" "Magnetobacteriaceae" "XYC" "" "" "genus" "GBIF" "11695901" "10718264" 2 ""
|
||||
"B_XYLNB" "Xylanibacillus" "accepted" "Bacteria" "Bacillota" "Bacilli" "Caryophanales" "Paenibacillaceae" "Xylanibacillus" "" "" "genus" "Kukolya et al., 2018" "LPSN" "520351" "1013" 2 ""
|
||||
"B_XYLNB_CMPS" "Xylanibacillus composti" "accepted" "Bacteria" "Bacillota" "Bacilli" "Caryophanales" "Paenibacillaceae" "Xylanibacillus" "composti" "" "species" "Kukolya et al., 2018" "LPSN" "797542" "520351" 2 ""
|
||||
"B_XBCTR" "Xylanibacter" "synonym" "Bacteria" "Bacteroidota" "Bacteroidia" "Bacteroidales" "Prevotellaceae" "Xylanibacter" "" "" "genus" "Hitch et al., 2022" "LPSN" "516940" "1105" "516385" 2 ""
|
||||
|
Binary file not shown.
@ -1410,6 +1410,7 @@ serovars <- c(
|
||||
"Tudu",
|
||||
"Tumodi",
|
||||
"Typhi",
|
||||
"Typhimurium",
|
||||
"Typhisuis",
|
||||
"Tyresoe",
|
||||
"Uccle",
|
||||
@ -1567,14 +1568,11 @@ salmonellae <- tibble(
|
||||
gbif_parent = 9701185
|
||||
)
|
||||
|
||||
salmonellae <- salmonellae %>%
|
||||
# remove e.g. Salmonella Enteritidis if Salmonella enteritidis already existed
|
||||
filter(!tolower(fullname) %in% tolower(AMR::microorganisms$fullname))
|
||||
|
||||
groups <- c(
|
||||
"Paratyphi A",
|
||||
"Paratyphi B",
|
||||
"Paratyphi C",
|
||||
"Group A",
|
||||
"Group B",
|
||||
"Group C",
|
||||
"Group D"
|
||||
@ -1591,3 +1589,7 @@ salmonellae <- salmonellae %>%
|
||||
))
|
||||
|
||||
saveRDS(salmonellae, "data-raw/salmonellae.rds", version = 2)
|
||||
|
||||
# This was later needed to get the right parents for groups
|
||||
microorganisms$lpsn_parent[which(microorganisms$genus == "Salmonella" & microorganisms$rank == "species")] <- "516547"
|
||||
microorganisms$gbif_parent[which(microorganisms$genus == "Salmonella" & microorganisms$rank == "species")] <- "3221815"
|
||||
|
BIN
data-raw/salmonellae.rds
Normal file
BIN
data-raw/salmonellae.rds
Normal file
Binary file not shown.
29
data-raw/salonella_fix.R
Normal file
29
data-raw/salonella_fix.R
Normal file
@ -0,0 +1,29 @@
|
||||
|
||||
snomed2 <- microorganisms %>% filter(mo %in% c("B_SLMNL_TYPH", "B_SLMNL_HMRM", "B_SLMNL_PRTY")) %>%
|
||||
pull(snomed)
|
||||
|
||||
new_typhi <- microorganisms %>%
|
||||
filter(mo == "B_SLMNL_THSS") %>%
|
||||
slice(c(1,1, 1)) %>%
|
||||
mutate(mo = c("B_SLMNL_TYPH", "B_SLMNL_HMRM", "B_SLMNL_PRTY"),
|
||||
fullname = c("Salmonella Typhi", "Salmonella Typhimurium", "Salmonella Paratyphi"),
|
||||
subspecies = c("Typhi", "Typhimurium", "Paratyphi"),
|
||||
snomed = snomed2)
|
||||
|
||||
new_groupa <- microorganisms %>%
|
||||
filter(mo == "B_SLMNL_GRPB") %>%
|
||||
mutate(mo = "B_SLMNL_GRPA",
|
||||
fullname = gsub("roup B", "roup A", fullname),
|
||||
species = gsub("roup B", "roup A", species))
|
||||
|
||||
microorganisms$mo <- as.character(microorganisms$mo)
|
||||
|
||||
microorganisms <- microorganisms %>%
|
||||
filter(!mo %in% c("B_SLMNL_TYPH", "B_SLMNL_HMRM", "B_SLMNL_PRTY")) %>%
|
||||
bind_rows(new_typhi, new_groupa) %>%
|
||||
arrange(fullname)
|
||||
|
||||
microorganisms$lpsn_parent[which(microorganisms$genus == "Salmonella" & microorganisms$rank == "species")] <- "516547"
|
||||
microorganisms$gbif_parent[which(microorganisms$genus == "Salmonella" & microorganisms$rank == "species")] <- "3221815"
|
||||
|
||||
class(microorganisms$mo) <- c("mo", "character")
|
@ -18,6 +18,7 @@ unknown genus TRUE TRUE FALSE TRUE 未知属 ukendt slægt onbekend geslacht gen
|
||||
unknown species TRUE TRUE FALSE TRUE 未知种 ukendt art onbekende soort espèce inconnue unbekannte Art άγνωστο είδος specie sconosciute 未知種 nieznany gatunek espécies desconhecida неизвестный вид especie desconocida okänd art bilinmeyen türler невідомий вид
|
||||
unknown subspecies TRUE TRUE FALSE TRUE 未知亚种 ukendt underart onbekende ondersoort sous-espèce inconnue unbekannte Unterart άγνωστο υποείδος sottospecie sconosciute 亜種不明 nieznany podgatunek subespécies desconhecida неизвестный подвид subespecie desconocida okänd underart bilinmeyen alt türler невідомий підвид
|
||||
unknown rank TRUE TRUE FALSE TRUE 未知等级 ukendt rang onbekende rang rang inconnu unbekannter Rang άγνωστη τάξη grado sconosciuto 未知ランク nieznany stopień classificação desconhecido неизвестный ранг rango desconocido okänd rang bilinmeyen rütbe невідомий ранг
|
||||
unknown FALSE TRUE FALSE FALSE 未知 ukendt onbekend inconnu unbekannt άγνωστο sconosciuto 未知 nieznany desconhecido неизвестно desconocido okänd bilinmiyor невідомий
|
||||
group TRUE TRUE FALSE TRUE 组 gruppe groep groupe Gruppe ομάδα gruppo グループ grupa grupo группа grupo grupp Grup група
|
||||
Group TRUE TRUE FALSE TRUE 组 Gruppe groep groupe Gruppe Ομάδα Gruppo グループ Grupa Grupo Группа Grupo Grupp Grup Група
|
||||
CoNS FALSE TRUE FALSE TRUE KNS CNS KNS CoNS グラム陰性 CoNS КОС SCN KNS KNS КНС
|
||||
@ -35,12 +36,12 @@ vegetative TRUE TRUE FALSE FALSE 无性系 vegetativ vegetatief végétatif vege
|
||||
([([ ]*?)Group TRUE TRUE FALSE FALSE ([([]*?)组 \\1Gruppe \\1Groep \\1Groupe \\1Gruppe ([([ ]*;)ομάδα \\1Gruppo ない ([([ ]*?)Grupa \\1Grupo \\1Группа \\1Grupo \\1Grupp ([([ ]*?)Grup \\1Група
|
||||
no .*growth FALSE FALSE FALSE FALSE 无.*生长 ingen .*vækst geen .*groei pas .*croissance keine(|n|m|r|s)|nicht .*wachstum όχι .*αύξηση sem .*crescimento 中間体 brak .*wzrostu sem .*crescimento отсутствие.*роста no .*crecimientonon ingen .*tillväxt büyüme yok відсутність .*росту
|
||||
no|not FALSE FALSE FALSE FALSE 不|不 nej|ikke geen|niet non keine? no|not sem 感受性の高い、被ばく量の増加 nie|nie sem нет? no|sin nej|inte hayır|değil|hayir|degil ні
|
||||
Intermediate TRUE FALSE FALSE FALSE 中级 Mellemliggende Intermediair Mittlere Ενδιάμεση 影響を受けやすい。 Pośrednia Intermedio Orta seviye Знижена чутливість
|
||||
Susceptible, incr. exp. FALSE TRUE FALSE FALSE 易感,暴露增加 Modtagelig, øget eksp. Gevoelig bij verh. blootstelling Empfindlich, erh Belastung Ευάλωτος, αυξημένη έκθεση 影響を受けやすい Podatne, zwiększone narażenie Duyarlı, enk. maruziyet Чутливий до підвищеної експозиції
|
||||
susceptible, incr. exp. FALSE TRUE FALSE FALSE 易感,接触增加 modtagelig, øget eksp. gevoelig bij verh. blootstelling empfindlich, erh Belastung Ευαίσθητος, αυξημένη έκθεση 曝露量増加 podatny, zwiększone narażenie duyarlı, enk. maruziyet чутливий до підвищеної експозиції
|
||||
Susceptible TRUE FALSE FALSE FALSE 易受影响 Modtagelig Gevoelig Empfindlich Ευαίσθητο 耐性 Podatny Susceptible Duyarlı Чутливий
|
||||
Incr. exposure TRUE FALSE FALSE FALSE 暴露增加 Øget eksponering 'Incr. exposure' Empfindlich, erh Belastung Αυξημένη έκθεση 抗生物質 Większe narażenie 'Incr. exposure' Enk. maruziyet Підвищена експозиція
|
||||
Resistant TRUE FALSE FALSE FALSE 耐药性 Resistent Resistent Resistent Ανθεκτικός 抗生物質 Odporny Resistente Dayanıklı Стійкий
|
||||
Intermediate TRUE FALSE FALSE FALSE 中级 Mellemliggende Intermediair Mittlere Ενδιάμεση 影響を受けやすい。 Pośrednia Intermedio Mellanliggande Orta seviye Знижена чутливість
|
||||
Susceptible, incr. exp. FALSE TRUE FALSE FALSE 易感,暴露增加 Modtagelig, øget eksp. Gevoelig bij verh. blootstelling Empfindlich, erh Belastung Ευάλωτος, αυξημένη έκθεση 影響を受けやすい Podatne, zwiększone narażenie Susceptible, mayor exposición Mottaglig, inkr. exponering Duyarlı, enk. maruziyet Чутливий до підвищеної експозиції
|
||||
susceptible, incr. exp. FALSE TRUE FALSE FALSE 易感,接触增加 modtagelig, øget eksp. gevoelig bij verh. blootstelling empfindlich, erh Belastung Ευαίσθητος, αυξημένη έκθεση 曝露量増加 podatny, zwiększone narażenie susceptible, mayor exposición mottaglig, inkr. exponering duyarlı, enk. maruziyet чутливий до підвищеної експозиції
|
||||
Susceptible TRUE FALSE FALSE FALSE 易受影响 Modtagelig Gevoelig Empfindlich Ευαίσθητο 耐性 Podatny Susceptible Mottaglig Duyarlı Чутливий
|
||||
Incr. exposure TRUE FALSE FALSE FALSE 暴露增加 Øget eksponering 'Incr. exposure' Empfindlich, erh Belastung Αυξημένη έκθεση 抗生物質 Większe narażenie Mayor exposición Inkr. exponering Enk. maruziyet Підвищена експозиція
|
||||
Resistant TRUE FALSE FALSE FALSE 耐药性 Resistent Resistent Resistent Ανθεκτικός 抗生物質 Odporny Resistente Resistent Dayanıklı Стійкий
|
||||
antibiotic TRUE TRUE FALSE FALSE 抗生素 antibiotikum antibioticum antibiotique Antibiotikum αντιβιοτικό antibiotico 薬剤 antybiotyk antibiótico антибиотик antibiótico antibiotika Antibiyotik антибіотик
|
||||
Antibiotic TRUE TRUE FALSE FALSE 抗生素 Antibiotikum Antibioticum Antibiotique Antibiotikum Αντιβιοτικό Antibiotico 薬剤 Antybiotyk Antibiótico Антибиотик Antibiótico Antibiotika Antibiyotik Антибіотик
|
||||
Drug TRUE TRUE FALSE FALSE 药物 Lægemiddel Middel Médicament Medikament Φάρμακο Droga 頻度 Lek Droga Лекарство Fármaco Läkemedel İlaç Лікарський засіб
|
||||
@ -50,10 +51,12 @@ Minimum Inhibitory Concentration (mg/L) FALSE FALSE FALSE FALSE 最小抑菌浓
|
||||
Disk diffusion diameter (mm) FALSE FALSE FALSE FALSE 磁盘扩散直径(mm) Diskdiffusionsdiameter (mm) Diameter diskzone (mm) Diamètre de diffusion en disque (mm) Durchmesser der Scheibenzone (mm) Διάμετρος διάχυσης δίσκου (mm) Diametro di diffusione del disco (mm) 割合 Średnica dyfuzji dysku (mm) Diâmetro de difusão do disco (mm) Диаметр диффузии диска (мм) Diámetro de difusión en disco (mm) Diskdiffusionsdiameter (mm) Disk difüzyon çapı (mm) Зона затримки росту (мм)
|
||||
Antimicrobial Interpretation FALSE FALSE FALSE FALSE 抗菌性解释 Antimikrobiel fortolkning Antimicrobiële interpretatie Interprétation antimicrobienne Antimikrobielle Auswertung Αντιμικροβιακή ερμηνεία Interpretazione antimicrobica 4-アミノサリチル酸 Interpretacja antybakteryjna Interpretação Antimicrobiana Антимикробная интерпретация Interpretación antimicrobiana Antimikrobiell tolkning Antimikrobiyal Yorumlama Фенотипи чутливості
|
||||
Percentage FALSE FALSE FALSE FALSE 百分比 Procentdel Percentage Pourcentage Prozentsatz Ποσοστό Percentuale アデホビル・ジピボキシル Procent Percentagem Процент Porcentaje Procentuell andel Yüzde Відсоток
|
||||
Syndromic Group FALSE FALSE FALSE FALSE 合并症候群 Syndromisk gruppe Syndroomgroep Groupe syndromique Syndromische Gruppe Συνδρομική ομάδα Gruppo sindromico シンドロミックグループ Grupa syndromiczna Grupo sindrómico Синдромная группа Grupo sindrómico Syndromisk grupp Sendromik Grup Синдромна група
|
||||
Pathogen FALSE FALSE FALSE FALSE 病原体 Patogen Pathogeen Agent pathogène Erreger Παθογόνο Agente patogeno 病原体 Patogen Pathogen Возбудитель Patógeno Patogen Patojen Збудник
|
||||
4-aminosalicylic acid FALSE TRUE TRUE FALSE 4-氨基水杨酸 4-aminosalicylsyre 4-aminosalicylzuur Acide 4-aminosalicylique 4-Aminosalicylsäure 4-αμινοσαλικυλικό οξύ Acido 4-aminosalicilico アルデスルホンナトリウム Kwas 4-aminosalicylowy Ácido 4-aminosalicílico 4-аминосалициловая кислота Ácido 4-aminosalicílico 4-aminosalicylsyra 4-aminosalisilik asit 4-Аміносаліцилова кислота
|
||||
Adefovir dipivoxil FALSE TRUE TRUE FALSE 阿德福韦酯 Adefovir dipivoxil Adefovir Adéfovir dipivoxil Adefovir Dipivoxil Adefovir dipivoxil Adefovir dipivoxil アミカシン Adefovir dipivoxil Adefovir dipivoxil Адефовир дипивоксил Adefovir dipivoxil Adefovir dipivoxil Adefovir dipivoksil Адефовір діпівоксил
|
||||
Aldesulfone sodium FALSE TRUE TRUE FALSE 醛缩酮钠 Aldesulfon-natrium Aldesulfon Aldésulfone sodique Aldesulfon-Natrium Αλδεσουλφονικό νάτριο Aldesulfone sodio アモキシシリン Sól sodowa aldesulfonu Aldesulfona de sódio Альдесульфон натрия Aldesulfona sódica Aldesulfonnatrium Aldesülfon sodyum Альденсульфон натрію
|
||||
Amikacin FALSE TRUE TRUE FALSE 阿米卡星 Amikacin Amikacine Amikacine Amikacin Amikacin Amikacin アモキシシリン/β-ラクタマーゼ阻害剤 Amikacyna Amikacin Амикацин Amikacina Amikacin Amikasin Амікацин
|
||||
Amikacin FALSE TRUE TRUE FALSE 阿米卡星 Amikacin Amikacine Amikacine Amikacin Αμικασίνη Amikacin アモキシシリン/β-ラクタマーゼ阻害剤 Amikacyna Amikacin Амикацин Amikacina Amikacin Amikasin Амікацин
|
||||
Amoxicillin FALSE TRUE TRUE FALSE 阿莫西林 Amoxicillin Amoxicilline Amoxicilline Amoxicillin Αμοξικιλλίνη Amoxicillina アムホテリシンB Amoxicillin Amoxicilina Амоксициллин Amoxicilina Amoxicillin Amoksisilin Амоксицилін
|
||||
Amoxicillin/beta-lactamase inhibitor FALSE TRUE TRUE FALSE 阿莫西林/β-内酰胺酶抑制剂 Amoxicillin/beta-lactamasehæmmer Amoxicilline/enzymremmer Amoxicilline/inhib. de bêta-lactamase Amoxicillin/Beta-Lactamase-Hemmer Αμοξικιλλίνη/αναστολέας της β-λακταμάσης Amoxicillina/inib. d. beta-lattamasi アンピシリン Amoksycylina/inhibitor beta-laktamazy Amoxicilina/inibid. da beta-lactamase Амоксициллин/ингибитор бета-лактамаз Amoxicilina/inhib. de la beta-lactamasa Amoxicillin/betalaktamashämmare Amoksisilin/beta-laktamaz inhibitörü Амоксицилін/інгібітор бета-лактамаз
|
||||
Amphotericin B FALSE TRUE TRUE FALSE 两性霉素B Amfotericin B Amfotericine B Amphotéricine B Amphotericin B Αμφοτερικίνη Β Amfotericina B アンピシリン/β-ラクタマーゼ阻害剤 Amfoterycyna B Anfotericina B Амфотерицин В Anfotericina B Amfotericin B Amfoterisin B Амфотерицин В
|
||||
@ -64,15 +67,15 @@ Azidocillin FALSE TRUE TRUE FALSE 阿奇霉素 Azidocillin Azidocilline Azidocil
|
||||
Azithromycin FALSE TRUE TRUE FALSE 阿奇霉素 Azithromycin Azitromycine Azithromycine Azithromycin Αζιθρομυκίνη Azitromicina バカンピシリン Azithromycin Azitromicina Азитромицин Azitromicina Azitromycin Azitromisin Азитроміцин
|
||||
Azlocillin FALSE TRUE TRUE FALSE 阿洛西林 Azlocillin Azlocilline Azlocilline Azlocillin Αζλοκιλλίνη Azlocillina バシトラシン Azlocillin Azlocillin Азлоциллин Azlocilina Azlocillin Azlocillin Азлоцилін
|
||||
Bacampicillin FALSE TRUE TRUE FALSE 巴卡比林 Bacampicillin Bacampicilline Bacampicilline Bacampicillin Μπακαμπικιλλίνη Bacampicillina ベンズシン・ベンジルペニシリン Bakampicylina Bacampicilina Бакампициллин Bacampicilina Bacampicillin Bacampicillin Бакампіцилін
|
||||
Bacitracin FALSE TRUE TRUE FALSE 阿奇霉素 Bacitracin Bacitracine Bacitracine Bacitracin Bacitracin Bacitracina ベンザチンフェノキシメチルペニシリン Bacytracyna Bacitracin Бацитрацин Bacitracina Bacitracin Basitrasin Бацитрацин
|
||||
Bacitracin FALSE TRUE TRUE FALSE 阿奇霉素 Bacitracin Bacitracine Bacitracine Bacitracin Βακιτρακίνη Bacitracina ベンザチンフェノキシメチルペニシリン Bacytracyna Bacitracin Бацитрацин Bacitracina Bacitracin Basitrasin Бацитрацин
|
||||
Benzathine benzylpenicillin FALSE TRUE TRUE FALSE 苄丝肼青霉素 Benzathinbenzylpenicillin Benzylpenicillinebenzathine Benzathine benzylpénicilline Benzathin-Benzylpenicillin Βενζαθίνη βενζυλπενικιλλίνη Benzatina benzilpenicillina ベンジルペニシリン Benzylpenicylina benzylowa Benzatina benzatina benzilpenicilina Бензатин бензилпенициллин Bencilpenicilina benzatínica Benzathinbenzylpenicillin Benzatin benzilpenisilin Бензатину бензилпеніцилін
|
||||
Benzathine phenoxymethylpenicillin FALSE TRUE TRUE FALSE 苄星苯氧甲基青霉素 Benzathinfenoxymethylpenicillin Fenoxymethylpenicillinebenzathine Phénoxyméthylpénicilline benzathine Benzathin-Phenoxymethylpenicillin Βενζαθίνη φαινοξυμεθυλοπενικιλλίνη Benzatina fenossimetilpenicillina アミノサリチル酸カルシウム Fenoksymetylopenicylina benzylowa Benzatina fenoximetilpenicilina Бензатин феноксиметилпенициллин Fenoximetilpenicilina benzatínica Bensathinfenoximetylpenicillin Benzatin fenoksimetilpenisilin Бензатину феноксиметилпеніцилін
|
||||
Benzylpenicillin FALSE TRUE TRUE FALSE 苄基青霉素 Benzylpenicillin Benzylpenicilline Benzylpénicilline Benzylpenicillin Benzylpenicillin Benzilpenicillina カプレオマイシン Benzylpenicylina Benzilpenicilina Бензилпенициллин Bencilpenicilina Bensylpenicillin Benzilpenisilin Бензилпеніцилін
|
||||
Benzylpenicillin FALSE TRUE TRUE FALSE 苄基青霉素 Benzylpenicillin Benzylpenicilline Benzylpénicilline Benzylpenicillin Βενζυλοπενικιλλίνη Benzilpenicillina カプレオマイシン Benzylpenicylina Benzilpenicilina Бензилпенициллин Bencilpenicilina Bensylpenicillin Benzilpenisilin Бензилпеніцилін
|
||||
Calcium aminosalicylate FALSE TRUE TRUE FALSE 氨基水杨酸钙 Calciumaminosalicylat Aminosalicylzuur Aminosalicylate de calcium Kalzium-Aminosalicylat Αμινοσαλικυλικό ασβέστιο Calcio aminosalicilato カルベニシリン Aminosalicylan wapnia Aminosalicilato de cálcio Аминосалицилат кальция Aminosalicilato de calcio Kalciumaminosalicylat Kalsiyum aminosalisilat Кальцію аміносаліцилат
|
||||
Capreomycin FALSE TRUE TRUE FALSE 氨水杨酸钙 Capreomycin Capreomycine Capréomycine Capreomycin Καπρεομυκίνη Capreomicina カリンダシリン Kapreomycyna Capreomicina Капреомицин Capreomicina Kapreomycin Kapreomisin Капреоміцин
|
||||
Carbenicillin FALSE TRUE TRUE FALSE 羧基青霉素 Carbenicillin Carbenicilline Carbénicilline Carbenicillin Καρβενικιλλίνη Carbenicillina カスポファンギン Karbenicylina Carbenicilina Карбенициллин Carbenicilina Karbenicillin Karbenisilin Карбеніцилін
|
||||
Carindacillin FALSE TRUE TRUE FALSE 卡林达西林 Carindacillin Carindacilline Carindacilline Carindacillin Carindacillin Carindacillina セファセトリル Karindacillin Carindacillin Кариндациллин Carindacilina Carindacillin Karindasilin Кариндацилін
|
||||
Caspofungin FALSE TRUE TRUE FALSE 氨苄青霉素 Caspofungin Caspofungine Caspofungine Caspofungin Caspofungin Caspofungin セファロチン Kaspofungina Caspofungin Каспофунгин Caspofungina Caspofungin Caspofungin Каспофунгін
|
||||
Carindacillin FALSE TRUE TRUE FALSE 卡林达西林 Carindacillin Carindacilline Carindacilline Carindacillin Καρινδακιλλίνη Carindacillina セファセトリル Karindacillin Carindacillin Кариндациллин Carindacilina Carindacillin Karindasilin Кариндацилін
|
||||
Caspofungin FALSE TRUE TRUE FALSE 氨苄青霉素 Caspofungin Caspofungine Caspofungine Caspofungin Κασποφουνγκίνη Caspofungin セファロチン Kaspofungina Caspofungin Каспофунгин Caspofungina Caspofungin Caspofungin Каспофунгін
|
||||
Ce(f|ph)acetrile TRUE TRUE TRUE FALSE 头孢乙腈 Cephacetril Cefacetril Céphacétrile Cefacetril Κεφακετρίλη Cefacetrile セファマンドール Cefacetrile Cephacetrile Цефацетрил Cefacetrilo Cephacetril Sefasetril Цефацетрил
|
||||
Ce(f|ph)alotin TRUE TRUE TRUE FALSE 头孢罗丁 Cephalotin Cefalotine Céphalotine Cefalotin Κεφαλοτίνη Cefalotina セファピリン Cefalotyna Cefalotina Цефалотин Cefalotina Cefalotin Sefalotin Цефалотин
|
||||
Ce(f|ph)amandole TRUE TRUE TRUE FALSE 头孢曼多 Cephamandol Cefamandol Céphamandole Cefamandol Κεφαμανδόλη Cephamandole セファゼドン Cefamandol Cephamandole Цефамандол Cefamandole Cephamandol Cefamandole Цефамандол
|
||||
@ -83,188 +86,190 @@ Ce(f|ph)alothin TRUE TRUE TRUE FALSE 头孢罗丁 Cephalothin Cefalotine Céphal
|
||||
Ce(f|ph)alexin TRUE TRUE TRUE FALSE 头孢莱辛 Cephalexin Cefalexine Céphalexine Cefalexin Κεφαλεξίνη Cephalexin セフィキシム Cefaleksyna Cephalexin Цефалексин Cefalexina Cephalexin Cefalexin Цефалексин
|
||||
Ce(f|ph)epime TRUE TRUE TRUE FALSE 头孢吡肟 Cephepime Cefepim Céphépime Cefepim Κεφεπίμη Cephepime セフメノキシム Cefepime Cephepime Цефепим Cefepime Cephepim Sefepim Цефепім
|
||||
Ce(f|ph)ixime TRUE TRUE TRUE FALSE 头孢克肟 Cephixim Cefixim Céphixime Cefixim Cefixime Cephixime セフメタゾール Cefixime Cephixime Цефиксим Cefixima Cephixim Cefixime Цефіксим
|
||||
Ce(f|ph)menoxime TRUE TRUE TRUE FALSE 头孢米诺肟 Cephmenoxim Cefmenoxim Céphénoxime Cefmenoxim Cefmenoxime Cephmenoxime セフォジジム Cefmenoksym Cephmenoxime Цефменоксим Cefmenoxima Cephmenoxim Sefmenoksim Цефменоксим
|
||||
Ce(f|ph)metazole TRUE TRUE TRUE FALSE 头孢美唑 Cephmetazol Cefmetazol Céphmétazole Cefmetazol Cefmetazole Cephmetazole セフォニキッド Cefmetazol Cefmetazole Цефметазол Cefmetazol Cephmetazol Sefmetazol Цефметазол
|
||||
Ce(f|ph)odizime TRUE TRUE TRUE FALSE 头孢地嗪 Cephodizim Cefodizim Céphodizime Cefodizim Cefodizime Cephodizime セフォペラゾン Cefodizime Cephodizime Цефодизим Cefodixima Cephodizim Sefodizim Цефодізим
|
||||
Ce(f|ph)onicid TRUE TRUE TRUE FALSE 头孢尼西 Cephonicid Cefonicide Céphonicide Cefonicid Cefonicid Cephonicid Cefonicid Cefonicid Цефонизид Cefonicida Cephonicid Cefonicid Цефоніцид
|
||||
Ce(f|ph)menoxime TRUE TRUE TRUE FALSE 头孢米诺肟 Cephmenoxim Cefmenoxim Céphénoxime Cefmenoxim Κεφμενοξίμη Cephmenoxime セフォジジム Cefmenoksym Cephmenoxime Цефменоксим Cefmenoxima Cephmenoxim Sefmenoksim Цефменоксим
|
||||
Ce(f|ph)metazole TRUE TRUE TRUE FALSE 头孢美唑 Cephmetazol Cefmetazol Céphmétazole Cefmetazol Κεφμεταζόλη Cephmetazole セフォニキッド Cefmetazol Cefmetazole Цефметазол Cefmetazol Cephmetazol Sefmetazol Цефметазол
|
||||
Ce(f|ph)odizime TRUE TRUE TRUE FALSE 头孢地嗪 Cephodizim Cefodizim Céphodizime Cefodizim Κεφοδιζίμη Cephodizime セフォペラゾン Cefodizime Cephodizime Цефодизим Cefodixima Cephodizim Sefodizim Цефодізим
|
||||
Ce(f|ph)onicid TRUE TRUE TRUE FALSE 头孢尼西 Cephonicid Cefonicide Céphonicide Cefonicid Κεφονικίδη Cephonicid Cefonicid Cefonicid Цефонизид Cefonicida Cephonicid Cefonicid Цефоніцид
|
||||
Ce(f|ph)operazone TRUE TRUE TRUE FALSE 头孢哌酮 Cephoperazon Cefoperazon Céphopérazone Cefoperazon Κεφοπεραζόνη Cephoperazone セフォタキシム Cefoperazon Cephoperazone Цефоперазон Cefoperazona Cephoperazon Sefoperazon Цефоперазон
|
||||
Ce(f|ph)operazone/beta-lactamase inhibitor TRUE TRUE TRUE FALSE 头孢哌酮/β-内酰胺酶抑制剂 Cephoperazon/beta-lactamasehæmmer Cefoperazon/enzymremmer Céphopérazone/inhib. de bêta-lactamase Cefoperazon/Beta-Lactamase-Hemmer Κεφοπεραζόνη/αναστολέας της β-λακταμάσης Cephoperazone/inib. d. beta-lattamasi Cefoperazon/inhibitor beta-laktamazy Cephoperazona/inibid. da beta-lactamase Цефоперазон/ингибитор бета-лактамаз Cefoperazona/inhib. de betalactamasas Cefoperazon/beta-laktamashämmare Sefoperazon/beta-laktamaz inhibitörü Цефоперазон/інгібітор бета-лактамаз
|
||||
Ce(f|ph)otaxime TRUE TRUE TRUE FALSE 头孢噻肟 Cephotaxim Cefotaxim Céphotaxime Cefotaxim Κεφοταξίμη Cephotaxime セフピロム Cefotaksym Cephotaxime Цефотаксим Cefotaxima Cephotaxim Sefotaksim Цефотаксим
|
||||
Ce(f|ph)oxitin TRUE TRUE TRUE FALSE 头孢西丁 Cephoxitin Cefoxitine Céphoxitine Cefoxitin Κεφοξιτίνη Cefossitina セフポドキシム Cefoksytyna Cephoxitin Цефокситин Cefoxitina Cephoxitin Cefoxitin Цефокситин
|
||||
Ce(f|ph)pirome TRUE TRUE TRUE FALSE 头孢匹罗 Cephpirom Cefpirom Céphpirome Cefpirom Κεφπιρόμη Cephpirome セフラジン Cefpirom Cefpirome Цефпиром Cephpirome Cephpirom Sefpirom Цефпіром
|
||||
Ce(f|ph)podoxime TRUE TRUE TRUE FALSE 头孢泊肟 Cephpodoxim Cefpodoxim Céphpodoxime Cefpodoxim Κεφποδοξίμη Cephpodoxime セフスロジン Cefpodoxime Cephpodoxime Цефподоксим Cefpodoxima Cephpodoxim Sefpodoksim Цефподоксим
|
||||
Ce(f|ph)radine TRUE TRUE TRUE FALSE 头孢拉定 Cephradin Cefradine Céphradine Cefradin Cefradine Cefradina セフタジジム Cefradyna Cephradine Цефрадин Cefradina Cephradin Sefradin Цефрадін
|
||||
Ce(f|ph)sulodin TRUE TRUE TRUE FALSE 头孢苏洛丁 Cephsulodin Cefsulodine Céphsulodine Cefsulodin Cefsulodin Cephsulodin セフテゾール Cefsulodin Cephsulodin Цефсулодин Cefsulodina Cephsulodin Cefsulodin Цефсулодин
|
||||
Ce(f|ph)radine TRUE TRUE TRUE FALSE 头孢拉定 Cephradin Cefradine Céphradine Cefradin Κεφραντίνη Cefradina セフタジジム Cefradyna Cephradine Цефрадин Cefradina Cephradin Sefradin Цефрадін
|
||||
Ce(f|ph)sulodin TRUE TRUE TRUE FALSE 头孢苏洛丁 Cephsulodin Cefsulodine Céphsulodine Cefsulodin Κεφσουλοδίνη Cephsulodin セフテゾール Cefsulodin Cephsulodin Цефсулодин Cefsulodina Cephsulodin Cefsulodin Цефсулодин
|
||||
Ce(f|ph)tazidime TRUE TRUE TRUE FALSE 头孢噻肟 Cephtazidim Ceftazidim Céphtazidime Ceftazidim Κεφταζιδίμη Ceftazidima セフティゾキシム Ceftazidime Ceftazidima Цефтазидим Ceftazidima Cephtazidim Seftazidim Цефтазидим
|
||||
Ce(f|ph)tezole TRUE TRUE TRUE FALSE 头孢特唑 Cephtezol Ceftezol Céphtézole Ceftezol Ceftezole Cephtezole セフトリアキソン Ceftezol Ceftezole Цефтезол Ceftezol Cephtezole Seftezol Цефтезол
|
||||
Ce(f|ph)tizoxime TRUE TRUE TRUE FALSE 头孢唑肟 Cephtizoxim Ceftizoxim Céphtizoxime Ceftizoxim Ceftizoxime Cephtizoxime セフロキシム Ceftizoxime Cephtizoxime Цефтизоксим Ceftizoxima Cephtizoxim Seftizoksim Цефтизоксим
|
||||
Ce(f|ph)triaxone TRUE TRUE TRUE FALSE 头孢曲松 Cephtriaxon Ceftriaxon Céphtriaxone Ceftriaxon Ceftriaxone Ceftriaxone Ceftriakson Cefhtriaxone Цефтриаксон Ceftriaxona Ceftriaxon Ceftriaxone Цефтриаксон
|
||||
Ce(f|ph)tezole TRUE TRUE TRUE FALSE 头孢特唑 Cephtezol Ceftezol Céphtézole Ceftezol Τζεφεζόλη Cephtezole セフトリアキソン Ceftezol Ceftezole Цефтезол Ceftezol Cephtezole Seftezol Цефтезол
|
||||
Ce(f|ph)tizoxime TRUE TRUE TRUE FALSE 头孢唑肟 Cephtizoxim Ceftizoxim Céphtizoxime Ceftizoxim Κεφτιζοξίμη Cephtizoxime セフロキシム Ceftizoxime Cephtizoxime Цефтизоксим Ceftizoxima Cephtizoxim Seftizoksim Цефтизоксим
|
||||
Ce(f|ph)triaxone TRUE TRUE TRUE FALSE 头孢曲松 Cephtriaxon Ceftriaxon Céphtriaxone Ceftriaxon Κεφτριαξόνη Ceftriaxone Ceftriakson Cefhtriaxone Цефтриаксон Ceftriaxona Ceftriaxon Ceftriaxone Цефтриаксон
|
||||
Ce(f|ph)uroxime TRUE TRUE TRUE FALSE 头孢呋辛 Cephuroxim Cefuroxim Céphuroxime Cefuroxim Κεφουροξίμη Cefuroxima クロラムフェニコール Cefuroksym Cephuroxime Цефуроксим Cefuroxima Cefuroxim Sefuroksim Цефуроксим
|
||||
Ce(f|ph)uroxime/metronidazole TRUE TRUE TRUE FALSE 头孢呋辛/甲硝唑 Cefuroxim/metronidazol Cefuroxim/andere antibacteriele middelen Céphuroxime/métronidazole Cefuroxim/Metronidazol Κεφουροξίμη/μετρονιδαζόλη Cefuroxima/metronidazolo クロルテトラサイクリン Cefuroksym/metronidazol Cephuroxime/metronidazol Цефуроксим/метронидазол Cefuroxima/metronidazol Cefuroxim/metronidazol Sefuroksim/metronidazol Цефуроксим/метронідазол
|
||||
Chloramphenicol FALSE TRUE TRUE FALSE 氯霉素 Kloramfenicol Chlooramfenicol Chloramphénicol Chloramphenicol Χλωραμφενικόλη Cloramfenicolo シノキサシン Chloramfenikol Cloranfenicol Хлорамфеникол Cloranfenicol Kloramfenikol Kloramfenikol Хлорамфенікол
|
||||
Chlortetracycline FALSE TRUE TRUE FALSE 金霉素 Chlortetracyclin Chloortetracycline Chlortétracycline Chlortetracyclin Χλωροτετρακυκλίνη Clorotetraciclina シプロフロキサシン Chlortetracyklina Chlortetracycline Хлортетрациклин Clortetraciclina Klortetracyklin Klortetrasiklin Хлортетрациклін
|
||||
Cinoxacin FALSE TRUE TRUE FALSE 西诺沙星 Cinoxacin Cinoxacine Cinoxacine Cinoxacin Cinoxacin Cinoxacina クラリスロマイシン Cinoxacin Cinoxacin Циноксацин Cinoxacina Cinoxacin Cinoxacin Циноксацин
|
||||
Cinoxacin FALSE TRUE TRUE FALSE 西诺沙星 Cinoxacin Cinoxacine Cinoxacine Cinoxacin Τσινοξακίνη Cinoxacina クラリスロマイシン Cinoxacin Cinoxacin Циноксацин Cinoxacina Cinoxacin Cinoxacin Циноксацин
|
||||
Ciprofloxacin FALSE TRUE TRUE FALSE 环丙沙星 Ciprofloxacin Ciprofloxacine Ciprofloxacine Ciprofloxacin Σιπροφλοξασίνη Ciprofloxacina クラビュラン酸 Ciprofloksacyna Ciprofloxacin Ципрофлоксацин Ciprofloxacina Ciprofloxacin Siprofloksasin Ципрофлоксацин
|
||||
Clarithromycin FALSE TRUE TRUE FALSE 克拉霉素 Clarithromycin Claritromycine Clarithromycine Clarithromycin Κλαριθρομυκίνη Claritromicina クラビュラン酸 Klarytromycyna Claritromicina Кларитромицин Claritromicina Claritromycin Klaritromisin Кларитроміцин
|
||||
Clavulanic acid FALSE TRUE TRUE FALSE 克拉维酸 Clavulansyre Clavulaanzuur Acide clavulanique Clavulansäure Κλαβουλανικό οξύ Acido clavulanico クリンダマイシン Kwas klawulanowy Ácido clavulânico Клавулановая кислота Ácido clavulánico Clavulansyra Klavulanik asit Клавуланова кислота
|
||||
clavulanic acid FALSE TRUE TRUE FALSE 克拉维酸 clavulansyre clavulaanzuur acide clavulanique Clavulansäure Κλαβουλανικό οξύ acido clavulanico クロメトシリン kwas klawulanowy ácido clavulânico клавулановая кислота ácido clavulánico clavulansyra klavulanik asit клавуланова кислота
|
||||
Clindamycin FALSE TRUE TRUE FALSE 克林霉素 Clindamycin Clindamycine Clindamycine Clindamycin Clindamycin Clindamicina クロトリマゾール Klindamycyna Clindamicina Клиндамицин Clindamicina Clindamycin Klindamisin Кліндаміцин
|
||||
Clometocillin FALSE TRUE TRUE FALSE 克罗米修斯( Clometocillin Clometocilline Clométocilline Clometocillin Clometocillin Clometocillina クロキサシリン Clometocillin Clometocillin Клометоциллин Clometocilina Klometocillin Clometocillin Клометоцилін
|
||||
Clindamycin FALSE TRUE TRUE FALSE 克林霉素 Clindamycin Clindamycine Clindamycine Clindamycin Κλινδαμυκίνη Clindamicina クロトリマゾール Klindamycyna Clindamicina Клиндамицин Clindamicina Clindamycin Klindamisin Кліндаміцин
|
||||
Clometocillin FALSE TRUE TRUE FALSE 克罗米修斯( Clometocillin Clometocilline Clométocilline Clometocillin Κλομετοκιλλίνη Clometocillina クロキサシリン Clometocillin Clometocillin Клометоциллин Clometocilina Klometocillin Clometocillin Клометоцилін
|
||||
Clotrimazole FALSE TRUE TRUE FALSE 克霉唑 Clotrimazol Clotrimazol Clotrimazole Clotrimazol Κλοτριμαζόλη Clotrimazolo コリスチン Klotrimazol Clotrimazole Клотримазол Clotrimazol Klotrimazol Klotrimazol Клотримазол
|
||||
Cloxacillin FALSE TRUE TRUE FALSE 克罗西林 Cloxacillin Cloxacilline Cloxacilline Cloxacillin Κλοξακιλλίνη Cloxacillina ダプソン Cloxacillin Cloxacillin Клоксациллин Cloxacilina Kloxacillin Cloxacillin Клоксацилін
|
||||
Colistin FALSE TRUE TRUE FALSE 唑啉酮 Colistin Colistine Colistine Colistin Κολιστίνη Colistina ダプトマイシン Kolistyna Colistin Колистин Colistina Kolistin Kolistin Колістин
|
||||
Dapsone FALSE TRUE TRUE FALSE 多普生 Dapson Dapson Dapsone Dapson Δαψόνη Dapsone ジベカシン Dapson Dapsone Дапсон Dapsona Dapson Dapson Дапсон
|
||||
Daptomycin FALSE TRUE TRUE FALSE 达托霉素 Daptomycin Daptomycine Daptomycine Daptomycin Daptomycin Daptomicina ジクロキサシリン Daptomycyna Daptomicina Даптомицин Daptomicina Daptomycin Daptomisin Даптоміцин
|
||||
Dibekacin FALSE TRUE TRUE FALSE 迪贝卡星 Dibekacin Dibekacine Dibekacine Dibekacin Dibekacin Dibekacin ジリスロマイシン Dibekacin Dibekacin Дибекацин Dibekacina Dibekacin Dibekacin Дібекацин
|
||||
Dicloxacillin FALSE TRUE TRUE FALSE 迪卡西林 Dicloxacillin Dicloxacilline Dicloxacilline Dicloxacillin Dicloxacillin Dicloxacillina エコナゾール Dikloxacillin Dicloxacilina Диклоксациллин Dicloxacilina Dikloxacillin Dikloksasilin Диклоксацилін
|
||||
Dirithromycin FALSE TRUE TRUE FALSE 迪里红霉素 Dirithromycin Diritromycine Dirithromycine Dirithromycin Dirithromycin Diritromicina エノキサシン Dirytromycyna Diritromicina Диритромицин Diritromicina Diritromycin Diritromisin Диритроміцин
|
||||
Econazole FALSE TRUE TRUE FALSE 胺鲜胺 Econazol Econazol Econazole Econazol Econazole Econazolo エピシリン Ekonazol Econazole Эконазол Econazol Ekonazol Ekonazol Еконазол
|
||||
Enoxacin FALSE TRUE TRUE FALSE 伊诺沙星 Enoxacin Enoxacine Enoxacine Enoxacin Enoxacin Enoxacina エリスロマイシン Enoxacin Enoxacin Эноксацин Enoxacina Enoxacin Enoksasin Еноксацин
|
||||
Epicillin FALSE TRUE TRUE FALSE 伊比西林 Epicillin Epicilline Epicilline Epicillin Epicillin Epicillina エタンブトール/イソニアジド Epicillin Epicilina Эпициллин Epicilina Epicillin Episilin Епіцилін
|
||||
Daptomycin FALSE TRUE TRUE FALSE 达托霉素 Daptomycin Daptomycine Daptomycine Daptomycin Δαπτομυκίνη Daptomicina ジクロキサシリン Daptomycyna Daptomicina Даптомицин Daptomicina Daptomycin Daptomisin Даптоміцин
|
||||
Dibekacin FALSE TRUE TRUE FALSE 迪贝卡星 Dibekacin Dibekacine Dibekacine Dibekacin Διβεκακίνη Dibekacin ジリスロマイシン Dibekacin Dibekacin Дибекацин Dibekacina Dibekacin Dibekacin Дібекацин
|
||||
Dicloxacillin FALSE TRUE TRUE FALSE 迪卡西林 Dicloxacillin Dicloxacilline Dicloxacilline Dicloxacillin Δικλοξακιλλίνη Dicloxacillina エコナゾール Dikloxacillin Dicloxacilina Диклоксациллин Dicloxacilina Dikloxacillin Dikloksasilin Диклоксацилін
|
||||
Dirithromycin FALSE TRUE TRUE FALSE 迪里红霉素 Dirithromycin Diritromycine Dirithromycine Dirithromycin Διριθρομυκίνη Diritromicina エノキサシン Dirytromycyna Diritromicina Диритромицин Diritromicina Diritromycin Diritromisin Диритроміцин
|
||||
Econazole FALSE TRUE TRUE FALSE 胺鲜胺 Econazol Econazol Econazole Econazol Εκοναζόλη Econazolo エピシリン Ekonazol Econazole Эконазол Econazol Ekonazol Ekonazol Еконазол
|
||||
Enoxacin FALSE TRUE TRUE FALSE 伊诺沙星 Enoxacin Enoxacine Enoxacine Enoxacin Ενοξακίνη Enoxacina エリスロマイシン Enoxacin Enoxacin Эноксацин Enoxacina Enoxacin Enoksasin Еноксацин
|
||||
Epicillin FALSE TRUE TRUE FALSE 伊比西林 Epicillin Epicilline Epicilline Epicillin Επικιλλίνη Epicillina エタンブトール/イソニアジド Epicillin Epicilina Эпициллин Epicilina Epicillin Episilin Епіцилін
|
||||
Erythromycin FALSE TRUE TRUE FALSE 红霉素 Erythromycin Erytromycine Erythromycine Erythromycin Ερυθρομυκίνη Eritromicina フレロキサシン Erytromycyna Eritromicina Эритромицин Eritromicina Erytromycin Eritromisin Еритроміцин
|
||||
Ethambutol/isoniazid FALSE TRUE TRUE FALSE 乙胺丁醇/异烟肼 Ethambutol/isoniazid Ethambutol/isoniazide Ethambutol/isoniazide Ethambutol/Isoniazid Αιθαμβουτόλη/ισονιαζίδη Etambutolo/isoniazide フルクロキサシリン Etambutol/izoniazyd Ethambutol/isoniazid Этамбутол/изониазид Etambutol/isoniazida Etambutol/isoniazid Etambutol/izoniazid Етамбутол/ізоніазид
|
||||
Fleroxacin FALSE TRUE TRUE FALSE 氨甲喋呤 Fleroxacin Fleroxacine Fléroxacine Fleroxacin Φλεροξακίνη Fleroxacina フルコナゾール Fleroksacyna Fleroxacina Флероксацин Fleroxacina Fleroxacin Fleroxacin Флероксацин
|
||||
Flucloxacillin FALSE TRUE TRUE FALSE 氟氯西林 Flucloxacillin Flucloxacilline Flucloxacilline Flucloxacillin Flucloxacillin Flucloxacillina フルシトシン Flucloxacillin Flucloxacillin Флуклоксациллин Flucloxacilina Flucloxacillin Flukloksasilin Флуклоксацилін
|
||||
Flucloxacillin FALSE TRUE TRUE FALSE 氟氯西林 Flucloxacillin Flucloxacilline Flucloxacilline Flucloxacillin Φλουκλοξακιλλίνη Flucloxacillina フルシトシン Flucloxacillin Flucloxacillin Флуклоксациллин Flucloxacilina Flucloxacillin Flukloksasilin Флуклоксацилін
|
||||
Fluconazole FALSE TRUE TRUE FALSE 氟康唑 Fluconazol Fluconazol Fluconazole Fluconazol Φλουκοναζόλη Fluconazolo フルリスロマイシン Flukonazol Fluconazole Флуконазол Fluconazol Flukonazol Flukonazol Флуконазол
|
||||
Flucytosine FALSE TRUE TRUE FALSE 氨甲喋呤 Flucytosin Fluorocytosine Flucytosine Flucytosin Φλουκυτοσίνη Flucytosine ホスホマイシン Flucytozyna Flucytosine Флуцитозин Flucitosina Flucytosin Flusitozin Флуцитозин
|
||||
Flurithromycin FALSE TRUE TRUE FALSE 氟利霉素 Flurithromycin Fluritromycine Flurithromycine Flurithromycin Φλουριθρομυκίνη Fluritromicina フシジン酸 Flurithromycin Fluritromicina Флуритромицин Fluritromicina Fluritromycin Fluritromisin Флуритроміцин
|
||||
Fosfomycin FALSE TRUE TRUE FALSE 福斯霉素 Fosfomycin Fosfomycine Fosfomycine Fosfomycin Φοσφομυκίνη Fosfomicina ガチフロキサシン Fosfomycyna Fosfomycin Фосфомицин Fosfomicina Fosfomycin Fosfomisin Фосфоміцин
|
||||
Fusidic acid FALSE TRUE TRUE FALSE 夫西地酸 Fusidinsyre Fusidinezuur Acide fusidique Fusidinsäure Φουσιδικό οξύ Acido fusidico ゲミフロキサシン Kwas fusydynowy Ácido fusídico Фузидовая кислота Ácido fusídico Fusidinsyra Fusidik asit Фузидова кислота
|
||||
Gatifloxacin FALSE TRUE TRUE FALSE 加替沙星 Gatifloxacin Gatifloxacine Gatifloxacine Gatifloxacin Gatifloxacin Gatifloxacina ゲンタマイシン Gatifloxacin Gatifloxacin Гатифлоксацин Gatifloxacina Gatifloxacin Gatifloksasin Гатифлоксацин
|
||||
Gemifloxacin FALSE TRUE TRUE FALSE 吉非沙星 Gemifloxacin Gemifloxacine Gemifloxacine Gemifloxacin Gemifloxacin Gemifloxacina グレパフロキサシン Gemifloksacyna Gemifloxacin Гемифлоксацин Gemifloxacina Gemifloxacin Gemifloksasin Геміфлоксацин
|
||||
Gentamicin FALSE TRUE TRUE FALSE 庆大霉素 Gentamicin Gentamicine Gentamicine Gentamicin Gentamicin Gentamicina ハチマイシン Gentamicin Gentamicina Гентамицин Gentamicina Gentamicin Gentamisin Гентаміцин
|
||||
Grepafloxacin FALSE TRUE TRUE FALSE 格雷帕沙星 Grepafloxacin Grepafloxacine Grepafloxacine Grepafloxacin Grepafloxacin Grepafloxacina ヘタシリン Grepafloksacyna Grepafloxacin Грепафлоксацин Grepafloxacina Grepafloxacin Grepafloksasin Грепафлоксацин
|
||||
Hachimycin FALSE TRUE TRUE FALSE 哈奇霉素 Hachimycin Hachimycine Hachimycine Hachimycin Hachimycin Hachimycin イミペネム/シラスタチン Hachimycin Hachimycin Хатимицин Hachimycin Hachimycin Hachimycin Хачиміцин
|
||||
Hetacillin FALSE TRUE TRUE FALSE 赫拉西林 Hetacillin Hetacilline Hétacilline Hetacillin Hetacillin Hetacillin イノシン・プラノベックス Hetacylina Hetacillin Гетациллин Hetacilina Hetacillin Hetasilin Гетацилін
|
||||
Gemifloxacin FALSE TRUE TRUE FALSE 吉非沙星 Gemifloxacin Gemifloxacine Gemifloxacine Gemifloxacin Γεμιφλοξασίνη Gemifloxacina グレパフロキサシン Gemifloksacyna Gemifloxacin Гемифлоксацин Gemifloxacina Gemifloxacin Gemifloksasin Геміфлоксацин
|
||||
Gentamicin FALSE TRUE TRUE FALSE 庆大霉素 Gentamicin Gentamicine Gentamicine Gentamicin Γενταμικίνη Gentamicina ハチマイシン Gentamicin Gentamicina Гентамицин Gentamicina Gentamicin Gentamisin Гентаміцин
|
||||
Grepafloxacin FALSE TRUE TRUE FALSE 格雷帕沙星 Grepafloxacin Grepafloxacine Grepafloxacine Grepafloxacin Γρεπαφλοξασίνη Grepafloxacina ヘタシリン Grepafloksacyna Grepafloxacin Грепафлоксацин Grepafloxacina Grepafloxacin Grepafloksasin Грепафлоксацин
|
||||
Hachimycin FALSE TRUE TRUE FALSE 哈奇霉素 Hachimycin Hachimycine Hachimycine Hachimycin Χαχιμυκίνη Hachimycin イミペネム/シラスタチン Hachimycin Hachimycin Хатимицин Hachimycin Hachimycin Hachimycin Хачиміцин
|
||||
Hetacillin FALSE TRUE TRUE FALSE 赫拉西林 Hetacillin Hetacilline Hétacilline Hetacillin Ετακιλλίνη Hetacillin イノシン・プラノベックス Hetacylina Hetacillin Гетациллин Hetacilina Hetacillin Hetasilin Гетацилін
|
||||
Imipenem FALSE TRUE TRUE FALSE 亚胺培南/西司他丁 Imipenem Imipenem Imipénème Imipenem Ιμιπενέμη Imipenem イセパマイシン Imipenem Imipenem Имипенем Imipenem Imipenem İmipenem Іміпенем
|
||||
Imipenem/cilastatin FALSE TRUE TRUE FALSE 亚胺培南/西司他丁 Imipenem/cilastatin Imipenem/enzymremmer Imipénème/cilastatine Imipenem/Cilastatin Ιμιπενέμη/σιλαστατίνη Imipenem/cilastatina イセパマイシン Imipenem/cilastatyna Imipenem/coteltelatina Имипенем/циластатин Imipenem/cilastatina Imipenem/cilastatin İmipenem/silastatin Іміпенем/циластатин
|
||||
Inosine pranobex FALSE TRUE TRUE FALSE 肌苷帕诺贝斯 Inosin pranobex Inosiplex Inosine pranobex Inosin-Pranobex Ινοσίνη pranobex Inosina pranobex イソコナゾール Pranobeks inozyny Pranobex inosine Инозин пранобекс Inosina pranobex Inosin pranobex İnosin pranobeks Інозин пранобекс
|
||||
Isepamicin FALSE TRUE TRUE FALSE 伊西帕米星 Isepamicin Isepamicine Isepamicine Isepamicin Isepamicin Isepamicina イソニアジド Isepamicin Isepamicina Исепамицин Isepamicina Isepamicin İzepamisin Ізепаміцин
|
||||
Isepamicin FALSE TRUE TRUE FALSE 伊西帕米星 Isepamicin Isepamicine Isepamicine Isepamicin Ισεπαµικίνη Isepamicina イソニアジド Isepamicin Isepamicina Исепамицин Isepamicina Isepamicin İzepamisin Ізепаміцин
|
||||
Isoconazole FALSE TRUE TRUE FALSE 氨甲蝶呤 Isoconazol Isoconazol Isoconazole Isoconazol Ισοκοναζόλη Isoconazolo イトラコナゾール Izokonazol Isoconazole Изоконазол Isoconazol Isokonazol İzokonazol Ізоконазол
|
||||
Isoniazid FALSE TRUE TRUE FALSE 伊索尼克酸 Isoniazid Isoniazide Isoniazide Isoniazid Ιζονιαζίδη Isoniazide ホサマイシン Izoniazyd Isoniazid Изониазид Isoniazida Isoniazid İzoniazid Ізоніазид
|
||||
Itraconazole FALSE TRUE TRUE FALSE 伊曲康唑 Itraconazol Itraconazol Itraconazole Itraconazol Ιτρακοναζόλη Itraconazolo カナマイシン Itrakonazol Itraconazole Итраконазол Itraconazol Itrakonazol İtrakonazol Ітраконазол
|
||||
Josamycin FALSE TRUE TRUE FALSE 肌注 Josamycin Josamycine Josamycine Josamycin Josamycin Josamicina ケトコナゾール Josamycin Josamycin Джозамицин Josamicina Josamycin Josamycin Джозаміцин
|
||||
Kanamycin FALSE TRUE TRUE FALSE 卡那霉素 Kanamycin Kanamycine Kanamycine Kanamycin Kanamycin Kanamicina レボフロキサシン Kanamycin Kanamycin Канамицин Kanamicina Kanamycin Kanamisin Канаміцин
|
||||
Josamycin FALSE TRUE TRUE FALSE 肌注 Josamycin Josamycine Josamycine Josamycin Ζοζαμυκίνη Josamicina ケトコナゾール Josamycin Josamycin Джозамицин Josamicina Josamycin Josamycin Джозаміцин
|
||||
Kanamycin FALSE TRUE TRUE FALSE 卡那霉素 Kanamycin Kanamycine Kanamycine Kanamycin Καναμυκίνη Kanamicina レボフロキサシン Kanamycin Kanamycin Канамицин Kanamicina Kanamycin Kanamisin Канаміцин
|
||||
Ketoconazole FALSE TRUE TRUE FALSE 酮康唑 Ketoconazol Ketoconazol Kétoconazole Ketoconazol Κετοκοναζόλη Ketoconazolo リンコマイシン Ketokonazol Ketoconazole Кетоконазол Ketoconazol Ketokonazol Ketokonazol Кетоконазол
|
||||
Levofloxacin FALSE TRUE TRUE FALSE 氧氟沙星 Levofloxacin Levofloxacine Lévofloxacine Levofloxacin Λεβοφλοξασίνη Levofloxacina ロメフロキサシン Levofloxacin Levofloxacin Левофлоксацин Levofloxacina Levofloxacin Levofloksasin Левофлоксацин
|
||||
Lincomycin FALSE TRUE TRUE FALSE 林可霉素 Lincomycin Lincomycine Lincomycine Lincomycin Lincomycin Lincomicina リゾチーム Lincomycyna Lincomycin Линкомицин Lincomicina Lincomycin Lincomycin Лінкоміцин
|
||||
Lincomycin FALSE TRUE TRUE FALSE 林可霉素 Lincomycin Lincomycine Lincomycine Lincomycin Λινκομυκίνη Lincomicina リゾチーム Lincomycyna Lincomycin Линкомицин Lincomicina Lincomycin Lincomycin Лінкоміцин
|
||||
Lomefloxacin FALSE TRUE TRUE FALSE 洛美沙星 Lomefloxacin Lomefloxacine Loméfloxacine Lomefloxacin Λομεφλοξασίνη Lomefloxacina マンデル酸 Lomefloxacin Lomefloxacin Ломефлоксацин Lomefloxacina Lomefloxacin Lomefloksasin Ломефлоксацин
|
||||
Lysozyme FALSE TRUE TRUE FALSE 硫酸钠 Lysozym Lysozym Lysozyme Lysozym Λυσοζύμη Lisozima メタンピシリン Lizozym Lysozyme Лизоцим Lisozima Lysozym Lizozim Лізоцим
|
||||
Mandelic acid FALSE TRUE TRUE FALSE 扁桃酸 Mandelinsyre Amandelzuur Acide mandélique Mandelsäure Μανδελικό οξύ Acido mandelico メチシリン Kwas migdałowy Ácido mandélico Мандаловая кислота Ácido mandélico Mandelsyra Mandelik asit Мигдалева кислота
|
||||
Metampicillin FALSE TRUE TRUE FALSE 氨苄青霉素 Metampicillin Metampicilline Métampicilline Metampicillin Metampicillin Metampicillina メチサゾン Metampicylina Metampicilina Метампициллин Metampicilina Metampicillin Metampisilin Метампіцилін
|
||||
Meropenem FALSE TRUE TRUE FALSE 美罗培南 Meropenem Meropenem Méropénème Meropenem Μεροπενέμη Meropenem メロペネム Meropenem Meropenem Меропенем Meropenem Meropenem Meropenem Меропенем
|
||||
Metampicillin FALSE TRUE TRUE FALSE 氨苄青霉素 Metampicillin Metampicilline Métampicilline Metampicillin Μεταμπικιλλίνη Metampicillina メチサゾン Metampicylina Metampicilina Метампициллин Metampicilina Metampicillin Metampisilin Метампіцилін
|
||||
Meticillin FALSE TRUE TRUE FALSE 美西林 Meticillin Meticilline Méticilline Meticillin Μετικιλλίνη Meticillina メトロニダゾール Meticillin Meticillin Метициллин Meticilina Meticillin Metisilin Метицилін
|
||||
Metisazone FALSE TRUE TRUE FALSE 氨甲喋呤 Metisazon Metisazon Métisazone Metisazon Μετισαζόνη Metisazone メスロシリン Metisazon Metisazone Метисазон Metisazona Metisazon Metisazon Метисазон
|
||||
Metronidazole FALSE TRUE TRUE FALSE 甲硝唑 Metronidazol Metronidazol Métronidazole Metronidazol Μετρονιδαζόλη Metronidazolo ミカファンギン Metronidazol Metronidazol Метронидазол Metronidazol Metronidazol Metronidazol Метронідазол
|
||||
Mezlocillin FALSE TRUE TRUE FALSE 氨甲蝶呤 Mezlocillin Mezlocilline Mezlocilline Mezlocillin Mezlocillin Mezlocillina ミコナゾール Mezlocillin Mezlocillin Мезлоциллин Mezlocilina Mezlocillin Mezlosilin Мезлоцилін
|
||||
Micafungin FALSE TRUE TRUE FALSE 咪蒙灵 Micafungin Micafungine Micafungine Micafungin Micafungin Micafungin ミデカマイシン Micafungin Micafungin Микафунгин Micafungina Micafungin Mikafungin Мікафунгін
|
||||
Miconazole FALSE TRUE TRUE FALSE 米康唑 Miconazol Miconazol Miconazole Miconazol Miconazole Miconazolo ミオカマイシン Mikonazol Miconazole Миконазол Miconazol Miconazol Mikonazol Міконазол
|
||||
Mezlocillin FALSE TRUE TRUE FALSE 氨甲蝶呤 Mezlocillin Mezlocilline Mezlocilline Mezlocillin Μεζλοκιλλίνη Mezlocillina ミコナゾール Mezlocillin Mezlocillin Мезлоциллин Mezlocilina Mezlocillin Mezlosilin Мезлоцилін
|
||||
Micafungin FALSE TRUE TRUE FALSE 咪蒙灵 Micafungin Micafungine Micafungine Micafungin Μικαφουνγκίνη Micafungin ミデカマイシン Micafungin Micafungin Микафунгин Micafungina Micafungin Mikafungin Мікафунгін
|
||||
Miconazole FALSE TRUE TRUE FALSE 米康唑 Miconazol Miconazol Miconazole Miconazol Μικροναζόλη Miconazolo ミオカマイシン Mikonazol Miconazole Миконазол Miconazol Miconazol Mikonazol Міконазол
|
||||
Midecamycin FALSE TRUE TRUE FALSE 咪康霉素 Midecamycin Midecamycine Midecamycine Midecamycin Μεδεκαμυκίνη Midecamicina モキシフロキサシン Midecamycin Midecamycin Мидекамицин Midecamicina Midecamycin Midecamycin Мідекаміцин
|
||||
Miocamycin FALSE TRUE TRUE FALSE 米卡霉素 Miocamycin Miocamycine Miocamycine Miocamycin Miocamycin Miocamicina ムピロシン Miocamycin Miocamicina Миокамицин Miocamycin Miocamycin Miocamycin Міокаміцин
|
||||
Moxifloxacin FALSE TRUE TRUE FALSE 莫西沙星 Moxifloxacin Moxifloxacine Moxifloxacine Moxifloxacin Moxifloxacin Moxifloxacin ナリディキシック酸 Moxifloxacin Moxifloxacina Моксифлоксацин Moxifloxacina Moxifloxacin Moksifloksasin Моксифлоксацин
|
||||
Mupirocin FALSE TRUE TRUE FALSE 莫匹罗星 Mupirocin Mupirocine Mupirocine Mupirocin Mupirocin Mupirocina ネオマイシン Mupirocyna Mupirocina Мупироцин Mupirocina Mupirocin Mupirosin Мупіроцин
|
||||
Miocamycin FALSE TRUE TRUE FALSE 米卡霉素 Miocamycin Miocamycine Miocamycine Miocamycin Μειοκαμυκίνη Miocamicina ムピロシン Miocamycin Miocamicina Миокамицин Miocamycin Miocamycin Miocamycin Міокаміцин
|
||||
Moxifloxacin FALSE TRUE TRUE FALSE 莫西沙星 Moxifloxacin Moxifloxacine Moxifloxacine Moxifloxacin Μοξιφλοξασίνη Moxifloxacin ナリディキシック酸 Moxifloxacin Moxifloxacina Моксифлоксацин Moxifloxacina Moxifloxacin Moksifloksasin Моксифлоксацин
|
||||
Mupirocin FALSE TRUE TRUE FALSE 莫匹罗星 Mupirocin Mupirocine Mupirocine Mupirocin Μουπιροκίνη Mupirocina ネオマイシン Mupirocyna Mupirocina Мупироцин Mupirocina Mupirocin Mupirosin Мупіроцин
|
||||
Nalidixic acid FALSE TRUE TRUE FALSE 萘啶酸 Nalidixinsyre Nalidixinezuur Acide nalidixique Nalidixinsäure Ναλιδιξικό οξύ Acido nalidixico ネチルミシン Kwas nalidyksowy Ácido nalidíxico Налидиксовая кислота Ácido nalidíxico Nalidixinsyra Nalidiksik asit Налідиксова кислота
|
||||
Neomycin FALSE TRUE TRUE FALSE 霉素 Neomycin Neomycine Néomycine Neomycin Νεομυκίνη Neomicina ニトロフラントイン Neomycyna Neomicina Неомицин Neomicina Neomycin Neomisin Неоміцин
|
||||
Netilmicin FALSE TRUE TRUE FALSE 硝苯地平 Netilmicin Netilmicine Netilmicine Netilmicin Netilmicin Netilmicin ノルフロキサシン Netilmicin Netilmicin Нетилмицин Netilmicina Netilmicin Netilmisin Нетилміцин
|
||||
Netilmicin FALSE TRUE TRUE FALSE 硝苯地平 Netilmicin Netilmicine Netilmicine Netilmicin Νετιλµικίνη Netilmicin ノルフロキサシン Netilmicin Netilmicin Нетилмицин Netilmicina Netilmicin Netilmisin Нетилміцин
|
||||
Nitrofurantoin FALSE TRUE TRUE FALSE 硝呋太尔 Nitrofurantoin Nitrofurantoine Nitrofurantoïne Nitrofurantoin Νιτροφουραντοΐνη Nitrofurantoina ノボビオシン Nitrofurantoina Nitrofurantoína Нитрофурантоин Nitrofurantoína Nitrofurantoin Nitrofurantoin Нітрофурантоїн
|
||||
Norfloxacin FALSE TRUE TRUE FALSE 诺氟沙星 Norfloxacin Norfloxacine Norfloxacine Norfloxacin Norfloxacin Norfloxacina ナイスタチン Norfloxacin Norfloxacin Норфлоксацин Norfloxacina Norfloxacin Norfloksasin Норфлоксацин
|
||||
Novobiocin FALSE TRUE TRUE FALSE 诺氟沙星 Novobiocin Novobiocine Novobiocine Novobiocin Novobiocin Novobiocin オフロキサシン Nowobiocyna Novobiocin Новобиоцин Novobiocina Novobiocin Novobiocin Новобіоцин
|
||||
Norfloxacin FALSE TRUE TRUE FALSE 诺氟沙星 Norfloxacin Norfloxacine Norfloxacine Norfloxacin Νορφλοξασίνη Norfloxacina ナイスタチン Norfloxacin Norfloxacin Норфлоксацин Norfloxacina Norfloxacin Norfloksasin Норфлоксацин
|
||||
Novobiocin FALSE TRUE TRUE FALSE 诺氟沙星 Novobiocin Novobiocine Novobiocine Novobiocin Νοβοβιοκίνη Novobiocin オフロキサシン Nowobiocyna Novobiocin Новобиоцин Novobiocina Novobiocin Novobiocin Новобіоцин
|
||||
Nystatin FALSE TRUE TRUE FALSE 囊肿 Nystatin Nystatine Nystatine Nystatin Νυστατίνη Nystatin オレアンドマイシン Nystatyna Nystatin Нистатин Nistatina Nystatin Nistatin Ністатин
|
||||
Ofloxacin FALSE TRUE TRUE FALSE 氧氟沙星 Ofloxacin Ofloxacine Ofloxacine Ofloxacin Ofloxacin Ofloxacin オルニダゾール Ofloxacin Ofloxacin Офлоксацин Ofloxacina Ofloxacin Ofloksasin Офлоксацин
|
||||
Oleandomycin FALSE TRUE TRUE FALSE 奥兰多霉素 Oleandomycin Oleandomycine Oleandomycine Oleandomycin Oleandomycin Oleandomicina オキサシリン Oleandomycin Oleandomicina Олеандомицин Oleandomicina Oleandomycin Oleandomisin Олеандоміцин
|
||||
Ofloxacin FALSE TRUE TRUE FALSE 氧氟沙星 Ofloxacin Ofloxacine Ofloxacine Ofloxacin Οφλοξασίνη Ofloxacin オルニダゾール Ofloxacin Ofloxacin Офлоксацин Ofloxacina Ofloxacin Ofloksasin Офлоксацин
|
||||
Oleandomycin FALSE TRUE TRUE FALSE 奥兰多霉素 Oleandomycin Oleandomycine Oleandomycine Oleandomycin Ολεαντομυκίνη Oleandomicina オキサシリン Oleandomycin Oleandomicina Олеандомицин Oleandomicina Oleandomycin Oleandomisin Олеандоміцин
|
||||
Ornidazole FALSE TRUE TRUE FALSE 奥硝唑 Ornidazol Ornidazol Ornidazole Ornidazol Ορνιδαζόλη Ornidazolo オキソリニック酸 Ornidazol Ornidazole Орнидазол Ornidazol Ornidazol Ornidazol Орнідазол
|
||||
Oxacillin FALSE TRUE TRUE FALSE 奥沙西林 Oxacillin Oxacilline Oxacilline Oxacillin Οξακιλλίνη Oxacillina オキシテトラサイクリン Oksacylina Oxacillin Оксациллин Oxacilina Oxacillin Oksasilin Оксацилін
|
||||
Oxolinic acid FALSE TRUE TRUE FALSE 氧氟沙星 Oxolinsyre Oxolinezuur Acide oxolinique Oxolinsäure Οξολινικό οξύ Acido ossolinico パズフロキサシン Kwas oksolinowy Ácido oxolínico Оксолиновая кислота Ácido oxolínico Oxolinsyra Oksolinik asit Оксолінова кислота
|
||||
Oxytetracycline FALSE TRUE TRUE FALSE 土四环素 Oxytetracyclin Oxytetracycline Oxytétracycline Oxytetracyclin Οξυτετρακυκλίνη Ossitetraciclina ペフロキサシン Oksytetracyklina Oxitetraciclina Окситетрациклин Oxitetraciclina Oxytetracyklin Oksitetrasiklin Окситетрациклін
|
||||
Pazufloxacin FALSE TRUE TRUE FALSE 帕唑沙星 Pazufloxacin Pazufloxacine Pazufloxacine Pazufloxacin Παζουφλοξασίνη Pazufloxacin ペナメシリン Pazufloxacin Pazufloxacin Пазуфлоксацин Pazufloxacina Pazufloxacin Pazufloksasin Пазуфлоксацин
|
||||
Pefloxacin FALSE TRUE TRUE FALSE 培氟沙星 Pefloxacin Pefloxacine Péfloxacine Pefloxacin Pefloxacin Pefloxacina ペニシリン Pefloksacyna Pefloxacin Пефлоксацин Pefloxacina Pefloxacin Pefloksasin Пефлоксацин
|
||||
Pefloxacin FALSE TRUE TRUE FALSE 培氟沙星 Pefloxacin Pefloxacine Péfloxacine Pefloxacin Πεφλοξασίνη Pefloxacina ペニシリン Pefloksacyna Pefloxacin Пефлоксацин Pefloxacina Pefloxacin Pefloksasin Пефлоксацин
|
||||
Penamecillin FALSE TRUE TRUE FALSE 青霉素 Penamecillin Penamecilline Pénamécilline Penamecillin Πεναμεσιλλίνη Penamecillina フェネチシリン Penamecylina Penamecilina Пенамециллин Penamecilina Penamecillin Penamecillin Пенамецилін
|
||||
Penicillin FALSE TRUE TRUE FALSE 青霉素 Penicillin Penicilline Pénicilline Penicillin Πενικιλλίνη Penicillina フェノキシメチルペニシリン Penicylina Penicilina Пенициллин Penicilina Penicillin Penisilin Пеніцилін
|
||||
Pheneticillin FALSE TRUE TRUE FALSE 菲尼克斯 Pheneticillin Feneticilline Phénéticilline Pheneticillin Φαινετικιλλίνη Feneticillina ピペミド酸 Fenicylina Pheneticillin Фенетициллин Feneticilina Feneticillin Pheneticillin Фенетіцилін
|
||||
Phenoxymethylpenicillin FALSE TRUE TRUE FALSE 苯氧甲基青霉素 Phenoxymethylpenicillin Fenoxymethylpenicilline Phénoxyméthylpénicilline Phenoxymethylpenicillin Φαινοξυμεθυλοπενικιλλίνη Fenossimetilpenicillina ピペラシリン Fenoksymetylopenicylina Fenoximetilpenicilina Феноксиметилпенициллин Fenoximetilpenicilina Fenoximetylpenicillin Fenoksimetilpenisilin Феноксиметилпеніцилін
|
||||
Pipemidic acid FALSE TRUE TRUE FALSE 吡哌酸 Pipemidinsyre Pipemidinezuur Acide pipémidique Pipemidinsäure Πιπεμιδικό οξύ Acido pipemidico ピペラシリン/β-ラクタマーゼ阻害剤 Kwas pipemidowy Ácido pipemídico Пипемидовая кислота Ácido pipemídico Pipemidinsyra Pipemidik asit Піпемідова кислота
|
||||
Piperacillin FALSE TRUE TRUE FALSE 哌拉西林 Piperacillin Piperacilline Pipéracilline Piperacillin Πιπερακιλλίνη Piperacillina ピロミジン酸 Piperacillin Piperacilina Пиперациллин Piperacilina Piperacillin Piperasilin Піперацилін
|
||||
Piperacillin/beta-lactamase inhibitor FALSE TRUE TRUE FALSE 哌拉西林/β-内酰胺酶抑制剂 Piperacillin/beta-lactamasehæmmer Piperacilline/enzymremmer Pipéracilline/inhib. de bêta-lactamase Piperacillin/Beta-Lactamase-Hemmer Πιπερακιλλίνη/αναστολέας της β-λακταμάσης Piperacillina/inib. d. beta-lattamasi ピバンピシリン Piperacylina/inhibitor beta-laktamazy Piperacilina/inibid. da beta-lactamase Пиперациллин/ингибитор бета-лактамазы Piperacilina/inhib. de la beta-lactamasa Piperacillin/betalaktamashämmare Piperasilin/beta-laktamaz inhibitörü Піперацилін/інгібітор бета-лактамаз
|
||||
Piperacillin/beta-lactamase inhibitor FALSE TRUE TRUE FALSE 哌拉西林/β-内酰胺酶抑制剂 Piperacillin/beta-lactamasehæmmer Piperacilline/enzymremmer Pipéracilline/inhib. de bêta-lactamase Piperacillin/Beta-Lactamase-Hemmer Αναστολέας της πιπερακιλλίνης/β-λακταμάσης Piperacillina/inib. d. beta-lattamasi ピバンピシリン Piperacylina/inhibitor beta-laktamazy Piperacilina/inibid. da beta-lactamase Пиперациллин/ингибитор бета-лактамазы Piperacilina/inhib. de la beta-lactamasa Piperacillin/betalaktamashämmare Piperasilin/beta-laktamaz inhibitörü Піперацилін/інгібітор бета-лактамаз
|
||||
Piromidic acid FALSE TRUE TRUE FALSE 吡罗米酸 Piromidinsyre Piromidinezuur Acide piromidique Piromidinsäure Πηρομιδικό οξύ Acido piromidico ポリミキシンB Kwas piromidowy Ácido piromídico Пиромидовая кислота Ácido piromídico Piromidinsyra Piromidik asit Піромідова кислота
|
||||
Pivampicillin FALSE TRUE TRUE FALSE 哌拉西林 Pivampicillin Pivampicilline Pivampicilline Pivampicillin Pivampicillin Pivampicillina ポサコナゾール Pivampicillin Pivampicilina Пивампициллин Pivampicilina Pivampicillin Pivampisilin Півампіцилін
|
||||
Pivampicillin FALSE TRUE TRUE FALSE 哌拉西林 Pivampicillin Pivampicilline Pivampicilline Pivampicillin Πιβαµπικιλλίνη Pivampicillina ポサコナゾール Pivampicillin Pivampicilina Пивампициллин Pivampicilina Pivampicillin Pivampisilin Півампіцилін
|
||||
Polymyxin B FALSE TRUE TRUE FALSE 多粘菌素B Polymyxin B Polymyxine B Polymyxine B Polymyxin B Πολυμυξίνη Β Polimixina B プリスチナマイシン Polimyksyna B Polimixina B Полимиксин В Polimixina B Polymyxin B Polimiksin B Поліміксин B
|
||||
Posaconazole FALSE TRUE TRUE FALSE 泊沙康唑 Posaconazol Posaconazol Posaconazole Posaconazol Ποσακοναζόλη Posaconazolo プロカインベンジルペニシリン Posaconazol Posaconazole Посаконазол Posaconazol Posakonazol Posakonazol Позаконазол
|
||||
Pristinamycin FALSE TRUE TRUE FALSE 普利司特霉素 Pristinamycin Pristinamycine Pristinamycine Pristinamycin Πριστιναμυκίνη Pristinamicina プロピシリン Pristinamycin Pristinamicina Пристинамицин Pristinamicina Pristinamycin Pristinamisin Пристинаміцин
|
||||
Procaine benzylpenicillin FALSE TRUE TRUE FALSE 普鲁卡因青霉素 Prokainbenzylpenicillin Benzylpenicillineprocaine Procaïne benzylpénicilline Procain-Benzylpenicillin Βενζυλοπενικιλλίνη προκαΐνης Procaina benzilpenicillina プルリフロキサシン Benzylopenicylina prokainowa Procaína benzilpenicilina Прокаин бензилпенициллин Bencilpenicilina procaína Prokainbenzylpenicillin Prokain benzilpenisilin Прокаїну бензилпеніцилін
|
||||
Propicillin FALSE TRUE TRUE FALSE 普利西林 Propicillin Propicilline Propicilline Propicillin Προπικιλλίνη Propicillina キヌプリスチン/ダルフォプリスチン Propicylina Propicilina Пропициллин Propicilina Propicillin Propisilin Пропіцилін
|
||||
Prulifloxacin FALSE TRUE TRUE FALSE 普利沙星 Prulifloxacin Prulifloxacine Prulifloxacine Prulifloxacin Προυλιφλοξασίνη Prulifloxacina リボスタマイシン Prulifloksacyna Prulifloxacina Прулифлоксацин Prulifloxacina Prulifloxacin Prulifloksasin Пруліфлоксацин
|
||||
Quinupristin/dalfopristin FALSE TRUE TRUE FALSE 奎宁斯丁/达夫普利斯丁 Quinupristin/dalfopristin Quinupristine/dalfopristine Quinupristine/dalfopristine Quinupristin/Dalfopristin Κινουπριστίνη/δαλφοπριστίνη Quinupristina/dalfopristina リファブチン Quinupristin/dalfopristin Quinupristin/dalfopristin Квинупристин/дальфопристин Quinupristina/dalfopristina Quinupristin/dalfopristin Quinupristin/dalfopristin Хінупристин/дальфопристин
|
||||
Quinupristin/dalfopristin FALSE TRUE TRUE FALSE 奎宁斯丁/达夫普利斯丁 Quinupristin/dalfopristin Quinupristine/dalfopristine Quinupristine/dalfopristine Quinupristin/Dalfopristin Κινουπριστίνη/νταλφοπριστίνη Quinupristina/dalfopristina リファブチン Quinupristin/dalfopristin Quinupristin/dalfopristin Квинупристин/дальфопристин Quinupristina/dalfopristina Quinupristin/dalfopristin Quinupristin/dalfopristin Хінупристин/дальфопристин
|
||||
Ribostamycin FALSE TRUE TRUE FALSE 利波霉素 Ribostamycin Ribostamycine Ribostamycine Ribostamycin Ριμποσταμυκίνη Ribostamicina リファンピシン Ribostamycyna Ribostamicina Рибостамицин Ribostamicina Ribostamycin Ribostamisin Рибостаміцин
|
||||
Rifabutin FALSE TRUE TRUE FALSE 利福布汀 Rifabutin Rifabutine Rifabutine Rifabutin Rifabutin Rifabutina リファンピシン/ピラジナミド/エタンブトール/イソニアジド Rifabutin Rifabutin Рифабутин Rifabutina Rifabutin Rifabutin Рифабутин
|
||||
Rifabutin FALSE TRUE TRUE FALSE 利福布汀 Rifabutin Rifabutine Rifabutine Rifabutin Ριφαμπουτίνη Rifabutina リファンピシン/ピラジナミド/エタンブトール/イソニアジド Rifabutin Rifabutin Рифабутин Rifabutina Rifabutin Rifabutin Рифабутин
|
||||
Rifampicin FALSE TRUE TRUE FALSE 利福平 Rifampicin Rifampicine Rifampicine Rifampicin Ριφαμπικίνη Rifampicina リファンピシン/ピラジナミド/イソニアジド Rifampicyna Rifampicina Рифампицин Rifampicina Rifampicin Rifampisin Рифампіцин
|
||||
Rifampicin/pyrazinamide/ethambutol/isoniazid FALSE TRUE TRUE FALSE 利福平/吡嗪酰胺/乙胺丁醇/异烟肼 Rifampicin/pyrazinamid/ethambutol/isoniazid Rifampicine/pyrazinamide/ethambutol/isoniazide Rifampicine/pyrazinamide/éthambutol/isoniazide Rifampicin/Pyrazinamid/Ethambutol/Isoniazid Ριφαμπικίνη/πυραζιναμίδη/αιθαμβουτόλη/ισονιαζίδη Rifampicina/pirazinamide/etambutolo/isoniazide リファンピシン/イソニアジド Rifampicyna/pirazinamid/etambutol/izoniazyd Rifampicina/pirazinamida/etambutol/isoniazida Рифампицин/пиразинамид/этамбутол/исониазид Rifampicina/pirazinamida/etambutol/isoniazida Rifampicin/pyrazinamid/ethambutol/isoniazid Rifampisin/pirazinamid/etambutol/izoniazid Рифампіцин/піразинамід/етамбутол/ізоніазид
|
||||
Rifampicin/pyrazinamide/ethambutol/isoniazid FALSE TRUE TRUE FALSE 利福平/吡嗪酰胺/乙胺丁醇/异烟肼 Rifampicin/pyrazinamid/ethambutol/isoniazid Rifampicine/pyrazinamide/ethambutol/isoniazide Rifampicine/pyrazinamide/éthambutol/isoniazide Rifampicin/Pyrazinamid/Ethambutol/Isoniazid Ριφαμπικίνη/πυραζιναμίδη/εθαμβουτόλη/ισονιαζίδη Rifampicina/pirazinamide/etambutolo/isoniazide リファンピシン/イソニアジド Rifampicyna/pirazinamid/etambutol/izoniazyd Rifampicina/pirazinamida/etambutol/isoniazida Рифампицин/пиразинамид/этамбутол/исониазид Rifampicina/pirazinamida/etambutol/isoniazida Rifampicin/pyrazinamid/ethambutol/isoniazid Rifampisin/pirazinamid/etambutol/izoniazid Рифампіцин/піразинамід/етамбутол/ізоніазид
|
||||
Rifampicin/pyrazinamide/isoniazid FALSE TRUE TRUE FALSE 利福平/吡嗪酰胺/异烟肼 Rifampicin/pyrazinamid/isoniazid Rifampicine/pyrazinamide/isoniazide Rifampicine/pyrazinamide/isoniazide Rifampicin/Pyrazinamid/Isoniazid Ριφαμπικίνη/πυραζιναμίδη/ισονιαζίδη Rifampicina/pirazinamide/isoniazide リファマイシン Rifampicyna/pirazynamid/izoniazyd Rifampicina/pirazinamida/isoniazida Рифампицин/пиразинамид/изониазид Rifampicina/pirazinamida/isoniazida Rifampicin/pyrazinamid/isoniazid Rifampisin/pirazinamid/izoniazid Рифампіцин/піразинамід/ізоніазид
|
||||
Rifampicin/isoniazid FALSE TRUE TRUE FALSE 利福平/异烟肼 Rifampicin/isoniazid Rifampicine/isoniazide Rifampicine/isoniazide Rifampicin/Isoniazid Ριφαμπικίνη/ισονιαζίδη Rifampicina/isoniazide リファキシミン Rifampicyna/izoniazyd Rifampicina/isoniazida Рифампицин/изониазид Rifampicina/isoniazida Rifampicin/isoniazid Rifampisin/izoniazid Рифампіцин/ізоніазид
|
||||
Rifamycin FALSE TRUE TRUE FALSE 利福霉素 Rifamycin Rifamycine Rifamycine Rifamycin Ριφαμυκίνη Rifamicina ロキタマイシン Rifamycyna Rifamycin Рифамицин Rifamicina Rifamycin Rifamisin Рифаміцин
|
||||
Rifaximin FALSE TRUE TRUE FALSE 利福昔明 Rifaximin Rifaximine Rifaximine Rifaximin Rifaximin Rifaximina ロソキサシン Rifaximin Rifaximin Рифаксимин Rifaximina Rifaximin Rifaximin Рифаксимін
|
||||
Rifaximin FALSE TRUE TRUE FALSE 利福昔明 Rifaximin Rifaximine Rifaximine Rifaximin Ριφαξιμίνη Rifaximina ロソキサシン Rifaximin Rifaximin Рифаксимин Rifaximina Rifaximin Rifaximin Рифаксимін
|
||||
Rokitamycin FALSE TRUE TRUE FALSE 罗奇霉素 Rokitamycin Rokitamycine Rokitamycine Rokitamycin Ροκιταμυκίνη Rokitamicina ロキシスロマイシン Rokitamycyna Rokitamycin Рокитамицин Rokitamicina Rokitamycin Rokitamisin Рокітаміцин
|
||||
Rosoxacin FALSE TRUE TRUE FALSE 罗红霉素 Rosoxacin Rosoxacine Rosoxacine Rosoxacin Rosoxacin Rosoxacina ルフロキサシン Rosoxacin Rosoxacina Розоксацин Rosoxacina Rosoxacin Rosoxacin Розоксацин
|
||||
Roxithromycin FALSE TRUE TRUE FALSE 罗红霉素 Roxithromycin Roxitromycine Roxithromycine Roxithromycin Roxithromycin Roxitromicina シソマイシン Roksytromycyna Roxitromicina Рокситромицин Roxitromicina Roxitromycin Roxithromycin Рокситроміцин
|
||||
Rufloxacin FALSE TRUE TRUE FALSE 罗氟沙星 Rufloxacin Rufloxacine Rufloxacine Rufloxacin Rufloxacin Rufloxacina アミノサリチル酸ソーダ Rufloxacin Rufloxacin Руфлоксацин Rufloxacina Rufloxacin Rufloksasin Руфлоксацин
|
||||
Sisomicin FALSE TRUE TRUE FALSE 西索米星 Sisomicin Sisomicine Sisomicine Sisomicin Sisomicin Sisomicina スパルフロキサシン Sisomicin Sisomicina Сизомицин Sisomicina Sisomicin Sisomisin Сизоміцин
|
||||
Rosoxacin FALSE TRUE TRUE FALSE 罗红霉素 Rosoxacin Rosoxacine Rosoxacine Rosoxacin Ροζοξακίνη Rosoxacina ルフロキサシン Rosoxacin Rosoxacina Розоксацин Rosoxacina Rosoxacin Rosoxacin Розоксацин
|
||||
Roxithromycin FALSE TRUE TRUE FALSE 罗红霉素 Roxithromycin Roxitromycine Roxithromycine Roxithromycin Ροξιθρομυκίνη Roxitromicina シソマイシン Roksytromycyna Roxitromicina Рокситромицин Roxitromicina Roxitromycin Roxithromycin Рокситроміцин
|
||||
Rufloxacin FALSE TRUE TRUE FALSE 罗氟沙星 Rufloxacin Rufloxacine Rufloxacine Rufloxacin Ρουφλοξασίνη Rufloxacina アミノサリチル酸ソーダ Rufloxacin Rufloxacin Руфлоксацин Rufloxacina Rufloxacin Rufloksasin Руфлоксацин
|
||||
Sisomicin FALSE TRUE TRUE FALSE 西索米星 Sisomicin Sisomicine Sisomicine Sisomicin Σισομικίνη Sisomicina スパルフロキサシン Sisomicin Sisomicina Сизомицин Sisomicina Sisomicin Sisomisin Сизоміцин
|
||||
Sodium aminosalicylate FALSE TRUE TRUE FALSE 氨基水杨酸钠 Natriumaminosalicylat Aminosalicylzuur Aminosalicylate de sodium Natrium-Aminosalicylat Αμινοσαλικυλικό νάτριο Sodio aminosalicilato スペクチノマイシン Aminosalicylan sodu Aminosalicilato de sódio Аминосалицилат натрия Aminosalicilato de sodio Natriumaminosalicylat Sodyum aminosalisilat Натрію аміносаліцилат
|
||||
Sparfloxacin FALSE TRUE TRUE FALSE 氨水杨酸钠 Sparfloxacin Sparfloxacine Sparfloxacine Sparfloxacin Sparfloxacin Sparfloxacina スピラマイシン Sparfloxacin Sparfloxacin Спарфлоксацин Esparfloxacina Sparfloxacin Sparfloksasin Спарфлоксацин
|
||||
Spectinomycin FALSE TRUE TRUE FALSE 大观霉素 Spectinomycin Spectinomycine Spectinomycine Spectinomycin Spectinomycin Spectinomycin スピラマイシン/メトロニダゾール Spektynomycyna Spectinomycin Спектиномицин Espectinomicina Spektinomycin Spektinomisin Спектиноміцин
|
||||
Sparfloxacin FALSE TRUE TRUE FALSE 氨水杨酸钠 Sparfloxacin Sparfloxacine Sparfloxacine Sparfloxacin Σπαρφλοξασίνη Sparfloxacina スピラマイシン Sparfloxacin Sparfloxacin Спарфлоксацин Esparfloxacina Sparfloxacin Sparfloksasin Спарфлоксацин
|
||||
Spectinomycin FALSE TRUE TRUE FALSE 大观霉素 Spectinomycin Spectinomycine Spectinomycine Spectinomycin Σπεκτινομυκίνη Spectinomycin スピラマイシン/メトロニダゾール Spektynomycyna Spectinomycin Спектиномицин Espectinomicina Spektinomycin Spektinomisin Спектиноміцин
|
||||
Spiramycin FALSE TRUE TRUE FALSE 斯皮拉菌素 Spiramycin Spiramycine Spiramycine Spiramycin Σπιραμυκίνη Spiramicina ブドウ球菌免疫グロブリン Spiramycyna Spiramycin Спирамицин Espiramicina Spiramycin Spiramisin Спіраміцин
|
||||
Spiramycin/metronidazole FALSE TRUE TRUE FALSE 螺旋霉素/甲硝唑 Spiramycin/metronidazol Spiramycine/metronidazol Spiramycine/métronidazole Spiramycin/Metronidazol Σπιραμυκίνη/μετρονιδαζόλη Spiramicina/metronidazolo ストレプトデュオシン Spiramycyna/metronidazol Spiramycin/metronidazol Спирамицин/метронидазол Espiramicina/metronidazol Spiramycin/metronidazol Spiramisin/metronidazol Спіраміцин/метронідазол
|
||||
Staphylococcus immunoglobulin FALSE TRUE TRUE FALSE 葡萄球菌免疫球蛋白 Stafylokok-immunglobulin Stafylokokkenimmunoglobuline Immunoglobuline staphylococcique Staphylococcus-Immunoglobulin Σταφυλόκοκκος ανοσοσφαιρίνη Immunoglobulina per stafilococco ストレプトマイシン Immunoglobulina gronkowcowa Imunoglobulina de Staphylococcus Стафилококковый иммуноглобулин Inmunoglobulina estafilocócica Immunoglobulin mot stafylokocker Staphylococcus immünoglobulin Стафілококовий імуноглобулін
|
||||
Streptoduocin FALSE TRUE TRUE FALSE 链霉素 Streptoduocin Streptoduocine Streptoduocine Streptoduocin Streptoduocin Streptoduocin ストレプトマイシン/イソニアジド Streptoduocin Estreptoduocina Стрептодуоцин Estreptoduocina Streptoduocin Streptoduosin Стрептодуоцин
|
||||
Streptoduocin FALSE TRUE TRUE FALSE 链霉素 Streptoduocin Streptoduocine Streptoduocine Streptoduocin Στρεπτοδουοκίνη Streptoduocin ストレプトマイシン/イソニアジド Streptoduocin Estreptoduocina Стрептодуоцин Estreptoduocina Streptoduocin Streptoduosin Стрептодуоцин
|
||||
Streptomycin FALSE TRUE TRUE FALSE 霉素 Streptomycin Streptomycine Streptomycine Streptomycin Στρεπτομυκίνη Streptomicina スルベニシリン Streptomycyna Streptomycin Стрептомицин Estreptomicina Streptomycin Streptomisin Стрептоміцин
|
||||
Streptomycin/isoniazid FALSE TRUE TRUE FALSE 链霉素/异烟肼 Streptomycin/isoniazid Streptomycine/isoniazide Streptomycine/isoniazide Streptomycin/Isoniazid Στρεπτομυκίνη/ισονιαζίδη Streptomicina/isoniazide スルファダイアジン/テトロキソプリム Streptomycyna/izoniazyd Streptomicina/isoniazida Стрептомицин/изониазид Estreptomicina/isoniazida Streptomycin/isoniazid Streptomisin/izoniazid Стрептоміцин/ізоніазид
|
||||
Sulbenicillin FALSE TRUE TRUE FALSE 磺苄西林 Sulbenicillin Sulbenicilline Sulbenicilline Sulbenicillin Sulbenicillin Sulbenicillina スルファジアジン/トリメトプリム Sulbenicylina Sulbenicilina Сульбенициллин Sulbenicilina Sulbenicillin Sulbenisilin Сульбеніцилін
|
||||
Sulbenicillin FALSE TRUE TRUE FALSE 磺苄西林 Sulbenicillin Sulbenicilline Sulbenicilline Sulbenicillin Σουλμπενικιλλίνη Sulbenicillina スルファジアジン/トリメトプリム Sulbenicylina Sulbenicilina Сульбенициллин Sulbenicilina Sulbenicillin Sulbenisilin Сульбеніцилін
|
||||
Sulfadiazine/tetroxoprim FALSE TRUE TRUE FALSE 磺胺嘧啶/四氧嘧啶 Sulfadiazin/tetroxoprim Sulfadiazine/tetroxoprim Sulfadiazine/tetroxoprime Sulfadiazin/Tetroxoprim Σουλφαδιαζίνη/τετροξοπρίμη Sulfadiazina/tetroxoprim スルファジミジン/トリメトプリム Sulfadiazyna/tetroksoprim Sulfadiazina/tetroxoprim Сульфадиазин/тетроксоприм Sulfadiazina/tetroxoprim Sulfadiazin/tetroxoprim Sülfadiazin/tetroksoprim Сульфадіазин/тетроксоприм
|
||||
Sulfadiazine/trimethoprim FALSE TRUE TRUE FALSE 磺胺嘧啶/三甲氧苄啶 Sulfadiazin/trimethoprim Sulfadiazine/trimethoprim Sulfadiazine/triméthoprime Sulfadiazin/Trimethoprim Σουλφαδιαζίνη/τριμεθοπρίμη Sulfadiazina/trimetoprim スルファフラゾール Sulfadiazyna/trimetoprim Sulfadiazina/trimethoprim Сульфадиазин/триметоприм Sulfadiazina/trimetoprima Sulfadiazin/trimetoprim Sülfadiazin/trimetoprim Сульфадіазин/триметоприм
|
||||
Sulfadimidine/trimethoprim FALSE TRUE TRUE FALSE 磺胺嘧啶/三甲氧苄啶 Sulfadimidin/trimethoprim Sulfadimidine/trimethoprim Sulfadimidine/triméthoprime Sulfadimidin/Trimethoprim Σουλφαδιμιδίνη/τριμεθοπρίμη Sulfadimidina/trimetoprim スルファイソジミジン Sulfadimidyna/trimetoprim Sulfadimidina/trimethoprim Сульфадимидин/триметоприм Sulfadimidina/trimetoprima Sulfadimidin/trimetoprim Sülfadimidin/trimetoprim Сульфадимідин/триметоприм
|
||||
Sulfafurazole FALSE TRUE TRUE FALSE 磺胺呋喃唑 Sulfafurazol Sulfafurazol Sulfafurazole Sulfafurazol Σουλφαφουραζόλη Sulfafurazolo スルファレン Sulfafurazol Sulfafurazole Сульфафуразол Sulfafurazol Sulfafurazol Sülfafurazol Сульфафуразол
|
||||
Sulfaisodimidine FALSE TRUE TRUE FALSE 磺胺二甲嘧啶 Sulfaisodimidin Sulfisomidine Sulfaisodimidine Sulfaisodimidin Sulfaisodimidine Sulfaisodimidina スルファマゾン Sulfaisodimidine Sulfaisodimidina Сульфаизодимидин Sulfaisodimidina Sulfaisodimidin Sülfaizodimidin Сульфаізодимідин
|
||||
Sulfalene FALSE TRUE TRUE FALSE 磺胺类药物 Sulfalen Sulfaleen Sulfalène Sulfalene Sulfalene Sulfalene スルファメラジン/トリメトプリム Sulfalen Sulfaleno Сульфален Sulfaleno Sulfen Sülfalen Сульфален
|
||||
Sulfamazone FALSE TRUE TRUE FALSE 磺胺脒 Sulfamazon Sulfamazon Sulfamazone Sulfamazon Sulfamazone Sulfamazone スルファメチゾール Sulfamazon Sulfamazona Сульфамазон Sulfamazona Sulfamazon Sülfamazon Сульфамазон
|
||||
Sulfaisodimidine FALSE TRUE TRUE FALSE 磺胺二甲嘧啶 Sulfaisodimidin Sulfisomidine Sulfaisodimidine Sulfaisodimidin Σουλφαϊζοδιμιδίνη Sulfaisodimidina スルファマゾン Sulfaisodimidine Sulfaisodimidina Сульфаизодимидин Sulfaisodimidina Sulfaisodimidin Sülfaizodimidin Сульфаізодимідин
|
||||
Sulfalene FALSE TRUE TRUE FALSE 磺胺类药物 Sulfalen Sulfaleen Sulfalène Sulfalene Σουλφαλένιο Sulfalene スルファメラジン/トリメトプリム Sulfalen Sulfaleno Сульфален Sulfaleno Sulfen Sülfalen Сульфален
|
||||
Sulfamazone FALSE TRUE TRUE FALSE 磺胺脒 Sulfamazon Sulfamazon Sulfamazone Sulfamazon Σουλφαμαζόνη Sulfamazone スルファメチゾール Sulfamazon Sulfamazona Сульфамазон Sulfamazona Sulfamazon Sülfamazon Сульфамазон
|
||||
Sulfamerazine/trimethoprim FALSE TRUE TRUE FALSE 磺胺脒/三甲氧苄氨嘧啶 Sulfamerazin/trimethoprim Sulfamerazine/trimethoprim Sulfamérazine/triméthoprime Sulfamerazin/Trimethoprim Σουλφαμεραζίνη/τριμεθοπρίμη Sulfamerazina/trimetoprim スルファメトキサゾール Sulfamerazyna/trimetoprim Sulfamerazina/trimethoprim Сульфамеразин/триметоприм Sulfamerazina/trimetoprima Sulfamerazin/trimetoprim Sülfamerazin/trimetoprim Сульфамеразин/триметоприм
|
||||
Sulfamethizole FALSE TRUE TRUE FALSE 磺胺甲基咪唑 Sulfamethizol Sulfamethizol Sulfaméthizole Sulfamethizol Sulfamethizole Sulfamethizolo スルファメトキサゾール/トリメトプリム Sulfamethizole Sulfametizole Сульфаметизол Sulfametozol Sulfamethizol Sülfametizol Сульфаметізол
|
||||
Sulfamethoxazole FALSE TRUE TRUE FALSE 磺胺甲噁唑 Sulfamethoxazol Sulfamethoxazol Sulfaméthoxazole Sulfamethoxazol Σουλφαμεθοξαζόλη Sulfametossazolo スルファメトキシジアジン Sulfametoksazol Sulfamethoxazole Сульфаметоксазол Sulfametoxazol Sulfametoxazol Sülfametoksazol Сульфаметоксазол
|
||||
Sulfamethoxazole/trimethoprim FALSE TRUE TRUE FALSE 磺胺甲噁唑/三甲氧苄啶 Sulfamethoxazol/trimethoprim Sulfamethoxazol/trimethoprim Sulfaméthoxazole/triméthoprime Sulfamethoxazol/Trimethoprim Σουλφαμεθοξαζόλη/τριμεθοπρίμη Sulfametossazolo/trimetoprim スルファメトロール/トリメトプリム Sulfametoksazol/trimetoprim Sulfametoxazol/trimethoprim Сульфаметоксазол/триметоприм Sulfametoxazol/trimetoprima Sulfametoxazol/trimetoprim Sülfametoksazol/trimetoprim Сульфаметоксазол/триметоприм
|
||||
Sulfametoxydiazine FALSE TRUE TRUE FALSE 磺胺甲噁唑 Sulfametoxydiazin Sulfamethoxydiazine Sulfamétoxydiazine Sulfametoxydiazin Sulfametoxydiazine Sulfametoxydiazine スルファモキソール Sulfametoksydiazyna Sulfametoxidiazina Сульфаметоксидиазин Sulfametoxidiazina Sulfametoxydiazin Sulfametoksidiyazin Сульфаметоксидіазин
|
||||
Sulfametoxydiazine FALSE TRUE TRUE FALSE 磺胺甲噁唑 Sulfametoxydiazin Sulfamethoxydiazine Sulfamétoxydiazine Sulfametoxydiazin Σουλφαμετοξυδιαζίνη Sulfametoxydiazine スルファモキソール Sulfametoksydiazyna Sulfametoxidiazina Сульфаметоксидиазин Sulfametoxidiazina Sulfametoxydiazin Sulfametoksidiyazin Сульфаметоксидіазин
|
||||
Sulfametrole/trimethoprim FALSE TRUE TRUE FALSE 磺胺甲醚/三甲氧嘧啶 Sulfametrol/trimethoprim Sulfametrol/trimethoprim Sulfamétrole/triméthoprime Sulfametrole/Trimethoprim Σουλφαμετρόλη/τριμεθοπρίμη Sulfametrole/trimetoprim スルファモキソール/トリメトプリム Sulfametrol/trimetoprim Sulfametrole/trimethoprim Сульфаметрол/триметоприм Sulfametrol/trimetoprima Sulfametrol/trimetoprim Sülfametrol/trimetoprim Сульфаметрол/триметоприм
|
||||
Sulfamoxole FALSE TRUE TRUE FALSE 磺胺甲噁唑 Sulfamoxol Sulfamoxol Sulfamoxole Sulfamoxol Sulfamoxole Sulfamoxolo スルファペリン Sulfamoksol Sulfamoxole Сульфамоксол Sulfamoxole Sulfamoxol Sülfamoksol Сульфамоксол
|
||||
Sulfamoxole FALSE TRUE TRUE FALSE 磺胺甲噁唑 Sulfamoxol Sulfamoxol Sulfamoxole Sulfamoxol Σουλφαμοξόλη Sulfamoxolo スルファペリン Sulfamoksol Sulfamoxole Сульфамоксол Sulfamoxole Sulfamoxol Sülfamoksol Сульфамоксол
|
||||
Sulfamoxole/trimethoprim FALSE TRUE TRUE FALSE 磺胺甲噁唑/三甲氧苄啶 Sulfamoxol/trimethoprim Sulfamoxol/trimethoprim Sulfamoxole/triméthoprime Sulfamoxol/Trimethoprim Σουλφαμοξόλη/τριμεθοπρίμη Sulfamoxolo/trimetoprim スルファフェナゾール Sulfamoksol/trimetoprim Sulfamoxole/trimethoprim Сульфамоксол/триметоприм Sulfamoxol/trimetoprima Sulfamoxol/trimetoprim Sülfamoksol/trimetoprim Сульфамоксол/триметоприм
|
||||
Sulfaperin FALSE TRUE TRUE FALSE 磺胺类药物 Sulfaperin Sulfaperine Sulfapérine Sulfaperin Sulfaperin Sulfaperin スルファチアゾール Sulfaperin Sulfaperin Сульфаперин Sulfametoxazol Sulfaperin Sülfaperin Сульфаперин
|
||||
Sulfaperin FALSE TRUE TRUE FALSE 磺胺类药物 Sulfaperin Sulfaperine Sulfapérine Sulfaperin Σουλφαπερίνη Sulfaperin スルファチアゾール Sulfaperin Sulfaperin Сульфаперин Sulfametoxazol Sulfaperin Sülfaperin Сульфаперин
|
||||
Sulfaphenazole FALSE TRUE TRUE FALSE 磺胺苯吡唑 Sulfaphenazol Sulfafenazol Sulfaphénazole Sulfaphenazol Σουλφαφαιναζόλη Sulfafenazolo スルファチオ尿素 Sulfafenazol Sulfafenazol Сульфафеназол Sulfafenazol Sulfafenazol Sülfafenazol Сульфафеназол
|
||||
Sulfathiazole FALSE TRUE TRUE FALSE 磺胺噻唑 Sulfathiazol Sulfathiazol Sulfathiazole Sulfathiazol Sulfathiazole Sulfathiazole スルタミシリン Sulfatiazol Sulfatazol Сульфатиазол Sulfatiazol Sulfathiazol Sulfathiazole Сульфатіазол
|
||||
Sulfathiourea FALSE TRUE TRUE FALSE 磺胺硫脲 Sulfathiourea Sulfathioureum Sulfathiourée Sulfathioharnstoff Sulfathiourea Sulfathiourea タランピシリン Sulfathiourea Sulfathiourea Сульфатиомочевина Sulfathiourea Sulfatiourea Sulfathiourea Сульфатіосечовина
|
||||
Sultamicillin FALSE TRUE TRUE FALSE 苏打米林 Sultamicillin Sultamicilline Sultamicilline Sultamicillin Sultamicillin Sultamicillina テイコプラニン Sultamicillin Sultamicillin Сультамициллин Sultamicilina Sultamicillin Sultamicillin Сультаміцилін
|
||||
Talampicillin FALSE TRUE TRUE FALSE 塔拉比西林 Talampicillin Talampicilline Talampicilline Talampicillin Talampicillin Talampicillina テリスロマイシン Talampicylina Talampicilina Талампициллин Talampicilina Talampicillin Talampisilin Талампіцилін
|
||||
Teicoplanin FALSE TRUE TRUE FALSE 泰科普兰素 Teicoplanin Teicoplanine Teicoplanine Teicoplanin Teicoplanin Teicoplanina テマフロキサシン Teicoplanin Teicoplanin Тейкопланин Teicoplanina Teicoplanin Teikoplanin Тейкопланін
|
||||
Sulfathiazole FALSE TRUE TRUE FALSE 磺胺噻唑 Sulfathiazol Sulfathiazol Sulfathiazole Sulfathiazol Σουλφαθειαζόλη Sulfathiazole スルタミシリン Sulfatiazol Sulfatazol Сульфатиазол Sulfatiazol Sulfathiazol Sulfathiazole Сульфатіазол
|
||||
Sulfathiourea FALSE TRUE TRUE FALSE 磺胺硫脲 Sulfathiourea Sulfathioureum Sulfathiourée Sulfathioharnstoff Σουλφαθειουρία Sulfathiourea タランピシリン Sulfathiourea Sulfathiourea Сульфатиомочевина Sulfathiourea Sulfatiourea Sulfathiourea Сульфатіосечовина
|
||||
Sultamicillin FALSE TRUE TRUE FALSE 苏打米林 Sultamicillin Sultamicilline Sultamicilline Sultamicillin Σουλταμικιλλίνη Sultamicillina テイコプラニン Sultamicillin Sultamicillin Сультамициллин Sultamicilina Sultamicillin Sultamicillin Сультаміцилін
|
||||
Talampicillin FALSE TRUE TRUE FALSE 塔拉比西林 Talampicillin Talampicilline Talampicilline Talampicillin Ταλαμπικιλλίνη Talampicillina テリスロマイシン Talampicylina Talampicilina Талампициллин Talampicilina Talampicillin Talampisilin Талампіцилін
|
||||
Teicoplanin FALSE TRUE TRUE FALSE 泰科普兰素 Teicoplanin Teicoplanine Teicoplanine Teicoplanin Τεϊκοπλανίνη Teicoplanina テマフロキサシン Teicoplanin Teicoplanin Тейкопланин Teicoplanina Teicoplanin Teikoplanin Тейкопланін
|
||||
Telithromycin FALSE TRUE TRUE FALSE 泰利霉素 Telithromycin Telitromycine Télithromycine Telithromycin Τελιθρομυκίνη Telitromicina テモシリン Telitromycyna Telitromicina Телитромицин Telitromicina Telitromycin Telitromisin Телітроміцин
|
||||
Temafloxacin FALSE TRUE TRUE FALSE 氨甲环酸 Temafloxacin Temafloxacine Temafloxacine Temafloxacin Temafloxacin Temafloxacina テノホビルジソプロキシル Temafloksacyna Temafloxacin Темафлоксацин Temafloxacina Temafloxacin Temafloksasin Темафлоксацин
|
||||
Temocillin FALSE TRUE TRUE FALSE 氨甲蝶呤 Temocillin Temocilline Temocillin Temocillin Temocillin Temocillina テリジドン Temocillin Temocillin Темоциллин Temocilina Temocillin Temocillin Темоцилін
|
||||
Tenofovir disoproxil FALSE TRUE TRUE FALSE 特诺福韦酯 Tenofovir disoproxil Tenofovir Tenofovir disoproxil Tenofovir Disoproxil Tenofovir disoproxil Tenofovir disoproxil チアンフェニコール Tenofovir disoproxil Tenofovir disoproxil Тенофовир дизопроксил Tenofovir disoproxil Tenofovir disoproxil Tenofovir disoproksil Тенофовір дизопроксил
|
||||
Terizidone FALSE TRUE TRUE FALSE 特立兹酮 Terizidon Terizidon Terizidone Terizidon Terizidone Terizidone チオアセタゾン/イソニアジド Terizidon Terizidone Теризидон Terizidona Terizidon Terizidon Теризидон
|
||||
Thiamphenicol FALSE TRUE TRUE FALSE 硫苯尼考 Thiamphenicol Thiamfenicol Thiamphénicol Thiamphenicol Thiamphenicol Tiamfenicolo チカルシリン Tiamfenikol Tiamfenicol Тиамфеникол Tiamfenicol Tiamfenikol Thiamphenicol Тіамфенікол
|
||||
Temafloxacin FALSE TRUE TRUE FALSE 氨甲环酸 Temafloxacin Temafloxacine Temafloxacine Temafloxacin Τεμαφλοξασίνη Temafloxacina テノホビルジソプロキシル Temafloksacyna Temafloxacin Темафлоксацин Temafloxacina Temafloxacin Temafloksasin Темафлоксацин
|
||||
Temocillin FALSE TRUE TRUE FALSE 氨甲蝶呤 Temocillin Temocilline Temocillin Temocillin Τεμοκιλλίνη Temocillina テリジドン Temocillin Temocillin Темоциллин Temocilina Temocillin Temocillin Темоцилін
|
||||
Tenofovir disoproxil FALSE TRUE TRUE FALSE 特诺福韦酯 Tenofovir disoproxil Tenofovir Tenofovir disoproxil Tenofovir Disoproxil Τενοφοβίρη δισοπροξίλη Tenofovir disoproxil チアンフェニコール Tenofovir disoproxil Tenofovir disoproxil Тенофовир дизопроксил Tenofovir disoproxil Tenofovir disoproxil Tenofovir disoproksil Тенофовір дизопроксил
|
||||
Terizidone FALSE TRUE TRUE FALSE 特立兹酮 Terizidon Terizidon Terizidone Terizidon Τεριζιδόνη Terizidone チオアセタゾン/イソニアジド Terizidon Terizidone Теризидон Terizidona Terizidon Terizidon Теризидон
|
||||
Thiamphenicol FALSE TRUE TRUE FALSE 硫苯尼考 Thiamphenicol Thiamfenicol Thiamphénicol Thiamphenicol Θειαμφενικόλη Tiamfenicolo チカルシリン Tiamfenikol Tiamfenicol Тиамфеникол Tiamfenicol Tiamfenikol Thiamphenicol Тіамфенікол
|
||||
Thioacetazone/isoniazid FALSE TRUE TRUE FALSE 硫乙酰唑酮/异烟肼 Thioacetazon/isoniazid Thioacetazon/isoniazide Thioacétazone/isoniazide Thioacetazon/Isoniazid Θειοακεταζόνη/ισονιαζίδη Tioacetazone/isoniazide チカルシリン/β-ラクタマーゼ阻害剤 Tioacetazon/izoniazyd Thioacetazone/isoniazid Тиоацетазон/изониазид Tioacetazona/isoniazida Thioacetazon/isoniazid Tiyoasetazon/izoniazid Тіоацетазон/ізоніазид
|
||||
Ticarcillin FALSE TRUE TRUE FALSE 替卡西林 Ticarcillin Ticarcilline Ticarcilline Ticarcillin Τικαρκιλλίνη Ticarcillina チカルシリン/クラブラン酸 Ticarcillin Ticarcilina Тикарциллин Ticarcilina Ticarcillin Ticarcillin Тикарцилін
|
||||
Ticarcillin/beta-lactamase inhibitor FALSE TRUE TRUE FALSE 替卡西林/β-内酰胺酶抑制剂 Ticarcillin/beta-lactamasehæmmer Ticarcilline/enzymremmer Ticarcilline/inhib. de bêta-lactamase Ticarcillin/Beta-Lactamase-Hemmer Τικαρκιλλίνη/αναστολέας της β-λακταμάσης Ticarcillina/inib. d. beta-lattamasi チニダゾール Tikarcylina/inhibitor beta-laktamazy Ticarcilina/inibid. da beta-lactamase Тикарциллин/ингибитор бета-лактамазы Ticarcilina/inhib. de la betalactamasa Ticarcillin/beta-laktamashämmare Tikarsilin/beta-laktamaz inhibitörü Тикарцилін/інгібітор бета-лактамаз
|
||||
Ticarcillin/beta-lactamase inhibitor FALSE TRUE TRUE FALSE 替卡西林/β-内酰胺酶抑制剂 Ticarcillin/beta-lactamasehæmmer Ticarcilline/enzymremmer Ticarcilline/inhib. de bêta-lactamase Ticarcillin/Beta-Lactamase-Hemmer Αναστολέας της τικαρκιλλίνης/β-λακταμάσης Ticarcillina/inib. d. beta-lattamasi チニダゾール Tikarcylina/inhibitor beta-laktamazy Ticarcilina/inibid. da beta-lactamase Тикарциллин/ингибитор бета-лактамазы Ticarcilina/inhib. de la betalactamasa Ticarcillin/beta-laktamashämmare Tikarsilin/beta-laktamaz inhibitörü Тикарцилін/інгібітор бета-лактамаз
|
||||
Ticarcillin/clavulanic acid FALSE TRUE TRUE FALSE 替卡西林/克拉维酸 Ticarcillin/clavulansyre Ticarcilline/clavulaanzuur Ticarcilline/acide clavulanique Ticarcillin/Clavulansäure Τικαρκιλλίνη/κλαβουλανικό οξύ Ticarcillina/acido clavulanico トブラマイシン Tikarcylina/kwas klawulanowy Ticarcilina/ácido clavulanico Тикарциллин/клавулановая кислота Ticarcilina/ácido clavulánico Ticarcillin/clavulansyra Tikarsilin/klavulanik asit Тикарцилін/клавуланова кислота
|
||||
Tinidazole FALSE TRUE TRUE FALSE 替尼唑 Tinidazol Tinidazol Tinidazole Tinidazol Τινιδαζόλη Tinidazolo トリメトプリム/スルファメトキサゾール Tinidazol Tinidazole Тинидазол Tinidazol Tinidazol Tinidazol Тинідазол
|
||||
Tobramycin FALSE TRUE TRUE FALSE 妥布霉素 Tobramycin Tobramycine Tobramycine Tobramycin Τομπραμυκίνη Tobramicina トロレアンドマイシン Tobramycyna Tobramycin Тобрамицин Tobramicina Tobramycin Tobramisin Тобраміцин
|
||||
Trimethoprim/sulfamethoxazole FALSE TRUE TRUE FALSE 三甲氧嘧啶/磺胺甲恶唑 Trimethoprim/sulfamethoxazol Cotrimoxazol Triméthoprime/sulfaméthoxazole Trimethoprim/Sulfamethoxazol Τριμεθοπρίμη/σουλφαμεθοξαζόλη Trimetoprim/sulfametossazolo トロバフロキサシン Trimetoprim/sulfametoksazol Trimethoprim/sulfametoxazol Триметоприм/сульфаметоксазол Trimetoprima/sulfametoxazol Trimetoprim/sulfametoxazol Trimetoprim/sülfametoksazol Триметоприм/сульфаметоксазол
|
||||
Trimethoprim/sulfamethoxazole FALSE TRUE TRUE FALSE 三甲氧嘧啶/磺胺甲恶唑 Trimethoprim/sulfamethoxazol Cotrimoxazol Triméthoprime/sulfaméthoxazole Trimethoprim/Sulfamethoxazol Τριµεθοπρίµη/σουλφαµεθοξαζόλη Trimetoprim/sulfametossazolo トロバフロキサシン Trimetoprim/sulfametoksazol Trimethoprim/sulfametoxazol Триметоприм/сульфаметоксазол Trimetoprima/sulfametoxazol Trimetoprim/sulfametoxazol Trimetoprim/sülfametoksazol Триметоприм/сульфаметоксазол
|
||||
Troleandomycin FALSE TRUE TRUE FALSE 托拉多霉素 Troleandomycin Troleandomycine Troleandomycine Troleandomycin Τρολεαντομυκίνη Troleandomicina バンコマイシン Troleandomycyna Troleandomicina Тролеандомицин Troleandomicina Troleandomycin Troleandomisin Тролеандоміцин
|
||||
Trovafloxacin FALSE TRUE TRUE FALSE 特戊沙星 Trovafloxacin Trovafloxacine Trovafloxacine Trovafloxacin Τροβαφλοξασίνη Trovafloxacin ボリコナゾール Trovafloxacin Trovafloxacin Тровафлоксацин Trovafloxacina Trovafloxacin Trovafloksasin Тровафлоксацин
|
||||
Vancomycin FALSE TRUE TRUE FALSE 唑啉酮 Vancomycin Vancomycine Vancomycine Vancomycin Βανκομυκίνη Vancomicina アミノグリコシド系抗生物質 Wankomycyna Vancomycin Ванкомицин Vancomicina Vancomycin Vankomisin Ванкоміцин
|
||||
Voriconazole FALSE TRUE TRUE FALSE 伏立康唑 Voriconazol Voriconazol Voriconazole Voriconazol Voriconazole Voriconazolo アンフェニコール Worikonazol Voriconazol Вориконазол Voriconazol Vorikonazol Vorikonazol Вориконазол
|
||||
Voriconazole FALSE TRUE TRUE FALSE 伏立康唑 Voriconazol Voriconazol Voriconazole Voriconazol Βορικοναζόλη Voriconazolo アンフェニコール Worikonazol Voriconazol Вориконазол Voriconazol Vorikonazol Vorikonazol Вориконазол
|
||||
Aminoglycosides FALSE TRUE TRUE FALSE 氨基糖苷类 Aminoglykosider Aminoglycosiden Aminoglycosides Aminoglykoside Αμινογλυκοσίδες Aminoglicosidi 抗真菌剤/抗真菌剤 Aminoglikozydy Aminoglycosides Аминогликозиды Aminoglucósidos Aminoglykosider Aminoglikozidler Аміноглікозиди
|
||||
Amphenicols FALSE TRUE TRUE FALSE 安息香醇 Amphenicoler Amfenicolen Amphénicols Amphenicole Αμφενικόλες Amphenicols 抗マイコバクテリア薬 Amfenikol Anfenicóis Амфениколы Anfenicoles Amfenikoler Amphenicols Амфеніколи
|
||||
Antifungals/antimycotics FALSE TRUE TRUE FALSE 抗真菌药/抗真菌药 Antimykotika/antimykotika Antifungica/antimycotica Antifongiques/antimycotiques Antimykotika/Antimykotika Αντιμυκητιασικά/αντιμυκητιασικά Antifungini/antimicotici β-ラクタム系/ペニシリン系 Środki przeciwgrzybicze/przeciwmikotyczne Antifúngicos/antimicóticos Противогрибковые препараты/антимикотики Antifúngicos/antimicóticos Antimykotika/antimykotika Antifungaller/antimikotikler Протигрибкові засоби/антимікотики
|
||||
Antimycobacterials FALSE TRUE TRUE FALSE 抗霉菌素类 Antimycobakterier Antimycobacteriele middelen Antimycobactériens Antimykobakterielle Mittel Αντιμυκοβακτηριακά Antimicobatterici セファロスポリン系(第1世代) Środki przeciwgrzybicze Antimycobacterials Антимикобактериальные препараты Antimicrobianos Antimykobakterier Antimikobakteriyeller Засоби, що діють на мікобактерії
|
||||
Beta-lactams/penicillins FALSE TRUE TRUE FALSE β-内酰胺类/青霉素类 Beta-lactamer/penicilliner Beta-lactams/penicillines Bêta-lactamines/pénicillines Beta-Lactame/Penicilline Β-λακτάμες/πενικιλλίνες Beta-lattami/penicilline セファロスポリン(第2世代) Beta-laktamy/penicyliny Beta-lactâmicas/penicilinas Бета-лактамы/пенициллины Beta-lactámicos/penicilinas Beta-laktamer/penicilliner Beta-laktamlar/penisilinler Бета-лактами/пеніциліни
|
||||
Cephalosporins (1st gen.) FALSE TRUE TRUE FALSE 头孢菌素类(第一代) Cefalosporiner (1. gen.) Cefalosporines (1e gen.) Céphalosporines (1ère génération) Cephalosporine (1. Gen.) Κεφαλοσπορίνες (1ης γενιάς) Cefalosporine (1° gen.) セファロスポリン(第3世代) Cefalosporyny (1. gen.) Cefalosporinas (1º género) Цефалоспорины (1-го пок.) Cefalosporinas (1er gen.) Kefalosporiner (första gen.) Sefalosporinler (1. kuşak) Цефалоспорини (1 пок.)
|
||||
Cephalosporins (2nd gen.) FALSE TRUE TRUE FALSE 头孢菌素类(第二代) Cefalosporiner (2. gen.) Cefalosporines (2e gen.) Céphalosporines (2ème génération) Cephalosporine (2. Gen.) Κεφαλοσπορίνες (2ης γενιάς) Cefalosporine (2° gen.) セファロスポリン(第4世代) Cefalosporyny (2. gen.) Cefalosporinas (2ª gen.) Цефалоспорины (2-го пок.) Cefalosporinas (2do gen.) Kefalosporiner (andra gen.) Sefalosporinler (2. kuşak) Цефалоспорини (2 пок.)
|
||||
Cephalosporins (3rd gen.) FALSE TRUE TRUE FALSE 头孢菌素类(第三代) Cefalosporiner (3. gen.) Cefalosporines (3e gen.) Céphalosporines (3ème génération) Cephalosporine (3. Gen.) Κεφαλοσπορίνες (3ης γενιάς) Cefalosporine (3° gen.) セファロスポリン(第5世代) Cefalosporyny (3 gen.) Cefalosporinas (3ª gen.) Цефалоспорины (3-го пок.) Cefalosporinas (3er gen.) Kefalosporiner (tredje gen.) Sefalosporinler (3. kuşak) Цефалоспорини (3 пок.)
|
||||
Cephalosporins (4th gen.) FALSE TRUE TRUE FALSE 头孢菌素类(第四代) Cefalosporiner (4. gen.) Cefalosporines (4e gen.) Céphalosporines (4ème génération) Cephalosporine (4. Gen.) Κεφαλοσπορίνες (4ης γενιάς) Cefalosporine (4° gen.) セファロスポリン(未分類の世代) Cefalosporyny (4 gen.) Cefalosporinas (4.ª gen.) Цефалоспорины (4-го пок.) Cefalosporinas (4ª gen.) Kefalosporiner (4:e gen.) Sefalosporinler (4. kuşak) Цефалоспорини (4 пок.)
|
||||
Cephalosporins (5th gen.) FALSE TRUE TRUE FALSE 头孢菌素(第五代) Cefalosporiner (5. gen.) Cefalosporines (5e gen.) Céphalosporines (5e gén.) Cephalosporine (5. Gen.) Κεφαλοσπορίνες (5ης γενιάς) Cefalosporine (5° gen.) セファロスポリン Cefalosporyny (5. gen.) Cefalosporinas (5.ª gen.) Цефалоспорины (5-го пок.) Cefalosporinas (5º gen.) Kefalosporiner (5:e gen.) Sefalosporinler (5. kuşak) Цефалоспорини (5 пок.)
|
||||
Cephalosporins (unclassified gen.) FALSE TRUE TRUE FALSE 头孢菌素类(未分类的一代) Cefalosporiner (uklassificeret gen.) Cefalosporines (ongeclassificeerd) Céphalosporines (genre non classifié) Cephalosporine (unklassifiziert) Κεφαλοσπορίνες (μη ταξινομημένη γενιά) Cefalosporine (gen. non classificato) 糖ペプチド系 Cefalosporyny (niesklasyfikowana gen.) Cefalosporinas (não classificado gen.) Цефалоспорины (неклассифицированный род) Cefalosporinas (gen. no clasificado) Kefalosporiner (oklassificerad gen.) Sefalosporinler (sınıflandırılmamış nesil) Цефалоспорини (некласифікованого пок.)
|
||||
Cephalosporins (1st gen.) FALSE TRUE TRUE FALSE 头孢菌素类(第一代) Cefalosporiner (1. gen.) Cefalosporines (1e gen.) Céphalosporines (1ère génération) Cephalosporine (1. Gen.) Κεφαλοσπορίνες (1ου γένους) Cefalosporine (1° gen.) セファロスポリン(第3世代) Cefalosporyny (1. gen.) Cefalosporinas (1º género) Цефалоспорины (1-го пок.) Cefalosporinas (1er gen.) Kefalosporiner (första gen.) Sefalosporinler (1. kuşak) Цефалоспорини (1 пок.)
|
||||
Cephalosporins (2nd gen.) FALSE TRUE TRUE FALSE 头孢菌素类(第二代) Cefalosporiner (2. gen.) Cefalosporines (2e gen.) Céphalosporines (2ème génération) Cephalosporine (2. Gen.) Κεφαλοσπορίνες (2ο γένος) Cefalosporine (2° gen.) セファロスポリン(第4世代) Cefalosporyny (2. gen.) Cefalosporinas (2ª gen.) Цефалоспорины (2-го пок.) Cefalosporinas (2do gen.) Kefalosporiner (andra gen.) Sefalosporinler (2. kuşak) Цефалоспорини (2 пок.)
|
||||
Cephalosporins (3rd gen.) FALSE TRUE TRUE FALSE 头孢菌素类(第三代) Cefalosporiner (3. gen.) Cefalosporines (3e gen.) Céphalosporines (3ème génération) Cephalosporine (3. Gen.) Κεφαλοσπορίνες (3ο γένος) Cefalosporine (3° gen.) セファロスポリン(第5世代) Cefalosporyny (3 gen.) Cefalosporinas (3ª gen.) Цефалоспорины (3-го пок.) Cefalosporinas (3er gen.) Kefalosporiner (tredje gen.) Sefalosporinler (3. kuşak) Цефалоспорини (3 пок.)
|
||||
Cephalosporins (4th gen.) FALSE TRUE TRUE FALSE 头孢菌素类(第四代) Cefalosporiner (4. gen.) Cefalosporines (4e gen.) Céphalosporines (4ème génération) Cephalosporine (4. Gen.) Κεφαλοσπορίνες (4ο γένος) Cefalosporine (4° gen.) セファロスポリン(未分類の世代) Cefalosporyny (4 gen.) Cefalosporinas (4.ª gen.) Цефалоспорины (4-го пок.) Cefalosporinas (4ª gen.) Kefalosporiner (4:e gen.) Sefalosporinler (4. kuşak) Цефалоспорини (4 пок.)
|
||||
Cephalosporins (5th gen.) FALSE TRUE TRUE FALSE 头孢菌素(第五代) Cefalosporiner (5. gen.) Cefalosporines (5e gen.) Céphalosporines (5e gén.) Cephalosporine (5. Gen.) Κεφαλοσπορίνες (5ο γένος) Cefalosporine (5° gen.) セファロスポリン Cefalosporyny (5. gen.) Cefalosporinas (5.ª gen.) Цефалоспорины (5-го пок.) Cefalosporinas (5º gen.) Kefalosporiner (5:e gen.) Sefalosporinler (5. kuşak) Цефалоспорини (5 пок.)
|
||||
Cephalosporins (unclassified gen.) FALSE TRUE TRUE FALSE 头孢菌素类(未分类的一代) Cefalosporiner (uklassificeret gen.) Cefalosporines (ongeclassificeerd) Céphalosporines (genre non classifié) Cephalosporine (unklassifiziert) Κεφαλοσπορίνες (μη ταξινομημένο γένος) Cefalosporine (gen. non classificato) 糖ペプチド系 Cefalosporyny (niesklasyfikowana gen.) Cefalosporinas (não classificado gen.) Цефалоспорины (неклассифицированный род) Cefalosporinas (gen. no clasificado) Kefalosporiner (oklassificerad gen.) Sefalosporinler (sınıflandırılmamış nesil) Цефалоспорини (некласифікованого пок.)
|
||||
Cephalosporins FALSE TRUE TRUE FALSE 头孢菌素类 Cefalosporiner Cefalosporines Céphalosporines Cephalosporine Κεφαλοσπορίνες Cefalosporine マクロライド系/リンコサミド系 Cefalosporyny Cefalosporinas Цефалоспорины Cefalosporinas Kefalosporiner Sefalosporinler Цефалоспорини
|
||||
Glycopeptides FALSE TRUE TRUE FALSE 糖肽类药物 Glykopeptider Glycopeptiden Glycopeptides Glykopeptide Γλυκοπεπτίδια Glicopeptidi その他の抗菌薬 Glikopeptydy Glycopeptides Гликопептиды Glicopéptidos Glykopeptider Glikopeptitler Глікопептиди
|
||||
Macrolides/lincosamides FALSE TRUE TRUE FALSE 大环内酯类/林可酰胺类 Makrolider/lincosamider Macroliden/lincosamiden Macrolides/lincosamides Makrolide/Linkosamide Μακρολίδια/λινκοσαμίδια Macrolidi/lincosamidi ポリミキシン Makrolidy/linkozamidy Macrolides/lincosamidas Макролиды/линкозамиды Macrólidos/lincosamidas Makrolider/linkosamider Makrolidler/linkozamidler Макроліди/лінкозаміди
|
||||
|
|
Binary file not shown.
38
index.md
38
index.md
@ -73,6 +73,44 @@ example_isolates[which(mo_is_gram_negative() &
|
||||
|
||||
This base R snippet will work in any version of R since April 2013 (R-3.0).
|
||||
|
||||
#### Generating antibiograms
|
||||
|
||||
The `AMR` package supports generating traditional, combined, syndromic, and even weighted-incidence syndromic combination antibiograms (WISCA).
|
||||
|
||||
If used inside R Markdown or Quarto, the table will be printed in the right output format automatically (such as markdown, LaTeX, HTML, etc.).
|
||||
|
||||
```r
|
||||
antibiogram(example_isolates,
|
||||
antibiotics = c(aminoglycosides(), carbapenems()))
|
||||
```
|
||||
|
||||
|Pathogen (N min-max) | AMK| GEN| IPM| KAN| MEM| TOB|
|
||||
|:----------------------|---:|---:|---:|---:|---:|---:|
|
||||
|CoNS (43-309) | 0| 86| 52| 0| 52| 22|
|
||||
|E. coli (0-462) | 100| 98| 100| NA| 100| 97|
|
||||
|E. faecalis (0-39) | 0| 0| 100| 0| NA| 0|
|
||||
|K. pneumoniae (0-58) | NA| 90| 100| NA| 100| 90|
|
||||
|P. aeruginosa (17-30) | NA| 100| NA| 0| NA| 100|
|
||||
|P. mirabilis (0-34) | NA| 94| 94| NA| NA| 94|
|
||||
|S. aureus (2-233) | NA| 99| NA| NA| NA| 98|
|
||||
|S. epidermidis (8-163) | 0| 79| NA| 0| NA| 51|
|
||||
|S. hominis (3-80) | NA| 92| NA| NA| NA| 85|
|
||||
|S. pneumoniae (11-117) | 0| 0| NA| 0| NA| 0|
|
||||
|
||||
In combination antibiograms, it is clear that combined antibiotics yield higher empiric coverage:
|
||||
|
||||
```r
|
||||
antibiogram(example_isolates,
|
||||
antibiotics = c("TZP", "TZP+TOB", "TZP+GEN"),
|
||||
mo_transform = "gramstain")
|
||||
```
|
||||
|
||||
|Pathogen (N min-max) | TZP| TZP + GEN| TZP + TOB|
|
||||
|:------------------------|---:|---------:|---------:|
|
||||
|Gram-negative (641-693) | 88| 99| 98|
|
||||
|Gram-positive (345-1044) | 86| 98| 95|
|
||||
|
||||
|
||||
#### Calculating resistance per group
|
||||
|
||||
```r
|
||||
|
132
inst/tinytest/test-antibiogram.R
Normal file
132
inst/tinytest/test-antibiogram.R
Normal file
@ -0,0 +1,132 @@
|
||||
# ==================================================================== #
|
||||
# TITLE #
|
||||
# AMR: An R Package for Working with Antimicrobial Resistance Data #
|
||||
# #
|
||||
# SOURCE #
|
||||
# https://github.com/msberends/AMR #
|
||||
# #
|
||||
# CITE AS #
|
||||
# Berends MS, Luz CF, Friedrich AW, Sinha BNM, Albers CJ, Glasner C #
|
||||
# (2022). AMR: An R Package for Working with Antimicrobial Resistance #
|
||||
# Data. Journal of Statistical Software, 104(3), 1-31. #
|
||||
# doi:10.18637/jss.v104.i03 #
|
||||
# #
|
||||
# Developed at the University of Groningen and the University Medical #
|
||||
# Center Groningen in The Netherlands, in collaboration with many #
|
||||
# colleagues from around the world, see our website. #
|
||||
# #
|
||||
# This R package is free software; you can freely use and distribute #
|
||||
# it for both personal and commercial purposes under the terms of the #
|
||||
# GNU General Public License version 2.0 (GNU GPL-2), as published by #
|
||||
# the Free Software Foundation. #
|
||||
# We created this package for both routine data analysis and academic #
|
||||
# research and it was publicly released in the hope that it will be #
|
||||
# useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. #
|
||||
# #
|
||||
# Visit our website for the full manual and a complete tutorial about #
|
||||
# how to conduct AMR data analysis: https://msberends.github.io/AMR/ #
|
||||
# ==================================================================== #
|
||||
|
||||
|
||||
|
||||
# Traditional antibiogram ----------------------------------------------
|
||||
|
||||
ab1 <- antibiogram(example_isolates,
|
||||
antibiotics = c(aminoglycosides(), carbapenems()))
|
||||
|
||||
ab2 <- antibiogram(example_isolates,
|
||||
antibiotics = aminoglycosides(),
|
||||
ab_transform = "atc",
|
||||
mo_transform = "gramstain")
|
||||
|
||||
ab3 <- antibiogram(example_isolates,
|
||||
antibiotics = carbapenems(),
|
||||
ab_transform = "name",
|
||||
mo_transform = "name")
|
||||
|
||||
expect_inherits(ab1, "antibiogram")
|
||||
expect_inherits(ab2, "antibiogram")
|
||||
expect_inherits(ab3, "antibiogram")
|
||||
expect_equal(colnames(ab1), c("Pathogen (N min-max)", "AMK", "GEN", "IPM", "KAN", "MEM", "TOB"))
|
||||
expect_equal(colnames(ab2), c("Pathogen (N min-max)", "J01GB01", "J01GB03", "J01GB04", "J01GB06"))
|
||||
expect_equal(colnames(ab3), c("Pathogen (N min-max)", "Imipenem", "Meropenem"))
|
||||
expect_equal(ab3$Meropenem, c(52, NA, 100, 100, NA))
|
||||
|
||||
# Combined antibiogram -------------------------------------------------
|
||||
|
||||
# combined antibiotics yield higher empiric coverage
|
||||
ab4 <- antibiogram(example_isolates,
|
||||
antibiotics = c("TZP", "TZP+TOB", "TZP+GEN"),
|
||||
mo_transform = "gramstain")
|
||||
|
||||
ab5 <- antibiogram(example_isolates,
|
||||
antibiotics = c("TZP", "TZP+TOB"),
|
||||
mo_transform = "gramstain",
|
||||
ab_transform = "name",
|
||||
sep = " & ",
|
||||
add_total_n = FALSE)
|
||||
|
||||
expect_inherits(ab4, "antibiogram")
|
||||
expect_inherits(ab5, "antibiogram")
|
||||
expect_equal(colnames(ab4), c("Pathogen (N min-max)", "TZP", "TZP + GEN", "TZP + TOB"))
|
||||
expect_equal(colnames(ab5), c("Pathogen", "Piperacillin/tazobactam", "Piperacillin/tazobactam & Tobramycin"))
|
||||
|
||||
# Syndromic antibiogram ------------------------------------------------
|
||||
|
||||
# the data set could contain a filter for e.g. respiratory specimens
|
||||
ab6 <- antibiogram(example_isolates,
|
||||
antibiotics = c(aminoglycosides(), carbapenems()),
|
||||
syndromic_group = "ward")
|
||||
|
||||
# with a custom language, though this will be determined automatically
|
||||
# (i.e., this table will be in Spanish on Spanish systems)
|
||||
ex1 <- example_isolates[which(mo_genus() == "Escherichia"), ]
|
||||
ab7 <- antibiogram(ex1,
|
||||
antibiotics = aminoglycosides(),
|
||||
ab_transform = "name",
|
||||
syndromic_group = ifelse(ex1$ward == "ICU",
|
||||
"UCI", "No UCI"),
|
||||
language = "es")
|
||||
|
||||
expect_inherits(ab6, "antibiogram")
|
||||
expect_inherits(ab7, "antibiogram")
|
||||
expect_equal(colnames(ab6), c("Syndromic Group", "Pathogen (N min-max)", "AMK", "GEN", "IPM", "KAN", "MEM", "TOB"))
|
||||
expect_equal(colnames(ab7), c("Grupo sindrómico", "Patógeno (N min-max)", "Amikacina", "Gentamicina", "Tobramicina"))
|
||||
|
||||
# Weighted-incidence syndromic combination antibiogram (WISCA) ---------
|
||||
|
||||
# the data set could contain a filter for e.g. respiratory specimens
|
||||
ab8 <- antibiogram(example_isolates,
|
||||
antibiotics = c("AMC", "AMC+CIP", "TZP", "TZP+TOB"),
|
||||
mo_transform = "gramstain",
|
||||
minimum = 10, # this should be >= 30, but now just as example
|
||||
syndromic_group = ifelse(example_isolates$age >= 65 &
|
||||
example_isolates$gender == "M",
|
||||
"WISCA Group 1", "WISCA Group 2"))
|
||||
|
||||
expect_inherits(ab8, "antibiogram")
|
||||
expect_equal(colnames(ab8), c("Syndromic Group", "Pathogen (N min-max)", "AMC", "AMC + CIP", "TZP", "TZP + TOB"))
|
||||
|
||||
# Generate plots with ggplot2 or base R --------------------------------
|
||||
|
||||
pdf(NULL) # prevent Rplots.pdf being created
|
||||
|
||||
expect_silent(plot(ab1))
|
||||
expect_silent(plot(ab2))
|
||||
expect_silent(plot(ab3))
|
||||
expect_silent(plot(ab4))
|
||||
expect_silent(plot(ab5))
|
||||
expect_silent(plot(ab6))
|
||||
expect_silent(plot(ab7))
|
||||
expect_silent(plot(ab8))
|
||||
|
||||
if (AMR:::pkg_is_available("ggplot2")) {
|
||||
expect_inherits(autoplot(ab1), "gg")
|
||||
expect_inherits(autoplot(ab2), "gg")
|
||||
expect_inherits(autoplot(ab3), "gg")
|
||||
expect_inherits(autoplot(ab4), "gg")
|
||||
expect_inherits(autoplot(ab5), "gg")
|
||||
expect_inherits(autoplot(ab6), "gg")
|
||||
expect_inherits(autoplot(ab7), "gg")
|
||||
expect_inherits(autoplot(ab8), "gg")
|
||||
}
|
@ -228,7 +228,7 @@ expect_identical(
|
||||
|
||||
|
||||
# notice that all mo's are distinct, so all are TRUE
|
||||
expect_true(all(first_isolate(AMR:::pm_distinct(example_isolates, mo, .keep_all = TRUE), info = TRUE) == TRUE))
|
||||
expect_true(all(first_isolate(AMR:::distinct(example_isolates, mo, .keep_all = TRUE), info = TRUE) == TRUE))
|
||||
|
||||
# only one isolate, so return fast
|
||||
expect_true(first_isolate(data.frame(mo = "Escherichia coli", date = Sys.Date(), patient = "patient"), info = TRUE))
|
||||
|
@ -32,11 +32,21 @@
|
||||
|
||||
# functions used by import_fn()
|
||||
import_functions <- c(
|
||||
"%>%" = "dplyr",
|
||||
"%chin%" = "data.table",
|
||||
"across" = "dplyr",
|
||||
"anti_join" = "dplyr",
|
||||
"arrange" = "dplyr",
|
||||
"bind_rows" = "dplyr",
|
||||
"chmatch" = "data.table",
|
||||
"count" = "dplyr",
|
||||
"cur_column" = "dplyr",
|
||||
"desc" = "dplyr",
|
||||
"distinct" = "dplyr",
|
||||
"everything" = "dplyr",
|
||||
"full_join" = "dplyr",
|
||||
"group_by" = "dplyr",
|
||||
"group_vars" = "dplyr",
|
||||
"has_internet" = "curl",
|
||||
"html_attr" = "rvest",
|
||||
"html_children" = "rvest",
|
||||
@ -46,13 +56,24 @@ import_functions <- c(
|
||||
"html_text" = "rvest",
|
||||
"inner_join" = "dplyr",
|
||||
"insertText" = "rstudioapi",
|
||||
"kable" = "knitr",
|
||||
"lag" = "dplyr",
|
||||
"left_join" = "dplyr",
|
||||
"mutate" = "dplyr",
|
||||
"n_distinct" = "dplyr",
|
||||
"new_pillar_shaft_simple" = "pillar",
|
||||
"pivot_longer" = "tidyr",
|
||||
"progress_bar" = "progress",
|
||||
"pull" = "dplyr",
|
||||
"read_html" = "xml2",
|
||||
"rename" = "dplyr",
|
||||
"right_join" = "dplyr",
|
||||
"row_number" = "dplyr",
|
||||
"select" = "dplyr",
|
||||
"semi_join" = "dplyr",
|
||||
"showQuestion" = "rstudioapi"
|
||||
"showQuestion" = "rstudioapi",
|
||||
"summarise" = "dplyr",
|
||||
"ungroup" = "dplyr"
|
||||
)
|
||||
|
||||
# functions that are called directly with ::
|
||||
@ -71,6 +92,7 @@ call_functions <- c(
|
||||
"element_text" = "ggplot2",
|
||||
"expand_limits" = "ggplot2",
|
||||
"facet_wrap" = "ggplot2",
|
||||
"geom_col" = "ggplot2",
|
||||
"geom_errorbar" = "ggplot2",
|
||||
"geom_path" = "ggplot2",
|
||||
"geom_point" = "ggplot2",
|
||||
@ -115,7 +137,7 @@ for (i in seq_len(length(import_functions))) {
|
||||
# function should exist in foreign pkg namespace
|
||||
if (AMR:::pkg_is_available(pkg,
|
||||
also_load = FALSE,
|
||||
min_version = if (pkg == "dplyr") "1.0.0" else NULL
|
||||
min_version = if (pkg %in% c("dplyr", "tidyr")) "1.0.0" else NULL
|
||||
)) {
|
||||
tst <- !is.null(AMR:::import_fn(name = fn, pkg = pkg, error_on_fail = FALSE))
|
||||
expect_true(tst,
|
||||
|
230
man/antibiogram.Rd
Normal file
230
man/antibiogram.Rd
Normal file
@ -0,0 +1,230 @@
|
||||
% Generated by roxygen2: do not edit by hand
|
||||
% Please edit documentation in R/antibiogram.R
|
||||
\name{antibiogram}
|
||||
\alias{antibiogram}
|
||||
\alias{plot.antibiogram}
|
||||
\alias{autoplot.antibiogram}
|
||||
\alias{print.antibiogram}
|
||||
\title{Generate Antibiogram: Traditional, Combined, Syndromic, or Weighted-Incidence Syndromic Combination (WISCA)}
|
||||
\source{
|
||||
\itemize{
|
||||
\item Klinker KP \emph{et al.} (2021). \strong{Antimicrobial stewardship and antibiograms: importance of moving beyond traditional antibiograms}. \emph{Therapeutic Advances in Infectious Disease}, May 5;8:20499361211011373; \doi{10.1177/20499361211011373}
|
||||
\item Barbieri E \emph{et al.} (2021). \strong{Development of a Weighted-Incidence Syndromic Combination Antibiogram (WISCA) to guide the choice of the empiric antibiotic treatment for urinary tract infection in paediatric patients: a Bayesian approach} \emph{Antimicrobial Resistance & Infection Control} May 1;10(1):74; \doi{10.1186/s13756-021-00939-2}
|
||||
\item \strong{M39 Analysis and Presentation of Cumulative Antimicrobial Susceptibility Test Data, 5th Edition}, 2022, \emph{Clinical and Laboratory Standards Institute (CLSI)}. \url{https://clsi.org/standards/products/microbiology/documents/m39/}.
|
||||
}
|
||||
}
|
||||
\usage{
|
||||
antibiogram(
|
||||
x,
|
||||
antibiotics = where(is.sir),
|
||||
mo_transform = "shortname",
|
||||
ab_transform = NULL,
|
||||
syndromic_group = NULL,
|
||||
add_total_n = TRUE,
|
||||
only_all_tested = FALSE,
|
||||
digits = 0,
|
||||
col_mo = NULL,
|
||||
language = get_AMR_locale(),
|
||||
minimum = 30,
|
||||
combine_SI = TRUE,
|
||||
sep = " + "
|
||||
)
|
||||
|
||||
\method{plot}{antibiogram}(x, ...)
|
||||
|
||||
\method{autoplot}{antibiogram}(object, ...)
|
||||
|
||||
\method{print}{antibiogram}(x, as_kable = !interactive(), ...)
|
||||
}
|
||||
\arguments{
|
||||
\item{x}{a \link{data.frame} containing at least a column with microorganisms and columns with antibiotic results (class 'sir', see \code{\link[=as.sir]{as.sir()}})}
|
||||
|
||||
\item{antibiotics}{vector of column names, or (any combinations of) \link[=antibiotic_class_selectors]{antibiotic selectors} such as \code{\link[=aminoglycosides]{aminoglycosides()}} or \code{\link[=carbapenems]{carbapenems()}}. For combination antibiograms, this can also be column names separated with \code{"+"}, such as "TZP+TOB" given that the data set contains columns "TZP" and "TOB". See \emph{Examples}.}
|
||||
|
||||
\item{mo_transform}{a character to transform microorganism input - must be "name", "shortname", "gramstain", or one of the column names of the \link{microorganisms} data set: "mo", "fullname", "status", "kingdom", "phylum", "class", "order", "family", "genus", "species", "subspecies", "rank", "ref", "source", "lpsn", "lpsn_parent", "lpsn_renamed_to", "gbif", "gbif_parent", "gbif_renamed_to", "prevalence" or "snomed". Can also be \code{NULL} to not transform the input.}
|
||||
|
||||
\item{ab_transform}{a character to transform antibiotic input - must be one of the column names of the \link{antibiotics} data set: "ab", "cid", "name", "group", "atc", "atc_group1", "atc_group2", "abbreviations", "synonyms", "oral_ddd", "oral_units", "iv_ddd", "iv_units" or "loinc". Can also be \code{NULL} to not transform the input.}
|
||||
|
||||
\item{syndromic_group}{a column name of \code{x}, or values calculated to split rows of \code{x}, e.g. by using \code{\link[=ifelse]{ifelse()}} or \code{\link[dplyr:case_when]{case_when()}}. See \emph{Examples}.}
|
||||
|
||||
\item{add_total_n}{a \link{logical} to indicate whether total available numbers per pathogen should be added to the table (defaults to \code{TRUE}). This will add the lowest and highest number of available isolate per antibiotic (e.g, if for \emph{E. coli} 200 isolates are available for ciprofloxacin and 150 for amoxicillin, the returned number will be "150-200").}
|
||||
|
||||
\item{only_all_tested}{(for combination antibiograms): a \link{logical} to indicate that isolates must be tested for all antibiotics, see \emph{Details}}
|
||||
|
||||
\item{digits}{number of digits to use for rounding}
|
||||
|
||||
\item{col_mo}{column name of the names or codes 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()}}.}
|
||||
|
||||
\item{language}{language to translate text, which defaults to the system language (see \code{\link[=get_AMR_locale]{get_AMR_locale()}})}
|
||||
|
||||
\item{minimum}{the minimum allowed number of available (tested) isolates. Any isolate count lower than \code{minimum} will return \code{NA} with a warning. The default number of \code{30} isolates is advised by the Clinical and Laboratory Standards Institute (CLSI) as best practice, see \emph{Source}.}
|
||||
|
||||
\item{combine_SI}{a \link{logical} to indicate whether all susceptibility should be determined by results of either S or I, instead of only S (defaults to \code{TRUE})}
|
||||
|
||||
\item{sep}{a separating character for antibiotic columns in combination antibiograms}
|
||||
|
||||
\item{as_kable}{a \link{logical} to indicate whether the printing should be done using \code{\link[knitr:kable]{knitr::kable()}} (which is the default in non-interactive sessions)}
|
||||
}
|
||||
\description{
|
||||
Generate an antibiogram, and communicate the results in plots or tables. These functions follow the logic of Klinker \emph{et al.} (2021, \doi{10.1177/20499361211011373}) and Barbieri \emph{et al.} (2021, \doi{10.1186/s13756-021-00939-2}), and allow reporting in e.g. R Markdown and Quarto as well.
|
||||
}
|
||||
\details{
|
||||
This function returns a table with values between 0 and 100 for \emph{susceptibility}, not resistance.
|
||||
|
||||
\strong{Remember that you should filter your data to let it contain only first isolates!} This is needed to exclude duplicates and to reduce selection bias. Use \code{\link[=first_isolate]{first_isolate()}} to determine them in your data set with one of the four available algorithms.
|
||||
|
||||
There are four antibiogram types, as proposed by Klinker \emph{et al.} (2021, \doi{10.1177/20499361211011373}), and they are all supported by \code{\link[=antibiogram]{antibiogram()}}:
|
||||
\enumerate{
|
||||
\item \strong{Traditional Antibiogram}
|
||||
|
||||
Case example: Susceptibility of \emph{Pseudomonas aeruginosa} to piperacillin/tazobactam (TZP)
|
||||
|
||||
Code example:
|
||||
|
||||
\if{html}{\out{<div class="sourceCode r">}}\preformatted{antibiogram(your_data,
|
||||
antibiotics = "TZP")
|
||||
}\if{html}{\out{</div>}}
|
||||
\item \strong{Combination Antibiogram}
|
||||
|
||||
Case example: Additional susceptibility of \emph{Pseudomonas aeruginosa} to TZP + tobramycin versus TZP alone
|
||||
|
||||
Code example:
|
||||
|
||||
\if{html}{\out{<div class="sourceCode r">}}\preformatted{antibiogram(your_data,
|
||||
antibiotics = c("TZP", "TZP+TOB", "TZP+GEN"))
|
||||
}\if{html}{\out{</div>}}
|
||||
\item \strong{Syndromic Antibiogram}
|
||||
|
||||
Case example: Susceptibility of \emph{Pseudomonas aeruginosa} to TZP among respiratory specimens (obtained among ICU patients only)
|
||||
|
||||
Code example:
|
||||
|
||||
\if{html}{\out{<div class="sourceCode r">}}\preformatted{antibiogram(your_data,
|
||||
antibiotics = penicillins(),
|
||||
syndromic_group = "ward")
|
||||
}\if{html}{\out{</div>}}
|
||||
\item \strong{Weighted-Incidence Syndromic Combination Antibiogram (WISCA)}
|
||||
|
||||
Case example: Susceptibility of \emph{Pseudomonas aeruginosa} to TZP among respiratory specimens (obtained among ICU patients only) for male patients age >=65 years with heart failure
|
||||
|
||||
Code example:
|
||||
|
||||
\if{html}{\out{<div class="sourceCode r">}}\preformatted{antibiogram(your_data,
|
||||
antibiotics = c("TZP", "TZP+TOB", "TZP+GEN"),
|
||||
syndromic_group = ifelse(your_data$age >= 65 & your_data$gender == "Male",
|
||||
"Group 1", "Group 2"))
|
||||
}\if{html}{\out{</div>}}
|
||||
}
|
||||
|
||||
All types of antibiograms can be generated with the functions as described on this page, and can be plotted (using \code{\link[ggplot2:autoplot]{ggplot2::autoplot()}} or base \R \code{\link[=plot]{plot()}}/\code{\link[=barplot]{barplot()}}) or printed into R Markdown / Quarto formats for reports. Use functions from specific 'table reporting' packages to transform the output of \code{\link[=antibiogram]{antibiogram()}} to your needs, e.g. \code{flextable::as_flextable()} or \code{gt::gt()}.
|
||||
|
||||
Note that for combination antibiograms, it is important to realise that susceptibility can be calculated in two ways, which can be set with the \code{only_all_tested} argument (defaults to \code{FALSE}). See this example for two antibiotics, Drug A and Drug B, about how \code{\link[=antibiogram]{antibiogram()}} works to calculate the \%SI:
|
||||
|
||||
\if{html}{\out{<div class="sourceCode">}}\preformatted{--------------------------------------------------------------------
|
||||
only_all_tested = FALSE only_all_tested = TRUE
|
||||
----------------------- -----------------------
|
||||
Drug A Drug B include as include as include as include as
|
||||
numerator denominator numerator denominator
|
||||
-------- -------- ---------- ----------- ---------- -----------
|
||||
S or I S or I X X X X
|
||||
R S or I X X X X
|
||||
<NA> S or I X X - -
|
||||
S or I R X X X X
|
||||
R R - X - X
|
||||
<NA> R - - - -
|
||||
S or I <NA> X X - -
|
||||
R <NA> - - - -
|
||||
<NA> <NA> - - - -
|
||||
--------------------------------------------------------------------
|
||||
}\if{html}{\out{</div>}}
|
||||
|
||||
Printing the antibiogram in non-interactive sessions will be done by \code{\link[knitr:kable]{knitr::kable()}}, with support for \link[knitr:kable]{all their implemented formats}, such as "markdown". The knitr format will be automatically determined if printed inside a knitr document (LaTeX, HTML, etc.).
|
||||
}
|
||||
\examples{
|
||||
# example_isolates is a data set available in the AMR package.
|
||||
# run ?example_isolates for more info.
|
||||
example_isolates
|
||||
|
||||
|
||||
# Traditional antibiogram ----------------------------------------------
|
||||
|
||||
antibiogram(example_isolates,
|
||||
antibiotics = c(aminoglycosides(), carbapenems()))
|
||||
|
||||
antibiogram(example_isolates,
|
||||
antibiotics = aminoglycosides(),
|
||||
ab_transform = "atc",
|
||||
mo_transform = "gramstain")
|
||||
|
||||
antibiogram(example_isolates,
|
||||
antibiotics = carbapenems(),
|
||||
ab_transform = "name",
|
||||
mo_transform = "name")
|
||||
|
||||
|
||||
# Combined antibiogram -------------------------------------------------
|
||||
|
||||
# combined antibiotics yield higher empiric coverage
|
||||
antibiogram(example_isolates,
|
||||
antibiotics = c("TZP", "TZP+TOB", "TZP+GEN"),
|
||||
mo_transform = "gramstain")
|
||||
|
||||
antibiogram(example_isolates,
|
||||
antibiotics = c("TZP", "TZP+TOB"),
|
||||
mo_transform = "gramstain",
|
||||
ab_transform = "name",
|
||||
sep = " & ")
|
||||
|
||||
|
||||
# Syndromic antibiogram ------------------------------------------------
|
||||
|
||||
# the data set could contain a filter for e.g. respiratory specimens
|
||||
antibiogram(example_isolates,
|
||||
antibiotics = c(aminoglycosides(), carbapenems()),
|
||||
syndromic_group = "ward")
|
||||
|
||||
# with a custom language, though this will be determined automatically
|
||||
# (i.e., this table will be in Spanish on Spanish systems)
|
||||
ex1 <- example_isolates[which(mo_genus() == "Escherichia"), ]
|
||||
antibiogram(ex1,
|
||||
antibiotics = aminoglycosides(),
|
||||
ab_transform = "name",
|
||||
syndromic_group = ifelse(ex1$ward == "ICU",
|
||||
"UCI", "No UCI"),
|
||||
language = "es")
|
||||
|
||||
|
||||
# Weighted-incidence syndromic combination antibiogram (WISCA) ---------
|
||||
|
||||
# the data set could contain a filter for e.g. respiratory specimens
|
||||
antibiogram(example_isolates,
|
||||
antibiotics = c("AMC", "AMC+CIP", "TZP", "TZP+TOB"),
|
||||
mo_transform = "gramstain",
|
||||
minimum = 10, # this should be >= 30, but now just as example
|
||||
syndromic_group = ifelse(example_isolates$age >= 65 &
|
||||
example_isolates$gender == "M",
|
||||
"WISCA Group 1", "WISCA Group 2"))
|
||||
|
||||
|
||||
# Generate plots with ggplot2 or base R --------------------------------
|
||||
|
||||
ab1 <- antibiogram(example_isolates,
|
||||
antibiotics = c("AMC", "CIP", "TZP", "TZP+TOB"),
|
||||
mo_transform = "gramstain")
|
||||
ab2 <- antibiogram(example_isolates,
|
||||
antibiotics = c("AMC", "CIP", "TZP", "TZP+TOB"),
|
||||
mo_transform = "gramstain",
|
||||
syndromic_group = "ward")
|
||||
|
||||
plot(ab1)
|
||||
|
||||
if (requireNamespace("ggplot2")) {
|
||||
ggplot2::autoplot(ab1)
|
||||
}
|
||||
|
||||
plot(ab2)
|
||||
|
||||
if (requireNamespace("ggplot2")) {
|
||||
ggplot2::autoplot(ab2)
|
||||
}
|
||||
}
|
@ -1,21 +0,0 @@
|
||||
% Generated by roxygen2: do not edit by hand
|
||||
% Please edit documentation in R/antibiogram.R
|
||||
\name{antibiogram_wisca}
|
||||
\alias{antibiogram_wisca}
|
||||
\title{Generate Antibiogram: Traditional, Combined, Syndromic, or Weighted (WISCA)}
|
||||
\usage{
|
||||
antibiogram_wisca(
|
||||
x,
|
||||
...,
|
||||
antibiotics = where(is.sir),
|
||||
type = c("traditional", "combined", "syndromic", "WISCA"),
|
||||
col_mo = NULL,
|
||||
minimum = 30
|
||||
)
|
||||
}
|
||||
\arguments{
|
||||
\item{x}{a \link{data.frame} containing at least a column with microorganisms and columns with antibiotic results (class 'sir', see \code{\link[=as.sir]{as.sir()}})}
|
||||
}
|
||||
\description{
|
||||
Generate Antibiogram: Traditional, Combined, Syndromic, or Weighted (WISCA)
|
||||
}
|
@ -110,7 +110,7 @@ not_intrinsic_resistant(
|
||||
|
||||
\item{filter}{an \link{expression} to be evaluated in the \link{antibiotics} data set, such as \code{name \%like\% "trim"}}
|
||||
|
||||
\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()}}.}
|
||||
\item{col_mo}{column name of the names or codes 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()}}.}
|
||||
|
||||
\item{version_expertrules}{the version number to use for the EUCAST Expert Rules and Intrinsic Resistance guideline. Can be either "3.3", "3.2" or "3.1".}
|
||||
}
|
||||
|
@ -94,7 +94,7 @@ sir_interpretation_history(clean = FALSE)
|
||||
|
||||
\item{include_PKPD}{a \link{logical} to indicate that PK/PD clinical breakpoints must be applied as a last resort, defaults to \code{TRUE}. Can also be set with the option \code{\link[=AMR-options]{AMR_include_PKPD}}.}
|
||||
|
||||
\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()}}.}
|
||||
\item{col_mo}{column name of the names or codes 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()}}.}
|
||||
|
||||
\item{clean}{a \link{logical} to indicate whether previously stored results should be forgotten after returning the 'logbook' with results}
|
||||
}
|
||||
@ -156,7 +156,7 @@ After using \code{\link[=as.sir]{as.sir()}}, you can use the \code{\link[=eucast
|
||||
|
||||
\subsection{Machine-Readable Interpretation Guidelines}{
|
||||
|
||||
The repository of this package \href{https://github.com/msberends/AMR/blob/main/data-raw/clinical_breakpoints.txt}{contains a machine-readable version} of all guidelines. This is a CSV file consisting of 18,308 rows and 11 columns. This file is machine-readable, since it contains one row for every unique combination of the test method (MIC or disk diffusion), the antimicrobial drug and the microorganism. \strong{This allows for easy implementation of these rules in laboratory information systems (LIS)}. Note that it only contains interpretation guidelines for humans - interpretation guidelines from CLSI for animals were removed.
|
||||
The repository of this package \href{https://github.com/msberends/AMR/blob/main/data-raw/clinical_breakpoints.txt}{contains a machine-readable version} of all guidelines. This is a CSV file consisting of 18 308 rows and 11 columns. This file is machine-readable, since it contains one row for every unique combination of the test method (MIC or disk diffusion), the antimicrobial drug and the microorganism. \strong{This allows for easy implementation of these rules in laboratory information systems (LIS)}. Note that it only contains interpretation guidelines for humans - interpretation guidelines from CLSI for animals were removed.
|
||||
}
|
||||
|
||||
\subsection{Other}{
|
||||
|
@ -16,14 +16,14 @@ bug_drug_combinations(x, col_mo = NULL, FUN = mo_shortname, ...)
|
||||
add_ab_group = TRUE,
|
||||
remove_intrinsic_resistant = FALSE,
|
||||
decimal.mark = getOption("OutDec"),
|
||||
big.mark = ifelse(decimal.mark == ",", ".", ","),
|
||||
big.mark = ifelse(decimal.mark == ",", " ", ","),
|
||||
...
|
||||
)
|
||||
}
|
||||
\arguments{
|
||||
\item{x}{a data set with antibiotic columns, such as \code{amox}, \code{AMX} and \code{AMC}}
|
||||
|
||||
\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()}}.}
|
||||
\item{col_mo}{column name of the names or codes 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()}}.}
|
||||
|
||||
\item{FUN}{the function to call on the \code{mo} column to transform the microorganism codes, defaults to \code{\link[=mo_shortname]{mo_shortname()}}}
|
||||
|
||||
@ -59,6 +59,10 @@ The function \code{\link[=format]{format()}} calculates the resistance per bug-d
|
||||
}
|
||||
\examples{
|
||||
\donttest{
|
||||
#' # example_isolates is a data set available in the AMR package.
|
||||
# run ?example_isolates for more info.
|
||||
example_isolates
|
||||
|
||||
x <- bug_drug_combinations(example_isolates)
|
||||
head(x)
|
||||
format(x, translate_ab = "name (atc)")
|
||||
|
@ -5,7 +5,7 @@
|
||||
\alias{clinical_breakpoints}
|
||||
\title{Data Set with Clinical Breakpoints for SIR Interpretation}
|
||||
\format{
|
||||
A \link[tibble:tibble]{tibble} with 18,308 observations and 11 variables:
|
||||
A \link[tibble:tibble]{tibble} with 18 308 observations and 11 variables:
|
||||
\itemize{
|
||||
\item \code{guideline}\cr Name of the guideline
|
||||
\item \code{method}\cr Either "DISK" or "MIC"
|
||||
|
@ -38,7 +38,7 @@ eucast_dosage(ab, administration = "iv", version_breakpoints = 12)
|
||||
\arguments{
|
||||
\item{x}{a data set with antibiotic columns, such as \code{amox}, \code{AMX} and \code{AMC}}
|
||||
|
||||
\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()}}.}
|
||||
\item{col_mo}{column name of the names or codes 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()}}.}
|
||||
|
||||
\item{info}{a \link{logical} to indicate whether progress should be printed to the console, defaults to only print while in interactive sessions}
|
||||
|
||||
|
@ -3,9 +3,9 @@
|
||||
\docType{data}
|
||||
\name{example_isolates}
|
||||
\alias{example_isolates}
|
||||
\title{Data Set with 2,000 Example Isolates}
|
||||
\title{Data Set with 2 000 Example Isolates}
|
||||
\format{
|
||||
A \link[tibble:tibble]{tibble} with 2,000 observations and 46 variables:
|
||||
A \link[tibble:tibble]{tibble} with 2 000 observations and 46 variables:
|
||||
\itemize{
|
||||
\item \code{date}\cr Date of receipt at the laboratory
|
||||
\item \code{patient}\cr ID of the patient
|
||||
@ -20,7 +20,7 @@ A \link[tibble:tibble]{tibble} with 2,000 observations and 46 variables:
|
||||
example_isolates
|
||||
}
|
||||
\description{
|
||||
A data set containing 2,000 microbial isolates with their full antibiograms. This data set contains randomised fictitious data, but reflects reality and can be used to practise AMR data analysis. For examples, please read \href{https://msberends.github.io/AMR/articles/AMR.html}{the tutorial on our website}.
|
||||
A data set containing 2 000 microbial isolates with their full antibiograms. This data set contains randomised fictitious data, but reflects reality and can be used to practise AMR data analysis. For examples, please read \href{https://msberends.github.io/AMR/articles/AMR.html}{the tutorial on our website}.
|
||||
}
|
||||
\details{
|
||||
Like all data sets in this package, this data set is publicly available for download in the following formats: R, MS Excel, Apache Feather, Apache Parquet, SPSS, SAS, and Stata. Please visit \href{https://msberends.github.io/AMR/articles/datasets.html}{our website for the download links}. The actual files are of course available on \href{https://github.com/msberends/AMR/tree/main/data-raw}{our GitHub repository}.
|
||||
|
@ -5,7 +5,7 @@
|
||||
\alias{example_isolates_unclean}
|
||||
\title{Data Set with Unclean Data}
|
||||
\format{
|
||||
A \link[tibble:tibble]{tibble} with 3,000 observations and 8 variables:
|
||||
A \link[tibble:tibble]{tibble} with 3 000 observations and 8 variables:
|
||||
\itemize{
|
||||
\item \code{patient_id}\cr ID of the patient
|
||||
\item \code{date}\cr date of receipt at the laboratory
|
||||
@ -18,7 +18,7 @@ A \link[tibble:tibble]{tibble} with 3,000 observations and 8 variables:
|
||||
example_isolates_unclean
|
||||
}
|
||||
\description{
|
||||
A data set containing 3,000 microbial isolates that are not cleaned up and consequently not ready for AMR data analysis. This data set can be used for practice.
|
||||
A data set containing 3 000 microbial isolates that are not cleaned up and consequently not ready for AMR data analysis. This data set can be used for practice.
|
||||
}
|
||||
\details{
|
||||
Like all data sets in this package, this data set is publicly available for download in the following formats: R, MS Excel, Apache Feather, Apache Parquet, SPSS, SAS, and Stata. Please visit \href{https://msberends.github.io/AMR/articles/datasets.html}{our website for the download links}. The actual files are of course available on \href{https://github.com/msberends/AMR/tree/main/data-raw}{our GitHub repository}.
|
||||
|
@ -52,7 +52,7 @@ filter_first_isolate(
|
||||
|
||||
\item{col_patient_id}{column name of the unique IDs of the patients, defaults to the first column that starts with 'patient' or 'patid' (case insensitive)}
|
||||
|
||||
\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()}}.}
|
||||
\item{col_mo}{column name of the names or codes 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()}}.}
|
||||
|
||||
\item{col_testcode}{column name of the test codes. Use \code{col_testcode = NULL} to \strong{not} exclude certain test codes (such as test codes for screening). In that case \code{testcodes_exclude} will be ignored.}
|
||||
|
||||
@ -109,17 +109,14 @@ All mentioned methods are covered in the \code{\link[=first_isolate]{first_isola
|
||||
\strong{Isolate-based} \tab \code{first_isolate(x, method = "isolate-based")} \cr
|
||||
\emph{(= all isolates)} \tab \cr
|
||||
\tab \cr
|
||||
\tab \cr
|
||||
\strong{Patient-based} \tab \code{first_isolate(x, method = "patient-based")} \cr
|
||||
\emph{(= first isolate per patient)} \tab \cr
|
||||
\tab \cr
|
||||
\tab \cr
|
||||
\strong{Episode-based} \tab \code{first_isolate(x, method = "episode-based")}, or: \cr
|
||||
\emph{(= first isolate per episode)} \tab \cr
|
||||
- 7-Day interval from initial isolate \tab - \code{first_isolate(x, method = "e", episode_days = 7)} \cr
|
||||
- 30-Day interval from initial isolate \tab - \code{first_isolate(x, method = "e", episode_days = 30)} \cr
|
||||
\tab \cr
|
||||
\tab \cr
|
||||
\strong{Phenotype-based} \tab \code{first_isolate(x, method = "phenotype-based")}, or: \cr
|
||||
\emph{(= first isolate per phenotype)} \tab \cr
|
||||
- Major difference in any antimicrobial result \tab - \code{first_isolate(x, type = "points")} \cr
|
||||
@ -168,7 +165,7 @@ The default method is phenotype-based (using \code{type = "points"}) and episode
|
||||
# `example_isolates` is a data set available in the AMR package.
|
||||
# See ?example_isolates.
|
||||
|
||||
example_isolates[first_isolate(), ]
|
||||
example_isolates[first_isolate(info = TRUE), ]
|
||||
\donttest{
|
||||
# get all first Gram-negatives
|
||||
example_isolates[which(first_isolate(info = FALSE) & mo_is_gram_negative()), ]
|
||||
@ -176,7 +173,7 @@ example_isolates[which(first_isolate(info = FALSE) & mo_is_gram_negative()), ]
|
||||
if (require("dplyr")) {
|
||||
# filter on first isolates using dplyr:
|
||||
example_isolates \%>\%
|
||||
filter(first_isolate())
|
||||
filter(first_isolate(info = TRUE))
|
||||
}
|
||||
if (require("dplyr")) {
|
||||
# short-hand version:
|
||||
@ -187,7 +184,7 @@ if (require("dplyr")) {
|
||||
# flag the first isolates per group:
|
||||
example_isolates \%>\%
|
||||
group_by(ward) \%>\%
|
||||
mutate(first = first_isolate()) \%>\%
|
||||
mutate(first = first_isolate(info = FALSE)) \%>\%
|
||||
select(ward, date, patient, mo, first)
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
% Generated by roxygen2: do not edit by hand
|
||||
% Please edit documentation in R/episode.R
|
||||
% Please edit documentation in R/get_episode.R
|
||||
\name{get_episode}
|
||||
\alias{get_episode}
|
||||
\alias{is_new_episode}
|
||||
@ -23,19 +23,19 @@ is_new_episode(x, episode_days, ...)
|
||||
}
|
||||
}
|
||||
\description{
|
||||
These functions determine which items in a vector can be considered (the start of) a new episode, based on the argument \code{episode_days}. This can be used to determine clinical episodes for any epidemiological analysis. The \code{\link[=get_episode]{get_episode()}} function returns the index number of the episode per group, while the \code{\link[=is_new_episode]{is_new_episode()}} function returns values \code{TRUE}/\code{FALSE} to indicate whether an item in a vector is the start of a new episode.
|
||||
These functions determine which items in a vector can be considered (the start of) a new episode, based on the argument \code{episode_days}. This can be used to determine clinical episodes for any epidemiological analysis. The \code{\link[=get_episode]{get_episode()}} function returns the index number of the episode per group, while the \code{\link[=is_new_episode]{is_new_episode()}} function returns values \code{TRUE}/\code{FALSE} for where \code{\link[=get_episode]{get_episode()}} returns 1, and is thus equal to \code{get_episode(...) == 1}.
|
||||
}
|
||||
\details{
|
||||
Dates are first sorted from old to new. The oldest date will mark the start of the first episode. After this date, the next date will be marked that is at least \code{episode_days} days later than the start of the first episode. From that second marked date on, the next date will be marked that is at least \code{episode_days} days later than the start of the second episode which will be the start of the third episode, and so on. Before the vector is being returned, the original order will be restored.
|
||||
|
||||
The \code{\link[=first_isolate]{first_isolate()}} function is a wrapper around the \code{\link[=is_new_episode]{is_new_episode()}} function, but is more efficient for data sets containing microorganism codes or names and allows for different isolate selection methods.
|
||||
|
||||
The \code{dplyr} package is not required for these functions to work, but these functions do support \link[dplyr:group_by]{variable grouping} and work conveniently inside \code{dplyr} verbs such as \code{\link[dplyr:filter]{filter()}}, \code{\link[dplyr:mutate]{mutate()}} and \code{\link[dplyr:summarise]{summarise()}}.
|
||||
The \code{dplyr} package is not required for these functions to work, but these episode functions do support \link[dplyr:group_by]{variable grouping} and work conveniently inside \code{dplyr} verbs such as \code{\link[dplyr:filter]{filter()}}, \code{\link[dplyr:mutate]{mutate()}} and \code{\link[dplyr:summarise]{summarise()}}.
|
||||
}
|
||||
\examples{
|
||||
# `example_isolates` is a data set available in the AMR package.
|
||||
# See ?example_isolates
|
||||
df <- example_isolates[sample(seq_len(2000), size = 200), ]
|
||||
df <- example_isolates[sample(seq_len(2000), size = 100), ]
|
||||
|
||||
get_episode(df$date, episode_days = 60) # indices
|
||||
is_new_episode(df$date, episode_days = 60) # TRUE/FALSE
|
||||
@ -44,13 +44,9 @@ is_new_episode(df$date, episode_days = 60) # TRUE/FALSE
|
||||
df[which(get_episode(df$date, 60) == 3), ]
|
||||
|
||||
# the functions also work for less than a day, e.g. to include one per hour:
|
||||
get_episode(
|
||||
c(
|
||||
Sys.time(),
|
||||
Sys.time() + 60 * 60
|
||||
),
|
||||
episode_days = 1 / 24
|
||||
)
|
||||
get_episode(c(Sys.time(),
|
||||
Sys.time() + 60 * 60),
|
||||
episode_days = 1 / 24)
|
||||
|
||||
\donttest{
|
||||
if (require("dplyr")) {
|
||||
@ -66,6 +62,7 @@ if (require("dplyr")) {
|
||||
mutate(new_episode = is_new_episode(date, 365)) \%>\%
|
||||
select(patient, date, condition, new_episode)
|
||||
}
|
||||
|
||||
if (require("dplyr")) {
|
||||
df \%>\%
|
||||
group_by(ward, patient) \%>\%
|
||||
@ -75,6 +72,7 @@ if (require("dplyr")) {
|
||||
new_logical = is_new_episode(date, 60)
|
||||
)
|
||||
}
|
||||
|
||||
if (require("dplyr")) {
|
||||
df \%>\%
|
||||
group_by(ward) \%>\%
|
||||
@ -85,25 +83,10 @@ if (require("dplyr")) {
|
||||
n_episodes_30 = sum(is_new_episode(date, episode_days = 30))
|
||||
)
|
||||
}
|
||||
if (require("dplyr")) {
|
||||
# grouping on patients and microorganisms leads to the same
|
||||
# results as first_isolate() when using 'episode-based':
|
||||
x <- df \%>\%
|
||||
filter_first_isolate(
|
||||
include_unknown = TRUE,
|
||||
method = "episode-based"
|
||||
)
|
||||
|
||||
y <- df \%>\%
|
||||
group_by(patient, mo) \%>\%
|
||||
filter(is_new_episode(date, 365)) \%>\%
|
||||
ungroup()
|
||||
|
||||
identical(x, y)
|
||||
}
|
||||
if (require("dplyr")) {
|
||||
# but is_new_episode() has a lot more flexibility than first_isolate(),
|
||||
# since you can now group on anything that seems relevant:
|
||||
# is_new_episode() has a lot more flexibility than first_isolate(),
|
||||
# since you can group on anything that seems relevant:
|
||||
df \%>\%
|
||||
group_by(patient, mo, ward) \%>\%
|
||||
mutate(flag_episode = is_new_episode(date, 365)) \%>\%
|
||||
|
@ -5,7 +5,7 @@
|
||||
\alias{intrinsic_resistant}
|
||||
\title{Data Set with Bacterial Intrinsic Resistance}
|
||||
\format{
|
||||
A \link[tibble:tibble]{tibble} with 134,634 observations and 2 variables:
|
||||
A \link[tibble:tibble]{tibble} with 134 634 observations and 2 variables:
|
||||
\itemize{
|
||||
\item \code{mo}\cr Microorganism ID
|
||||
\item \code{ab}\cr Antibiotic ID
|
||||
|
@ -35,7 +35,7 @@ antimicrobials_equal(
|
||||
\arguments{
|
||||
\item{x}{a \link{data.frame} with antibiotics columns, like \code{AMX} or \code{amox}. Can be left blank to determine automatically}
|
||||
|
||||
\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()}}.}
|
||||
\item{col_mo}{column name of the names or codes 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()}}.}
|
||||
|
||||
\item{universal}{names of \strong{broad-spectrum} antimicrobial drugs, case-insensitive. Set to \code{NULL} to ignore. See \emph{Details} for the default antimicrobial drugs}
|
||||
|
||||
|
@ -48,7 +48,7 @@ eucast_exceptional_phenotypes(x = NULL, only_sir_columns = FALSE, ...)
|
||||
|
||||
\item{guideline}{a specific guideline to follow, see sections \emph{Supported international / national guidelines} and \emph{Using Custom Guidelines} below. When left empty, the publication by Magiorakos \emph{et al.} (see below) will be followed.}
|
||||
|
||||
\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()}}.}
|
||||
\item{col_mo}{column name of the names or codes 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()}}.}
|
||||
|
||||
\item{info}{a \link{logical} to indicate whether progress should be printed to the console, defaults to only print while in interactive sessions}
|
||||
|
||||
|
@ -3,9 +3,9 @@
|
||||
\docType{data}
|
||||
\name{microorganisms}
|
||||
\alias{microorganisms}
|
||||
\title{Data Set with 52,141 Microorganisms}
|
||||
\title{Data Set with 52 142 Microorganisms}
|
||||
\format{
|
||||
A \link[tibble:tibble]{tibble} with 52,141 observations and 22 variables:
|
||||
A \link[tibble:tibble]{tibble} with 52 142 observations and 22 variables:
|
||||
\itemize{
|
||||
\item \code{mo}\cr ID of microorganism as used by this package
|
||||
\item \code{fullname}\cr Full name, like \code{"Escherichia coli"}. For the taxonomic ranks genus, species and subspecies, this is the 'pasted' text of genus, species, and subspecies. For all taxonomic ranks higher than genus, this is the name of the taxon.
|
||||
|
@ -3,9 +3,9 @@
|
||||
\docType{data}
|
||||
\name{microorganisms.codes}
|
||||
\alias{microorganisms.codes}
|
||||
\title{Data Set with 5,910 Common Microorganism Codes}
|
||||
\title{Data Set with 5 910 Common Microorganism Codes}
|
||||
\format{
|
||||
A \link[tibble:tibble]{tibble} with 5,910 observations and 2 variables:
|
||||
A \link[tibble:tibble]{tibble} with 5 910 observations and 2 variables:
|
||||
\itemize{
|
||||
\item \code{code}\cr Commonly used code of a microorganism
|
||||
\item \code{mo}\cr ID of the microorganism in the \link{microorganisms} data set
|
||||
|
@ -278,7 +278,7 @@ mo_property(
|
||||
|
||||
\item{open}{browse the URL using \code{\link[utils:browseURL]{browseURL()}}}
|
||||
|
||||
\item{property}{one of the column names of the \link{microorganisms} data set: "mo", "fullname", "status", "kingdom", "phylum", "class", "order", "family", "genus", "species", "subspecies", "rank", "ref", "source", "lpsn", "lpsn_parent", "lpsn_renamed_to", "gbif", "gbif_parent", "gbif_renamed_to", "prevalence" or "snomed", or must be \code{"shortname"}}
|
||||
\item{property}{one of the column names of the \link{microorganisms} data set: "mo", "fullname", "status", "kingdom", "phylum", "class", "order", "family", "genus", "species", "subspecies", "rank", "ref", "source", "lpsn", "lpsn_parent", "lpsn_renamed_to", "gbif", "gbif_parent", "gbif_renamed_to", "prevalence" or "snomed"}
|
||||
}
|
||||
\value{
|
||||
\itemize{
|
||||
|
@ -13,7 +13,7 @@
|
||||
\alias{proportion_S}
|
||||
\alias{proportion_df}
|
||||
\alias{sir_df}
|
||||
\title{Calculate Microbial Resistance}
|
||||
\title{Calculate Antimicrobial Resistance}
|
||||
\source{
|
||||
\strong{M39 Analysis and Presentation of Cumulative Antimicrobial Susceptibility Test Data, 5th Edition}, 2022, \emph{Clinical and Laboratory Standards Institute (CLSI)}. \url{https://clsi.org/standards/products/microbiology/documents/m39/}.
|
||||
}
|
||||
@ -98,7 +98,7 @@ The function \code{\link[=resistance]{resistance()}} is equal to the function \c
|
||||
|
||||
Use \code{\link[=sir_confidence_interval]{sir_confidence_interval()}} to calculate the confidence interval, which relies on \code{\link[=binom.test]{binom.test()}}, i.e., the Clopper-Pearson method. This function returns a vector of length 2 at default for antimicrobial \emph{resistance}. Change the \code{side} argument to "left"/"min" or "right"/"max" to return a single value, and change the \code{ab_result} argument to e.g. \code{c("S", "I")} to test for antimicrobial \emph{susceptibility}, see Examples.
|
||||
|
||||
\strong{Remember that you should filter your data to let it contain only first isolates!} This is needed to exclude duplicates and to reduce selection bias. Use \code{\link[=first_isolate]{first_isolate()}} to determine them in your data set.
|
||||
\strong{Remember that you should filter your data to let it contain only first isolates!} This is needed to exclude duplicates and to reduce selection bias. Use \code{\link[=first_isolate]{first_isolate()}} to determine them in your data set with one of the four available algorithms.
|
||||
|
||||
These functions are not meant to count isolates, but to calculate the proportion of resistance/susceptibility. Use the \code{\link[=count]{count()}} functions to count isolates. The function \code{\link[=susceptibility]{susceptibility()}} is essentially equal to \code{count_susceptible() / count_all()}. \emph{Low counts can influence the outcome - the \code{proportion} functions may camouflage this, since they only return the proportion (albeit being dependent on the \code{minimum} argument).}
|
||||
|
||||
@ -162,6 +162,7 @@ This AMR package honours this insight. Use \code{\link[=susceptibility]{suscepti
|
||||
\examples{
|
||||
# example_isolates is a data set available in the AMR package.
|
||||
# run ?example_isolates for more info.
|
||||
example_isolates
|
||||
|
||||
# base R ------------------------------------------------------------
|
||||
# determines \%R
|
||||
|
Reference in New Issue
Block a user