AIDD·Atlas AI 制药学习地图
331

用 Tanimoto 相似性做化合物聚类

用指纹 + Tanimoto 距离做 Butina 聚类,整理大库、去冗余、挑多样化子集。

当化合物很多时,先聚类能帮你理解库的结构、去冗余、挑代表分子。

操作步骤

  1. 对所有分子算指纹(如 ECFP4,见 330);
  2. 计算两两 Tanimoto 距离(1 - 相似度);
  3. rdkit.ML.Cluster.Butina.ClusterData 按距离阈值聚类;
  4. 从每个簇取中心分子作为代表;
  5. 据簇结构做去冗余或多样化采样。

常见坑与提示

阈值依赖指纹类型,需试几个值;大库两两距离计算量大,必要时用近似/分批。聚类是探索手段,不要当成硬分类。

延伸资源

  • 概念见 039《Tanimoto》、050《相似性聚类》。