2

我正在使用 chEMBL 22 数据库中 FDA 批准的药物的微笑代码。我正在使用包 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">

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

4

1 回答 1

0

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

于 2017-04-12T15:10:57.933 回答