From a5e851a5d81194bef25c3f3a32e355e5795cdde1 Mon Sep 17 00:00:00 2001 From: Johannes Ranke Date: Fri, 13 Mar 2026 13:19:36 +0100 Subject: Small improvements, see NEWS.md In the README, improve the scaling of the graphs --- docs/index.html | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) (limited to 'docs/index.html') diff --git a/docs/index.html b/docs/index.html index 6623b75..aec7d06 100644 --- a/docs/index.html +++ b/docs/index.html @@ -50,13 +50,13 @@

Online documentation R-Universe status Code coverage

-

The R package chents provides some utilities for working with chemical entities in R.

+

When working with data on chemical substances, we often need a reliable link between the data and the chemical identity of the substances. The R package chents provides a way to define and check the identity of chemically defined substances (“chemical entities”) and to collect related information.

When first defining a chemical entity, some chemical information is retrieved from the PubChem website using the webchem package.

-library(chents)
+library(chents)
 caffeine <- chent$new("caffeine")
-#> Querying PubChem ...
-#> Trying to get chemical information from RDKit using PubChem SMILES
+#> Querying PubChem for name caffeine ...
+#> Get chemical information from RDKit using PubChem SMILES
 #> CN1C=NC2=C1C(=O)N(C(=O)N2C)C

If Python and RDKit (> 2015.03) are installed and configured for use with the reticulate package, some additional chemical information including a 2D graph are computed.

The print method gives an overview of the information that was collected.

@@ -74,38 +74,40 @@ #> [3] "Guaranine" "1,3,7-Trimethylxanthine" #> [5] "Methyltheobromine" "Theine" #> [7] "Thein" "Cafeina" -#> [9] "Koffein" "Mateina"
+#> [9] "Caffein" "Cafipel"

There is a very simple plotting method for the chemical structure.

 plot(caffeine)

-

Additional information can be (but is rarely ever) read from a local .yaml file. This information can be leveraged e.g. by the PEC_soil function of the ‘pfm’ package.

If you have a so-called ISO common name of a pesticide active ingredient, you can use the ‘pai’ class derived from the ‘chent’ class, which starts with querying the BCPC compendium first.

 lambda <- pai$new("lambda-cyhalothrin")
 #> Querying BCPC for lambda-cyhalothrin ...
-#> Querying PubChem ...
-#> Trying to get chemical information from RDKit using PubChem SMILES
+#> Querying PubChem for name lambda-cyhalothrin ...
+#> Get chemical information from RDKit using PubChem SMILES
 #> CC1([C@@H]([C@@H]1C(=O)O[C@@H](C#N)C2=CC(=CC=C2)OC3=CC=CC=C3)/C=C(/C(F)(F)F)\Cl)C
-#> RDKit mw is 449.856
-#> mw is 449.8
+#> Warning in self$get_rdkit(template = template): RDKit mw is 449.856 while mw is
+#> 449.8
 plot(lambda)

+

Additional information can be read from a local .yaml file. This information can be leveraged e.g. by the PEC_soil function of the ‘pfm’ package. However, this functionality is to be superseded by a dedicated package, defining data for the environmental risk assessment on chemicals, in particular on active ingredients of plant protection products.

Installation

You can conveniently install chents from the repository kindly made available by the R-Universe project:

-
install.packages("chents",
-  repos = c("https://jranke.r-universe.dev", "https://cran.r-project.org"))
+
+install.packages("chents",
+  repos = c("https://jranke.r-universe.dev", "https://cran.r-project.org"))

In order to profit from the chemoinformatics, you need to install RDKit and its python bindings. On a Debian type Linux distribution, just use

-
sudo apt install python3-rdkit
+
sudo apt install python3-rdkit

If you use this package on Windows or MacOS, I would be happy to include installation instructions here if you share them with me, e.g. via a Pull Request.

Configuration of the Python version to use

On Debian type Linux distributions, you can use the following line in your global or project specific .Rprofile file to tell the reticulate package to use the system Python version that will find the RDKit installed in the system location.

-
Sys.setenv(RETICULATE_PYTHON="/usr/bin/python3")
+
+Sys.setenv(RETICULATE_PYTHON="/usr/bin/python3")