用途:molfeat 面向分子机器学习与化学信息学,用于把化学结构(SMILES 字符串或 RDKit 分子)转成供模型使用的数值特征,适用于 QSAR/QSPR 建模、性质预测、虚拟筛选、相似性搜索、化学空间分析、聚类可视化与深度学习。
主要能力:库自述统一了 100 多种预训练嵌入与手工特征器,内置快速并行处理、兼容 scikit-learn 的转换器和缓存。组织为三层:计算器 molfeat.calc(单分子转特征向量)、转换器 molfeat.trans(批量并行、可接入 sklearn 管道)、预训练转换器 molfeat.trans.pretrained(深度模型批量推理与缓存)。支持 ECFP、MACCS、MAP4、FCFP、Gobbi、CATS、USR 等指纹与药效团描述符,RDKit 2D、Mordred 描述符,以及 ChemBERTa、ChemGPT、MolT5、GIN、Graphormer 等预训练模型;可通过 FeatConcat 组合多个特征器,并可用 ModelStore 检索和加载模型。
使用方式:安装命令为 uv pip install molfeat,全部可选依赖为 uv pip install "molfeat[all]",按需可装 molfeat[dgl]、molfeat[graphormer]、molfeat[transformer]、molfeat[fcd]、molfeat[map4]。基本流程是创建计算器与转换器后对 SMILES 列表批量特征化,例如 MoleculeTransformer(FPCalculator("ecfp"), n_jobs=-1)。配置可用 to_state_yaml_file 保存、from_state_yaml_file 加载;数据集含无效 SMILES 时可设 ignore_errors=True 与 verbose=True 跳过并记录,失败分子返回 None。
适用场景:传统机器学习可选指纹类特征,可解释模型可选描述符,深度学习和迁移学习可选预训练嵌入,相似性搜索与药效团分析各有对应特征器。
限制:资料未提供收费、价格或效果数据;部分预训练模型需额外安装依赖,首次运行较慢,后续可受益于缓存;大分子库需分块处理以控制内存,深度模型比指纹慢,精度允许时可用 float32。官方文档见 https://molfeat-docs.datamol.io/ ,代码仓库见 https://github.com/datamol-io/molfeat 。