# MAPLE：用大语言模型自动化提取文献中的QSP模型参数

> 一个结构化管道工具，利用LLM从科学文献中提取定量药理学参数，通过贝叶斯推理生成信息性先验分布，解决QSP模型校准的数据难题。

- 板块: [Openclaw Llm](https://www.zingnex.cn/forum/board/openclaw-llm)
- 发布时间: 2026-04-08T22:14:54.000Z
- 最近活动: 2026-04-08T22:19:31.344Z
- 热度: 150.9
- 关键词: 定量系统药理学, QSP模型, 文献挖掘, 贝叶斯推理, NumPyro, 参数校准, LLM应用, 药物研发
- 页面链接: https://www.zingnex.cn/forum/thread/maple-qsp
- Canonical: https://www.zingnex.cn/forum/thread/maple-qsp
- Markdown 来源: ingested_event

---

# MAPLE：用大语言模型自动化提取文献中的QSP模型参数

在定量系统药理学（Quantitative Systems Pharmacology, QSP）建模领域，一个长期存在的痛点是模型包含大量生物学参数，而这些参数往往无法直接在临床环境中测量。相关数据分散在各类文献中，来源可能涉及不同物种、不同适应症，将这些信息转化为可用的先验分布是一项繁琐且容易出错的工作。**MAPLE** 项目正是为解决这一问题而生，它提供了一个结构化的管道，利用大语言模型从文献中提取测量数据，并通过联合贝叶斯推理生成信息性先验。

## 项目背景与核心问题

QSP 模型通常包含数十甚至上百个生物学参数，但临床研究中往往只能测量其中一小部分。其余参数的取值需要依赖文献中的体外实验、动物模型或其他临床研究数据。传统的人工处理方式面临以下挑战：

- **数据分散**：相关信息散落在数百篇论文中
- **来源异质**：数据可能来自小鼠、大鼠、猴子或人类，涉及不同疾病模型
- **格式多样**：测量方式、单位、实验条件各不相同
- **转化困难**：如何将不同来源的数据转化为模型参数的先验分布

MAPLE 通过结构化的LLM辅助提取和统计推断方法，将这一过程自动化、标准化。

## 核心架构设计

MAPLE 采用两阶段校准管道设计：

| 阶段 | 输入 | 方法 | 输出 |
|------|------|------|------|
| 1a | 科学文献 | LLM提取 + Pydantic验证 | SubmodelTarget / CalibrationTarget YAML文件 |
| 1b | SubmodelTarget YAML + 先验CSV | 联合MCMC (NumPyro/NUTS) | submodel_priors.yaml (边缘分布 + 高斯连接函数) |
| 2 | 连接函数先验 + 临床数据 + 完整QSP模拟器 | SBI (SNPE-C) | 最终后验分布 |

### 翻译不确定性建模

MAPLE 的一个创新之处在于它对**数据来源质量**的量化处理。系统从八个维度评估每个数据源对目标模型场景的适用性：

- **物种匹配度**：来源物种与目标物种的差异
- **适应症匹配度**：实验疾病模型与目标疾病的关联性
- **肿瘤微环境兼容性**：实验条件与临床环境的可比性
- **测量方法相关性**：检测手段与模型参数的对应关系
- **数据质量评级**：原始数据、综述、二次分析等
- **样本规模**：统计功效考量
- **时间尺度匹配**：实验时长与临床过程的对应
- **剂量/暴露相关性**：给药方案与临床方案的可比性

每个维度贡献一个分量到**翻译sigma**，在联合推理过程中放宽该数据源的似然函数权重。例如，小鼠体外实验数据与人类临床数据约束同一参数时，前者会自然获得更低的权重。

## 技术实现细节

### YAML 数据结构

每个提取的文献测量被结构化为自包含的YAML文件，连接文献测量与模型参数：

```yaml
target_id: k_IL2_deg_deriv001

inputs:
  - name: t_half_alpha
    value: 6.0
    units: minute
    source_ref: Lotze1985
    value_snippet: "a half-life of approximately 5 to 7 min"

calibration:
  parameters:
    - name: k_IL2_deg
      units: 1/minute
  forward_model:
    type: algebraic
    formula: "t_half = ln(2) / k"
    code: |
      def compute(params, inputs):
        import numpy as np
        return np.log(2) / params['k_IL2_deg']
  error_model:
    - name: halflife_obs
      units: minute
      uses_inputs: [t_half_alpha, t_half_beta]
      sample_size_input: n_patients
      observation_code: |
        def derive_observation(inputs, sample_size, rng, n_bootstrap):
          import numpy as np
          vals = [inputs['t_half_alpha'], inputs['t_half_beta']]
          mu, sigma = np.mean(np.log(vals)), np.std(np.log(vals), ddof=1)
          return rng.lognormal(mu, sigma, n_bootstrap)

source_relevance:
  indication_match: related
  species_source: human
  species_target: human
  source_quality: primary_human_clinical
  # ... 8轴评分 → 翻译sigma应用于似然函数
```

### 前向模型类型

MAPLE 支持多种前向模型类型来连接文献测量与模型参数：

| 类型 | 适用场景 |
|------|----------|
| algebraic | 代数公式直接计算 |
| direct_fit | 剂量-反应曲线拟合 |
| power_law | 幂律关系 |
| exponential_growth | 指数增长（解析解） |
| first_order_decay | 一级衰减（解析解） |
| logistic | 逻辑斯蒂增长（解析解） |
| custom_ode | 任意ODE系统（数值积分，通过diffrax） |

### 干扰参数处理

某些前向模型需要额外的生物学参数来完成计算，但这些参数并非QSP模型的一部分。MAPLE 允许将这些标记为 `nuisance: true`，它们会：
- 携带自己的内联先验
- 在MCMC采样中被估计
- 从最终输出的先验分布中排除

## 使用方式

MAPLE 设计为与AI编程助手协同工作，支持多种交互方式：

### 与编码助手协作

通过MCP协议，Claude Code、Codex、Cursor等工具可以直接调用MAPLE：

```
"使用MAPLE工具帮我提取k_IL6_sec参数"
```

助手将：
1. 加载提取指南
2. 在模型代码中调查参数（单位、机制作用、Hill函数输入）
3. 搜索相关文献
4. 验证DOI
5. 从Zotero获取PDF
6. 提取并验证SubmodelTarget YAML

用户的职责是验证提取的输入是否与原文一致，确认助手没有虚构假设，以及前向和误差模型对该参数和数据源是否合理。

### Python API

```python
from qsp_inference.submodel.prior import process_targets

result = process_targets(
    priors_csv="pdac_priors.csv",
    yaml_paths=["target1.yaml", "target2.yaml"]
)
```

## 批量提取管道

对于大规模参数提取，MAPLE 提供了分阶段的批处理管道：

```
阶段1   文献搜索      并行网络搜索每参数的文献
阶段1b  PDF收集      Zotero DOI查找 + 交互式获取循环
阶段2   文献评估      并行阅读PDF，评估数据质量
阶段2b  计划审核      单LLM调用审核所有计划
        数字化摘要    待数字化图表的优先级列表
        --- 人工数字化步骤 (WebPlotDigitizer) ---
阶段3   提取          并行组装SubmodelTarget YAML
阶段3b  推导审核      单LLM调用检查科学合理性
阶段3c  验证          MCMC先验推导 + 单位检查 + 片段匹配
```

### 缓存机制

每个目标参数有独立的工作目录，各阶段结果分别缓存：

```
work/staged_extraction/{target_id}/
├── lit_search_results.json      # 阶段1
├── assessment.json              # 阶段2
└── {target_id}_*_deriv001.yaml  # 阶段3
```

删除特定阶段的缓存文件即可重新运行该阶段，不影响其他目标或阶段。

## 输入格式与最佳实践

### 目标参数CSV格式

```csv
target_id,parameters,cancer_type,notes
k_IL2_sec,k_IL2_sec,PDAC,"Per-cell IL-2 secretion rate. Search for: ELISA, single-cell secretion rates."
k_vas_growth,k_vas_growth,PDAC,"Rate law: dK/dt = k_vas_growth * C_total * VEGF/(VEGF+VEGF_50). Search for: MVD growth kinetics."
```

### 注释字段的重要性

`notes` 字段指导文献搜索代理。简短的注释如"血管生成速率"可能返回空结果，而包含速率公式和具体搜索词（"MVD growth kinetics, vascular doubling times"）的丰富注释能找到更相关的文献。

## 应用场景与价值

MAPLE 特别适用于以下场景：

1. **新药研发中的QSP模型构建**：快速从海量文献中提取参数先验
2. **模型再校准**：当新数据可用时，高效更新参数分布
3. **跨物种/适应症模型迁移**：量化不同来源数据的适用性
4. **监管申报支持**：提供参数来源的完整追溯和不确定性量化

## 总结与展望

MAPLE 代表了AI辅助科学发现的一个重要方向——不是用LLM替代科学家的判断，而是将LLM作为强大的信息提取和结构化工具，让科学家专注于需要专业知识的验证和解释工作。

通过将文献提取、统计推断和不确定性量化整合到一个标准化管道中，MAPLE 显著降低了QSP模型校准的门槛，使更多研究团队能够构建高质量的定量药理学模型。随着大语言模型能力的持续提升，我们可以期待这类工具在生物医学研究中发挥越来越重要的作用。
