# 定量构效关系

定量构效关系(QSAR)通过数学建模,定量关联分子结构(如分子描述符或图结构)与其生物活性或理化性质。

专注于药物设计中的分子性质预测与模型开发,通过整合Optuna、Scikit-learn、RDKit等工具包,构建自动化建模流水线,支持从分子描述符到图神经网络(如ChemProp)的多种分子表示形式与机器学习/深度学习模型的高效对比与优化,涵盖小分子活性预测等应用场景,同时提供模型不确定性量化(如置信度评估)和可解释性分析(如特征重要性可视化),帮助研究人员快速筛选最优模型并理解预测结果的化学意义。

核心优势在于其高度自动化的建模流程与多维度分析能力:通过Optuna框架实现超参数自动优化与模型选择,显著提升算法性能并减少人工干预;兼容RDKit分子描述符、SMILES字符串等多种分子表示形式,结合传统机器学习(如随机森林、SVM)和深度学习方法,灵活适应不同数据规模与任务需求,为药物设计中的分子性质预测提供一站式解决方案。

# 使用步骤

1.选择模型类型

根据训练任务选择需要创建的模型类型。

本模块支持分类模型和回归模型二选一。回归任务旨在预测连续型数值。分类任务的目标是将数据划分到离散的类别标签中。

用户通过鼠标单击选中模型类型,选中的模型类型将以蓝色高亮显示,用于标识当前所选状态。

2.选择训练样本

  • 加载训练数据集

数据集以.csv文件表示。加载训练数据文件支持本地上传和从数据中心导入两种方式。

数据集样例如下,至少包含 2 列:其中 1 列是分子SMILES表达式列,另一列是标签列。

  • 选择建模数据

用户正确加载训练数据集后,系统会自动识别并加载文件中的列名,这些列名将显示在相应的下拉菜单中。用户需要通过界面中的下拉菜单选择正确的文件列名,以确保模型能够正确识别分子结构和目标标签。

  • SMILES列:选择包含分子结构信息的列。SMILES(Simplified Molecular Input Line Entry System)是一种标准化的文本表示方法,用于描述分子结构。例如,SMILES列可能包含类似 CCOC1=CC=CC=C1 的字符串,表示分子的化学结构。
  • 标签列:选择包含目标变量的列。标签列通常包含与分子相关的数值或分类信息,例如分子量(如 Mol_Weight)、活性值或其他需要预测的性质。

如果列名未正确加载,请检查文件格式或重新上传数据集。

3.选择建模方法

  • 选择分子描述符

通过下拉菜单,选择分子描述方法。本模块支持 3 种分子描述符,可以多选。

用户通过点击选择描述符,选中的描述符将实时更新至选择框中,并以蓝色字体和对勾标识直观反馈选中状态。若需取消选择,再次点击已选描述符即可移除其选中状态,界面将同步更新以反映当前选择。

  • 选择机器学习算法

通过下拉菜单选择用于建模的机器学习算法。本模块根据模型类型提供对应的算法,支持多选。

用户通过点击选择机器学习算法,选中的算法将实时更新至选择框中,并以蓝色字体和对勾标识直观反馈选中状态。若需取消选择,再次点击已选算法即可移除其选中状态,界面将同步更新以反映当前选择。

4.输入任务名称

在文本框中输入任务名称,此名称将用作训练完成模型的标识名。该名称有助于在后续的QSAR预测模块中,方便地识别和调用相应的模型进行分析与应用。

5.提交计算

完成模型选择和文件加载,以及参数选择后,点击【提交】按钮开始计算。

# 结果说明

  1. 运行历史

提交计算后,会在页面下方【运行历史】处显示运行任务状态。

已完成任务,可以点击【下载结果】

  1. 下载结果

下载所得文件为压缩包 result.tar,解压该压缩包后,会得到一个名为 “target” 的文件夹,其目录下存有 json 文件与 pkl 文件。其中,json 文件属于参数配置文件,它记录了用户预先选定的参数配置,以及训练完成后经过优化的超参数详情;而.pkl 文件则是基于模型训练所构建生成的 QSAR 模型文件。

# 名词解释

描述符(Descriptors)

  1. ECFP :扩展连通性指纹,特征向量形式的分子结构描述符。
  2. ECFP_counts :ECFP 的变体,记录子结构特征存在与否及出现次数。
  3. MACCS_keys :固定长度二进制指纹,表示分子结构特征。
  4. Avalon :基于位的二进制指纹,用于表示分子结构特征。
  5. PathFP :基于分子特定长度原子路径生成的指纹,描述分子拓扑结构。
  6. UnscaledPhyschemDescriptors :涵盖分子物理化学性质参数的描述符,未标准化。
  7. UnscaledJazzyDescriptors :基于量子化学计算的分子信息的描述符,未进行缩放处理。

分类算法(Classification Algorithms)

  1. AdaBoostClassifier: AdaBoost分类器
  2. CalibratedClassifierCVWithVA: 交叉验证-变分校准分类器
  3. KNeighborsClassifier: K近邻分类器
  4. LogisticRegression: 逻辑回归分类器
  5. RandomForestClassifier: 随机森林分类器
  6. SVC: 支持向量分类器
  7. ChemPropHyperoptClassifier: 基于深度学习和超参数优化的分子性质预测分类器

回归算法(Regression Algorithms)

  1. Lasso: Lasso回归
  2. PLSRegression: 偏最小二乘回归
  3. RandomForestRegressor: 随机森林回归器
  4. Ridge: 岭回归
  5. KNeighborsRegressor: K近邻回归器
  6. SVR: 支持向量回归
  7. XGBRegressor: XGBoost回归器
  8. ChemPropRegressor: 基于深度学习的分子性质预测回归器
  9. ChemPropHyperoptRegressor: 基于深度学习和超参数优化的分子性质预测回归器