You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用RDKit将ZINC数据库mol2文件生成分子指纹用于化合物聚类分析

RDKit分子指纹计算与聚类场景选型解答

问题1:mol2格式能否直接转换为分子指纹

完全可以,RDKit内置了原生的Mol2格式读取接口,不需要提前转换为SMILES、SDF等其他格式,只要分子结构读取正常,计算得到的指纹和其他格式输入的结果完全一致。
实操注意点:部分非标准格式的Mol2文件可能出现读取失败的情况,可以通过调整sanitize参数先跳过结构检查,后续再手动处理无效分子,参考代码如下:

from rdkit import Chem
from rdkit.Chem import AllChem

# 读取单个Mol2文件
mol = Chem.MolFromMol2File("sample.mol2", sanitize=True)
# 读取包含多个分子的批量Mol2文件
supplier = Chem.Mol2MolSupplier("zinc_19w.mol2", sanitize=True)

for idx, mol in enumerate(supplier):
    if mol is None:
        print(f"第{idx}个分子读取失败,已跳过")
        continue
    # 后续指纹计算逻辑

问题2:化学型分析+代表性化合物筛选场景的指纹选型

针对你的需求,推荐按优先级选择以下分子指纹:

  • 首选:Morgan指纹(ECFP/FCFP系列),尤其是半径2的ECFP4(通常设为1024或2048位二进制指纹),理由如下:
    • 基于子结构遍历生成,对化合物骨架、官能团等化学型特征的区分度高,是化合物库聚类、多样性筛选的行业通用基准方案
    • 计算速度极快,19万量级分子在普通家用电脑上也可以在3-5分钟内完成全部计算,资源消耗极低
    • 配套的生态工具完善,后续无论是计算Tanimoto相似度、聚类还是挑选代表性分子都有成熟的实现方案
  • 次选方案:
    • 如果需要更高的可解释性,可以选择166维的MACCS Keys,每个维度对应明确的亚结构规则,方便后续追溯聚类分类的结构依据
    • 如果你的分析场景需要结合3D构象特征,可以选择USR、3D-MoRSE等3D指纹,但注意ZINC提供的3D构象为最低能量构象,且3D指纹计算速度会比2D指纹慢1-2个数量级,19万分子需要预留足够的计算时间
  • 不推荐选型:RDKit原生拓扑指纹(对高度相似分子区分度不足)、原子对指纹(维度冗余高,聚类效率低)

完整批量处理参考代码

from rdkit import Chem
from rdkit.Chem import AllChem
import numpy as np

# 初始化存储变量
fp_list = []
valid_mols = []
# 读取ZINC批量Mol2文件
supplier = Chem.Mol2MolSupplier("zinc_19w.mol2", sanitize=True)

for idx, mol in enumerate(supplier):
    if mol is None:
        continue
    # 计算1024位ECFP4指纹
    fp = AllChem.GetMorganFingerprintAsBitVect(mol, radius=2, nBits=1024)
    fp_list.append(np.array(fp))
    valid_mols.append(mol)
    # 打印进度
    if (idx + 1) % 10000 == 0:
        print(f"已处理{idx+1}个分子,有效分子数:{len(valid_mols)}")

# 转换为numpy矩阵,可直接用于后续聚类
fp_matrix = np.array(fp_list)
print(f"处理完成,有效分子数:{fp_matrix.shape[0]},指纹维度:{fp_matrix.shape[1]}")

# 后续聚类可选Butina聚类(RDKit内置)或Sklearn的DBSCAN,适合化合物库代表性分子筛选

内容的提问来源于stack exchange,提问作者Alice

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.14 11:15:07