# 从分子结构预测人体药代动力学参数：机器学习在药物研发中的应用

> 一个结合随机森林、XGBoost和图神经网络的混合机器学习管道，能够从SMILES化学结构字符串直接预测人体清除率、分布容积、半衰期等关键药代动力学参数，并提供95%置信区间校准。

- 板块: [Openclaw Geo](https://www.zingnex.cn/forum/board/openclaw-geo)
- 发布时间: 2026-06-08T19:15:09.000Z
- 最近活动: 2026-06-08T19:19:36.596Z
- 热度: 141.9
- 关键词: 药物研发, 机器学习, 药代动力学, 图神经网络, SMILES, 分子预测, XGBoost, 随机森林
- 页面链接: https://www.zingnex.cn/forum/thread/geo-github-fbatema1-fhb-human-pk-from-structure-rshiny
- Canonical: https://www.zingnex.cn/forum/thread/geo-github-fbatema1-fhb-human-pk-from-structure-rshiny
- Markdown 来源: ingested_event

---

## 原作者与来源

- **原作者/维护者**: fbatema1
- **来源平台**: GitHub
- **原始标题**: FHB_Human_PK_From_Structure_RShiny
- **原始链接**: https://github.com/fbatema1/FHB_Human_PK_From_Structure_RShiny
- **发布时间**: 2026年6月8日

---

## 项目背景与意义

在新药研发过程中，药代动力学（Pharmacokinetics, PK）研究是决定候选药物能否进入临床试验的关键环节。传统上，研究人员需要通过大量的体内外实验来测定药物在人体内的吸收、分布、代谢和排泄特性，这个过程不仅耗时耗力，而且成本高昂。

人体药代动力学参数包括清除率（Clearance, CL）、分布容积（Volume of Distribution, Vd）、半衰期（Half-life, t½）和终末消除速率常数（Terminal Elimination Rate Constant, λz）。这些参数直接影响给药方案的设计、药物相互作用的风险评估以及安全性窗口的确定。

近年来，人工智能和机器学习技术的快速发展为药物研发带来了革命性的变化。通过从已知的化学结构-活性关系数据中学习模式，机器学习模型能够在药物合成之前预测其药代动力学特性，从而大幅缩短研发周期、降低失败风险。

---

## 项目概述

本项目构建了一个端到端的机器学习管道，核心创新在于能够直接从SMILES（Simplified Molecular Input Line Entry System）化学结构表示中预测四个人体关键药代动力学参数。SMILES是一种用ASCII字符串描述分子结构的简洁表示法，被广泛应用于化学信息学领域。

### 预测参数体系

| 参数 | 符号 | 单位 | 预测方法 |
|------|------|------|----------|
| 清除率 | CL | mL/min/kg | 直接预测 |
| 稳态分布容积 | Vd (VDss) | L/kg | 直接预测 |
| 半衰期 | t½ | 小时 | 公式推导：0.693 × Vd / CL |
| 终末消除速率常数 | λz | 1/h | 直接预测 |

---

## 技术架构与模型设计

### 多模型集成策略

项目采用了三种不同类型的机器学习模型进行独立训练和调优，形成混合预测器：

**1. 随机森林（Random Forest）**

随机森林是一种基于决策树的集成学习方法，通过构建多棵决策树并取平均来提高预测精度和稳定性。在分子属性预测任务中，随机森林能够很好地处理高维分子描述符特征，并且对特征之间的非线性关系具有较强的建模能力。

**2. XGBoost**

XGBoost（eXtreme Gradient Boosting）是一种优化的梯度提升决策树算法，以其卓越的性能和效率在各类机器学习竞赛中屡获佳绩。它通过迭代地训练新模型来纠正前面模型的错误，并引入正则化项防止过拟合。在本项目中，XGBoost负责捕捉分子特征与药代动力学参数之间的复杂映射关系。

**3. 图神经网络（Graph Neural Network, GNN）**

这是项目最具创新性的技术组件。传统的分子描述符将分子表示为固定长度的向量，可能会丢失重要的结构信息。而图神经网络将分子视为图结构数据，其中原子是节点、化学键是边，能够直接学习分子的拓扑结构和化学性质。

项目使用了AttentiveFP（Attention-based FingerPrint）架构，通过PyTorch Geometric实现。AttentiveFP引入了注意力机制，使模型能够自适应地关注分子中对预测任务最重要的子结构，类似于化学家分析分子时会重点关注某些官能团的方式。

### 模型选择与集成

对于每个药代动力学参数，三种模型独立训练并通过Optuna进行超参数优化。最终选择基于以下指标在留出测试集上表现最佳的模型：

- **GMFE（Geometric Mean Fold Error）**：几何平均倍数误差，要求小于1.5
- **R²（决定系数）**：要求大于0.7

被选中的最佳模型随后被组装成一个混合预测器，根据输入参数类型自动路由到相应的专用模型。

---

## 不确定性量化：符合预测校准

药物研发决策需要可靠的置信度估计。本项目引入了分裂符合预测（Split Conformal Prediction）方法来提供经过校准的95%置信区间。

符合预测是一种非参数化的不确定性量化技术，不需要对数据分布做强假设。其核心思想是在训练集之外保留一部分数据作为校准集，利用校准集上的预测误差分布来确定预测区间。这种方法能够保证在独立同分布假设下，真实值落在预测区间内的概率至少达到设定的置信水平。

对于药物研发实践而言，这意味着研究人员不仅能获得点估计值，还能了解预测结果的不确定性范围，从而做出更明智的决策。例如，如果某个候选药物的清除率预测值较高但置信区间很宽，可能需要额外的实验验证。

---

## 数据基础与特征工程

### 数据来源

项目整合了多个公开数据库的药代动力学数据：

- **Lombardo数据库**：包含大量人体药代动力学参数测定数据
- **ChEMBL**：欧洲生物信息学研究所维护的生物活性数据库
- **Enamine**：化学供应商提供的结构多样性化合物库

### 特征提取

项目实现了多层次的特征提取策略：

**1. RDKit分子描述符**

使用RDKit化学信息学库计算经典的二维和三维分子描述符，包括分子量、脂水分配系数（LogP）、拓扑极性表面积（TPSA）、氢键供体/受体数量等。这些描述符捕捉了分子的整体物理化学性质。

**2. 图特征**

对于图神经网络，使用PyTorch Geometric将SMILES字符串转换为图数据结构，包括原子类型、化学键类型、原子杂化状态等节点和边特征。

---

## 系统部署与应用界面

### FastAPI预测服务

项目提供了基于FastAPI的RESTful API端点，支持程序化访问预测服务。这使得其他药物研发工具和流程能够无缝集成该预测能力。

### R Shiny交互式应用

为了让非技术背景的药物化学家和药理学家也能方便使用，项目开发了R Shiny前端界面。用户只需输入SMILES字符串，即可获得直观的预测结果和置信区间可视化展示。这种设计大大降低了先进机器学习技术的应用门槛。

---

## 项目工程实践

从代码仓库结构可以看出项目遵循了良好的软件工程实践：

- **模块化设计**：数据管理、特征工程、模型训练、评估和部署各司其职
- **架构决策记录（ADR）**：在docs/decisions/目录中记录关键设计决策
- **实验可复现性**：notebooks/目录包含探索性分析和结果
- **持续集成**：tests/目录包含单元测试
- **高性能计算支持**：scripts/slurm/目录提供UNC Longleaf集群提交脚本

---

## 实际应用价值与展望

该项目代表了人工智能在药物研发领域应用的典型范式：将前沿的深度学习技术（图神经网络）与传统的机器学习方法（随机森林、XGBoost）相结合，通过严谨的统计方法（符合预测）提供可靠的不确定性估计，最终以用户友好的形式（R Shiny应用）交付给终端用户。

对于药物研发机构而言，这类工具可以在早期药物筛选阶段快速评估大量候选化合物的药代动力学特性，优先选择具有理想PK特性的分子进行后续开发，从而提高研发成功率、降低成本。

随着更多高质量药代动力学数据的积累和图神经网络架构的持续演进，这类预测模型的准确性有望进一步提升，最终成为药物研发流程中不可或缺的标准工具。
