[ PROMPT_NODE_26844 ]
Molfeat API 参考
[ SKILL_DOCUMENTATION ]
# Molfeat API 参考
## 核心模块
Molfeat 被组织成几个关键模块,提供分子特征化的不同方面:
- **`molfeat.store`** - 管理模型加载、列表和注册
- **`molfeat.calc`** - 提供单分子特征化计算器
- **`molfeat.trans`** - 提供兼容 scikit-learn 的批处理转换器
- **`molfeat.utils`** - 数据处理的实用函数
- **`molfeat.viz`** - 分子特征的可视化工具
---
## molfeat.calc - 计算器
计算器是可调用的对象,将单个分子转换为特征向量。它们接受 RDKit `Chem.Mol` 对象或 SMILES 字符串作为输入。
### SerializableCalculator (基类)
所有计算器的基础抽象类。子类化时,必须实现:
- `__call__()` - 特征化所需的方法
- `__len__()` - 可选,返回输出长度
- `columns` - 可选属性,返回特征名称
- `batch_compute()` - 可选,用于高效批处理
**状态管理方法:**
- `to_state_json()` - 将计算器状态保存为 JSON
- `to_state_yaml()` - 将计算器状态保存为 YAML
- `from_state_dict()` - 从状态字典加载计算器
- `to_state_dict()` - 将计算器状态导出为字典
### FPCalculator
计算分子指纹。支持 15 种以上的指纹方法。
**支持的指纹类型:**
**结构指纹:**
- `ecfp` - 扩展连接性指纹 (环形)
- `fcfp` - 功能类指纹
- `rdkit` - RDKit 拓扑指纹
- `maccs` - MACCS 键 (166 位结构键)
- `avalon` - Avalon 指纹
- `pattern` - 模式指纹
- `layered` - 分层指纹
**基于原子的指纹:**
- `atompair` - 原子对指纹
- `atompair-count` - 计数原子对
- `topological` - 拓扑扭转指纹
- `topological-count` - 计数拓扑扭转
**专用指纹:**
- `map4` - MinHashed 原子对指纹(最多 4 个键)
- `secfp` - SMILES 扩展连接性指纹
- `erg` - 扩展简化图
- `estate` - 电拓扑状态指数
**参数:**
- `method` (str) - 指纹类型名称
- `radius` (int) - 环形指纹的半径(默认:3)
- `fpSize` (int) - 指纹大小(默认:2048)
- `includeChirality` (bool) - 是否包含手性信息
- `counting` (bool) - 使用计数向量而非二进制
**用法:**
python
from mo