SuperAPI AI 工具集

molfeat

通用与其它

查看项目

更新于 10-15 22:39

技能介绍

用途:Molfeat 是分子特征化(featurization)Python 库,把化学结构(SMILES 字符串或 RDKit 分子)转换为机器学习可用的数值表示,服务于 QSAR/QSPR 建模、虚拟筛选、相似性搜索、化学空间分析与深度学习。

主要能力:统一 100 多种特征器,涵盖指纹(ECFP、MACCS、MAP4、FCFP、Gobbi)、分子描述符(RDKit 2D、Mordred)、药效团(CATS)、形状(USR/USRCAT)以及预训练模型(ChemBERTa、ChemGPT、MolT5、GIN、Graphormer)。提供三级类:计算器 molfeat.calc 处理单分子;转换器 molfeat.trans 兼容 scikit-learn 并支持并行批处理;预训练转换器 molfeat.trans.pretrained 支持批量推理与缓存。支持 FeatConcat 组合多个特征器、ModelStore 检索可用模型、配置保存与加载以保证可复现。

使用方式:安装可用 mamba install -c conda-forge molfeat 或 pip install molfeat,全部可选依赖为 pip install "molfeat[all]",特定特征器需额外安装如 molfeat[transformer]、molfeat[dgl]、molfeat[graphormer]、molfeat[fcd]、molfeat[map4]。基本流程是创建计算器(如 FPCalculator("ecfp", radius=3, fpSize=2048)),再用 MoleculeTransformer 包装并设置 n_jobs=-1 并行处理 SMILES 列表,得到特征矩阵;也可直接接入 scikit-learn Pipeline。

适用场景:传统机器学习(随机森林、SVM、XGBoost)常用 ECFP、MACCS、MAP4 或 RDKit/Mordred 描述符;深度学习可用 ChemBERTa 等预训练嵌入或 GIN、Graphormer 图模型;相似性搜索与药效团分析有对应特征器。

限制:部分预训练模型首次运行较慢,后续依赖缓存;大模型需额外依赖包;处理超大数据集需分块以控制内存;无效 SMILES 可通过 ignore_errors=True 跳过。官方文档 https://molfeat-docs.datamol.io/ ,代码仓库 https://github.com/datamol-io/molfeat 。