【问题标题】:Which RDKit fingerprint corresponds to the ECFP4 fingerprintECFP4指纹对应哪个RDKit指纹
【发布时间】:2021-09-24 02:26:18
【问题描述】:

关于 RDKit 的 Morgan 指纹功能,我确实有两个问题。 我无法弄清楚半径为 2 或 4 的 Morgan 指纹是否对应于 ECFP4。 此外,我想不通,为什么在使用GetMorganFingerprintAsBitVect(nBits=2048) 而不是GetMorganFingerprint 时计算出的两个分子之间的相似性差异很大(小得多)? 非常感谢帮助或解释。 亲切的问候 菲利普

【问题讨论】:

  • 请提供有关您的第二个问题的更多详细信息。你运行了什么命令?输出是什么?您是如何计算相似度等的。

标签: rdkit


【解决方案1】:

在回答你的第一个问题时,根据https://www.rdkit.org/docs/GettingStartedInPython.html,半径2大致相当于ecfp4。

默认原子不变量使用的连接信息类似于 那些用于众所周知的 ECFP 指纹系列。 基于特征的不变量,类似于用于 FCFP 的不变量 指纹,也可以用。使用的特征定义是 在 Morgan 中使用的特征定义部分中定义 指纹。有时这会导致完全不同的相似性 分数:

m1 = Chem.MolFromSmiles('c1ccccn1')
m2 = Chem.MolFromSmiles('c1ccco1')
fp1 = AllChem.GetMorganFingerprint(m1,2)
fp2 = AllChem.GetMorganFingerprint(m2,2)
ffp1 = AllChem.GetMorganFingerprint(m1,2,useFeatures=True)
ffp2 = AllChem.GetMorganFingerprint(m2,2,useFeatures=True)
DataStructs.DiceSimilarity(fp1,fp2)
0.36...
DataStructs.DiceSimilarity(ffp1,ffp2)
0.90... 

在比较 ECFP/FCFP 指纹和 RDKit 生成的 Morgan 指纹时,请记住 ECFP4 中的 4 对应于所考虑的原子环境的直径,而 摩根指纹采用半径参数。所以例子 以上,radius=2,大致相当于ECFP4和FCFP4。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多