eucast_rules.Rd
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(x, col_mo = NULL, info = TRUE, rules = c("breakpoints", "expert", "other", "all"), verbose = FALSE, ...)
x | data with antibiotic columns, like e.g. |
---|---|
col_mo | column name of the IDs of the microorganisms (see |
info | print progress |
rules | a character vector that specifies which rules should be applied - one or more of |
verbose | a logical to turn Verbose mode on and off (default is off). In Verbose mode, the function does not apply rules to the data, but instead returns a data set in logbook form with extensive info about which rows and columns would be effected and in which way. |
... | column name of an antibiotic, see section Antibiotics |
EUCAST Expert Rules. Version 2.0, 2012.
Leclercq et al. EUCAST expert rules in antimicrobial susceptibility testing. Clin Microbiol Infect. 2013;19(2):141-60.
https://doi.org/10.1111/j.1469-0691.2011.03703.x
EUCAST Expert Rules, Intrinsic Resistance and Exceptional Phenotypes Tables. Version 3.1, 2016.
http://www.eucast.org/fileadmin/src/media/PDFs/EUCAST_files/Expert_Rules/Expert_rules_intrinsic_exceptional_V3.1.pdf
EUCAST Breakpoint tables for interpretation of MICs and zone diameters. Version 9.0, 2019.
http://www.eucast.org/fileadmin/src/media/PDFs/EUCAST_files/Breakpoint_tables/v_9.0_Breakpoint_Tables.xlsx
The input of x
, 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.
Note: This function does not translate MIC values to RSI values. Use as.rsi
for that.
Note: When ampicillin (AMP, J01CA01) is not available but amoxicillin (AMX, J01CA04) is, the latter will be used for all rules where there is a dependency on ampicillin. These drugs are interchangeable when it comes to expression of antimicrobial resistance.
The file containing all EUCAST rules is located here: https://gitlab.com/msberends/AMR/blob/master/data-raw/eucast_rules.tsv.
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. TIC = NULL
to skip ticarcillin). Manually defined but non-existing columns will be skipped with a warning.
The following antibiotics are used for the functions eucast_rules
and mdro
. These are shown below in the format 'antimicrobial ID: name (ATC code)', sorted by name:
AMK: amikacin (J01GB06), AMX: amoxicillin (J01CA04), AMC: amoxicillin/clavulanic acid (J01CR02), AMP: ampicillin (J01CA01), SAM: ampicillin/sulbactam (J01CR01), AZM: azithromycin (J01FA10), AZL: azlocillin (J01CA09), ATM: aztreonam (J01DF01), CAP: capreomycin (J04AB30), RID: cefaloridine (J01DB02), CZO: cefazolin (J01DB04), FEP: cefepime (J01DE01), CTX: cefotaxime (J01DD01), CTT: cefotetan (J01DC05), FOX: cefoxitin (J01DC01), CPT: ceftaroline (J01DI02), CAZ: ceftazidime (J01DD02), CRO: ceftriaxone (J01DD04), CXM: cefuroxime (J01DC02), CED: cephradine (J01DB09), CHL: chloramphenicol (J01BA01), CIP: ciprofloxacin (J01MA02), CLR: clarithromycin (J01FA09), CLI: clindamycin (J01FF01), COL: colistin (J01XB01), DAP: daptomycin (J01XX09), DOR: doripenem (J01DH04), DOX: doxycycline (J01AA02), ETP: ertapenem (J01DH03), ERY: erythromycin (J01FA01), ETH: ethambutol (J04AK02), FLC: flucloxacillin (J01CF05), FOS: fosfomycin (J01XX01), FUS: fusidic acid (J01XC01), GAT: gatifloxacin (J01MA16), GEN: gentamicin (J01GB03), GEH: gentamicin-high (no ATC code), IPM: imipenem (J01DH51), INH: isoniazid (J04AC01), KAN: kanamycin (J01GB04), LVX: levofloxacin (J01MA12), LIN: lincomycin (J01FF02), LNZ: linezolid (J01XX08), MEM: meropenem (J01DH02), MTR: metronidazole (J01XD01), MEZ: mezlocillin (J01CA10), MNO: minocycline (J01AA08), MFX: moxifloxacin (J01MA14), NAL: nalidixic acid (J01MB02), NEO: neomycin (J01GB05), NET: netilmicin (J01GB07), NIT: nitrofurantoin (J01XE01), NOR: norfloxacin (J01MA06), NOV: novobiocin (QJ01XX95), OFX: ofloxacin (J01MA01), OXA: oxacillin (J01CF04), PEN: penicillin G (J01RA01), PIP: piperacillin (J01CA12), TZP: piperacillin/tazobactam (J01CR05), PLB: polymyxin B (J01XB02), PRI: pristinamycin (J01FG01), PZA: pyrazinamide (J04AK01), QDA: quinupristin/dalfopristin (J01FG02), RIB: rifabutin (J04AB04), RIF: rifampicin (J04AB02), RFP: rifapentine (J04AB05), RXT: roxithromicin (J01FA06), SIS: sisomicin (J01GB08), STH: streptomycin-high (no ATC code), TEC: teicoplanin (J01XA02), TLV: telavancin (J01XA03), TCY: tetracycline (J01AA07), TIC: ticarcillin (J01CA13), TCC: ticarcillin/clavulanic acid (J01CR03), TGC: tigecycline (J01AA12), TOB: tobramycin (J01GB01), TMP: trimethoprim (J01EA01), SXT: trimethoprim/sulfamethoxazole (J01EE01), VAN: vancomycin (J01XA01).
On our website https://msberends.gitlab.io/AMR you can find a 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.
a <- data.frame(mo = c("Staphylococcus aureus", "Enterococcus faecalis", "Escherichia coli", "Klebsiella pneumoniae", "Pseudomonas aeruginosa"), VAN = "-", # Vancomycin AMX = "-", # Amoxicillin COL = "-", # Colistin CAZ = "-", # Ceftazidime CXM = "-", # Cefuroxime PEN = "S", # Penicillin G FOX = "S", # Cefoxitin stringsAsFactors = FALSE) a # mo VAN AMX COL CAZ CXM PEN FOX # 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 VAN AMX COL CAZ CXM PEN FOX # 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 # \donttest{ # do not apply EUCAST rules, but rather get a data.frame # with 18 rows, containing all details about the transformations: c <- eucast_rules(a, verbose = TRUE) # }