我有一组不同分子的微笑代码,我想知道如何确定它们之间的相似性。我决定使用基于这个tutorial的ChemmineR包。问题是,我无法理解如何连接我的数据帧并像使用ChemmineR对象一样使用它,以便在SMILES上运行分析。
DrugName<-c("alclofenac","alosetron")
DrugID_CID<-c("30951","2099")
DrugID<-c("CHEMBL94081","DB00969")
DrugBank<-c("DB13167","DB00969")
SMILES<-c("OC(=O)Cc1ccc(OCC=C)c(Cl)c1","Cc1[nH]cnc1CN1CCc2c(C1=O)c1ccccc1n2C")
Target<-c("PTGS1","HTR3A")
test<-data.frame(DrugName,DrugID_CID,DrugID,DrugBank,SMILES,Target)我使用过read.SMIset函数,它从一个微笑文件中导入一个或多个分子,并将它们存储在一个SMIset容器中,但我不明白如何进一步处理它。
library("ChemmineR")
test; smiset <- smisample
write.SMI(smiset, file="sub.smi")
smiset <- read.SMIset("sub.smi")
data(smisample) # Loads the same SMIset provided by the library
smiset <- smisample
smiset
view(smiset)
cid(smiset)
smi <- as.character(smiset)
as(smi, "SMIset") 发布于 2019-03-20 11:48:19
并不完全清楚你想要和什么进行比较。但是,这里有一种方法可以继续处理示例数据帧中的微笑。
首先,您需要将微笑转换为SDFset。这是大多数ChemmineR操作的第一步。
test_sdf <- smiles2sdf(test$SMILES)对于使用原子对的成对比较,您需要再次转换为APset:
test_ap <- sdf2ap(test_sdf)例如,您现在可以将APset中的第一个化合物与第二个化合物进行比较:
cmp.similarity(test_ap[1], test_ap[2])
[1] 0.1313131我会花一些时间阅读和处理您问题中链接的Chemminer小插曲。它有很多信息,但它很好地呈现,非常清楚,并涵盖了你想要做的大多数事情。
https://stackoverflow.com/questions/55253048
复制相似问题