用途:molfeat 是面向分子机器学习的特征化库,把化学结构(SMILES 字符串或 RDKit 分子)转成数值特征,用于 QSAR/QSPR 建模、虚拟筛选、相似性搜索、化学空间分析、深度学习与特征化流水线等。
主要能力:提供三类层次化接口。 Calculators(molfeat.calc)将单分子转为特征向量;Transformers(molfeat.trans)是兼容 scikit-learn 的批量转换器,支持并行;Pretrained Transformers(molfeat.trans.pretrained)用于深度学习模型嵌入。覆盖 ECFP、MACCS、MAP4 等指纹,RDKit 2D 描述符、Mordred 描述符,以及 ChemBERTa、ChemGPT、GIN、Graphormer 等预训练模型,可用 FeatConcat 组合多个特征器。
使用方式:安装命令为 uv pip install molfeat,可选依赖如 molfeat[all]、molfeat[dgl]、molfeat[graphormer]、molfeat[transformer]、molfeat[fcd]、molfeat[map4]。基础用法是创建 FPCalculator("ecfp", radius=3, fpSize=2048),再包进 MoleculeTransformer(calc, n_jobs=-1) 批量处理 SMILES 列表;可接 scikit-learn Pipeline 训练与预测,可用 to_state_yaml_file 保存配置、from_state_yaml_file 重载。ModelStore 可列出和检索全部可用特征器,如 store.search(name="ChemBERTa")。
适用场景:传统机器学习可选 ECFP、MACCS、RDKit 描述符;深度学习可选 ChemBERTa 等预训练嵌入;相似性搜索可用 ECFP、MACCS、MAP4、USR;药效团相关可用 FCFP、CATS、Gobbi。
限制:预训练模型首次运行较慢,之后依赖缓存;部分模型需额外安装对应 extras;大数据集建议分块处理以控制内存;无效 SMILES 可设置 ignore_errors=True 跳过。文档、GitHub 与 PyPI 链接见资料。其他价格、平台等信息暂未提供。