1
0
mirror of https://github.com/msberends/AMR.git synced 2024-12-25 07:26:12 +01:00
AMR/reference/mo_source.html
2024-12-20 10:03:24 +00:00

164 lines
21 KiB
HTML

<!DOCTYPE html>
<!-- Generated by pkgdown: do not edit by hand --><html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><title>User-Defined Reference Data Set for Microorganisms — 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"><script src="../deps/jquery-3.6.0/jquery-3.6.0.min.js"></script><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><link href="../deps/bootstrap-5.3.1/bootstrap.min.css" rel="stylesheet"><script src="../deps/bootstrap-5.3.1/bootstrap.bundle.min.js"></script><link href="../deps/Lato-0.4.9/font.css" rel="stylesheet"><link href="../deps/Fira_Code-0.4.9/font.css" rel="stylesheet"><link href="../deps/font-awesome-6.5.2/css/all.min.css" rel="stylesheet"><link href="../deps/font-awesome-6.5.2/css/v4-shims.min.css" rel="stylesheet"><script src="../deps/headroom-0.11.0/headroom.min.js"></script><script src="../deps/headroom-0.11.0/jQuery.headroom.min.js"></script><script src="../deps/bootstrap-toc-1.0.1/bootstrap-toc.min.js"></script><script src="../deps/clipboard.js-2.0.11/clipboard.min.js"></script><script src="../deps/search-1.0.0/autocomplete.jquery.min.js"></script><script src="../deps/search-1.0.0/fuse.min.js"></script><script src="../deps/search-1.0.0/mark.min.js"></script><!-- pkgdown --><script src="../pkgdown.js"></script><link href="../extra.css" rel="stylesheet"><script src="../extra.js"></script><meta property="og:title" content="User-Defined Reference Data Set for Microorganisms — mo_source"><meta name="description" content="These functions can be used to predefine your own reference to be used in as.mo() and consequently all mo_* functions (such as 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, since you don't have to bother about it again after setting it up once."><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 (such as 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, since you don't have to bother about it again after setting it up once."><meta property="og:image" content="https://msberends.github.io/AMR/logo.svg"></head><body>
<a href="#main" class="visually-hidden-focusable">Skip to contents</a>
<nav class="navbar navbar-expand-lg fixed-top bg-primary" data-bs-theme="dark" aria-label="Site navigation"><div class="container">
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">2.1.1.9122</small>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div id="navbar" class="collapse navbar-collapse ms-3">
<ul class="navbar-nav me-auto"><li class="nav-item dropdown">
<button class="nav-link dropdown-toggle" type="button" id="dropdown-how-to" data-bs-toggle="dropdown" aria-expanded="false" aria-haspopup="true"><span class="fa fa-question-circle"></span> How to</button>
<ul class="dropdown-menu" aria-labelledby="dropdown-how-to"><li><a class="dropdown-item" href="../articles/AMR.html"><span class="fa fa-directions"></span> Conduct AMR Analysis</a></li>
<li><a class="dropdown-item" href="../reference/antibiogram.html"><span class="fa fa-file-prescription"></span> Generate Antibiogram (Trad./Syndromic/WISCA)</a></li>
<li><a class="dropdown-item" href="../articles/resistance_predict.html"><span class="fa fa-dice"></span> Predict Antimicrobial Resistance</a></li>
<li><a class="dropdown-item" href="../articles/datasets.html"><span class="fa fa-database"></span> Download Data Sets for Own Use</a></li>
<li><a class="dropdown-item" href="../articles/AMR_with_tidymodels.html"><span class="fa fa-square-root-variable"></span> Use AMR for Predictive Modelling (tidymodels)</a></li>
<li><a class="dropdown-item" href="../reference/AMR-options.html"><span class="fa fa-gear"></span> Set User- Or Team-specific Package Settings</a></li>
<li><a class="dropdown-item" href="../articles/PCA.html"><span class="fa fa-compress"></span> Conduct Principal Component Analysis for AMR</a></li>
<li><a class="dropdown-item" href="../articles/MDR.html"><span class="fa fa-skull-crossbones"></span> Determine Multi-Drug Resistance (MDR)</a></li>
<li><a class="dropdown-item" href="../articles/WHONET.html"><span class="fa fa-globe-americas"></span> Work with WHONET Data</a></li>
<li><a class="dropdown-item" href="../articles/EUCAST.html"><span class="fa fa-exchange-alt"></span> Apply Eucast Rules</a></li>
<li><a class="dropdown-item" href="../reference/mo_property.html"><span class="fa fa-bug"></span> Get Taxonomy of a Microorganism</a></li>
<li><a class="dropdown-item" href="../reference/ab_property.html"><span class="fa fa-capsules"></span> Get Properties of an Antibiotic Drug</a></li>
<li><a class="dropdown-item" href="../reference/av_property.html"><span class="fa fa-capsules"></span> Get Properties of an Antiviral Drug</a></li>
</ul></li>
<li class="nav-item"><a class="nav-link" href="../articles/AMR_for_Python.html"><span class="fa fab fa-python"></span> AMR for Python</a></li>
<li class="active nav-item"><a class="nav-link" href="../reference/index.html"><span class="fa fa-book-open"></span> Manual</a></li>
<li class="nav-item"><a class="nav-link" href="../authors.html"><span class="fa fa-users"></span> Authors</a></li>
</ul><ul class="navbar-nav"><li class="nav-item"><a class="nav-link" href="../news/index.html"><span class="fa far fa-newspaper"></span> Changelog</a></li>
<li class="nav-item"><a class="external-link nav-link" href="https://github.com/msberends/AMR"><span class="fa fab fa-github"></span> Source Code</a></li>
</ul></div>
</div>
</nav><div class="container template-reference-topic">
<div class="row">
<main id="main" class="col-md-9"><div class="page-header">
<img src="../logo.svg" class="logo" alt=""><h1>User-Defined Reference Data Set for Microorganisms</h1>
<small class="dont-index">Source: <a href="https://github.com/msberends/AMR/blob/main/R/mo_source.R" class="external-link"><code>R/mo_source.R</code></a></small>
<div class="d-none name"><code>mo_source.Rd</code></div>
</div>
<div class="ref-description section level2">
<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><a href="mo_property.html">mo_*</a></code> functions (such as <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, since you don't have to bother about it again after setting it up once.</p>
</div>
<div class="section level2">
<h2 id="ref-usage">Usage<a class="anchor" aria-label="anchor" href="#ref-usage"></a></h2>
<div class="sourceCode"><pre class="sourceCode r"><code><span><span class="fu">set_mo_source</span><span class="op">(</span></span>
<span> <span class="va">path</span>,</span>
<span> destination <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/options.html" class="external-link">getOption</a></span><span class="op">(</span><span class="st">"AMR_mo_source"</span>, <span class="st">"~/mo_source.rds"</span><span class="op">)</span></span>
<span><span class="op">)</span></span>
<span></span>
<span><span class="fu">get_mo_source</span><span class="op">(</span>destination <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/options.html" class="external-link">getOption</a></span><span class="op">(</span><span class="st">"AMR_mo_source"</span>, <span class="st">"~/mo_source.rds"</span><span class="op">)</span><span class="op">)</span></span></code></pre></div>
</div>
<div class="section level2">
<h2 id="arguments">Arguments<a class="anchor" aria-label="anchor" href="#arguments"></a></h2>
<dl><dt id="arg-path">path<a class="anchor" aria-label="anchor" href="#arg-path"></a></dt>
<dd><p>location of your reference file, this can be any text file (comma-, tab- or pipe-separated) or an Excel file (see <em>Details</em>). Can also be <code>""</code>, <code>NULL</code> or <code>FALSE</code> to delete the reference file.</p></dd>
<dt id="arg-destination">destination<a class="anchor" aria-label="anchor" href="#arg-destination"></a></dt>
<dd><p>destination of the compressed data file - the default is the user's home directory.</p></dd>
</dl></div>
<div class="section level2">
<h2 id="details">Details<a class="anchor" aria-label="anchor" href="#details"></a></h2>
<p>The reference file can be a text file separated with commas (CSV) or tabs or pipes, an Excel file (either 'xls' or 'xlsx' format) or an <span style="R">R</span> object file (extension '.rds'). To use an Excel file, you will 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 <a href="https://rdrr.io/r/base/data.frame.html" class="external-link">data.frame</a>, must have a column named <code>"mo"</code> which contains values from <code><a href="microorganisms.html">microorganisms$mo</a></code> or <code><a href="microorganisms.html">microorganisms$fullname</a></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 <span style="R">R</span> and will ask to export it to <code>"~/mo_source.rds"</code>. The CRAN policy disallows packages to write to the file system, although '<em>exceptions may be allowed in interactive sessions if the package obtains confirmation from the user</em>'. For this reason, this function only works in interactive sessions so that the user can <strong>specifically confirm and allow</strong> that this file will be created. The destination of this file can be set with the <code>destination</code> argument and defaults to the user's home directory. It can also be set with the package option <code><a href="AMR-options.html">AMR_mo_source</a></code>, e.g. <code>options(AMR_mo_source = "my/location/file.rds")</code>.</p>
<p>The created compressed data file <code>"mo_source.rds"</code> will 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 and timestamp of the original file will be saved as an <a href="https://rdrr.io/r/base/attributes.html" class="external-link">attribute</a> to the compressed data file.</p>
<p>The function <code>get_mo_source()</code> will return the data set by reading <code>"mo_source.rds"</code> with <code><a href="https://rdrr.io/r/base/readRDS.html" class="external-link">readRDS()</a></code>. If the original file has changed (by checking the location and timestamp of the original file), it will call <code>set_mo_source()</code> to update the data file automatically if used in an interactive session.</p>
<p>Reading an Excel file (<code>.xlsx</code>) with only one row has a size of 8-9 kB. The compressed file created with <code>set_mo_source()</code> will then have a size of 0.1 kB and can be read by <code>get_mo_source()</code> in only a couple of microseconds (millionths of a second).</p>
</div>
<div class="section level2">
<h2 id="how-to-setup">How to Setup<a class="anchor" aria-label="anchor" href="#how-to-setup"></a></h2>
<p>Imagine this data on a sheet of an Excel file. The first column contains the organisation specific codes, the second column contains valid taxonomic names:</p>
<p></p><div class="sourceCode"><pre><code><span id="cb1-1"><a href="#cb1-1" tabindex="-1"></a> <span class="sc">|</span> A <span class="sc">|</span> B <span class="sc">|</span></span>
<span id="cb1-2"><a href="#cb1-2" tabindex="-1"></a><span class="sc">--</span><span class="er">|</span><span class="sc">--------------------</span><span class="er">|</span><span class="sc">-----------------------</span><span class="er">|</span></span>
<span id="cb1-3"><a href="#cb1-3" tabindex="-1"></a><span class="dv">1</span> <span class="sc">|</span> Organisation XYZ <span class="sc">|</span> mo <span class="sc">|</span></span>
<span id="cb1-4"><a href="#cb1-4" tabindex="-1"></a><span class="dv">2</span> <span class="sc">|</span> lab_mo_ecoli <span class="sc">|</span> Escherichia coli <span class="sc">|</span></span>
<span id="cb1-5"><a href="#cb1-5" tabindex="-1"></a><span class="dv">3</span> <span class="sc">|</span> lab_mo_kpneumoniae <span class="sc">|</span> Klebsiella pneumoniae <span class="sc">|</span></span>
<span id="cb1-6"><a href="#cb1-6" tabindex="-1"></a><span class="dv">4</span> <span class="sc">|</span> <span class="er">|</span> <span class="er">|</span></span></code></pre><p></p></div>
<p>We save it as <code>"home/me/ourcodes.xlsx"</code>. Now we have to set it as a source:</p>
<p></p><div class="sourceCode"><pre><code><span id="cb1-1"><a href="#cb1-1" tabindex="-1"></a><span class="fu">set_mo_source</span>(<span class="st">"home/me/ourcodes.xlsx"</span>)</span>
<span id="cb1-2"><a href="#cb1-2" tabindex="-1"></a><span class="co">#&gt; </span><span class="al">NOTE</span><span class="co">: Created mo_source file '/Users/me/mo_source.rds' (0.3 kB) from</span></span>
<span id="cb1-3"><a href="#cb1-3" tabindex="-1"></a><span class="co">#&gt; '/Users/me/Documents/ourcodes.xlsx' (9 kB), columns</span></span>
<span id="cb1-4"><a href="#cb1-4" tabindex="-1"></a><span class="co">#&gt; "Organisation XYZ" and "mo"</span></span></code></pre><p></p></div>
<p>It has now created a file <code>"~/mo_source.rds"</code> with the contents of our Excel file. Only the first column with foreign values and the 'mo' column will be kept when creating the RDS file.</p>
<p>And now we can use it in our functions:</p>
<p></p><div class="sourceCode"><pre><code><span id="cb1-1"><a href="#cb1-1" tabindex="-1"></a><span class="fu">as.mo</span>(<span class="st">"lab_mo_ecoli"</span>)</span>
<span id="cb1-2"><a href="#cb1-2" tabindex="-1"></a><span class="co">#&gt; Class 'mo'</span></span>
<span id="cb1-3"><a href="#cb1-3" tabindex="-1"></a><span class="co">#&gt; [1] B_ESCHR_COLI</span></span>
<span id="cb1-4"><a href="#cb1-4" tabindex="-1"></a></span>
<span id="cb1-5"><a href="#cb1-5" tabindex="-1"></a><span class="fu">mo_genus</span>(<span class="st">"lab_mo_kpneumoniae"</span>)</span>
<span id="cb1-6"><a href="#cb1-6" tabindex="-1"></a><span class="co">#&gt; [1] "Klebsiella"</span></span>
<span id="cb1-7"><a href="#cb1-7" tabindex="-1"></a></span>
<span id="cb1-8"><a href="#cb1-8" tabindex="-1"></a><span class="co"># other input values still work too</span></span>
<span id="cb1-9"><a href="#cb1-9" tabindex="-1"></a><span class="fu">as.mo</span>(<span class="fu">c</span>(<span class="st">"Escherichia coli"</span>, <span class="st">"E. coli"</span>, <span class="st">"lab_mo_ecoli"</span>))</span>
<span id="cb1-10"><a href="#cb1-10" tabindex="-1"></a><span class="co">#&gt; </span><span class="al">NOTE</span><span class="co">: Translation to one microorganism was guessed with uncertainty.</span></span>
<span id="cb1-11"><a href="#cb1-11" tabindex="-1"></a><span class="co">#&gt; Use mo_uncertainties() to review it.</span></span>
<span id="cb1-12"><a href="#cb1-12" tabindex="-1"></a><span class="co">#&gt; Class 'mo'</span></span>
<span id="cb1-13"><a href="#cb1-13" tabindex="-1"></a><span class="co">#&gt; [1] B_ESCHR_COLI B_ESCHR_COLI B_ESCHR_COLI</span></span></code></pre><p></p></div>
<p>If we edit the Excel file by, let's say, adding row 4 like this:</p>
<p></p><div class="sourceCode"><pre><code><span id="cb1-1"><a href="#cb1-1" tabindex="-1"></a> <span class="sc">|</span> A <span class="sc">|</span> B <span class="sc">|</span></span>
<span id="cb1-2"><a href="#cb1-2" tabindex="-1"></a><span class="sc">--</span><span class="er">|</span><span class="sc">--------------------</span><span class="er">|</span><span class="sc">-----------------------</span><span class="er">|</span></span>
<span id="cb1-3"><a href="#cb1-3" tabindex="-1"></a><span class="dv">1</span> <span class="sc">|</span> Organisation XYZ <span class="sc">|</span> mo <span class="sc">|</span></span>
<span id="cb1-4"><a href="#cb1-4" tabindex="-1"></a><span class="dv">2</span> <span class="sc">|</span> lab_mo_ecoli <span class="sc">|</span> Escherichia coli <span class="sc">|</span></span>
<span id="cb1-5"><a href="#cb1-5" tabindex="-1"></a><span class="dv">3</span> <span class="sc">|</span> lab_mo_kpneumoniae <span class="sc">|</span> Klebsiella pneumoniae <span class="sc">|</span></span>
<span id="cb1-6"><a href="#cb1-6" tabindex="-1"></a><span class="dv">4</span> <span class="sc">|</span> lab_Staph_aureus <span class="sc">|</span> Staphylococcus aureus <span class="sc">|</span></span>
<span id="cb1-7"><a href="#cb1-7" tabindex="-1"></a><span class="dv">5</span> <span class="sc">|</span> <span class="er">|</span> <span class="er">|</span></span></code></pre><p></p></div>
<p>...any new usage of an MO function in this package will update your data file:</p>
<p></p><div class="sourceCode"><pre><code><span id="cb1-1"><a href="#cb1-1" tabindex="-1"></a><span class="fu">as.mo</span>(<span class="st">"lab_mo_ecoli"</span>)</span>
<span id="cb1-2"><a href="#cb1-2" tabindex="-1"></a><span class="co">#&gt; </span><span class="al">NOTE</span><span class="co">: Updated mo_source file '/Users/me/mo_source.rds' (0.3 kB) from</span></span>
<span id="cb1-3"><a href="#cb1-3" tabindex="-1"></a><span class="co">#&gt; '/Users/me/Documents/ourcodes.xlsx' (9 kB), columns</span></span>
<span id="cb1-4"><a href="#cb1-4" tabindex="-1"></a><span class="co">#&gt; "Organisation XYZ" and "mo"</span></span>
<span id="cb1-5"><a href="#cb1-5" tabindex="-1"></a><span class="co">#&gt; Class 'mo'</span></span>
<span id="cb1-6"><a href="#cb1-6" tabindex="-1"></a><span class="co">#&gt; [1] B_ESCHR_COLI</span></span>
<span id="cb1-7"><a href="#cb1-7" tabindex="-1"></a></span>
<span id="cb1-8"><a href="#cb1-8" tabindex="-1"></a><span class="fu">mo_genus</span>(<span class="st">"lab_Staph_aureus"</span>)</span>
<span id="cb1-9"><a href="#cb1-9" tabindex="-1"></a><span class="co">#&gt; [1] "Staphylococcus"</span></span></code></pre><p></p></div>
<p>To delete the reference data file, just use <code>""</code>, <code>NULL</code> or <code>FALSE</code> as input for <code>set_mo_source()</code>:</p>
<p></p><div class="sourceCode"><pre><code><span id="cb1-1"><a href="#cb1-1" tabindex="-1"></a><span class="fu">set_mo_source</span>(<span class="cn">NULL</span>)</span>
<span id="cb1-2"><a href="#cb1-2" tabindex="-1"></a><span class="co">#&gt; Removed mo_source file '/Users/me/mo_source.rds'</span></span></code></pre><p></p></div>
<p>If the original file (in the previous case an Excel file) is moved or deleted, the <code>mo_source.rds</code> file will be removed upon the next use of <code><a href="as.mo.html">as.mo()</a></code> or any <code><a href="mo_property.html">mo_*</a></code> function.</p>
</div>
</main><aside class="col-md-3"><nav id="toc" aria-label="Table of contents"><h2>On this page</h2>
</nav></aside></div>
<footer><div class="pkgdown-footer-left">
<p><code>AMR</code> (for R). Free and open-source, licenced under the <a target="_blank" href="https://github.com/msberends/AMR/blob/main/LICENSE" class="external-link">GNU General Public License version 2.0 (GPL-2)</a>.<br>Developed at the <a target="_blank" href="https://www.rug.nl" class="external-link">University of Groningen</a> and <a target="_blank" href="https://www.umcg.nl" class="external-link">University Medical Center Groningen</a> in The Netherlands.</p>
</div>
<div class="pkgdown-footer-right">
<p><a target="_blank" href="https://www.rug.nl" class="external-link"><img src="https://github.com/msberends/AMR/raw/main/pkgdown/assets/logo_rug.svg" style="max-width: 150px;"></a><a target="_blank" href="https://www.umcg.nl" class="external-link"><img src="https://github.com/msberends/AMR/raw/main/pkgdown/assets/logo_umcg.svg" style="max-width: 150px;"></a></p>
</div>
</footer></div>
</body></html>