聚类分子(Clustering molecules)
聚类是一种有价值的化学信息学技术,用于将大型化合物数据集合细分为单个小组相似化合物。其中一个优点是处理非常大的小分子数据集时特别有用。通常用于分析高通量筛选结果、虚拟筛选或对接研究的分析。
基于RDKit的Python脚本用于聚类分子
#!/usr/bin/python3
# coding: utf-8
#http://www.rdkit.org/docs/Cookbook.html - - -Clustering molecules
#AspirinCode.20180725
def ClusterFps(fps,cutoff=0.2):
from rdkit import DataStructs
from rdkit.ML.Cluster import Butina
# first generate the distance matrix:
dists = []
nfps = len(fps)
for i in range(1,nfps):
sims = DataStructs.BulkTanimotoSimilarity(fp