RDKit计算化学结构的相似性

img


博主可以帮我检查一下这个代码嘛?为什么我运算不出来,我的文件里只有一个化学结构的SDF,我不知道哪儿该加第二个化学结构的文件,请博主给点意见

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 以下回答来自chatgpt:

    问题:

    请帮我检查以下代码,我正在使用RDKit计算化学结构的相似性,但无法运算。 我只有一个化学结构的SDF文件。我不确定如何添加第二个化学结构文件。我想知道如何修改代码来添加第二个文件,并获得更好的相似性计算结果。 我使用的是Python 3.7和RDKit 2019.03.4。

    以下是参考资料:

    RDKit是一个用于化学结构计算的Python模块,可用于创建,表示和处理化学结构。

    1.对于“这个代码”,请将实际代码或代码片段添加到问题中,以便更好地理解您的问题。

    2.请提供更多关于无法运算的信息,例如错误消息或任何警告消息。

    3.您是如何定义和计算化学结构相似性的?请提供更多详细信息,例如您使用的指标和方法。

    4.如果您需要添加第二个化学结构文件进行运算,请说明如何添加,并希望获得哪些特定的意见或建议。

    5.您是否可以提供更多关于您的工作环境(例如, 操作系统、Python版本、RDKit版本等)的信息?

    解答:

    1.很遗憾,您没有提供任何代码或参考资料,因此无法确定您目前的问题所在。

    2.同样地,由于缺乏代码和数据,无法确定存在哪些具体问题。

    3.在RDKit中,可以使用分子指纹和相似度指标来定义和计算化学结构相似性。

    在指纹之间比较相似性时,可以使用Tanimoto系数作为相似度指标。Tanimoto系数是指在两个分子之间公共特征比例的比值,即重叠特征数除以特征的总数。在RDKit中,可以使用Morgan指纹来生成分子指纹。

    适用场景:

    1. 分子库筛选

    2. 异构体判别

    3. 分子结构敏感性分析

    示例代码:

    from rdkit import Chem
    
    # 读取SDF文件
    suppl = Chem.SDMolSupplier('file1.sdf')
    
    # 生成Morgan指纹
    fp_morgan = [Chem.GetMorganFingerprintAsBitVect(m, 2, nBits=1024) for m in suppl]
    
    # 计算相似度
    from rdkit import DataStructs
    
    similarity = DataStructs.TanimotoSimilarity(fp_morgan[0], fp_morgan[1])
    

    4.要添加第二个文件,您可以使用SDMolSupplier类创建第二个供应对象,类似于上面的代码。关于添加第二个文件后如何进行相似性计算,还需要详细了解您的具体流程和需求。您可以将您的代码和数据添加到问题描述中,以便更好地了解您面临的问题和需要解决的问题。

    5.根据您提供的信息,您的操作系统是未知的,Python版本是3.7,RDKit版本是2019.03.4。如果您的问题没有得到解决,建议提供更多细节信息来帮助回答您的问题。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^