化学信息学工具箱:Mordred 描述符与 RXNFP 反应指纹处理指南
化学信息学工具箱 (Tools)
本目录包含用于处理化学分子和反应数据的辅助脚本,主要基于 Jupyter Notebook 形式提供,旨在为 GNN 模型提供高质量的特征输入。
1. Mordred 描述符处理工具
mordred_tool.ipynb 用于从分子的 SMILES 字符串计算 Mordred 描述符,并进行自动化数据清洗和基于随机森林的特征筛选。
核心功能
- 组分拆分: 从包含多列 SMILES 的主文件中提取单个组分。
- 描述符计算: 调用
mordred库计算 1800+ 维分子描述符。 - 数据清洗: 自动剔除全空列、近常数列(方差极小),并填充缺失值 (NaN)。
- 特征筛选: 利用随机森林回归计算特征重要性,挑选 Top-K 关键特征。
使用步骤
IMPORTANT
环境要求: 确保 Python 环境中已安装 rdkit, mordred, pandas, scikit-learn 等核心化学信息学库。
- 修改配置: 在 “3.总控台” 单元格中修改
CONFIG字典:DATA_DIR: 数据存放的绝对路径。TARGET_FILE: 包含反应数据和目标属性(如产率)的 CSV 文件。TOP_K_FEATURES: 设置最终保留的特征维度数量。
- 运行脚本: 依次执行单元格,或直接点击 “全部运行”。
结果输出: 处理好的特征文件将自动保存至数据目录下的 processedYYYYMMDD 文件夹中。
2. 反应指纹生成工具
RXNFP_tool.ipynb 基于 RXNBERT 预训练模型,将整个化学反应转换为固定长度(256 维)的指纹向量。
核心功能
- 反应式构建: 自动将 CSV 中的反应物、试剂、催化剂等拼接成标准 Reaction SMILES (
A.B.C>>P)。 - 指纹提取: 使用
rxnfp库将反应式编码为高维向量。 - 矩阵保存: 将指纹保存为
.npy格式,方便模型直接调用。
使用步骤
TIP
内核选择: 建议使用专用的深度学习环境(如 torch2),其中需预装 rxnfp 和 pytorch。
- 配置参数: 在 “2.配置运行参数” 区域设置:
DATASET_PATH: CSV 文件路径。REACTANT_COLS: 参与反应的组分列名列表。SAVE_ENABLE: 设置为True以保存数据。
- 模型加载: 首次运行时,脚本会自动从 HuggingFace 下载预训练模型。
- 验证: 脚本末尾会打印特定索引的预览,用于核对 Reaction SMILES 拼接是否正确。
注意: 在进行大规模计算前,建议先使用少量数据测试 mordred 计算速度或 rxnfp 模型加载是否正常。