用途:Molfeat 是一个分子特征化(featurization)Python 库,将化学结构(SMILES 字符串或 RDKit 分子对象)转换为机器学习可用的数值特征,面向 QSAR/QSPR 建模、虚拟筛选、相似性搜索、化学空间分析、深度学习等化学信息学任务。
主要能力:库内提供 100 多种特征器,包括指纹(ECFP、MACCS、MAP4、FCFP、Gobbi 等)、分子描述符(RDKit 2D 描述符、Mordred 1800+ 描述符)、药效团描述符(CATS、Gobbi)、形状描述符(USR/USRCAT)以及预训练模型嵌入(ChemBERTa、ChemGPT、MolT5、GIN、Graphormer)。支持并行处理、与 scikit-learn 兼容的转换器、内置缓存,并可通过 ModelStore 检索与加载可用模型。
使用方式:安装命令为 uv pip install molfeat,或安装全部可选依赖 uv pip install "molfeat[all]"。也可按需安装 molfeat[dgl]、molfeat[graphormer]、molfeat[transformer]、molfeat[fcd]、molfeat[map4]。核心分为三层:molfeat.calc 中的计算器(Calculator)将单个分子转为特征向量;molfeat.trans 中的 MoleculeTransformer 包装计算器实现批处理与并行;molfeat.trans.pretrained 中的预训练转换器用于深度学习嵌入。转换器支持 to_state_yaml_file/from_state_yaml_file 保存与加载配置、ignore_errors 忽略无效分子,并可通过 FeatConcat 组合多个特征器。可集成到 scikit-learn Pipeline 中直接对 SMILES 训练与预测。
适用场景:构建 QSAR 模型、虚拟筛选化合物库排序、相似性搜索、聚类与可视化、在分子数据上训练神经网络,以及任何需要分子特征提取的化学信息学流程。
限制:部分预训练模型需额外安装对应可选依赖;深度学习与 GNN 模型首次运行较慢,后续依赖缓存;大规模数据集(如超过 10 万分子)需分块处理以控制内存;无效 SMILES 需开启错误忽略。官方文档为 https://molfeat-docs.datamol.io/,代码仓库为 https://github.com/datamol-io/molfeat。