SuperAPI AI 工具集

alterlab-molfeat

数据与分析

查看项目

更新于 10-15 19:56

技能介绍

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

主要能力:统一 100+ 预训练嵌入与手工特征器,支持并行处理、scikit-learn 兼容转换器与内置缓存。核心分三层:molfeat.calc 计算器(单分子转特征向量)、molfeat.trans 转换器(批量并行、可接入 sklearn 管道)、molfeat.trans.pretrained 预训练转换器(批量推理与缓存)。常用特征器包括 ecfp(2048 维)、maccs(167 维)、desc2D(223 维)、mordred(1800+ 维)、map4(2048 维)、ChemBERTa-77M-MLM(384 维)与 CheMeleonTransformer(2048 维)。

使用方式:安装 uv pip install molfeat;可选扩展 uv pip install "molfeat[transformer]"、"molfeat[mordred]"、"molfeat[fcd]"、"molfeat[pyg]"、"molfeat[all]"。基本用法为创建 FPCalculator 与 MoleculeTransformer,设置 n_jobs=-1 并行、dtype=np.float32 输出单数组,再对 SMILES 列表调用。可用 to_state_yaml_file 保存配置、from_state_yaml_file 重载。错误处理需在调用时传 ignore_errors=True(构造器传参无效)。FeatConcat 可组合多个特征器。

适用场景:传统机器学习(RF、SVM、XGBoost)用指纹;可解释模型用 RDKit 2D 或 Mordred 描述符;深度学习用 ChemBERTa、ChemGPT 或基础模型嵌入;相似性搜索用 ECFP、MACCS、MAP4 或 USR/USRCAT;药效团用 FCFP、CATS、Gobbi。

限制:molfeat 1.0 移除了基于 DGL 的 GIN、Graphormer 与蛋白质特征器,相关模型加载会失败;MAP4 需从 GitHub 安装 map4 包(不在 PyPI);MolJEPATransformer 为 CC BY-NC 4.0,需 trust_remote_code=True 与 accept_noncommercial_license=True;复现旧 GIN/Graphormer 需固定 molfeat<1(0.11.x 要求 Python ≤ 3.10);大数据集需分块处理,预训练模型首次运行较慢。官方文档 https://molfeat-docs.datamol.io/,仓库 https://github.com/datamol-io/molfeat。