SYM19/PDEOncology
GitHub: SYM19/PDEOncology
一个基于浏览器的肿瘤药物渗透模拟器,利用反应-扩散偏微分方程实时可视化药物在实体瘤中的分布与渗透过程。
Stars: 1 | Forks: 0
# PDEOncology — 肿瘤药物渗透模拟器
[](https://pdeoncology.com)
[](https://pdeoncology.com)
[](LICENSE)
[](https://pdeoutreach.com)
一个基于浏览器的平台,使用**反应-扩散偏微分方程 (PDE)** 模拟肿瘤药物渗透。所有计算均通过客户端的 JavaScript 运行 —— 无需服务器,无需安装。
🔗 **在线网站:** [pdeoncology.com](https://pdeoncology.com)
🌐 **公益科普:** [PDEOutreach](https://pdeoutreach.com) — 面向大众的癌症科学
## 概述
实体瘤中的耐药性和治疗失败往往不纯粹是药理学原因 —— 它们是**物理**层面的。即使是强效药物也可能无法到达肿瘤核心,原因包括:
- 升高的间质液压 (IFP)
- 致密的细胞外基质 (ECM)
- 血管分布不良
PDEOncology 提供了一个交互式模拟环境来可视化这些现象。用户可以探索分子量、代谢稳定性和受体表达如何影响药物分布 —— 无需具备计算背景。
## PDE 模型
药物浓度 C(x,y,t) 根据**反应-扩散方程**演变:
```
∂C/∂t = ∇·(D(x,y)∇C) − λC − k·ρ(x,y)·C
```
| 符号 | 含义 | 范围 |
|--------|---------|-------|
| `D(x,y)` | 空间变化的扩散系数 | 0.005 – 0.25 |
| `λ` | 药物降解 / 代谢清除率 | 0.001 – 0.05 |
| `k` | 细胞摄取率 | 0.01 – 0.15 |
| `ρ(x,y)` | 细胞密度场(径向梯度) | 0.05 – 1.0 |
| `r` | 网格单位的肿瘤半径 | 10 – 38 px |
**数值方法:** 在 80×80 网格上使用显式有限差分法 (FTCS)。CFL 稳定性条件:`dt ≤ dx² / (4D)`。
## 功能特性
| 功能 | 描述 |
|---------|-------------|
| **PDE 模拟** | 实时 FDM 求解器,岩浆热力图,径向渗透曲线,4项指标 |
| **扩散动画** | 20 帧播放,支持播放/暂停/拖动/速度控制 |
| **AI 药物输入** | Claude API 从纯英文文本中提取 D、λ、k。离线时使用本地数据库作为后备 |
| **对比模式** | 在同一肿瘤上对比两种药物 —— 热力图并排显示,曲线叠加,自动生成总结 |
| **药物数据库** | 21 种药物 × 肿瘤组合,支持搜索和过滤 |
| **结果与导出** | 自动生成报告,CSV 导出,PNG 导出,打印 |
| **3 种给药模式** | 静脉输注 / 血管环 / 瘤内注射 |
## 技术栈
| 层级 | 技术 |
|-------|-----------|
| 前端 | Vanilla HTML / CSS / JavaScript — 单个 `index.html` |
| 字体 | Space Mono + Inter (Google Fonts) |
| PDE 求解器 | 自定义 FTCS 有限差分法 (纯 JS) |
| 可视化 | HTML5 Canvas API |
| AI 集成 | Anthropic Claude API (`claude-sonnet-4`) |
| CORS 代理 | Cloudflare Workers (免费套餐) |
| 托管 | GitHub Pages |
| 域名 | pdeoncology.com |
无框架。无构建工具。无服务器。单文件。
## 项目结构
```
tumor-drug-penetration-model/
├── index.html # Entire application (HTML + CSS + JS, bilingual)
├── CNAME # Custom domain config
├── README.md # This file
├── LICENSE # GNU AGPL v3
├── requirements.txt # Python dependencies (Colab notebook)
└── Tumor_Drug_Simulation_Core.ipynb # Original Colab prototype
```
## 快速开始
### 本地运行
```
# 无 build 步骤 — 只需在浏览器中打开
open index.html
# 或使用 Python 进行 serve
python -m http.server 8000
```
### 部署到 GitHub Pages
1. Fork 此仓库
2. Settings → Pages → Source: main branch / root
3. 访问地址为 `https://yourusername.github.io/tumor-drug-penetration-model`
### 设置 AI 药物输入(可选)
1. 从 [console.anthropic.com](https://console.anthropic.com) 获取 API 密钥
2. 将下方的 Cloudflare Worker 部署为 CORS 代理
3. 在 `index.html` 中更新 Worker URL(搜索 `workers.dev`)
4. 在 AI Drug Input(AI 药物输入)选项卡中输入您的密钥
### Cloudflare Workers CORS 代理
```
export default {
async fetch(request) {
if (request.method === 'OPTIONS') {
return new Response(null, {
headers: {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'POST, OPTIONS',
'Access-Control-Allow-Headers': 'Content-Type, x-api-key, anthropic-version',
}
});
}
if (request.method !== 'POST') {
return new Response('PDEOncology API Proxy — OK', {
headers: { 'Access-Control-Allow-Origin': '*' }
});
}
const body = await request.json();
const apiKey = request.headers.get('x-api-key');
const res = await fetch('https://api.anthropic.com/v1/messages', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': apiKey,
'anthropic-version': '2023-06-01',
},
body: JSON.stringify(body)
});
const data = await res.json();
return new Response(JSON.stringify(data), {
headers: {
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*',
}
});
}
}
```
## 局限性
PDEOncology 是一款用于教育和探索的工具。主要简化如下:
- 肿瘤几何形状为圆形且均匀 —— 真实的肿瘤形状是不规则的
- 仅限 2D 模型 —— 真实的药物渗透是三维的
- 细胞密度和扩散场是静态的 —— 现实中它们会随治疗而演变
- 无对流传质(IFP 驱动的总体流动) —— 仅有扩散
- 归一化的无量纲参数 —— 无法直接与临床剂量进行比较
- FTCS 在时间上为一阶 —— 更高阶的方法可提高准确性
## 版本历史
| 版本 | 日期 | 亮点 |
|---------|------|-----------|
| **v0.5** | 2026年3月 | IFP 对流,实验验证,参数扫描,Python 导出 |
| v0.4 | 2026年3月 | 20 帧动画,对比选项卡,CN/EN 双语,网站图标,完整的关于选项卡 |
| v0.3 | 2026年3月 | UI 大改版 —— Space Mono/Inter,深色学术主题,移动端响应式 |
| v0.2 | 2026年3月 | Cloudflare Worker,Claude API,AI 后备,药物数据库(21条记录),导出 |
| v0.1 | 2026年3月 | 初始版本 —— PDE 求解器,热力图,径向曲线,3 种给药模式 |
## 参考文献
1. Jain RK. Transport of molecules in the tumor interstitium. *Cancer Research*, 47(12):3039–3051, 1987.
2. Nugent LJ, Jain RK. Extravascular diffusion in normal and neoplastic tissues. *Cancer Research*, 44(1):238–244, 1984.
3. Thurber GM, Schmidt MM, Wittrup KD. Antibody tumor penetration. *Advanced Drug Delivery Reviews*, 60(12):1421–1434, 2008.
4. Chauhan VP et al. Delivery of molecular and nanoscale medicine to tumors. *Annual Review of Chemical and Biomolecular Engineering*, 2:281–298, 2011.
5. Tannock IF et al. Limited penetration of anticancer drugs through tumor tissue. *Clinical Cancer Research*, 8(3):878–884, 2002.
6. Minchinton AI, Tannock IF. Drug penetration in solid tumours. *Nature Reviews Cancer*, 6(8):583–592, 2006.
7. Stylianopoulos T et al. Causes, consequences, and remedies for growth-induced solid stress in murine and human tumors. *PNAS*, 109(38):15101–15108, 2012.
## 团队
**Y. Shi** — 技术开发,网站工程,UI 设计,PDE 实现
设计并构建了完整的 PDEOncology 平台 —— 包括有限差分 PDE 求解器、交互式可视化引擎、Claude API 集成以及完整的前端界面。
**T. Yang** — 文献研究,药物数据库,生物物理建模,系统联合开发
负责研究与内容开发 —— 从已发表的文献中整理药物参数数据库,获取生物物理学参考资料,优化反应-扩散-对流算法,并综合多源实验数据。
## 相关项目
- **[PDEOutreach](https://pdeoutreach.com)** — 面向公众的伴随平台。为大众解读癌症科学,提供交互式测验、风险概况和真实的患者故事。
## 许可证
本项目基于 **GNU Affero General Public License v3.0 (AGPL-3.0)** 授权。
您可以在以下条件下自由使用、修改和分发本软件:
- **Copyleft:** 任何修改版本也必须以 AGPL-3.0 发布。
- **网络使用:** 如果您将本软件的修改版本作为 Web 服务运行(例如在公共服务器上),您必须向该服务的用户提供完整的相应源代码。
- **署名:** 在所有副本和衍生作品中必须保留原作者身份。
有关完整的许可证文本,请参阅 [LICENSE](LICENSE) 文件,或访问 [gnu.org/licenses/agpl-3.0](https://www.gnu.org/licenses/agpl-3.0.html)。
标签:CMS安全, JavaScript, 交互式模拟, 偏微分方程, 医学模拟, 反应扩散方程, 后端开发, 数值计算, 数学建模, 数据可视化, 浏览器端计算, 癌症研究, 科学可视化, 科普教育, 程序员工具, 细胞外基质, 肿瘤学, 肿瘤微环境, 药物动力学, 药物渗透模拟, 药理学, 计算生物学, 间质液压