diff options
-rw-r--r-- | DESCRIPTION | 3 | ||||
-rw-r--r-- | docs/coverage/coverage.html | 1251 | ||||
-rw-r--r-- | tests/testthat.R | 8 | ||||
-rw-r--r-- | tests/testthat/_snaps/chent.md | 18 | ||||
-rw-r--r-- | tests/testthat/test_chent.R | 30 | ||||
-rw-r--r-- | tests/testthat/test_pai.R | 29 |
6 files changed, 671 insertions, 668 deletions
diff --git a/DESCRIPTION b/DESCRIPTION index 2201b9a..71c6c42 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -19,7 +19,7 @@ Imports: reticulate Suggests: knitr, - testthat, + testthat (>= 3.0.0), covr, devEMF License: GPL @@ -29,3 +29,4 @@ Encoding: UTF-8 URL: https://pkgdown.jrwb.de/chents, https://github.com/jranke/chents Roxygen: list(markdown = TRUE, r6 = TRUE) RoxygenNote: 7.3.3 +Config/testthat/edition: 3 diff --git a/docs/coverage/coverage.html b/docs/coverage/coverage.html index f881440..1e9d0ad 100644 --- a/docs/coverage/coverage.html +++ b/docs/coverage/coverage.html @@ -95,7 +95,7 @@ table.table-condensed { font-size: 11px; }</style> <div class="col-md-8 col-md-offset-2"> - <h2>chents coverage - 32.25%</h2> + <h2>chents coverage - 34.64%</h2> <div class="tabbable"> <ul class="nav nav-tabs" data-tabsetid="covr"> <li class="active"> @@ -107,8 +107,8 @@ table.table-condensed { </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 class="datatables html-widget html-fill-item" id="htmlwidget-702167ad1bbf5cac83c0" style="width:100%;height:500px;"></div> + <script type="application/json" data-for="htmlwidget-702167ad1bbf5cac83c0">{"x":{"filter":"none","vertical":false,"fillContainer":false,"data":[["<a href=\"#\">R/zzz.R<\/a>","<a href=\"#\">R/chent.R<\/a>"],[9,828],[7,299],[0,106],[7,193],["0","1"],["0.00%","35.45%"]],"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"> @@ -1218,14 +1218,14 @@ table.table-condensed { <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> + <pre class="language-r"> try_pubchem = function(query = self$identifier, 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> + <pre class="language-r"> message("Querying PubChem for ", from , " ", query, " ...")</pre> </td> </tr> <tr class="covered"> @@ -1260,7 +1260,7 @@ table.table-condensed { <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> + <pre class="language-r"> message("Querying for ", query, " as ", from, " did not give results at PubChem")</pre> </td> </tr> <tr class="never"> @@ -1729,7 +1729,7 @@ table.table-condensed { <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> + <pre class="language-r"> message("Get chemical information from RDKit using ",</pre> </td> </tr> <tr class="covered"> @@ -1771,12 +1771,12 @@ table.table-condensed { <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> + <pre class="language-r"> if (!is.null(self$mw) && !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="coverage">2<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> @@ -1785,4134 +1785,4127 @@ table.table-condensed { <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> + <pre class="language-r"> warning("RDKit mw is ", self$rdkit$mw, " while mw is ", self$mw)</pre> </td> </tr> <tr class="never"> - <td class="num">241</td> + <td class="num">240</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="num">241</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> + <tr class="missed"> + <td class="num">242</td> + <td class="coverage">!</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> + <tr class="missed"> + <td class="num">243</td> + <td class="coverage">!</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="num">244</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="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">247</td> + <td class="num">246</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="num">247</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="num">248</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="num">249</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="num">250</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="num">251</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="num">252</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="num">253</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="num">254</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="num">255</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="num">256</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="num">257</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="num">258</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="num">259</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="num">260</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="num">261</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="num">262</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="num">263</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="num">264</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="num">265</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="num">266</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="num">267</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="num">268</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="num">269</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="num">270</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="num">271</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="num">272</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="num">273</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="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">276</td> + <td class="num">275</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="num">276</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="num">277</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="num">278</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="num">279</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="num">280</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="num">281</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="num">282</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="num">283</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="num">284</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="num">285</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="num">286</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="num">287</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="num">288</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="num">289</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="num">290</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="num">291</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="num">292</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="num">293</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="num">294</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="num">295</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="num">296</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="num">297</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="num">298</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="num">299</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="num">300</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="num">301</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="num">302</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="num">303</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="num">304</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="num">305</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="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">308</td> + <td class="num">307</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="num">308</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="num">309</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="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">312</td> + <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">313</td> + <td class="num">312</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="num">313</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="num">314</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="num">315</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="num">316</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="num">317</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="num">318</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="num">319</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="num">320</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="num">321</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="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">324</td> + <td class="num">323</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="num">324</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="num">325</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="num">326</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="num">327</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="num">328</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="num">329</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="num">330</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="num">331</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="num">332</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="num">333</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="num">334</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="num">335</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="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">338</td> + <td class="num">337</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="num">338</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="num">339</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="num">340</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="num">341</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="num">342</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="num">343</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="num">344</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="num">345</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="num">346</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="num">347</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="num">348</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="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">351</td> + <td class="num">350</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="num">351</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="num">352</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="num">353</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="num">354</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="num">355</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="num">356</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="num">357</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="num">358</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="num">359</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="num">360</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="num">361</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="num">362</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="num">363</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="num">364</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="num">365</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="num">366</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="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">369</td> + <td class="num">368</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="num">369</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="num">370</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="num">371</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="num">372</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="num">373</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="num">374</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="num">375</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="num">376</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="num">377</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="num">378</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="num">379</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="num">380</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="num">381</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="num">382</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="num">383</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="num">384</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="num">385</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="num">386</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="num">387</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="num">388</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="num">389</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="num">390</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="num">391</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="num">392</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="num">393</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="num">394</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="num">395</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="num">396</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="num">397</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="num">398</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="num">399</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="num">400</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="num">401</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="num">402</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="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">405</td> + <td class="num">404</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="num">405</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="num">406</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="num">407</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="num">408</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="num">409</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="num">410</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="num">411</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="num">412</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="num">413</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="num">414</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="num">415</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="num">416</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="num">417</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="num">418</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="num">419</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="num">420</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="num">421</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="num">422</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="num">423</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="num">424</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="num">425</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="num">426</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="num">427</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="num">428</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="num">429</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="num">430</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="num">431</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="num">432</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="num">433</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="num">434</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="num">435</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="num">436</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="num">437</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="num">438</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="num">439</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="num">440</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="num">441</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="num">442</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="num">443</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="num">444</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="num">445</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="num">446</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="num">447</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="num">448</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="num">449</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="num">450</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="num">451</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="num">452</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="num">453</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="num">454</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="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">457</td> + <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">458</td> + <td class="num">457</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="num">458</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="num">459</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="num">460</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="num">461</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="num">462</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="num">463</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="num">464</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="num">465</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="num">466</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="num">467</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="num">468</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="num">469</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="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">472</td> + <td class="num">471</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="num">472</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="num">473</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="num">474</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="num">475</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="num">476</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="num">477</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="num">478</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="num">479</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="num">480</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="num">481</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="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">484</td> + <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">485</td> + <td class="num">484</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="num">485</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="num">486</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="num">487</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="num">488</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="num">489</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="num">490</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="num">491</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="num">492</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="num">493</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="num">494</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="num">495</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="num">496</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="num">497</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="num">498</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="num">499</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="num">500</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="num">501</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="num">502</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="num">503</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="num">504</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="num">505</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="num">506</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="num">507</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="num">508</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="num">509</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="num">510</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="num">511</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="num">512</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="num">513</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="num">514</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="num">515</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="num">516</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="num">517</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="num">518</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="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">521</td> + <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">522</td> + <td class="num">521</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="num">522</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="num">523</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="num">524</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="num">525</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="num">526</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="num">527</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="num">528</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="num">529</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="num">530</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="num">531</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="num">532</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="num">533</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="num">534</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="num">535</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="num">536</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="num">537</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="num">538</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="num">539</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="num">540</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="num">541</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="num">542</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="num">543</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="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">546</td> + <td class="num">545</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="num">546</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="num">547</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="num">548</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="num">549</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="num">550</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="num">551</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="num">552</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="num">553</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="num">554</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="num">555</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="num">556</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="num">557</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="num">558</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="num">559</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="num">560</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="num">561</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="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">564</td> + <td class="num">563</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="num">564</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="num">565</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="num">566</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="num">567</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="num">568</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="num">569</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="num">570</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="num">571</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="num">572</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="num">573</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="num">574</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="num">575</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="num">576</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="num">577</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="num">578</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="num">579</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="num">580</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="num">581</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="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">584</td> + <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">585</td> + <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">586</td> + <td class="num">585</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="num">586</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="num">587</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="num">588</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="num">589</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="num">590</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="num">591</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> + <tr class="covered"> + <td class="num">592</td> + <td class="coverage">1<em>x</em></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> + <tr class="covered"> + <td class="num">593</td> + <td class="coverage">1<em>x</em></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> + <tr class="covered"> + <td class="num">594</td> + <td class="coverage">1<em>x</em></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> + <tr class="covered"> + <td class="num">595</td> + <td class="coverage">1<em>x</em></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> + <tr class="covered"> + <td class="num">596</td> + <td class="coverage">1<em>x</em></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> + <tr class="covered"> + <td class="num">597</td> + <td class="coverage">1<em>x</em></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> + <tr class="covered"> + <td class="num">598</td> + <td class="coverage">1<em>x</em></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> + <tr class="covered"> + <td class="num">599</td> + <td class="coverage">1<em>x</em></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> + <tr class="covered"> + <td class="num">600</td> + <td class="coverage">1<em>x</em></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="num">601</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="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">604</td> + <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">605</td> + <td class="num">604</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="num">605</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="num">606</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="num">607</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="num">608</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="num">609</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="num">610</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="num">611</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="num">612</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="num">613</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="num">614</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="num">615</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="num">616</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="num">617</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="num">618</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="num">619</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="num">620</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="num">621</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="num">622</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="num">623</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="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">626</td> + <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">627</td> + <td class="num">626</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="num">627</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="num">628</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="num">629</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="num">630</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="num">631</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="num">632</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="num">633</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="num">634</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="num">635</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="num">636</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="num">637</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="num">638</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="num">639</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="num">640</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="num">641</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="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">644</td> + <td class="num">643</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="num">644</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="num">645</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="num">646</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="num">647</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="num">648</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="num">649</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="num">650</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="num">651</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="num">652</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="num">653</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="num">654</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="num">655</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="num">656</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="num">657</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="num">658</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="num">659</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="num">660</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="num">661</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="num">662</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="num">663</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="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">666</td> + <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">667</td> + <td class="num">666</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="num">667</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="num">668</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="num">669</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="num">670</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="num">671</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="num">672</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="num">673</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="num">674</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="num">675</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="num">676</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="num">677</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="num">678</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="num">679</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="num">680</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="num">681</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="num">682</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="num">683</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="num">684</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="num">685</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="num">686</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="num">687</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="num">688</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="num">689</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="num">690</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="num">691</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="num">692</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="num">693</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="num">694</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="num">695</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="num">696</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="num">697</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="num">698</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="num">699</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="num">700</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="num">701</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="num">702</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="num">703</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="num">704</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="num">705</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="num">706</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="num">707</td> <td class="coverage">1<em>x</em></td> <td class="col-sm-12"> - <pre class="language-r"> message("BCPC:")</pre> + <pre class="language-r"> message("Querying BCPC for ", identifier, " ...")</pre> </td> </tr> <tr class="covered"> - <td class="num">709</td> + <td class="num">708</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="num">709</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="num">710</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="num">711</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="num">712</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="num">713</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="num">714</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="num">715</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="num">716</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="num">717</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="num">718</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="num">719</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="num">720</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="num">721</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="num">722</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="num">723</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="num">724</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="num">725</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="num">726</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="num">727</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="num">728</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="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">731</td> + <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">732</td> + <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">733</td> + <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">734</td> + <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">735</td> + <td class="num">734</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="num">735</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="num">736</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="num">737</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="num">738</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="num">739</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="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">742</td> + <td class="num">741</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="num">742</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="num">743</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="num">744</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="num">745</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="num">746</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="num">747</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="num">748</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="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">751</td> + <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">752</td> + <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">753</td> + <td class="num">752</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="num">753</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="num">754</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="num">755</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="num">756</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="num">757</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="num">758</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="num">759</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="num">760</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="num">761</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="num">762</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="num">763</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="num">764</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="num">765</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="num">766</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="num">767</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="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">770</td> + <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">771</td> + <td class="num">770</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="num">771</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="num">772</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="num">773</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="num">774</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="num">775</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="num">776</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="num">777</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="num">778</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="num">779</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="num">780</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="num">781</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="num">782</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="num">783</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="num">784</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="num">785</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="num">786</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="num">787</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="num">788</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="num">789</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="num">790</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="num">791</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="num">792</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="num">793</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="num">794</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="num">795</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="num">796</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="num">797</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="num">798</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="num">799</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="num">800</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="num">801</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="num">802</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="num">803</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="num">804</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="num">805</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="num">806</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="num">807</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="num">808</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="num">809</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="num">810</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="num">811</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="num">812</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="num">813</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="num">814</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="num">815</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="num">816</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="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">819</td> + <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">820</td> + <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">821</td> + <td class="num">820</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="num">821</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="num">822</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="num">823</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="num">824</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="num">825</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="num">826</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="num">827</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="num">828</td> <td class="coverage"></td> <td class="col-sm-12"> <pre class="language-r"># vim: set ts=2 sw=2 expandtab:</pre> diff --git a/tests/testthat.R b/tests/testthat.R index a7a46eb..836723f 100644 --- a/tests/testthat.R +++ b/tests/testthat.R @@ -1,3 +1,11 @@ +# This file is part of the standard setup for testthat. +# It is recommended that you do not modify it. +# +# Where should you do additional test configuration? +# Learn more about the roles of various files in: +# * https://r-pkgs.org/testing-design.html#sec-tests-files-overview +# * https://testthat.r-lib.org/articles/special-files.html + library(testthat) library(chents) diff --git a/tests/testthat/_snaps/chent.md b/tests/testthat/_snaps/chent.md new file mode 100644 index 0000000..b214852 --- /dev/null +++ b/tests/testthat/_snaps/chent.md @@ -0,0 +1,18 @@ +# We can initialise an object and add information + + Code + print(oct) + Output + <chent> + Identifier $identifier 1-octanol + InChI Key $inchikey KBPLFHHGFOOTCA-UHFFFAOYSA-N + SMILES string $smiles: + user PubChem + "CCCCCCCCO" "CCCCCCCCO" + Molecular weight $mw: 130.2 + PubChem synonyms (up to 10): + [1] "1-octanol" "Octan-1-ol" "111-87-5" + [4] "N-octanol" "Octyl alcohol" "caprylic alcohol" + [7] "n-Octyl alcohol" "Heptyl carbinol" "1-Hydroxyoctane" + [10] "Primary octyl alcohol" + diff --git a/tests/testthat/test_chent.R b/tests/testthat/test_chent.R index 4546423..1f4a186 100644 --- a/tests/testthat/test_chent.R +++ b/tests/testthat/test_chent.R @@ -1,29 +1,21 @@ -context("Generation of chent objects") - # Check if we can use RDKit skip_if_no_rdkit <- function() { if (!chents:::rdkit_available) skip("RDKit is not available via reticulate") } -oct <- chent$new("1-octanol", smiles = "CCCCCCCCO", rdkit = FALSE, pubchem = FALSE, chyaml = FALSE) - -test_that("We can initialise an object only with identifier and SMILES code", { +test_that("We can initialise an object and add information", { + oct <- chent$new("1-octanol", smiles = "CCCCCCCCO", rdkit = FALSE, pubchem = FALSE, chyaml = FALSE) expect_equal(oct$identifier, c(X1.octanol = "1-octanol")) # The name of the identifier is generated using make.names() expect_equal(oct$inchikey, structure(NA, source = "user")) expect_equal(oct$smiles, c(user = "CCCCCCCCO")) -}) - -test_that("We can generate a chent object from SMILES using RDKit", { - skip_if_no_rdkit() - oct$get_rdkit() - expect_equivalent(round(oct$mw, 2), 130.23) -}) - -test_that("We can add information retrieved from PubChem via webchem", { - expect_warning(oct$try_pubchem(), "Overwriting uninitialized InChIKey") - expect_equivalent(round(oct$mw, 2), 130.23) - ik = "KBPLFHHGFOOTCA-UHFFFAOYSA-N" - attr(ik, "source") <- "pubchem" - expect_equal(oct$inchikey, ik) + oct$try_pubchem() |> + expect_message("Querying PubChem for name 1-octanol") |> + expect_warning("Overwriting uninitialized InChIKey") + expect_equal(oct$inchikey, structure("KBPLFHHGFOOTCA-UHFFFAOYSA-N", source = "pubchem")) expect_equal(oct$smiles[["PubChem"]], "CCCCCCCCO") + skip_if_no_rdkit() + oct$get_rdkit() |> + expect_message("Get chemical information from RDKit using user SMILES") + expect_equal(round(oct$mw, 2), structure(130.23, source = "pubchem")) + expect_snapshot(print(oct)) }) diff --git a/tests/testthat/test_pai.R b/tests/testthat/test_pai.R index f38672d..0d5264a 100644 --- a/tests/testthat/test_pai.R +++ b/tests/testthat/test_pai.R @@ -1,25 +1,16 @@ -# For manual use of this file -require(chents) -require(testthat) - -context("Generation of pai objects") - test_that("a pai object is correctly generated", { skip_on_travis() # server certificate verification failed in curl_fetch_memory() - glyphosate <- pai$new("glyphosate") + {glyphosate <- pai$new("glyphosate")} |> + expect_message("Querying BCPC for glyphosate") |> + expect_message("Querying PubChem for inchikey ") |> + expect_message("Get chemical information from RDKit using PubChem SMILES") - # This did not give results at BCPC in previous times, so it was used to test - # the corresponding warning. - #bc <- pai$new("benzalkonium chloride") - - expect_equivalent(glyphosate$bcpc$cas, "1071-83-6") - expect_equivalent(glyphosate$bcpc$formula, "C3H8NO5P") - expect_equivalent(glyphosate$bcpc$iupac_name, "N-(phosphonomethyl)glycine") + expect_equal(glyphosate$bcpc$cas, "1071-83-6") + expect_equal(glyphosate$bcpc$formula, "C3H8NO5P") + expect_equal(glyphosate$bcpc$iupac_name, "N-(phosphonomethyl)glycine") expect_equal(names(glyphosate$identifier), "glyphosate") ik = "XDDAORKBJWWYJS-UHFFFAOYSA-N" - attr(ik, "source") <- c("bcpc", "pubchem") - expect_equal(glyphosate$inchikey, ik) - expect_equivalent(round(glyphosate$mw, 2), 169.07) - smiles <- "C(C(=O)O)NCP(=O)(O)O" - expect_equal(glyphosate$smiles[["PubChem"]], smiles) + expect_equal(glyphosate$inchikey, structure("XDDAORKBJWWYJS-UHFFFAOYSA-N", source = c("bcpc", "pubchem"))) + expect_equal(round(glyphosate$mw, 2), structure(169.07, source = "pubchem")) + expect_equal(glyphosate$smiles[["PubChem"]], "C(C(=O)O)NCP(=O)(O)O") }) |