2017-04-10 59 views
2

我正在使用微笑代碼獲得FDA批准的可用於chEMBL 22數據庫的藥物。我現在用的是package rcdk,我使用此代碼:rcdk R包未能計算來自SMILES代碼的指紋

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"> 

請指導我我怎麼解決這個錯誤?

回答

0

未安裝rcdk軟件包時發生錯誤。由於rJava軟件包要求而導致錯誤加載發生錯誤。 rcdk包需要7個以上的jdk。 echo JAVA_HOME並更新語言以及語言。環境變量應該被更新。更新Java環境後關閉R並重新啓動R控制檯。記住:rcdk軟件包需要支持庫作爲指紋和rJava。