diff options
author | Ranke Johannes <johannes.ranke@agroscope.admin.ch> | 2025-10-22 15:52:56 +0200 |
---|---|---|
committer | Ranke Johannes <johannes.ranke@agroscope.admin.ch> | 2025-10-22 15:52:56 +0200 |
commit | b9a839f29beb9c10f22ace4b0dd4eee167ae6836 (patch) | |
tree | 5d0f7371e2943af431576bae6892102d42cd7625 /docs/coverage/coverage.html | |
parent | fadda8cd9c85f0adc74f027b7b570c1c166a0516 (diff) |
Add new files for the transition to README.rmd
Diffstat (limited to 'docs/coverage/coverage.html')
-rw-r--r-- | docs/coverage/coverage.html | 6003 |
1 files changed, 6003 insertions, 0 deletions
diff --git a/docs/coverage/coverage.html b/docs/coverage/coverage.html new file mode 100644 index 0000000..f881440 --- /dev/null +++ b/docs/coverage/coverage.html @@ -0,0 +1,6003 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="utf-8"/> +<style>body{background-color:white;}</style> +<link href="lib/htmltools-fill-0.5.8.1/fill.css" rel="stylesheet" /> +<script src="lib/htmlwidgets-1.6.4/htmlwidgets.js"></script> +<link href="lib/datatables-css-0.0.0/datatables-crosstalk.css" rel="stylesheet" /> +<script src="lib/datatables-binding-0.33/datatables.js"></script> +<script src="lib/jquery-3.6.0/jquery-3.6.0.min.js"></script> +<link href="lib/dt-core-1.13.6/css/jquery.dataTables.min.css" rel="stylesheet" /> +<link href="lib/dt-core-1.13.6/css/jquery.dataTables.extra.css" rel="stylesheet" /> +<script src="lib/dt-core-1.13.6/js/jquery.dataTables.min.js"></script> +<link href="lib/crosstalk-1.2.1/css/crosstalk.min.css" rel="stylesheet" /> +<script src="lib/crosstalk-1.2.1/js/crosstalk.min.js"></script> +<link href="lib/highlight.js-6.2/rstudio.css" rel="stylesheet" /> +<script src="lib/highlight.js-6.2/highlight.pack.js"></script> +<meta name="viewport" content="width=device-width, initial-scale=1" /> +<link href="lib/bootstrap-3.3.5/css/bootstrap.min.css" rel="stylesheet" /> +<link href="lib/bootstrap-3.3.5/css/bootstrap-theme.min.css" rel="stylesheet" /> +<script src="lib/bootstrap-3.3.5/js/bootstrap.min.js"></script> +<script src="lib/bootstrap-3.3.5/shim/html5shiv.min.js"></script> +<script src="lib/bootstrap-3.3.5/shim/respond.min.js"></script> + +</head> +<body> +<div class="container-fluid"> + <style type="text/css">table tr:hover td { + font-weight:bold;text-decoration:none +} +table tr.covered td{ + background-color:rgba(95,151,68,0.3) +} + +table tr:hover.covered .num{ + background-color:rgba(95,151,68,0.7) +} +table tr.missed td{ + background-color:rgba(185,73,71,0.3) +} +table tr:hover.missed .num{ + background-color:rgba(185,73,71,0.7) +} + +table tr.missed:hover td{ + -webkit-box-shadow:0 -2px 0 0 #b94947 inset; + -moz-box-shadow:0 -2px 0 0 #b94947 inset; + box-shadow:0 -2px 0 0 #b94947 inset +} +table tr.covered:hover td{ + -webkit-box-shadow:0 -2px 0 0 #5f9744 inset; + -moz-box-shadow:0 -2px 0 0 #5f9744 inset; + box-shadow:0 -2px 0 0 #5f9744 inset +} + +table tr.never td{ + background-color:transparent +} + +table tbody { + border-style: solid; + border: 1px solid rgba(0,0,0,0.1) +} + +table .num { + border-right: 1px solid rgba(0,0,0,0.1) +} + +td.coverage em { + opacity: 0.5; +} + +table td.coverage { + border-right: 1px solid rgba(0,0,0,0.1); + font-weight: bold; + text-align: center; +} +table.table-condensed pre { + background-color: transparent; + margin: 0; + padding: 0; + border: 0; + font-size: 11px; +} +div#files td { + padding: 0; + padding-left: 5px; +} + +div#files td.num { + padding-right: 5px; +} + +table.table-condensed { + font-size: 11px; +}</style> + <div class="col-md-8 col-md-offset-2"> + <h2>chents coverage - 32.25%</h2> + <div class="tabbable"> + <ul class="nav nav-tabs" data-tabsetid="covr"> + <li class="active"> + <a href="#tab-covr-1" data-toggle="tab" data-value="Files">Files</a> + </li> + <li> + <a href="#tab-covr-2" data-toggle="tab" data-value="Source">Source</a> + </li> + </ul> + <div class="tab-content" data-tabsetid="covr"> + <div class="tab-pane active" title="Files" data-value="Files" id="tab-covr-1"> + <div class="datatables html-widget html-fill-item" id="htmlwidget-c7fabdeba8b81e642b4e" style="width:100%;height:500px;"></div> + <script type="application/json" data-for="htmlwidget-c7fabdeba8b81e642b4e">{"x":{"filter":"none","vertical":false,"fillContainer":false,"data":[["<a href=\"#\">R/zzz.R<\/a>","<a href=\"#\">R/chent.R<\/a>"],[9,829],[7,300],[0,99],[7,201],["0","1"],["0.00%","33.00%"]],"container":"<table class=\"row-border\">\n <thead>\n <tr>\n <th>File<\/th>\n <th>Lines<\/th>\n <th>Relevant<\/th>\n <th>Covered<\/th>\n <th>Missed<\/th>\n <th>Hits / Line<\/th>\n <th>Coverage<\/th>\n <\/tr>\n <\/thead>\n<\/table>","options":{"searching":false,"dom":"t","paging":false,"columnDefs":[{"targets":6,"createdCell":"function(td, cellData, rowData, row, col) {\n var percent = cellData.replace(\"%\", \"\");\n if (percent > 90) {\n var grad = \"linear-gradient(90deg, #edfde7 \" + cellData + \", white \" + cellData + \")\";\n } else if (percent > 75) {\n var grad = \"linear-gradient(90deg, #f9ffe5 \" + cellData + \", white \" + cellData + \")\";\n } else {\n var grad = \"linear-gradient(90deg, #fcece9 \" + cellData + \", white \" + cellData + \")\";\n }\n $(td).css(\"background\", grad);\n}\n"},{"className":"dt-right","targets":[1,2,3,4]},{"name":"File","targets":0},{"name":"Lines","targets":1},{"name":"Relevant","targets":2},{"name":"Covered","targets":3},{"name":"Missed","targets":4},{"name":"Hits / Line","targets":5},{"name":"Coverage","targets":6}],"order":[],"autoWidth":false,"orderClasses":false},"callback":"function(table) {\ntable.on('click.dt', 'a', function() {\n files = $('div#files div');\n files.not('div.hidden').addClass('hidden');\n id = $(this).text();\n files.filter('div[id=\\'' + id + '\\']').removeClass('hidden');\n $('ul.nav a[data-value=Source]').text(id).tab('show');\n});\n}"},"evals":["options.columnDefs.0.createdCell","callback"],"jsHooks":[]}</script> + </div> + <div class="tab-pane" title="Source" data-value="Source" id="tab-covr-2"> + <div id="files"> + <div id="R/chent.R" class="hidden"> + <table class="table-condensed"> + <tbody> + <tr class="never"> + <td class="num">1</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @title An R6 class for chemical entities with associated data</pre> + </td> + </tr> + <tr class="never"> + <td class="num">2</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#'</pre> + </td> + </tr> + <tr class="never"> + <td class="num">3</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @description The class is initialised with an identifier. Chemical</pre> + </td> + </tr> + <tr class="never"> + <td class="num">4</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' information is retrieved from the internet. Additionally, it can be</pre> + </td> + </tr> + <tr class="never"> + <td class="num">5</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' generated using RDKit if RDKit and its python bindings are installed.</pre> + </td> + </tr> + <tr class="never"> + <td class="num">6</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#'</pre> + </td> + </tr> + <tr class="never"> + <td class="num">7</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @export</pre> + </td> + </tr> + <tr class="never"> + <td class="num">8</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @format An [R6Class] generator object</pre> + </td> + </tr> + <tr class="never"> + <td class="num">9</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @importFrom R6 R6Class</pre> + </td> + </tr> + <tr class="never"> + <td class="num">10</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @importFrom utils URLencode</pre> + </td> + </tr> + <tr class="never"> + <td class="num">11</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @importFrom webchem get_cid cid_compinfo</pre> + </td> + </tr> + <tr class="never"> + <td class="num">12</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @importFrom grImport PostScriptTrace readPicture</pre> + </td> + </tr> + <tr class="never"> + <td class="num">13</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @importFrom yaml yaml.load_file</pre> + </td> + </tr> + <tr class="never"> + <td class="num">14</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @importFrom rsvg rsvg_ps</pre> + </td> + </tr> + <tr class="never"> + <td class="num">15</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @param identifier Identifier to be stored in the object</pre> + </td> + </tr> + <tr class="never"> + <td class="num">16</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @param smiles Optional user provided SMILES code</pre> + </td> + </tr> + <tr class="never"> + <td class="num">17</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @param inchikey Optional user provided InChI Key</pre> + </td> + </tr> + <tr class="never"> + <td class="num">18</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @param pubchem Should an attempt be made to retrieve chemical</pre> + </td> + </tr> + <tr class="never"> + <td class="num">19</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' information from PubChem via the webchem package?</pre> + </td> + </tr> + <tr class="never"> + <td class="num">20</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @param pubchem_from Possibility to select the argument</pre> + </td> + </tr> + <tr class="never"> + <td class="num">21</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' that is used to query pubchem</pre> + </td> + </tr> + <tr class="never"> + <td class="num">22</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @param rdkit Should an attempt be made to retrieve chemical</pre> + </td> + </tr> + <tr class="never"> + <td class="num">23</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' information from a local rdkit installation via python</pre> + </td> + </tr> + <tr class="never"> + <td class="num">24</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' and the reticulate package?</pre> + </td> + </tr> + <tr class="never"> + <td class="num">25</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @param template An optional SMILES code to be used as template for RDKit</pre> + </td> + </tr> + <tr class="never"> + <td class="num">26</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @param chyaml Should we look for a identifier.yaml file in the working</pre> + </td> + </tr> + <tr class="never"> + <td class="num">27</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' directory?</pre> + </td> + </tr> + <tr class="never"> + <td class="num">28</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @param T Temperature</pre> + </td> + </tr> + <tr class="never"> + <td class="num">29</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @param pH pH value</pre> + </td> + </tr> + <tr class="never"> + <td class="num">30</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @param source An acronym specifying the source of the information</pre> + </td> + </tr> + <tr class="never"> + <td class="num">31</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @param page The page from which the information was taken</pre> + </td> + </tr> + <tr class="never"> + <td class="num">32</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @param soils Names of the soils</pre> + </td> + </tr> + <tr class="never"> + <td class="num">33</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @param type The soil type</pre> + </td> + </tr> + <tr class="never"> + <td class="num">34</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @param pH_orig The pH stated in the study</pre> + </td> + </tr> + <tr class="never"> + <td class="num">35</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @param pH_medium The medium in which this pH was measured</pre> + </td> + </tr> + <tr class="never"> + <td class="num">36</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @param pH_H2O The pH extrapolated to pure water</pre> + </td> + </tr> + <tr class="never"> + <td class="num">37</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @param perc_OC The percentage of organic carbon in the soil</pre> + </td> + </tr> + <tr class="never"> + <td class="num">38</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @param pages The pages from which the information was taken</pre> + </td> + </tr> + <tr class="never"> + <td class="num">39</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @param remark A remark</pre> + </td> + </tr> + <tr class="never"> + <td class="num">40</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @param file The file to write to</pre> + </td> + </tr> + <tr class="never"> + <td class="num">41</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @param dir The directory to write the file to</pre> + </td> + </tr> + <tr class="never"> + <td class="num">42</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @examples</pre> + </td> + </tr> + <tr class="never"> + <td class="num">43</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' caffeine <- chent$new("caffeine")</pre> + </td> + </tr> + <tr class="never"> + <td class="num">44</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' print(caffeine)</pre> + </td> + </tr> + <tr class="never"> + <td class="num">45</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' if (!is.null(caffeine$Picture)) {</pre> + </td> + </tr> + <tr class="never"> + <td class="num">46</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' plot(caffeine)</pre> + </td> + </tr> + <tr class="never"> + <td class="num">47</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' }</pre> + </td> + </tr> + <tr class="never"> + <td class="num">48</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' oct <- chent$new("1-octanol", smiles = "CCCCCCCCO", pubchem = FALSE)</pre> + </td> + </tr> + <tr class="never"> + <td class="num">49</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' print(oct)</pre> + </td> + </tr> + <tr class="never"> + <td class="num">50</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">chent <- R6Class("chent",</pre> + </td> + </tr> + <tr class="never"> + <td class="num">51</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> public = list(</pre> + </td> + </tr> + <tr class="never"> + <td class="num">52</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @field identifier (`character(1)`)\cr</pre> + </td> + </tr> + <tr class="never"> + <td class="num">53</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' The identifier that was used to initiate the object, with attribute 'source'</pre> + </td> + </tr> + <tr class="never"> + <td class="num">54</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> identifier = NULL,</pre> + </td> + </tr> + <tr class="never"> + <td class="num">55</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">56</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @field inchikey (`character(1)`)\cr</pre> + </td> + </tr> + <tr class="never"> + <td class="num">57</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' InChI Key, with attribute 'source'</pre> + </td> + </tr> + <tr class="never"> + <td class="num">58</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> inchikey = NULL,</pre> + </td> + </tr> + <tr class="never"> + <td class="num">59</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">60</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @field smiles (`character()`)\cr</pre> + </td> + </tr> + <tr class="never"> + <td class="num">61</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' SMILES code(s), with attribute 'source'</pre> + </td> + </tr> + <tr class="never"> + <td class="num">62</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> smiles = NULL,</pre> + </td> + </tr> + <tr class="never"> + <td class="num">63</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">64</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @field mw (`numeric(1)`)\cr</pre> + </td> + </tr> + <tr class="never"> + <td class="num">65</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' Molecular weight, with attribute 'source'</pre> + </td> + </tr> + <tr class="never"> + <td class="num">66</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> mw = NULL,</pre> + </td> + </tr> + <tr class="never"> + <td class="num">67</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">68</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @field pubchem (`list()`)\cr</pre> + </td> + </tr> + <tr class="never"> + <td class="num">69</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' List of information retrieved from PubChem</pre> + </td> + </tr> + <tr class="never"> + <td class="num">70</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> pubchem = NULL,</pre> + </td> + </tr> + <tr class="never"> + <td class="num">71</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">72</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @field rdkit</pre> + </td> + </tr> + <tr class="never"> + <td class="num">73</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' List of information obtained with RDKit</pre> + </td> + </tr> + <tr class="never"> + <td class="num">74</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> rdkit = NULL,</pre> + </td> + </tr> + <tr class="never"> + <td class="num">75</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">76</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @field mol <rdkit.Chem.rdchem.Mol> object</pre> + </td> + </tr> + <tr class="never"> + <td class="num">77</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> mol = NULL,</pre> + </td> + </tr> + <tr class="never"> + <td class="num">78</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">79</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @field svg SVG code</pre> + </td> + </tr> + <tr class="never"> + <td class="num">80</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> svg = NULL,</pre> + </td> + </tr> + <tr class="never"> + <td class="num">81</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">82</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @field Picture Graph as a [grImport::Picture-class] object obtained using the grImport package</pre> + </td> + </tr> + <tr class="never"> + <td class="num">83</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> Picture = NULL,</pre> + </td> + </tr> + <tr class="never"> + <td class="num">84</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">85</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @field Pict_font_size Font size as extracted from the intermediate PostScript file</pre> + </td> + </tr> + <tr class="never"> + <td class="num">86</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> Pict_font_size = NULL,</pre> + </td> + </tr> + <tr class="never"> + <td class="num">87</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">88</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @field pdf_height Height of the MediaBox in the pdf after cropping</pre> + </td> + </tr> + <tr class="never"> + <td class="num">89</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> pdf_height = NULL,</pre> + </td> + </tr> + <tr class="never"> + <td class="num">90</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">91</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @field p0 Vapour pressure in Pa</pre> + </td> + </tr> + <tr class="never"> + <td class="num">92</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> p0 = NULL,</pre> + </td> + </tr> + <tr class="never"> + <td class="num">93</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">94</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @field cwsat Water solubility in mg/L</pre> + </td> + </tr> + <tr class="never"> + <td class="num">95</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> cwsat = NULL,</pre> + </td> + </tr> + <tr class="never"> + <td class="num">96</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">97</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @field PUF Plant uptake factor</pre> + </td> + </tr> + <tr class="never"> + <td class="num">98</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> PUF = NULL,</pre> + </td> + </tr> + <tr class="never"> + <td class="num">99</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">100</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @field chyaml List of information obtained from a YAML file</pre> + </td> + </tr> + <tr class="never"> + <td class="num">101</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> chyaml = NULL,</pre> + </td> + </tr> + <tr class="never"> + <td class="num">102</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">103</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @description</pre> + </td> + </tr> + <tr class="never"> + <td class="num">104</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' Creates a new instance of this [R6][R6::R6Class] class.</pre> + </td> + </tr> + <tr class="never"> + <td class="num">105</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> initialize = function(identifier, smiles = NULL, inchikey = NULL,</pre> + </td> + </tr> + <tr class="never"> + <td class="num">106</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> pubchem = TRUE, pubchem_from = c('name', 'smiles', 'inchikey'),</pre> + </td> + </tr> + <tr class="never"> + <td class="num">107</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> rdkit = TRUE, template = NULL,</pre> + </td> + </tr> + <tr class="never"> + <td class="num">108</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> chyaml = FALSE) {</pre> + </td> + </tr> + <tr class="never"> + <td class="num">109</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="covered"> + <td class="num">110</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> self$identifier <- identifier</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">111</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> names(self$identifier) <- make.names(identifier)</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">112</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> pubchem_from = match.arg(pubchem_from)</pre> + </td> + </tr> + <tr class="never"> + <td class="num">113</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="covered"> + <td class="num">114</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> self$smiles <- c(user = smiles)</pre> + </td> + </tr> + <tr class="never"> + <td class="num">115</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="covered"> + <td class="num">116</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> if (pubchem) {</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">117</td> + <td class="coverage">1<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> if (pubchem_from == 'name') {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">118</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> query = identifier</pre> + </td> + </tr> + <tr class="never"> + <td class="num">119</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> } else {</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">120</td> + <td class="coverage">1<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> query = get(pubchem_from)</pre> + </td> + </tr> + <tr class="never"> + <td class="num">121</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> }</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">122</td> + <td class="coverage">1<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> self$try_pubchem(query, from = pubchem_from)</pre> + </td> + </tr> + <tr class="never"> + <td class="num">123</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> }</pre> + </td> + </tr> + <tr class="never"> + <td class="num">124</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="covered"> + <td class="num">125</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> if (rdkit) {</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">126</td> + <td class="coverage">1<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> if (rdkit_available) {</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">127</td> + <td class="coverage">1<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> self$get_rdkit(template = template)</pre> + </td> + </tr> + <tr class="never"> + <td class="num">128</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> } else {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">129</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> message("RDKit is not available")</pre> + </td> + </tr> + <tr class="never"> + <td class="num">130</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> }</pre> + </td> + </tr> + <tr class="never"> + <td class="num">131</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> }</pre> + </td> + </tr> + <tr class="never"> + <td class="num">132</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="covered"> + <td class="num">133</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> if (chyaml) {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">134</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> self$get_chyaml()</pre> + </td> + </tr> + <tr class="never"> + <td class="num">135</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> }</pre> + </td> + </tr> + <tr class="never"> + <td class="num">136</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">137</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> # Define main identifiers as NA if still not available</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">138</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> if (is.null(self$smiles)) {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">139</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> self$smiles <- NA</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">140</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> attr(self$smiles, "source") <- "user"</pre> + </td> + </tr> + <tr class="never"> + <td class="num">141</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> }</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">142</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> if (is.null(self$inchikey)) {</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">143</td> + <td class="coverage">1<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> self$inchikey <- NA</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">144</td> + <td class="coverage">1<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> attr(self$inchikey, "source") <- "user"</pre> + </td> + </tr> + <tr class="never"> + <td class="num">145</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> }</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">146</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> if (is.null(self$mw)) {</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">147</td> + <td class="coverage">1<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> self$mw <- NA</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">148</td> + <td class="coverage">1<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> attr(self$mw, "source") <- "user"</pre> + </td> + </tr> + <tr class="never"> + <td class="num">149</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> }</pre> + </td> + </tr> + <tr class="never"> + <td class="num">150</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="covered"> + <td class="num">151</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> invisible(self)</pre> + </td> + </tr> + <tr class="never"> + <td class="num">152</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> },</pre> + </td> + </tr> + <tr class="never"> + <td class="num">153</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">154</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @description</pre> + </td> + </tr> + <tr class="never"> + <td class="num">155</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' Try to get chemical information from PubChem</pre> + </td> + </tr> + <tr class="never"> + <td class="num">156</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @param query Query string to be passed to [get_cid][webchem::get_cid]</pre> + </td> + </tr> + <tr class="never"> + <td class="num">157</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @param from Passed to [get_cid][webchem::get_cid]</pre> + </td> + </tr> + <tr class="never"> + <td class="num">158</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> try_pubchem = function(query, from = 'name') {</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">159</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> message("PubChem:")</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">160</td> + <td class="coverage">1<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> if (missing(query)) query <- self$identifier</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">161</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> pubchem_result = webchem::get_cid(query, from = from, match = "first")</pre> + </td> + </tr> + <tr class="never"> + <td class="num">162</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="covered"> + <td class="num">163</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> if (is.na(pubchem_result[[1, "cid"]])) {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">164</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> message("Query ", query, " did not give results at PubChem")</pre> + </td> + </tr> + <tr class="never"> + <td class="num">165</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> } else {</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">166</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> self$get_pubchem(pubchem_result[[1, "cid"]])</pre> + </td> + </tr> + <tr class="never"> + <td class="num">167</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> }</pre> + </td> + </tr> + <tr class="never"> + <td class="num">168</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> },</pre> + </td> + </tr> + <tr class="never"> + <td class="num">169</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">170</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @description</pre> + </td> + </tr> + <tr class="never"> + <td class="num">171</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' Get chemical information from PubChem for a known PubChem CID</pre> + </td> + </tr> + <tr class="never"> + <td class="num">172</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @param pubchem_cid CID</pre> + </td> + </tr> + <tr class="never"> + <td class="num">173</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> get_pubchem = function(pubchem_cid) {</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">174</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> self$pubchem = as.list(webchem::pc_prop(pubchem_cid, from = "cid",</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">175</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> properties = c("MolecularFormula", "MolecularWeight",</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">176</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> "ConnectivitySMILES", "SMILES",</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">177</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> "InChI", "InChIKey", "IUPACName",</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">178</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> "XLogP", "TPSA", "Complexity", "Charge",</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">179</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> "HBondDonorCount", "HBondAcceptorCount")))</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">180</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> self$pubchem$synonyms = webchem::pc_synonyms(pubchem_cid, from = "cid")[[1]]</pre> + </td> + </tr> + <tr class="never"> + <td class="num">181</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="covered"> + <td class="num">182</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> self$smiles["PubChem"] <- self$pubchem$SMILES</pre> + </td> + </tr> + <tr class="never"> + <td class="num">183</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="covered"> + <td class="num">184</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> if (self$pubchem$SMILES != self$pubchem$ConnectivitySMILES) {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">185</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> self$smiles["PubChem_Connectivity"] <- self$pubchem$ConnectivitySMILES</pre> + </td> + </tr> + <tr class="never"> + <td class="num">186</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> }</pre> + </td> + </tr> + <tr class="never"> + <td class="num">187</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="covered"> + <td class="num">188</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> self$mw = as.numeric(self$pubchem$MolecularWeight)</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">189</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> attr(self$mw, "source") <- "pubchem"</pre> + </td> + </tr> + <tr class="never"> + <td class="num">190</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="covered"> + <td class="num">191</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> if (is.null(self$inchikey)) {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">192</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> self$inchikey <- self$pubchem$InChIKey</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">193</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> attr(self$inchikey, "source") <- "pubchem"</pre> + </td> + </tr> + <tr class="never"> + <td class="num">194</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> } else {</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">195</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> if (is.na(self$inchikey)) {</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">196</td> + <td class="coverage">1<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> warning("Overwriting uninitialized InChIKey")</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">197</td> + <td class="coverage">1<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> self$inchikey <- self$pubchem$InChIKey</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">198</td> + <td class="coverage">1<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> attr(self$inchikey, "source") <- "pubchem"</pre> + </td> + </tr> + <tr class="never"> + <td class="num">199</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> } else {</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">200</td> + <td class="coverage">1<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> if (length(self$inchikey) > 1) {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">201</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> message("InChIKey ", self$inchikey, " retreived from ",</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">202</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> attr(self$inchikey, "source"),</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">203</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> " has length > 1, using PubChem InChIKey")</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">204</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> self$inchikey <- self$pubchem$InChIKey</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">205</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> attr(self$inchikey, "source") <- "pubchem"</pre> + </td> + </tr> + <tr class="never"> + <td class="num">206</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> } else {</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">207</td> + <td class="coverage">1<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> if (self$pubchem$InChIKey != self$inchikey) {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">208</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> message("InChiKey ", self$pubchem$InChIKey, " from PubChem record does not match\n",</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">209</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> "InChiKey ", self$inchikey, " retreived from ",</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">210</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> attr(self$inchikey, "source"))</pre> + </td> + </tr> + <tr class="never"> + <td class="num">211</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> } else {</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">212</td> + <td class="coverage">1<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> attr(self$inchikey, "source") <- c(attr(self$inchikey, "source"), "pubchem")</pre> + </td> + </tr> + <tr class="never"> + <td class="num">213</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> }</pre> + </td> + </tr> + <tr class="never"> + <td class="num">214</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> }</pre> + </td> + </tr> + <tr class="never"> + <td class="num">215</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> }</pre> + </td> + </tr> + <tr class="never"> + <td class="num">216</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> }</pre> + </td> + </tr> + <tr class="never"> + <td class="num">217</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> },</pre> + </td> + </tr> + <tr class="never"> + <td class="num">218</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">219</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @description</pre> + </td> + </tr> + <tr class="never"> + <td class="num">220</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' Get chemical information from RDKit if available</pre> + </td> + </tr> + <tr class="never"> + <td class="num">221</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> get_rdkit = function(template = NULL) {</pre> + </td> + </tr> + <tr class="never"> + <td class="num">222</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> </pre> + </td> + </tr> + <tr class="missed"> + <td class="num">223</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> if (!rdkit_available) stop("RDKit is not available")</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">224</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> if (is.null(self$smiles)) stop("RDKit would need a SMILES code")</pre> + </td> + </tr> + <tr class="never"> + <td class="num">225</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> </pre> + </td> + </tr> + <tr class="covered"> + <td class="num">226</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> available_smiles <- names(self$smiles)</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">227</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> smiles_preference <- c("user", "PubChem", "PubChem_Connectivity")</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">228</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> smiles_preferred_i <- min(match(available_smiles, smiles_preference))</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">229</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> smiles_preferred <- smiles_preference[smiles_preferred_i]</pre> + </td> + </tr> + <tr class="never"> + <td class="num">230</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="covered"> + <td class="num">231</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> message("Trying to get chemical information from RDKit using ",</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">232</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> smiles_preferred, " SMILES\n",</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">233</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> self$smiles[smiles_preferred])</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">234</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> self$rdkit <- list()</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">235</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> self$mol <- rdkit_module$Chem$MolFromSmiles(self$smiles[1])</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">236</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> self$rdkit$mw <- rdkit_module$Chem$Descriptors$MolWt(self$mol)</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">237</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> if (!is.na(self$mw)) {</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">238</td> + <td class="coverage">1<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> if (round(self$rdkit$mw, 1) != round(self$mw, 1)) {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">239</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> message("RDKit mw is ", self$rdkit$mw)</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">240</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> message("mw is ", self$mw)</pre> + </td> + </tr> + <tr class="never"> + <td class="num">241</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> }</pre> + </td> + </tr> + <tr class="never"> + <td class="num">242</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> } else {</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">243</td> + <td class="coverage">1<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> self$mw <- self$rdkit$mw</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">244</td> + <td class="coverage">1<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> attr(self$mw, "source") <- "rdkit"</pre> + </td> + </tr> + <tr class="never"> + <td class="num">245</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> }</pre> + </td> + </tr> + <tr class="never"> + <td class="num">246</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">247</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> # Create an SVG representation</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">248</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> rdkit_module$Chem$rdDepictor$Compute2DCoords(self$mol)</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">249</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> if (!is.null(template)) {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">250</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> rdkit_template <- rdkit_module$Chem$MolFromSmiles(template)</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">251</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> rdkit_module$Chem$rdDepictor$Compute2DCoords(template)</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">252</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> rdkit$Chem$AllChem$GenerateDepictionMatching2DStructure(self$mol, template)</pre> + </td> + </tr> + <tr class="never"> + <td class="num">253</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> }</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">254</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> d2d <- rdkit_module$Chem$Draw$rdMolDraw2D$MolDraw2DSVG(400L, 400L)</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">255</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> d2d$DrawMolecule(self$mol)</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">256</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> d2d$FinishDrawing()</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">257</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> self$svg <- d2d$GetDrawingText()</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">258</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> svgfile <- tempfile(fileext = ".svg")</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">259</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> psfile <- tempfile(fileext = ".ps")</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">260</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> writeLines(self$svg, svgfile)</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">261</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> rsvg::rsvg_ps(svgfile, psfile)</pre> + </td> + </tr> + <tr class="never"> + <td class="num">262</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">263</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> # Get size properties useful for plotting</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">264</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> ps_font_line <- grep("Tm$", readLines(psfile), value = TRUE)[1]</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">265</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> ps_font_size <- gsub(" .*$", "", ps_font_line)</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">266</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> self$Pict_font_size = as.numeric(ps_font_size)</pre> + </td> + </tr> + <tr class="never"> + <td class="num">267</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">268</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> # Read in to create Picture</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">269</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> xmlfile <- tempfile(fileext = ".xml")</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">270</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> PostScriptTrace(psfile, outfilename = xmlfile)</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">271</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> unlink(paste0("capture", basename(psfile)))</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">272</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> self$Picture <- readPicture(xmlfile)</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">273</td> + <td class="coverage">2<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> unlink(c(xmlfile, psfile, svgfile))</pre> + </td> + </tr> + <tr class="never"> + <td class="num">274</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> },</pre> + </td> + </tr> + <tr class="never"> + <td class="num">275</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">276</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @description</pre> + </td> + </tr> + <tr class="never"> + <td class="num">277</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' Obtain information from a YAML file</pre> + </td> + </tr> + <tr class="never"> + <td class="num">278</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @param repo Should the file be looked for in the current working</pre> + </td> + </tr> + <tr class="never"> + <td class="num">279</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' directory, a local git repository under `~/git/chyaml`, or from</pre> + </td> + </tr> + <tr class="never"> + <td class="num">280</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' the web (not implemented).</pre> + </td> + </tr> + <tr class="never"> + <td class="num">281</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @param chyaml The filename to be looked for</pre> + </td> + </tr> + <tr class="never"> + <td class="num">282</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> get_chyaml = function(repo = c("wd", "local", "web"),</pre> + </td> + </tr> + <tr class="never"> + <td class="num">283</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> chyaml = paste0(URLencode(self$identifier), ".yaml"))</pre> + </td> + </tr> + <tr class="never"> + <td class="num">284</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">285</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> repo = match.arg(repo)</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">286</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> paths = c(</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">287</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> wd = ".",</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">288</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> local = file.path("~", "git/chyaml"))</pre> + </td> + </tr> + <tr class="never"> + <td class="num">289</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="missed"> + <td class="num">290</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> chyaml_handlers = list(</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">291</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> expr = function(x) NULL, # To avoid security risks from reading chyaml files</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">292</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> dataframe = function(x)</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">293</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> eval(parse(text = paste0("data.frame(", x, ", stringsAsFactors = FALSE)"))))</pre> + </td> + </tr> + <tr class="never"> + <td class="num">294</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="missed"> + <td class="num">295</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> if (repo %in% c("wd", "local")) {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">296</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> path = paths[repo]</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">297</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> full = file.path(path, chyaml)</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">298</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> if (!file.exists(full)) {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">299</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> message("Did not find chyaml file ", full)</pre> + </td> + </tr> + <tr class="never"> + <td class="num">300</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> } else {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">301</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> if (is(try(self$chyaml <- yaml.load_file(chyaml, handlers = chyaml_handlers)),</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">302</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> "try-error")) {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">303</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> message("Could not load ", full)</pre> + </td> + </tr> + <tr class="never"> + <td class="num">304</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> } else {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">305</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> message("Loaded ", full)</pre> + </td> + </tr> + <tr class="never"> + <td class="num">306</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> }</pre> + </td> + </tr> + <tr class="never"> + <td class="num">307</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> }</pre> + </td> + </tr> + <tr class="never"> + <td class="num">308</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> } else {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">309</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> message("web repositories not implemented")</pre> + </td> + </tr> + <tr class="never"> + <td class="num">310</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> }</pre> + </td> + </tr> + <tr class="never"> + <td class="num">311</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> },</pre> + </td> + </tr> + <tr class="never"> + <td class="num">312</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">313</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @description</pre> + </td> + </tr> + <tr class="never"> + <td class="num">314</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' Add a vapour pressure</pre> + </td> + </tr> + <tr class="never"> + <td class="num">315</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @param p0 The vapour pressure in Pa</pre> + </td> + </tr> + <tr class="never"> + <td class="num">316</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> add_p0 = function(p0, T = NA, source = NA, page = NA, remark = "") {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">317</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> self$p0 <- p0</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">318</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> attr(self$p0, "T") <- T</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">319</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> attr(self$p0, "source") <- source</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">320</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> attr(self$p0, "page") <- page</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">321</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> attr(self$p0, "remark") <- remark</pre> + </td> + </tr> + <tr class="never"> + <td class="num">322</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> },</pre> + </td> + </tr> + <tr class="never"> + <td class="num">323</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">324</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @description</pre> + </td> + </tr> + <tr class="never"> + <td class="num">325</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' Add a water solubility</pre> + </td> + </tr> + <tr class="never"> + <td class="num">326</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @param cwsat The water solubility in mg/L</pre> + </td> + </tr> + <tr class="never"> + <td class="num">327</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> add_cwsat = function(cwsat, T = NA, pH = NA,</pre> + </td> + </tr> + <tr class="never"> + <td class="num">328</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> source = NA, page = NA, remark = "")</pre> + </td> + </tr> + <tr class="never"> + <td class="num">329</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">330</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> self$cwsat <- cwsat</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">331</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> attr(self$cwsat, "T") <- T</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">332</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> attr(self$cwsat, "pH") <- pH</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">333</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> attr(self$cwsat, "source") <- source</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">334</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> attr(self$cwsat, "page") <- page</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">335</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> attr(self$cwsat, "remark") <- remark</pre> + </td> + </tr> + <tr class="never"> + <td class="num">336</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> },</pre> + </td> + </tr> + <tr class="never"> + <td class="num">337</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">338</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @description</pre> + </td> + </tr> + <tr class="never"> + <td class="num">339</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' Add a plant uptake factor</pre> + </td> + </tr> + <tr class="never"> + <td class="num">340</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @param PUF The plant uptake factor, a number between 0 and 1</pre> + </td> + </tr> + <tr class="never"> + <td class="num">341</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> add_PUF = function(PUF = 0,</pre> + </td> + </tr> + <tr class="never"> + <td class="num">342</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> source = "focus_generic_gw_2014", page = 41,</pre> + </td> + </tr> + <tr class="never"> + <td class="num">343</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> remark = "Conservative default value")</pre> + </td> + </tr> + <tr class="never"> + <td class="num">344</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">345</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> self$PUF <- PUF</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">346</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> attr(self$PUF, "source") <- source</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">347</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> attr(self$PUF, "page") <- page</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">348</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> attr(self$PUF, "remark") <- remark</pre> + </td> + </tr> + <tr class="never"> + <td class="num">349</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> },</pre> + </td> + </tr> + <tr class="never"> + <td class="num">350</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">351</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @field TPs List of transformation products as chent objects</pre> + </td> + </tr> + <tr class="never"> + <td class="num">352</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> TPs = list(),</pre> + </td> + </tr> + <tr class="never"> + <td class="num">353</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">354</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @description</pre> + </td> + </tr> + <tr class="never"> + <td class="num">355</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' Add a transformation product to the internal list</pre> + </td> + </tr> + <tr class="never"> + <td class="num">356</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @param x A [chent] object, or an identifier to generate a [chent] object</pre> + </td> + </tr> + <tr class="never"> + <td class="num">357</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @param pubchem Should chemical information be obtained from PubChem?</pre> + </td> + </tr> + <tr class="never"> + <td class="num">358</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> add_TP = function(x, smiles = NULL, pubchem = FALSE) {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">359</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> if (inherits(x, "chent")) {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">360</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> id <- names(x$identifier)</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">361</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> chent <- x</pre> + </td> + </tr> + <tr class="never"> + <td class="num">362</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> } else {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">363</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> id <- make.names(x)</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">364</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> chent <- chent$new(x, smiles = smiles, pubchem = pubchem)</pre> + </td> + </tr> + <tr class="never"> + <td class="num">365</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> }</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">366</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> self$TPs[[id]] <- chent</pre> + </td> + </tr> + <tr class="never"> + <td class="num">367</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> },</pre> + </td> + </tr> + <tr class="never"> + <td class="num">368</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">369</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @field transformations Data frame of observed transformations</pre> + </td> + </tr> + <tr class="never"> + <td class="num">370</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> transformations = data.frame(study_type = character(0),</pre> + </td> + </tr> + <tr class="never"> + <td class="num">371</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> TP_identifier = character(0),</pre> + </td> + </tr> + <tr class="never"> + <td class="num">372</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> max_occurrence = numeric(0),</pre> + </td> + </tr> + <tr class="never"> + <td class="num">373</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> source = character(0),</pre> + </td> + </tr> + <tr class="never"> + <td class="num">374</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> page = character(0),</pre> + </td> + </tr> + <tr class="never"> + <td class="num">375</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> stringsAsFactors = FALSE),</pre> + </td> + </tr> + <tr class="never"> + <td class="num">376</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">377</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @description</pre> + </td> + </tr> + <tr class="never"> + <td class="num">378</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' Add a line in the internal dataframe holding observed transformations</pre> + </td> + </tr> + <tr class="never"> + <td class="num">379</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @param study_type A characterisation of the study type</pre> + </td> + </tr> + <tr class="never"> + <td class="num">380</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @param TP_identifier An identifier of one of the transformation products</pre> + </td> + </tr> + <tr class="never"> + <td class="num">381</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' in `self$TPs`</pre> + </td> + </tr> + <tr class="never"> + <td class="num">382</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @param max_occurrence The maximum observed occurrence of the</pre> + </td> + </tr> + <tr class="never"> + <td class="num">383</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' transformation product, expressed as a fraction of the amount that would</pre> + </td> + </tr> + <tr class="never"> + <td class="num">384</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' result from stochiometric transformation</pre> + </td> + </tr> + <tr class="never"> + <td class="num">385</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> add_transformation = function(study_type, TP_identifier, max_occurrence,</pre> + </td> + </tr> + <tr class="never"> + <td class="num">386</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> remark = "", source = NA, pages = NA)</pre> + </td> + </tr> + <tr class="never"> + <td class="num">387</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">388</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> TP_name = make.names(TP_identifier)</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">389</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> if (!inherits(self$TPs[[TP_name]], "chent")) {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">390</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> stop(paste("Please add the TP", TP_identifier, "first using chent$add_TP()"))</pre> + </td> + </tr> + <tr class="never"> + <td class="num">391</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> }</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">392</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> TP_chent <- self$TPs[TP_name]</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">393</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> if (is.numeric(pages)) pages <- paste(pages, collapse = ", ")</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">394</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> cn <- colnames(self$transformations)</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">395</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> self$transformations <- rbind(self$transformations,</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">396</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> data.frame(study_type = study_type,</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">397</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> TP_identifier = TP_identifier,</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">398</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> max_occurrence = max_occurrence,</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">399</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> remark = remark,</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">400</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> source = source,</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">401</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> page = page,</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">402</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> stringsAsFactors = FALSE))</pre> + </td> + </tr> + <tr class="never"> + <td class="num">403</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> },</pre> + </td> + </tr> + <tr class="never"> + <td class="num">404</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">405</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @field soil_degradation Dataframe of modelling DT50 values</pre> + </td> + </tr> + <tr class="never"> + <td class="num">406</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> soil_degradation = NULL,</pre> + </td> + </tr> + <tr class="never"> + <td class="num">407</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">408</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @description</pre> + </td> + </tr> + <tr class="never"> + <td class="num">409</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' Add a line in the internal dataframe holding modelling DT50 values</pre> + </td> + </tr> + <tr class="never"> + <td class="num">410</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @param DT50_mod The modelling DT50 in the sense of regulatory pesticide</pre> + </td> + </tr> + <tr class="never"> + <td class="num">411</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' fate modelling</pre> + </td> + </tr> + <tr class="never"> + <td class="num">412</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @param DT50_mod_ref The normalised modelling DT50 in the sense of</pre> + </td> + </tr> + <tr class="never"> + <td class="num">413</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' regulatory pesticide fate modelling</pre> + </td> + </tr> + <tr class="never"> + <td class="num">414</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @param country The country (mainly for field studies)</pre> + </td> + </tr> + <tr class="never"> + <td class="num">415</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @param temperature The temperature during the study in degrees Celsius</pre> + </td> + </tr> + <tr class="never"> + <td class="num">416</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @param moisture The moisture during the study</pre> + </td> + </tr> + <tr class="never"> + <td class="num">417</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @param category Is it a laboratory ('lab') or field study ('field')</pre> + </td> + </tr> + <tr class="never"> + <td class="num">418</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @param formulation Name of the formulation applied, if it was not</pre> + </td> + </tr> + <tr class="never"> + <td class="num">419</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' the technical active ingredient</pre> + </td> + </tr> + <tr class="never"> + <td class="num">420</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @param model The degradation model used for deriving `DT50_mod`</pre> + </td> + </tr> + <tr class="never"> + <td class="num">421</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @param chi2 The relative error as defined in FOCUS kinetics</pre> + </td> + </tr> + <tr class="never"> + <td class="num">422</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> add_soil_degradation = function(soils, DT50_mod, DT50_mod_ref,</pre> + </td> + </tr> + <tr class="never"> + <td class="num">423</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> type = NA, country = NA,</pre> + </td> + </tr> + <tr class="never"> + <td class="num">424</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> pH_orig = NA, pH_medium = NA, pH_H2O = NA,</pre> + </td> + </tr> + <tr class="never"> + <td class="num">425</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> perc_OC = NA,</pre> + </td> + </tr> + <tr class="never"> + <td class="num">426</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> temperature = NA, moisture = NA,</pre> + </td> + </tr> + <tr class="never"> + <td class="num">427</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> category = "lab", formulation = NA,</pre> + </td> + </tr> + <tr class="never"> + <td class="num">428</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> model = NA, chi2 = NA,</pre> + </td> + </tr> + <tr class="never"> + <td class="num">429</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> remark = "", source, page = NA)</pre> + </td> + </tr> + <tr class="never"> + <td class="num">430</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">431</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> new_soil_degradation = data.frame(</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">432</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> soil = soils,</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">433</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> DT50_mod = DT50_mod,</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">434</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> DT50_mod_ref = DT50_mod_ref,</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">435</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> type = type,</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">436</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> country = country,</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">437</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> pH_orig = pH_orig,</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">438</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> pH_medium = pH_medium,</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">439</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> pH_H2O = pH_H2O,</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">440</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> perc_OC = perc_OC,</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">441</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> temperature = temperature,</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">442</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> moisture = moisture,</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">443</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> category = category,</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">444</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> formulation = formulation,</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">445</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> model = model,</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">446</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> chi2 = chi2,</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">447</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> remark = remark,</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">448</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> source = source,</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">449</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> page = page,</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">450</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> stringsAsFactors = FALSE)</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">451</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> if (is.null(self$soil_degradation)) {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">452</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> self$soil_degradation <- new_soil_degradation</pre> + </td> + </tr> + <tr class="never"> + <td class="num">453</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> } else {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">454</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> self$soil_degradation <- rbind(self$soil_degradation, new_soil_degradation)</pre> + </td> + </tr> + <tr class="never"> + <td class="num">455</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> }</pre> + </td> + </tr> + <tr class="never"> + <td class="num">456</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> },</pre> + </td> + </tr> + <tr class="never"> + <td class="num">457</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">458</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @field soil_ff Dataframe of formation fractions</pre> + </td> + </tr> + <tr class="never"> + <td class="num">459</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> soil_ff = NULL,</pre> + </td> + </tr> + <tr class="never"> + <td class="num">460</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">461</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @description</pre> + </td> + </tr> + <tr class="never"> + <td class="num">462</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' Add one or more formation fractions for degradation in soil</pre> + </td> + </tr> + <tr class="never"> + <td class="num">463</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @param target The identifier(s) of the transformation product</pre> + </td> + </tr> + <tr class="never"> + <td class="num">464</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @param soils The soil name(s) in which the transformation was observed</pre> + </td> + </tr> + <tr class="never"> + <td class="num">465</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @param ff The formation fraction(s)</pre> + </td> + </tr> + <tr class="never"> + <td class="num">466</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> add_soil_ff = function(target, soils, ff = 1,</pre> + </td> + </tr> + <tr class="never"> + <td class="num">467</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> remark = "", source, page = NA)</pre> + </td> + </tr> + <tr class="never"> + <td class="num">468</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">469</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> new_soil_ff = data.frame(</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">470</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> target = target,</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">471</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> target = target,</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">472</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> soil = soils,</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">473</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> ff = ff,</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">474</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> remark = remark,</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">475</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> source = source,</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">476</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> page = page,</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">477</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> stringsAsFactors = FALSE)</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">478</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> if (is.null(self$soil_ff)) {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">479</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> self$soil_ff <- new_soil_ff</pre> + </td> + </tr> + <tr class="never"> + <td class="num">480</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> } else {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">481</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> self$soil_ff <- rbind(self$soil_ff, new_soil_ff)</pre> + </td> + </tr> + <tr class="never"> + <td class="num">482</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> }</pre> + </td> + </tr> + <tr class="never"> + <td class="num">483</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> },</pre> + </td> + </tr> + <tr class="never"> + <td class="num">484</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">485</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @field soil_sorption Dataframe of soil sorption data</pre> + </td> + </tr> + <tr class="never"> + <td class="num">486</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> soil_sorption = NULL,</pre> + </td> + </tr> + <tr class="never"> + <td class="num">487</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">488</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @description</pre> + </td> + </tr> + <tr class="never"> + <td class="num">489</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' Add soil sorption data</pre> + </td> + </tr> + <tr class="never"> + <td class="num">490</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @param Kf The sorption constant in L/kg, either linear (then `N` is 1)</pre> + </td> + </tr> + <tr class="never"> + <td class="num">491</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' or according to Freundlich</pre> + </td> + </tr> + <tr class="never"> + <td class="num">492</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @param Kfoc The constant from above, normalised to soil organic carbon</pre> + </td> + </tr> + <tr class="never"> + <td class="num">493</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @param N The Freundlich exponent</pre> + </td> + </tr> + <tr class="never"> + <td class="num">494</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @param perc_clay The percentage of clay in the soil</pre> + </td> + </tr> + <tr class="never"> + <td class="num">495</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @param CEC The cation exchange capacity</pre> + </td> + </tr> + <tr class="never"> + <td class="num">496</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> add_soil_sorption = function(soils, </pre> + </td> + </tr> + <tr class="never"> + <td class="num">497</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> Kf, Kfoc, N,</pre> + </td> + </tr> + <tr class="never"> + <td class="num">498</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> type = NA, pH_orig = NA, pH_medium = NA,</pre> + </td> + </tr> + <tr class="never"> + <td class="num">499</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> pH_H2O = NA,</pre> + </td> + </tr> + <tr class="never"> + <td class="num">500</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> perc_OC = NA, perc_clay = NA, CEC = NA,</pre> + </td> + </tr> + <tr class="never"> + <td class="num">501</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> remark = "", source, page = NA)</pre> + </td> + </tr> + <tr class="never"> + <td class="num">502</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">503</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> new_soil_sorption = data.frame(</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">504</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> soils = soils,</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">505</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> Kf = Kf, Kfoc = Kfoc, N = N,</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">506</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> type = type,</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">507</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> pH_orig = pH_orig,</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">508</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> pH_medium = pH_medium,</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">509</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> pH_H2O = pH_H2O,</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">510</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> perc_OC = perc_OC, perc_clay = perc_clay, CEC = CEC,</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">511</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> remark = remark,</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">512</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> source = source,</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">513</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> page = page,</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">514</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> stringsAsFactors = FALSE)</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">515</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> if (is.null(self$soil_sorption)) {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">516</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> self$soil_sorption <- new_soil_sorption</pre> + </td> + </tr> + <tr class="never"> + <td class="num">517</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> } else {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">518</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> self$soil_sorption <- rbind(self$soil_sorption, new_soil_sorption)</pre> + </td> + </tr> + <tr class="never"> + <td class="num">519</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> }</pre> + </td> + </tr> + <tr class="never"> + <td class="num">520</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> },</pre> + </td> + </tr> + <tr class="never"> + <td class="num">521</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">522</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @description</pre> + </td> + </tr> + <tr class="never"> + <td class="num">523</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' Write a PDF image of the structure</pre> + </td> + </tr> + <tr class="never"> + <td class="num">524</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> pdf = function(file = paste0(self$identifier, ".pdf"),</pre> + </td> + </tr> + <tr class="never"> + <td class="num">525</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> dir = "structures/pdf", template = NULL) {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">526</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> if (!dir.exists(dir)) {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">527</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> message("Directory '", dir, "' does not exist")</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">528</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> message("Trying to create directory '", dir, "'")</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">529</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> dir.create(dir, recursive = TRUE)</pre> + </td> + </tr> + <tr class="never"> + <td class="num">530</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> }</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">531</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> path = file.path(dir, file)</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">532</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> message("Creating file '", path, "'")</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">533</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> pdf(path)</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">534</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> plot(self)</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">535</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> dev.off()</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">536</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> message("Cropping file '", path, "' using pdfcrop")</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">537</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> bash_path <- shQuote(path)</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">538</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> system(paste("pdfcrop --margin 10", bash_path, bash_path, "> /dev/null"))</pre> + </td> + </tr> + <tr class="never"> + <td class="num">539</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">540</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> # Get the height of the MediaBox</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">541</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> head <- readLines(path, n = 20, skipNul = TRUE)</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">542</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> m_line <- suppressWarnings(grep("MediaBox", head, value = TRUE))</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">543</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> self$pdf_height <- as.numeric(gsub("/MediaBox \\[.* (.*)\\]", "\\1", m_line))</pre> + </td> + </tr> + <tr class="never"> + <td class="num">544</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> },</pre> + </td> + </tr> + <tr class="never"> + <td class="num">545</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">546</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @description</pre> + </td> + </tr> + <tr class="never"> + <td class="num">547</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' Write a PNG image of the structure</pre> + </td> + </tr> + <tr class="never"> + <td class="num">548</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @param antialias Passed to [png][grDevices::png]</pre> + </td> + </tr> + <tr class="never"> + <td class="num">549</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> png = function(file = paste0(self$identifier, ".png"),</pre> + </td> + </tr> + <tr class="never"> + <td class="num">550</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> dir = "structures/png", antialias = 'gray')</pre> + </td> + </tr> + <tr class="never"> + <td class="num">551</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">552</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> if (!dir.exists(dir)) {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">553</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> message("Directory '", dir, "' does not exist")</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">554</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> message("Trying to create directory '", dir, "'")</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">555</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> dir.create(dir, recursive = TRUE)</pre> + </td> + </tr> + <tr class="never"> + <td class="num">556</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> }</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">557</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> path = file.path(dir, file)</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">558</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> message("Creating file '", path, "'")</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">559</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> png(path, antialias = antialias)</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">560</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> plot(self)</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">561</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> dev.off()</pre> + </td> + </tr> + <tr class="never"> + <td class="num">562</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> },</pre> + </td> + </tr> + <tr class="never"> + <td class="num">563</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">564</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @description</pre> + </td> + </tr> + <tr class="never"> + <td class="num">565</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' Write an EMF image of the structure using [emf][devEMF::emf]</pre> + </td> + </tr> + <tr class="never"> + <td class="num">566</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> emf = function(file = paste0(self$identifier, ".emf"),</pre> + </td> + </tr> + <tr class="never"> + <td class="num">567</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> dir = "structures/emf")</pre> + </td> + </tr> + <tr class="never"> + <td class="num">568</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">569</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> if (!requireNamespace("devEMF")) {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">570</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> stop("You need to have the devEMF package installed for this function")</pre> + </td> + </tr> + <tr class="never"> + <td class="num">571</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> }</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">572</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> if (!dir.exists(dir)) {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">573</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> message("Directory '", dir, "' does not exist")</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">574</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> message("Trying to create directory '", dir, "'")</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">575</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> dir.create(dir, recursive = TRUE)</pre> + </td> + </tr> + <tr class="never"> + <td class="num">576</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> }</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">577</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> path = file.path(dir, file)</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">578</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> message("Creating file '", path, "'")</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">579</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> devEMF::emf(path)</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">580</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> plot(self)</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">581</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> dev.off()</pre> + </td> + </tr> + <tr class="never"> + <td class="num">582</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> }</pre> + </td> + </tr> + <tr class="never"> + <td class="num">583</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> )</pre> + </td> + </tr> + <tr class="never"> + <td class="num">584</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">)</pre> + </td> + </tr> + <tr class="never"> + <td class="num">585</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">586</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' Printing method for chent objects</pre> + </td> + </tr> + <tr class="never"> + <td class="num">587</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#'</pre> + </td> + </tr> + <tr class="never"> + <td class="num">588</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @param x The chent object to be printed</pre> + </td> + </tr> + <tr class="never"> + <td class="num">589</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @param ... Further arguments for compatibility with the S3 method</pre> + </td> + </tr> + <tr class="never"> + <td class="num">590</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @importFrom utils head</pre> + </td> + </tr> + <tr class="never"> + <td class="num">591</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @export</pre> + </td> + </tr> + <tr class="never"> + <td class="num">592</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">print.chent = function(x, ...) {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">593</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> cat("<chent>\n")</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">594</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> cat("Identifier $identifier", x$identifier, "\n")</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">595</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> cat ("InChI Key $inchikey", x$inchikey, "\n")</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">596</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> cat ("SMILES string $smiles:\n")</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">597</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> print(x$smiles)</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">598</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> if (!is.null(x$mw)) cat ("Molecular weight $mw:", round(x$mw, 1), "\n")</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">599</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> if (!is.null(x$pubchem$synonyms)) {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">600</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> cat ("PubChem synonyms (up to 10):\n")</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">601</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> print(head(x$pubchem$synonyms, n = 10L))</pre> + </td> + </tr> + <tr class="never"> + <td class="num">602</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> }</pre> + </td> + </tr> + <tr class="never"> + <td class="num">603</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">}</pre> + </td> + </tr> + <tr class="never"> + <td class="num">604</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">605</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' Draw SVG graph from a chent object using RDKit</pre> + </td> + </tr> + <tr class="never"> + <td class="num">606</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#'</pre> + </td> + </tr> + <tr class="never"> + <td class="num">607</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @param x The chent object to be plotted</pre> + </td> + </tr> + <tr class="never"> + <td class="num">608</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @param width The desired width in pixels</pre> + </td> + </tr> + <tr class="never"> + <td class="num">609</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @param height The desired height in pixels</pre> + </td> + </tr> + <tr class="never"> + <td class="num">610</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @param filename The filename</pre> + </td> + </tr> + <tr class="never"> + <td class="num">611</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @param subdir The path to which the file should be written</pre> + </td> + </tr> + <tr class="never"> + <td class="num">612</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @export</pre> + </td> + </tr> + <tr class="never"> + <td class="num">613</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">draw_svg.chent = function(x, width = 300, height = 150,</pre> + </td> + </tr> + <tr class="never"> + <td class="num">614</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> filename = paste0(names(x$identifier), ".svg"),</pre> + </td> + </tr> + <tr class="never"> + <td class="num">615</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> subdir = "svg") {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">616</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> if (!rdkit_available) {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">617</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> stop("RDkit is not available via reticulate")</pre> + </td> + </tr> + <tr class="never"> + <td class="num">618</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> } else {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">619</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> if (!dir.exists(subdir)) dir.create(subdir)</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">620</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> mol <- rdkit_module$Chem$MolFromSmiles(x$smiles)</pre> + </td> + </tr> + <tr class="never"> + <td class="num">621</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="missed"> + <td class="num">622</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> rdkit_module$Chem$Draw$MolToFile(mol, file.path(subdir, filename),</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">623</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> size = c(as.integer(width), as.integer(height)))</pre> + </td> + </tr> + <tr class="never"> + <td class="num">624</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> }</pre> + </td> + </tr> + <tr class="never"> + <td class="num">625</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">}</pre> + </td> + </tr> + <tr class="never"> + <td class="num">626</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">627</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' Plot method for chent objects</pre> + </td> + </tr> + <tr class="never"> + <td class="num">628</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#'</pre> + </td> + </tr> + <tr class="never"> + <td class="num">629</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @importFrom grImport grid.picture</pre> + </td> + </tr> + <tr class="never"> + <td class="num">630</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @param x The chent object to be plotted</pre> + </td> + </tr> + <tr class="never"> + <td class="num">631</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @param ... Further arguments passed to [grImport::grid.picture]</pre> + </td> + </tr> + <tr class="never"> + <td class="num">632</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @export</pre> + </td> + </tr> + <tr class="never"> + <td class="num">633</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @examples</pre> + </td> + </tr> + <tr class="never"> + <td class="num">634</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' caffeine <- chent$new("caffeine")</pre> + </td> + </tr> + <tr class="never"> + <td class="num">635</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' print(caffeine)</pre> + </td> + </tr> + <tr class="never"> + <td class="num">636</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' if (!is.null(caffeine$Picture)) {</pre> + </td> + </tr> + <tr class="never"> + <td class="num">637</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' plot(caffeine)</pre> + </td> + </tr> + <tr class="never"> + <td class="num">638</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' }</pre> + </td> + </tr> + <tr class="never"> + <td class="num">639</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">plot.chent = function(x, ...) {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">640</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> if (is.null(x$Picture)) stop("No Picture object in chent, was RDKit available during creation?")</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">641</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> grid.picture(x$Picture)</pre> + </td> + </tr> + <tr class="never"> + <td class="num">642</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">}</pre> + </td> + </tr> + <tr class="never"> + <td class="num">643</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">644</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @title An R6 class for pesticidal active ingredients and associated data</pre> + </td> + </tr> + <tr class="never"> + <td class="num">645</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#'</pre> + </td> + </tr> + <tr class="never"> + <td class="num">646</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @description This class is derived from [chent]. It makes it easy</pre> + </td> + </tr> + <tr class="never"> + <td class="num">647</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' to create a [chent] from the ISO common name of a pesticide active</pre> + </td> + </tr> + <tr class="never"> + <td class="num">648</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' ingredient, and additionally stores the ISO name as well as</pre> + </td> + </tr> + <tr class="never"> + <td class="num">649</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' the complete result of querying the BCPC compendium using</pre> + </td> + </tr> + <tr class="never"> + <td class="num">650</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' [bcpc_query][webchem::bcpc_query].</pre> + </td> + </tr> + <tr class="never"> + <td class="num">651</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#'</pre> + </td> + </tr> + <tr class="never"> + <td class="num">652</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @export</pre> + </td> + </tr> + <tr class="never"> + <td class="num">653</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @format An [R6::R6Class] generator object</pre> + </td> + </tr> + <tr class="never"> + <td class="num">654</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @examples</pre> + </td> + </tr> + <tr class="never"> + <td class="num">655</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' # On Travis, we get a certificate validation error,</pre> + </td> + </tr> + <tr class="never"> + <td class="num">656</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' # likely because the system (xenial) is so old,</pre> + </td> + </tr> + <tr class="never"> + <td class="num">657</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' # therefore don't run this example on Travis</pre> + </td> + </tr> + <tr class="never"> + <td class="num">658</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' if (Sys.getenv("TRAVIS") == "") {</pre> + </td> + </tr> + <tr class="never"> + <td class="num">659</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#'</pre> + </td> + </tr> + <tr class="never"> + <td class="num">660</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' atr <- pai$new("atrazine")</pre> + </td> + </tr> + <tr class="never"> + <td class="num">661</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' print(atr)</pre> + </td> + </tr> + <tr class="never"> + <td class="num">662</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' if (!is.null(atr$Picture)) {</pre> + </td> + </tr> + <tr class="never"> + <td class="num">663</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' plot(atr)</pre> + </td> + </tr> + <tr class="never"> + <td class="num">664</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' }</pre> + </td> + </tr> + <tr class="never"> + <td class="num">665</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#'</pre> + </td> + </tr> + <tr class="never"> + <td class="num">666</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' }</pre> + </td> + </tr> + <tr class="never"> + <td class="num">667</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">pai <- R6Class("pai",</pre> + </td> + </tr> + <tr class="never"> + <td class="num">668</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> inherit = chent,</pre> + </td> + </tr> + <tr class="never"> + <td class="num">669</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> public = list(</pre> + </td> + </tr> + <tr class="never"> + <td class="num">670</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">671</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @field iso ISO common name of the active ingredient according to ISO 1750</pre> + </td> + </tr> + <tr class="never"> + <td class="num">672</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> iso = NULL,</pre> + </td> + </tr> + <tr class="never"> + <td class="num">673</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">674</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @field bcpc Information retrieved from the BCPC compendium available online</pre> + </td> + </tr> + <tr class="never"> + <td class="num">675</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' at <pesticidecompendium.bcpc.org></pre> + </td> + </tr> + <tr class="never"> + <td class="num">676</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> bcpc = NULL,</pre> + </td> + </tr> + <tr class="never"> + <td class="num">677</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">678</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @description</pre> + </td> + </tr> + <tr class="never"> + <td class="num">679</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' Create a new pai object</pre> + </td> + </tr> + <tr class="never"> + <td class="num">680</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @param iso The ISO common name to be used in the query of the</pre> + </td> + </tr> + <tr class="never"> + <td class="num">681</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' BCPC compendium</pre> + </td> + </tr> + <tr class="never"> + <td class="num">682</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @param identifier Alternative identifier used for querying pubchem</pre> + </td> + </tr> + <tr class="never"> + <td class="num">683</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @param smiles Optional user provided SMILES code</pre> + </td> + </tr> + <tr class="never"> + <td class="num">684</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @param inchikey Optional user provided InChI Key</pre> + </td> + </tr> + <tr class="never"> + <td class="num">685</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @param bcpc Should the BCPC compendium be queried?</pre> + </td> + </tr> + <tr class="never"> + <td class="num">686</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @param pubchem Should an attempt be made to retrieve chemical</pre> + </td> + </tr> + <tr class="never"> + <td class="num">687</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' information from PubChem via the webchem package?</pre> + </td> + </tr> + <tr class="never"> + <td class="num">688</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @param pubchem_from Possibility to select the argument</pre> + </td> + </tr> + <tr class="never"> + <td class="num">689</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' that is used to query pubchem</pre> + </td> + </tr> + <tr class="never"> + <td class="num">690</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @param rdkit Should an attempt be made to retrieve chemical</pre> + </td> + </tr> + <tr class="never"> + <td class="num">691</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' information from a local rdkit installation via python</pre> + </td> + </tr> + <tr class="never"> + <td class="num">692</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' and the reticulate package?</pre> + </td> + </tr> + <tr class="never"> + <td class="num">693</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @param template An optional SMILES code to be used as template for RDKit</pre> + </td> + </tr> + <tr class="never"> + <td class="num">694</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @param chyaml Should we look for a identifier.yaml file in the working</pre> + </td> + </tr> + <tr class="never"> + <td class="num">695</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> initialize = function(iso, identifier = iso,</pre> + </td> + </tr> + <tr class="never"> + <td class="num">696</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> smiles = NULL, inchikey = NULL, bcpc = TRUE,</pre> + </td> + </tr> + <tr class="never"> + <td class="num">697</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> pubchem = TRUE, pubchem_from = 'auto',</pre> + </td> + </tr> + <tr class="never"> + <td class="num">698</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> rdkit = TRUE, template = NULL,</pre> + </td> + </tr> + <tr class="never"> + <td class="num">699</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> chyaml = FALSE)</pre> + </td> + </tr> + <tr class="never"> + <td class="num">700</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> {</pre> + </td> + </tr> + <tr class="never"> + <td class="num">701</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="covered"> + <td class="num">702</td> + <td class="coverage">1<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> if (!is.null(inchikey)) {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">703</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> self$inchikey = inchikey</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">704</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> attr(self$inchikey, "source") <- "user"</pre> + </td> + </tr> + <tr class="never"> + <td class="num">705</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> }</pre> + </td> + </tr> + <tr class="never"> + <td class="num">706</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="covered"> + <td class="num">707</td> + <td class="coverage">1<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> if (!missing(iso) & bcpc) {</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">708</td> + <td class="coverage">1<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> message("BCPC:")</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">709</td> + <td class="coverage">1<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> bcpc_result = webchem::bcpc_query(identifier, from = "name")</pre> + </td> + </tr> + <tr class="never"> + <td class="num">710</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">711</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> # Use first element of list, as we passed a query of length one</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">712</td> + <td class="coverage">1<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> if (is.na(bcpc_result[[1]][1])) {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">713</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> message("Common name ", identifier, " is not known at the BCPC compendium, trying PubChem")</pre> + </td> + </tr> + <tr class="never"> + <td class="num">714</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> } else {</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">715</td> + <td class="coverage">1<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> self$bcpc = bcpc_result[[1]]</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">716</td> + <td class="coverage">1<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> self$iso = self$bcpc$cname</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">717</td> + <td class="coverage">1<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> attr(self$iso, "source") <- "bcpc"</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">718</td> + <td class="coverage">1<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> attr(self$iso, "status") <- self$bcpc$status</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">719</td> + <td class="coverage">1<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> bcpc_ik = self$bcpc$inchikey</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">720</td> + <td class="coverage">1<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> if (length(bcpc_ik) == 1 && !is.na(bcpc_ik)) {</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">721</td> + <td class="coverage">1<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> if (is.null(self$inchikey)) {</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">722</td> + <td class="coverage">1<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> self$inchikey = substr(self$bcpc$inchikey, 1, 27)</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">723</td> + <td class="coverage">1<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> attr(self$inchikey, "source") <- "bcpc"</pre> + </td> + </tr> + <tr class="never"> + <td class="num">724</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> } else {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">725</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> if (bcpc_ik == self$inchikey) {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">726</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> attr(self$inchikey, "source") = c(attr(self$inchikey, "source"), "bcpc")</pre> + </td> + </tr> + <tr class="never"> + <td class="num">727</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> } else {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">728</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> warning("InChIKey ", self$inchikey, " differs from ", bcpc_ik, " obtained from bcpc.org")</pre> + </td> + </tr> + <tr class="never"> + <td class="num">729</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> }</pre> + </td> + </tr> + <tr class="never"> + <td class="num">730</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> }</pre> + </td> + </tr> + <tr class="never"> + <td class="num">731</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> }</pre> + </td> + </tr> + <tr class="never"> + <td class="num">732</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> }</pre> + </td> + </tr> + <tr class="never"> + <td class="num">733</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> }</pre> + </td> + </tr> + <tr class="never"> + <td class="num">734</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">735</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> # Set pubchem_from if not specified</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">736</td> + <td class="coverage">1<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> if (pubchem_from == 'auto') {</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">737</td> + <td class="coverage">1<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> pubchem_from = 'name'</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">738</td> + <td class="coverage">1<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> if (!is.null(self$inchikey)) {</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">739</td> + <td class="coverage">1<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> pubchem_from = 'inchikey'</pre> + </td> + </tr> + <tr class="never"> + <td class="num">740</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> }</pre> + </td> + </tr> + <tr class="never"> + <td class="num">741</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> }</pre> + </td> + </tr> + <tr class="never"> + <td class="num">742</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="covered"> + <td class="num">743</td> + <td class="coverage">1<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> super$initialize(identifier = identifier,</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">744</td> + <td class="coverage">1<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> smiles = smiles, inchikey = self$inchikey,</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">745</td> + <td class="coverage">1<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> pubchem = pubchem, pubchem_from = pubchem_from,</pre> + </td> + </tr> + <tr class="covered"> + <td class="num">746</td> + <td class="coverage">1<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> rdkit = rdkit, template = template, chyaml = chyaml)</pre> + </td> + </tr> + <tr class="never"> + <td class="num">747</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="covered"> + <td class="num">748</td> + <td class="coverage">1<em>x</em></td> + <td class="col-sm-12"> + <pre class="language-r"> invisible(self)</pre> + </td> + </tr> + <tr class="never"> + <td class="num">749</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> }</pre> + </td> + </tr> + <tr class="never"> + <td class="num">750</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> )</pre> + </td> + </tr> + <tr class="never"> + <td class="num">751</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">)</pre> + </td> + </tr> + <tr class="never"> + <td class="num">752</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">753</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' Printing method for pai objects (pesticidal active ingredients)</pre> + </td> + </tr> + <tr class="never"> + <td class="num">754</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#'</pre> + </td> + </tr> + <tr class="never"> + <td class="num">755</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @param x The chent object to be printed</pre> + </td> + </tr> + <tr class="never"> + <td class="num">756</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @param ... Further arguments for compatibility with the S3 method</pre> + </td> + </tr> + <tr class="never"> + <td class="num">757</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @export</pre> + </td> + </tr> + <tr class="never"> + <td class="num">758</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">print.pai = function(x, ...) {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">759</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> cat("<pai> with ISO common name $iso", x$iso, "\n")</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">760</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> print.chent(x)</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">761</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> if (length(x$TPs) > 0) {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">762</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> cat("\nTransformation products:\n")</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">763</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> print(x$TPs)</pre> + </td> + </tr> + <tr class="never"> + <td class="num">764</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> }</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">765</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> if (nrow(x$transformations) > 0) {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">766</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> cat("\nTransformations:\n")</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">767</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> print(x$transformations)</pre> + </td> + </tr> + <tr class="never"> + <td class="num">768</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> }</pre> + </td> + </tr> + <tr class="never"> + <td class="num">769</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">}</pre> + </td> + </tr> + <tr class="never"> + <td class="num">770</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">771</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @title R6 class for a plant protection product with at least one active ingredient</pre> + </td> + </tr> + <tr class="never"> + <td class="num">772</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#'</pre> + </td> + </tr> + <tr class="never"> + <td class="num">773</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @description Contains basic information about the active ingredients in the</pre> + </td> + </tr> + <tr class="never"> + <td class="num">774</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' product</pre> + </td> + </tr> + <tr class="never"> + <td class="num">775</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#'</pre> + </td> + </tr> + <tr class="never"> + <td class="num">776</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @export</pre> + </td> + </tr> + <tr class="never"> + <td class="num">777</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @format An [R6::R6Class] generator object.</pre> + </td> + </tr> + <tr class="never"> + <td class="num">778</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">ppp <- R6Class("ppp",</pre> + </td> + </tr> + <tr class="never"> + <td class="num">779</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> public = list(</pre> + </td> + </tr> + <tr class="never"> + <td class="num">780</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">781</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @field name The name of the product</pre> + </td> + </tr> + <tr class="never"> + <td class="num">782</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> name = NULL,</pre> + </td> + </tr> + <tr class="never"> + <td class="num">783</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">784</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @field ais A list of active ingredients</pre> + </td> + </tr> + <tr class="never"> + <td class="num">785</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> ais = list(),</pre> + </td> + </tr> + <tr class="never"> + <td class="num">786</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">787</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @field concentrations The concentration of the ais</pre> + </td> + </tr> + <tr class="never"> + <td class="num">788</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> concentrations = NULL,</pre> + </td> + </tr> + <tr class="never"> + <td class="num">789</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">790</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @field concentration_units Defaults to g/L</pre> + </td> + </tr> + <tr class="never"> + <td class="num">791</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> concentration_units = NULL,</pre> + </td> + </tr> + <tr class="never"> + <td class="num">792</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">793</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @field density The density of the product</pre> + </td> + </tr> + <tr class="never"> + <td class="num">794</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> density = NULL,</pre> + </td> + </tr> + <tr class="never"> + <td class="num">795</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">796</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @field density_units Defaults to g/L</pre> + </td> + </tr> + <tr class="never"> + <td class="num">797</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> density_units = "g/L",</pre> + </td> + </tr> + <tr class="never"> + <td class="num">798</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">799</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @description</pre> + </td> + </tr> + <tr class="never"> + <td class="num">800</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' Creates a new instance of this [R6][R6::R6Class] class.</pre> + </td> + </tr> + <tr class="never"> + <td class="num">801</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @param name The name of the product</pre> + </td> + </tr> + <tr class="never"> + <td class="num">802</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @param ... Identifiers of the active ingredients</pre> + </td> + </tr> + <tr class="never"> + <td class="num">803</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @param concentrations Concentrations of the active ingredients</pre> + </td> + </tr> + <tr class="never"> + <td class="num">804</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @param concentration_units Defaults to g/L</pre> + </td> + </tr> + <tr class="never"> + <td class="num">805</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @param density The density</pre> + </td> + </tr> + <tr class="never"> + <td class="num">806</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> #' @param density_units Defaults to g/L</pre> + </td> + </tr> + <tr class="never"> + <td class="num">807</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> initialize = function(name, ..., concentrations, concentration_units = "g/L",</pre> + </td> + </tr> + <tr class="never"> + <td class="num">808</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> density = 1000, density_units = "g/L")</pre> + </td> + </tr> + <tr class="never"> + <td class="num">809</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">810</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> self$name <- name</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">811</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> self$ais <- list(...)</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">812</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> self$concentrations <- concentrations</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">813</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> self$density <- density</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">814</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> self$density_units <- density_units</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">815</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> names(self$concentrations) <- names(self$ais)</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">816</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> self$concentration_units <- concentration_units</pre> + </td> + </tr> + <tr class="never"> + <td class="num">817</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> }</pre> + </td> + </tr> + <tr class="never"> + <td class="num">818</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"> )</pre> + </td> + </tr> + <tr class="never"> + <td class="num">819</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">)</pre> + </td> + </tr> + <tr class="never"> + <td class="num">820</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"></pre> + </td> + </tr> + <tr class="never"> + <td class="num">821</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' Printing method for ppp objects (plant protection products)</pre> + </td> + </tr> + <tr class="never"> + <td class="num">822</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#'</pre> + </td> + </tr> + <tr class="never"> + <td class="num">823</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @param x The chent object to be printed</pre> + </td> + </tr> + <tr class="never"> + <td class="num">824</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @param ... Further arguments for compatibility with the S3 method</pre> + </td> + </tr> + <tr class="never"> + <td class="num">825</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">#' @export</pre> + </td> + </tr> + <tr class="never"> + <td class="num">826</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">print.ppp = function(x, ...) {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">827</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> cat("<pp> named", x$name, "\n")</pre> + </td> + </tr> + <tr class="never"> + <td class="num">828</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">}</pre> + </td> + </tr> + <tr class="never"> + <td class="num">829</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r"># vim: set ts=2 sw=2 expandtab:</pre> + </td> + </tr> + </tbody> + </table> + </div> + <div id="R/zzz.R" class="hidden"> + <table class="table-condensed"> + <tbody> + <tr class="never"> + <td class="num">1</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">.onLoad = function(libname, pkgname) {</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">2</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> conf <- reticulate::py_discover_config("rdkit")</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">3</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> rdkit_available <- reticulate::py_module_available("rdkit")</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">4</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> rdkit_module <- try(</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">5</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> reticulate::import("rdkit"), </pre> + </td> + </tr> + <tr class="missed"> + <td class="num">6</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> silent = TRUE)</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">7</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> assign('rdkit_available', rdkit_available, envir = topenv())</pre> + </td> + </tr> + <tr class="missed"> + <td class="num">8</td> + <td class="coverage">!</td> + <td class="col-sm-12"> + <pre class="language-r"> assign('rdkit_module', rdkit_module, envir = topenv())</pre> + </td> + </tr> + <tr class="never"> + <td class="num">9</td> + <td class="coverage"></td> + <td class="col-sm-12"> + <pre class="language-r">}</pre> + </td> + </tr> + </tbody> + </table> + </div> + <script>$('div#files pre').each(function(i, block) { + hljs.highlightBlock(block); +});</script> + </div> + </div> + </div> + </div> + </div> +</div> +</body> +</html> |