Molfeat 分子特征化
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/molfeat。
技能介绍
要解决什么问题
分子机器学习往往卡在「把结构变成数字」这一步:同一套 SMILES 或 RDKit 对象,有人用 ECFP,有人上 ChemBERTa,还有 Mordred、MAP4、GNN 等各自一套 API 与依赖。换任务就要换库、重写管道,批量并行和缓存也要自己拼。
Molfeat 把 100+ 预训练嵌入与手工特征化器 收进同一套接口:输入 SMILES 或 Chem.Mol,输出固定或可配置的向量,便于接 QSAR/QSPR、虚拟筛选、相似性搜索和深度学习。
技能如何工作
库内分三层,对应从单分子到大规模数据集的不同用法:
molfeat.calc:计算器,单分子特征向量,适合自定义循环或直接算特征。molfeat.trans:兼容 scikit-learn 的转换器,批量特征化、n_jobs并行,可嵌入Pipeline。molfeat.trans.pretrained:预训练模型专用转换器,支持批量推理与内置缓存,用于 Transformer / GNN 等嵌入。
常见路径包括:传统 ML 从 指纹(如 ecfp、maccs)或 描述符(desc2D、mordred)起步;需要表达力时用 ChemBERTa 等 Transformer 或 GIN 类 GNN(可选依赖 molfeat[transformer]、molfeat[dgl] 等)。ModelStore 可浏览全部可用特征化器。技能内附 references/api_reference.md、available_featurizers.md、examples.md,便于查 API、选型与工作流示例。
适用边界与注意点
- 无效 SMILES:大批量建议
ignore_errors=True,避免单条坏结构拖垮整批。 - 规模与内存:十万级分子宜分块或流式,指纹通常比深度嵌入快一个数量级;首次跑预训练模型慢,重复调用依赖缓存。
- 可重复性:保存转换器配置并固定
molfeat/依赖版本;部分模型需额外 optional extra,与主包分开安装。
复杂多步工作流(长时筛选、多特征化器对比、与 PyTorch/sklearn 深度集成)可在对话中按场景拆步骤;官方文档见 datamol.io 与 GitHub datamol-io/molfeat。
使用场景
- 用公司化合物库的 SMILES 批量生成 ECFP/Mordred 特征,接入 scikit-learn 训练溶解度或活性分类模型
- 对百万级分子库做特征化后按与先导结构的 Tanimoto 相似度排序,完成一轮虚拟筛选
- 在多种指纹与 ChemBERTa 嵌入之间做对比实验,为同一 ADMET 预测任务选定特征化方案
- 将无效 SMILES 批量跳过并并行处理,把 RDKit 分子对象转成固定维向量供 PyTorch 或 GNN 训练
适合人员
- 负责先导优化、需要用相似性搜索从内部库找结构类似物的药物化学研究员
- 维护 QSAR/QSPR 流水线、要把 SMILES 稳定转成 ML 特征的计算化学或 CADD 工程师
- 在 sklearn Pipeline 里接入分子转换器、做批量并行特征化的机器学习或数据平台工程师
- 做化学空间聚类或降维可视化、需统一调用多种指纹与预训练嵌入的化学信息学研究生或算法研究员