RDKit:从 ZINC 数据库生成指纹进行聚类分析

问题描述

我是 RDKit 的新手。我需要对化合物数据库进行聚类分析。 我已经从 ZINC 数据库以 3D mol2 格式下载了 191K 化合物,现在我需要使用 RDKit 获取指纹。 首先,我不明白是否可以将 mol2 格式转换为指纹以及哪种指纹更适合这种类型的分析(我需要了解数据库中有哪些化学型,以便 - 最终 - 找到一些代表) . 有人有建议吗?(也非常感谢实用的建议)。 谢谢

解决方法

RdKit 支持 mol2 文件加载。您可以为此使用 MolFromMol2File 函数。

from rdkit import Chem

mol2_paths = ['path1','path2','path3',......]

mols = []
for path in mol2_paths:
    mols.append(Chem.MolFromMol2File(path))

上述函数将加载所有 mol2 文件并为所有文件创建一个 RdKit 分子对象。创建对象后,您可以使用它来计算任何属性(类似于如果您有 SMILES 字符串时的计算方式)。

现在,对于聚类,RdKit 有一个 ClusterData 模块,您可以使用它。请参阅模块 here。请参阅模块 here 的示例用法。另一个例子here。查看有关 RdKit here 中不同聚类方法的演示文稿。聚类 here 的另一种方法。

希望这对您来说应该是足够的信息。