SuperAPI AI 工具集

molfeat

通用与其它

查看项目

更新于 10-16 05:07

技能介绍

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

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

使用方式:需 Python 3.9–3.10(0.11.0 不支持 3.11+),依赖 datamol ≥0.8.0 与 PyTorch ≥1.13。安装:uv pip install "molfeat==0.11.0",或 uv pip install "molfeat[all]==0.11.0"。可选 extras 包括 dgl、graphormer、transformer、fcd、pyg、viz;MAP4 需从 reymond-group/map4 单独安装。典型用法:用 FPCalculator 创建计算器,再用 MoleculeTransformer 批量转换,设置 n_jobs=-1 并行;预训练模型用 PretrainedMolTransformer。可保存配置:transformer.to_state_yaml_file("config.yml")。

适用场景:传统机器学习(RF、SVM、XGBoost)建模、可解释模型、深度学习嵌入、相似性搜索、药效团方法、虚拟筛选与 scikit-learn 管道集成。

限制:0.11.0 仅支持 Python 3.9–3.10;部分预训练模型需额外依赖,首次运行较慢;大数据集需分块处理以控制内存;无效 SMILES 需开启 ignore_errors;自定义缓存建议用 NumPy 而非 pickle。官方文档 https://molfeat-docs.datamol.io/,仓库 https://github.com/datamol-io/molfeat。