rcdk R 包无法从 SMILES 代码计算指纹

rcdk R package fails to compute fingerprints from SMILES codes

我正在使用 chEMBL 22 数据库中可用的 FDA 批准药物的微笑代码。我正在使用 package rcdk 并且我正在使用此代码:

library(rcdk)

dat1<-read.csv("chembl_22_drug_export.txt",sep="\t",header=T)
smi <-lapply(as.character(dat1$CANONICAL_SMILES),parse.smiles)
cmp.fp<-vector("list",nrow(dat1))

## generate fingerprints
for (i in 1:nrow(dat1)){
  cmp.fp[i]<-lapply(smi[[i]][1],get.fingerprint,type="maccs")

}

##Convert fingerprints to matrix form
fpmac<-fp.to.matrix(cmp.fp)
cmp.finger<-as.data.frame(fpmac)

但是当我这样做时

smi <- lapply(as.character(chembl_22_drug_export$CANONICAL_SMILES), parse.smiles)

我收到以下错误

Error in .jnew("org/openscience/cdk/smiles/SmilesParser", dcob) : 
  Java Exception <no description because toString() failed>.jnew("org/openscience/cdk/smiles/SmilesParser", dcob)<S4 object of class "jobjRef">

请指导我如何解决此错误?

未安装rcdk包时出现错误。由于 rJava 包要求导致错误加载而发生错误。 rcdk 包需要 jdk 个 7 或更多。 echo JAVA_HOME 并更新语言环境和语言。应该更新环境变量。更新 java 环境后,关闭 R 并重新启动 R 控制台。请记住:rcdk 包需要支持库作为指纹和 rJava。