【问题标题】:Fingerprinting using python module called pybel使用名为 pybel 的 python 模块进行指纹识别
【发布时间】:2015-10-06 00:32:48
【问题描述】:

我想使用化合物的微笑来获取指纹。我做到了,但问题是我想获得更高的位和列表格式,这样我就可以计算列表的长度。在这种情况下,我只是上课。使用pybel在python中有什么解决方案吗?我这样做了,但是当我写 len(fps[0]) 时出现错误

import pybel
smiles = ['CCCC', 'CCCN']
mols = [pybel.readstring("smi", x) for x in smiles]
fps = [x.calcfp() for x in mols]
print fps[0]

【问题讨论】:

  • 你得到什么错误?你不只需要写len(fps)吗?
  • 我在安装 OpenBabel 时遇到了一些问题。执行此操作时会出现什么错误?也许 __len__() 未定义 x.calcfp()-elements...
  • 错误是:“指纹”类型的对象没有 len()

标签: python fingerprint fingerprinting openbabel pybel


【解决方案1】:

您可以对指纹对象使用函数fp。默认计算FP2指纹,长度为32。 有代码,输出长度和bit-0

import pybel
smiles = ['CCCC', 'CCCN']
mols = [pybel.readstring("smi", x) for x in smiles]
fps = [x.calcfp() for x in mols]
print len(fps[0].fp)
print fps[0].fp[0]

结果:

32 
0

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-23
    • 1970-01-01
    • 2017-07-24
    • 2023-03-20
    • 2015-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多