While trying to update rcdk on CRAN it was pointed out to me that usage of the library resulted in modifications to the users home directory. Specifically, this occurred when generating InChI‘s. The CDK makes use of jni-inchi, which in turn depends on JNATI which enables Java code to work with native libraries in a platform independent fashion. As part of this, it creates
$HOME/.jnati – which is a no-no for CRAN packages. To resolve this, the latest version of rcdklibs excludes the InChI module and its dependencies. Hopefully rcdk and rcdklibs will now pass CRAN QC.
To access InChI functionality in R you can use the rinchi package which is hosted on Github. Since it will modify the users home directory, it cannot be hosted on CRAN. However, it’s easy enough to install
install_github("cdkr", "rajarshi", subdir="rinchi")
Importantly, if all you need is to go from SMILES to InChI, there is no need to install rcdk as well. So the following works
inchi <- get.inchi('CCC')
inchik <- get.inchi.key('CCC')
But if you do have a molecule object obtained via rcdk, you can also pass that in to get an InChI or InChI key representation.