当化合物很多时,先聚类能帮你理解库的结构、去冗余、挑代表分子。
操作步骤
- 对所有分子算指纹(如 ECFP4,见 330);
- 计算两两 Tanimoto 距离(
1 - 相似度); - 用
rdkit.ML.Cluster.Butina.ClusterData按距离阈值聚类; - 从每个簇取中心分子作为代表;
- 据簇结构做去冗余或多样化采样。
常见坑与提示
阈值依赖指纹类型,需试几个值;大库两两距离计算量大,必要时用近似/分批。聚类是探索手段,不要当成硬分类。
延伸资源
- 概念见 039《Tanimoto》、050《相似性聚类》。