【问题标题】:RDKit: generate fingerprints from ZINC database for cluster analysisRDKit:从 ZINC 数据库生成指纹用于聚类分析
【发布时间】:2021-09-11 01:28:32
【问题描述】:
我是 RDKit 的新手。我需要对化合物数据库进行聚类分析。
我已经从 ZINC 数据库下载了 191K 的 3D mol2 格式的化合物,现在我需要使用 RDKit 获取指纹。
首先,我不明白是否可以将 mol2 格式转换为指纹以及哪种指纹更适合这种类型的分析(我需要了解我在数据库中拥有哪些化学型,以便最终找到一些代表) .
有人有建议吗?(也非常感谢实用建议)。
谢谢
【问题讨论】:
标签:
cluster-analysis
hierarchical-clustering
chemistry
rdkit
【解决方案1】:
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的另一种方法。
希望这对您来说是一个足够的信息。