rdkit - ECFP4指纹对应哪个RDKit指纹
问题描述
关于 RDKit 的 Morgan 指纹功能,我确实有两个问题。我无法弄清楚半径为 2 或 4 的 Morgan 指纹是否对应于 ECFP4。GetMorganFingerprintAsBitVect(nBits=2048)
此外,我无法弄清楚,为什么在使用而不是时计算出的两个分子之间的相似性差异很大(小得多)GetMorganFingerprint
?非常感谢帮助或解释。亲切的问候菲利普
解决方案
在回答您的第一个问题时,根据https://www.rdkit.org/docs/GettingStartedInPython.html,半径 2 大致相当于 ecfp4。
默认的原子不变量使用与众所周知的 ECFP 系列指纹相似的连接信息。也可以使用基于特征的不变量,类似于用于 FCFP 指纹的那些。使用的特征定义在摩根指纹中使用的特征定义部分定义。有时这会导致完全不同的相似度分数:
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 对应于所考虑的原子环境的直径,而 Morgan 指纹采用半径参数。所以上面的例子,radius=2,大致相当于ECFP4和FCFP4。
推荐阅读
- python - 如何使用 python web 抓取从主页获取所有列表 url
- javascript - 如何在 AngularJS 的多个查询参数中设置特定参数?
- python-3.x - Agora - 无法将视频 .ts 文件合并为一个视频文件
- computer-science - 计算算法的运行时间
- r - 解析带有多个括号的字符串
- owl - Protege 增量推理和补全
- flutter - 颤动多个itemCount?
- javascript - Angular - 从复选框更新属性的问题
- django - Django Rest Framework,是否可以按关联用户组织上传的文件?
- javascript - 如何使用模板文字进行循环函数?