<!-- Generated by pkgdown: do not edit by hand --> <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Use predefined reference data set — mo_source • AMR (for R)</title> <!-- favicons --> <link rel="icon" type="image/png" sizes="16x16" href="../favicon-16x16.png"> <link rel="icon" type="image/png" sizes="32x32" href="../favicon-32x32.png"> <link rel="apple-touch-icon" type="image/png" sizes="180x180" href="../apple-touch-icon.png" /> <link rel="apple-touch-icon" type="image/png" sizes="120x120" href="../apple-touch-icon-120x120.png" /> <link rel="apple-touch-icon" type="image/png" sizes="76x76" href="../apple-touch-icon-76x76.png" /> <link rel="apple-touch-icon" type="image/png" sizes="60x60" href="../apple-touch-icon-60x60.png" /> <!-- jquery --> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> <!-- Bootstrap --> <link href="https://cdnjs.cloudflare.com/ajax/libs/bootswatch/3.3.7/flatly/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous" /> <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script> <!-- Font Awesome icons --> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" integrity="sha256-eZrrJcwDc/3uDhsdt61sL2oOBY362qM3lon1gyExkL0=" crossorigin="anonymous" /> <!-- clipboard.js --> <script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script> <!-- sticky kit --> <script src="https://cdnjs.cloudflare.com/ajax/libs/sticky-kit/1.1.3/sticky-kit.min.js" integrity="sha256-c4Rlo1ZozqTPE2RLuvbusY3+SU1pQaJC0TjuhygMipw=" crossorigin="anonymous"></script> <!-- pkgdown --> <link href="../pkgdown.css" rel="stylesheet"> <script src="../pkgdown.js"></script> <!-- docsearch --> <script src="../docsearch.js"></script> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/docsearch.js/2.6.1/docsearch.min.css" integrity="sha256-QOSRU/ra9ActyXkIBbiIB144aDBdtvXBcNc3OTNuX/Q=" crossorigin="anonymous" /> <link href="../docsearch.css" rel="stylesheet"> <script src="https://cdnjs.cloudflare.com/ajax/libs/mark.js/8.11.1/jquery.mark.min.js" integrity="sha256-4HLtjeVgH0eIB3aZ9mLYF6E8oU5chNdjU6p6rrXpl9U=" crossorigin="anonymous"></script> <link href="../extra.css" rel="stylesheet"> <script src="../extra.js"></script> <meta property="og:title" content="Use predefined reference data set — mo_source" /> <meta property="og:description" content="These functions can be used to predefine your own reference to be used in as.mo and consequently all mo_* functions like mo_genus and mo_gramstain. This is the fastest way to have your organisation (or analysis) specific codes picked up and translated by this package." /> <meta property="og:image" content="https://msberends.gitlab.io/AMR/logo.png" /> <meta name="twitter:card" content="summary" /> <!-- mathjax --> <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script> <!--[if lt IE 9]> <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> <![endif]--> </head> <body> <div class="container template-reference-topic"> <header> <div class="navbar navbar-default navbar-fixed-top" role="navigation"> <div class="container"> <div class="navbar-header"> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <span class="navbar-brand"> <a class="navbar-link" href="../index.html">AMR (for R)</a> <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Latest development version">0.7.1.9055</span> </span> </div> <div id="navbar" class="navbar-collapse collapse"> <ul class="nav navbar-nav"> <li> <a href="../index.html"> <span class="fa fa-home"></span> Home </a> </li> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> <span class="fa fa-question-circle"></span> How to <span class="caret"></span> </a> <ul class="dropdown-menu" role="menu"> <li> <a href="../articles/AMR.html"> <span class="fa fa-directions"></span> Conduct AMR analysis </a> </li> <li> <a href="../articles/resistance_predict.html"> <span class="fa fa-dice"></span> Predict antimicrobial resistance </a> </li> <li> <a href="../articles/MDR.html"> <span class="fa fa-skull-crossbones"></span> Determine multi-drug resistance (MDR) </a> </li> <li> <a href="../articles/WHONET.html"> <span class="fa fa-globe-americas"></span> Work with WHONET data </a> </li> <li> <a href="../articles/SPSS.html"> <span class="fa fa-file-upload"></span> Import data from SPSS/SAS/Stata </a> </li> <li> <a href="../articles/EUCAST.html"> <span class="fa fa-exchange-alt"></span> Apply EUCAST rules </a> </li> <li> <a href="../reference/mo_property.html"> <span class="fa fa-bug"></span> Get properties of a microorganism </a> </li> <li> <a href="../reference/ab_property.html"> <span class="fa fa-capsules"></span> Get properties of an antibiotic </a> </li> <li> <a href="../articles/benchmarks.html"> <span class="fa fa-shipping-fast"></span> Other: benchmarks </a> </li> </ul> </li> <li> <a href="../reference/"> <span class="fa fa-book-open"></span> Manual </a> </li> <li> <a href="../authors.html"> <span class="fa fa-users"></span> Authors </a> </li> <li> <a href="../news/"> <span class="far fa far fa-newspaper"></span> Changelog </a> </li> </ul> <ul class="nav navbar-nav navbar-right"> <li> <a href="https://gitlab.com/msberends/AMR"> <span class="fab fa fab fa-gitlab"></span> Source Code </a> </li> <li> <a href="../LICENSE-text.html"> <span class="fa fa-book"></span> Licence </a> </li> </ul> <form class="navbar-form navbar-right" role="search"> <div class="form-group"> <input type="search" class="form-control" name="search-input" id="search-input" placeholder="Search..." aria-label="Search for..." autocomplete="off"> </div> </form> </div><!--/.nav-collapse --> </div><!--/.container --> </div><!--/.navbar --> </header> <div class="row"> <div class="col-md-9 contents"> <div class="page-header"> <h1>Use predefined reference data set</h1> <div class="hidden name"><code>mo_source.Rd</code></div> </div> <div class="ref-description"> <p>These functions can be used to predefine your own reference to be used in <code><a href='as.mo.html'>as.mo</a></code> and consequently all <code>mo_*</code> functions like <code><a href='mo_property.html'>mo_genus</a></code> and <code><a href='mo_property.html'>mo_gramstain</a></code>.</p> <p>This is <strong>the fastest way</strong> to have your organisation (or analysis) specific codes picked up and translated by this package.</p> </div> <pre class="usage"><span class='fu'>set_mo_source</span>(<span class='no'>path</span>) <span class='fu'>get_mo_source</span>()</pre> <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> <table class="ref-arguments"> <colgroup><col class="name" /><col class="desc" /></colgroup> <tr> <th>path</th> <td><p>location of your reference file, see Details</p></td> </tr> </table> <h2 class="hasAnchor" id="details"><a class="anchor" href="#details"></a>Details</h2> <p>The reference file can be a text file seperated with commas (CSV) or tabs or pipes, an Excel file (either 'xls' or 'xlsx' format) or an R object file (extension '.rds'). To use an Excel file, you need to have the <code>readxl</code> package installed.</p> <p><code>set_mo_source</code> will check the file for validity: it must be a <code>data.frame</code>, must have a column named <code>"mo"</code> which contains values from <code>microorganisms$mo</code> and must have a reference column with your own defined values. If all tests pass, <code>set_mo_source</code> will read the file into R and export it to <code>"~/.mo_source.rds"</code>. This compressed data file will then be used at default for MO determination (function <code><a href='as.mo.html'>as.mo</a></code> and consequently all <code>mo_*</code> functions like <code><a href='mo_property.html'>mo_genus</a></code> and <code><a href='mo_property.html'>mo_gramstain</a></code>). The location of the original file will be saved as option with <code><a href='https://www.rdocumentation.org/packages/base/topics/options'>options</a>(mo_source = path)</code>. Its timestamp will be saved with <code><a href='https://www.rdocumentation.org/packages/base/topics/options'>options</a>(mo_source_datetime = ...)</code>.</p> <p><code>get_mo_source</code> will return the data set by reading <code>"~/.mo_source.rds"</code> with <code><a href='https://www.rdocumentation.org/packages/base/topics/readRDS'>readRDS</a></code>. If the original file has changed (the file defined with <code>path</code>), it will call <code>set_mo_source</code> to update the data file automatically.</p> <p>Reading an Excel file (<code>.xlsx</code>) with only one row has a size of 8-9 kB. The compressed file used by this package will have a size of 0.1 kB and can be read by <code>get_mo_source</code> in only a couple of microseconds (a millionth of a second).</p> <h2 class="hasAnchor" id="how-it-works"><a class="anchor" href="#how-it-works"></a>How it works</h2> <p>Imagine this data on a sheet of an Excel file (mo codes were looked up in the `microorganisms` data set). The first column contains the organisation specific codes, the second column contains an MO code from this package:</p><pre> | A | B | --|--------------------|-------------| 1 | Organisation XYZ | mo | 2 | lab_mo_ecoli | B_ESCHR_COL | 3 | lab_mo_kpneumoniae | B_KLBSL_PNE | 4 | | | </pre> <p>We save it as <code>'home/me/ourcodes.xlsx'</code>. Now we have to set it as a source:</p><pre> set_mo_source("home/me/ourcodes.xlsx") # Created mo_source file '~/.mo_source.rds' from 'home/me/ourcodes.xlsx'. </pre> <p>It has now created a file "~/.mo_source.rds" with the contents of our Excel file, but only the first column with foreign values and the 'mo' column will be kept.</p> <p>And now we can use it in our functions:</p><pre> as.mo("lab_mo_ecoli") [1] B_ESCHR_COL mo_genus("lab_mo_kpneumoniae") [1] "Klebsiella" # other input values still work too as.mo(c("Escherichia coli", "E. coli", "lab_mo_ecoli")) [1] B_ESCHR_COL B_ESCHR_COL B_ESCHR_COL </pre> <p>If we edit the Excel file to, let's say, this:</p><pre> | A | B | --|--------------------|-------------| 1 | Organisation XYZ | mo | 2 | lab_mo_ecoli | B_ESCHR_COL | 3 | lab_mo_kpneumoniae | B_KLBSL_PNE | 4 | lab_Staph_aureus | B_STPHY_AUR | 5 | | | </pre> <p>...any new usage of an MO function in this package will update your data:</p><pre> as.mo("lab_mo_ecoli") # Updated mo_source file '~/.mo_source.rds' from 'home/me/ourcodes.xlsx'. [1] B_ESCHR_COL mo_genus("lab_Staph_aureus") [1] "Staphylococcus" </pre> <p>To remove the reference completely, just use any of these:</p><pre> set_mo_source("") set_mo_source(NULL) # Removed mo_source file '~/.mo_source.rds'. </pre> <h2 class="hasAnchor" id="read-more-on-our-website-"><a class="anchor" href="#read-more-on-our-website-"></a>Read more on our website!</h2> <p>On our website <a href='https://msberends.gitlab.io/AMR'>https://msberends.gitlab.io/AMR</a> you can find <a href='https://msberends.gitlab.io/AMR/articles/AMR.html'>a tutorial</a> about how to conduct AMR analysis, the <a href='https://msberends.gitlab.io/AMR/reference'>complete documentation of all functions</a> (which reads a lot easier than here in R) and <a href='https://msberends.gitlab.io/AMR/articles/WHONET.html'>an example analysis using WHONET data</a>.</p> </div> <div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> <h2>Contents</h2> <ul class="nav nav-pills nav-stacked"> <li><a href="#arguments">Arguments</a></li> <li><a href="#details">Details</a></li> <li><a href="#how-it-works">How it works</a></li> <li><a href="#read-more-on-our-website-">Read more on our website!</a></li> </ul> </div> </div> <footer> <div class="copyright"> <p>Developed by <a href='https://www.rug.nl/staff/m.s.berends/'>Matthijs S. Berends</a>, <a href='https://www.rug.nl/staff/c.f.luz/'>Christian F. Luz</a>, <a href='https://www.rug.nl/staff/a.w.friedrich/'>Alex W. Friedrich</a>, <a href='https://www.rug.nl/staff/b.sinha/'>Bhanu N. M. Sinha</a>, <a href='https://www.rug.nl/staff/c.glasner/'>Corinna Glasner</a>.</p> </div> <div class="pkgdown"> <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.3.0.</p> </div> </footer> </div> <script src="https://cdnjs.cloudflare.com/ajax/libs/docsearch.js/2.6.1/docsearch.min.js" integrity="sha256-GKvGqXDznoRYHCwKXGnuchvKSwmx9SRMrZOTh2g4Sb0=" crossorigin="anonymous"></script> <script> docsearch({ apiKey: 'f737050abfd4d726c63938e18f8c496e', indexName: 'amr', inputSelector: 'input#search-input.form-control', transformData: function(hits) { return hits.map(function (hit) { hit.url = updateHitURL(hit); return hit; }); } }); </script> </body> </html>