Apply susceptibility rules as defined by the European Committee on Antimicrobial Susceptibility Testing (EUCAST, http://eucast.org), see Source. This includes (1) expert rules, (2) intrinsic resistance and (3) inferred resistance as defined in their breakpoint tables.

eucast_rules(tbl, col_mo = NULL, info = TRUE,
  rules = c("breakpoints", "expert", "other", "all"), verbose = FALSE,
  amcl = guess_ab_col(), amik = guess_ab_col(),
  amox = guess_ab_col(), ampi = guess_ab_col(),
  azit = guess_ab_col(), azlo = guess_ab_col(),
  aztr = guess_ab_col(), cefa = guess_ab_col(),
  cfep = guess_ab_col(), cfot = guess_ab_col(),
  cfox = guess_ab_col(), cfra = guess_ab_col(),
  cfta = guess_ab_col(), cftr = guess_ab_col(),
  cfur = guess_ab_col(), chlo = guess_ab_col(),
  cipr = guess_ab_col(), clar = guess_ab_col(),
  clin = guess_ab_col(), clox = guess_ab_col(),
  coli = guess_ab_col(), czol = guess_ab_col(),
  dapt = guess_ab_col(), doxy = guess_ab_col(),
  erta = guess_ab_col(), eryt = guess_ab_col(),
  fosf = guess_ab_col(), fusi = guess_ab_col(),
  gent = guess_ab_col(), imip = guess_ab_col(),
  kana = guess_ab_col(), levo = guess_ab_col(),
  linc = guess_ab_col(), line = guess_ab_col(),
  mero = guess_ab_col(), mezl = guess_ab_col(),
  mino = guess_ab_col(), moxi = guess_ab_col(),
  nali = guess_ab_col(), neom = guess_ab_col(),
  neti = guess_ab_col(), nitr = guess_ab_col(),
  norf = guess_ab_col(), novo = guess_ab_col(),
  oflo = guess_ab_col(), oxac = guess_ab_col(),
  peni = guess_ab_col(), pipe = guess_ab_col(),
  pita = guess_ab_col(), poly = guess_ab_col(),
  pris = guess_ab_col(), qida = guess_ab_col(),
  rifa = guess_ab_col(), roxi = guess_ab_col(),
  siso = guess_ab_col(), teic = guess_ab_col(),
  tetr = guess_ab_col(), tica = guess_ab_col(),
  tige = guess_ab_col(), tobr = guess_ab_col(),
  trim = guess_ab_col(), trsu = guess_ab_col(),
  vanc = guess_ab_col())

EUCAST_rules(...)

interpretive_reading(...)

Arguments

tbl

table with antibiotic columns, like e.g. amox and amcl

col_mo

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

info

print progress

rules

a character vector that specifies which rules should be applied - one or more of c("breakpoints", "expert", "other", "all")

verbose

a logical to indicate whether extensive info should be returned as a data.frame with info about which rows and columns are effected. It runs all EUCAST rules, but will not be applied to an output - only an informative data.frame with changes will be returned as output.

amcl, amik, amox, ampi, azit, azlo, aztr, cefa, cfep, cfot, cfox, cfra, cfta, cftr, cfur, chlo, cipr, clar, clin, clox, coli, czol, dapt, doxy, erta, eryt, fosf, fusi, gent, imip, kana, levo, linc, line, mero, mezl, mino, moxi, nali, neom, neti, nitr, norf, novo, oflo, oxac, peni, pipe, pita, poly, pris, qida, rifa, roxi, siso, teic, tetr, tica, tige, tobr, trim, trsu, vanc

column name of an antibiotic, see Antibiotics

...

parameters that are passed on to eucast_rules

Source

Value

The input of tbl, possibly with edited values of antibiotics. Or, if verbose = TRUE, a data.frame with all original and new values of the affected bug-drug combinations.

Antibiotics

To define antibiotics column names, leave as it is to determine it automatically with guess_ab_col or input a text (case-insensitive) or use NULL to skip a column (e.g. tica = NULL). Non-existing columns will anyway be skipped with a warning.

Abbrevations of the column containing antibiotics in the form: abbreviation: generic name (ATC code)

amcl: amoxicillin+clavulanic acid (J01CR02), amik: amikacin (J01GB06), amox: amoxicillin (J01CA04), ampi: ampicillin (J01CA01), azit: azithromycin (J01FA10), azlo: azlocillin (J01CA09), aztr: aztreonam (J01DF01), cefa: cefaloridine (J01DB02), cfep: cefepime (J01DE01), cfot: cefotaxime (J01DD01), cfox: cefoxitin (J01DC01), cfra: cefradine (J01DB09), cfta: ceftazidime (J01DD02), cftr: ceftriaxone (J01DD04), cfur: cefuroxime (J01DC02), chlo: chloramphenicol (J01BA01), cipr: ciprofloxacin (J01MA02), clar: clarithromycin (J01FA09), clin: clindamycin (J01FF01), clox: flucloxacillin (J01CF05), coli: colistin (J01XB01), czol: cefazolin (J01DB04), dapt: daptomycin (J01XX09), doxy: doxycycline (J01AA02), erta: ertapenem (J01DH03), eryt: erythromycin (J01FA01), fosf: fosfomycin (J01XX01), fusi: fusidic acid (J01XC01), gent: gentamicin (J01GB03), imip: imipenem (J01DH51), kana: kanamycin (J01GB04), levo: levofloxacin (J01MA12), linc: lincomycin (J01FF02), line: linezolid (J01XX08), mero: meropenem (J01DH02), mezl: mezlocillin (J01CA10), mino: minocycline (J01AA08), moxi: moxifloxacin (J01MA14), nali: nalidixic acid (J01MB02), neom: neomycin (J01GB05), neti: netilmicin (J01GB07), nitr: nitrofurantoin (J01XE01), norf: norfloxacin (J01MA06), novo: novobiocin (an ATCvet code: QJ01XX95), oflo: ofloxacin (J01MA01), peni: (benzyl)penicillin (J01CE01), pipe: piperacillin (J01CA12), pita: piperacillin+tazobactam (J01CR05), poly: polymyxin B (J01XB02), pris: pristinamycin (J01FG01), qida: quinupristin/dalfopristin (J01FG02), rifa: rifampicin (J04AB02), roxi: roxithromycin (J01FA06), siso: sisomicin (J01GB08), teic: teicoplanin (J01XA02), tetr: tetracycline (J01AA07), tica: ticarcillin (J01CA13), tige: tigecycline (J01AA12), tobr: tobramycin (J01GB01), trim: trimethoprim (J01EA01), trsu: sulfamethoxazole and trimethoprim (J01EE01), vanc: vancomycin (J01XA01).

Read more on our website!


On our website https://msberends.gitlab.io/AMR you can find a comprehensive tutorial about how to conduct AMR analysis, the complete documentation of all functions (which reads a lot easier than here in R) and an example analysis using WHONET data.

Examples

# NOT RUN {
a <- eucast_rules(septic_patients)

a <- data.frame(mo = c("Staphylococcus aureus",
                       "Enterococcus faecalis",
                       "Escherichia coli",
                       "Klebsiella pneumoniae",
                       "Pseudomonas aeruginosa"),
                vanc = "-",       # Vancomycin
                amox = "-",       # Amoxicillin
                coli = "-",       # Colistin
                cfta = "-",       # Ceftazidime
                cfur = "-",       # Cefuroxime
                peni = "S",       # Benzylpenicillin
                cfox = "S",       # Cefoxitin
                stringsAsFactors = FALSE)

a
#                       mo vanc amox coli cfta cfur peni cfox
# 1  Staphylococcus aureus    -    -    -    -    -    S    S
# 2  Enterococcus faecalis    -    -    -    -    -    S    S
# 3       Escherichia coli    -    -    -    -    -    S    S
# 4  Klebsiella pneumoniae    -    -    -    -    -    S    S
# 5 Pseudomonas aeruginosa    -    -    -    -    -    S    S


# apply EUCAST rules: 18 results are forced as R or S
b <- eucast_rules(a)

b
#                       mo vanc amox coli cfta cfur peni cfox
# 1  Staphylococcus aureus    -    S    R    R    S    S    S
# 2  Enterococcus faecalis    -    -    R    R    R    S    R
# 3       Escherichia coli    R    -    -    -    -    R    S
# 4  Klebsiella pneumoniae    R    R    -    -    -    R    S
# 5 Pseudomonas aeruginosa    R    R    -    -    R    R    R


# do not apply EUCAST rules, but rather get a a data.frame
# with 18 rows, containing all details about the transformations:
c <- eucast_rules(a, verbose = TRUE)
# }