SYM19/PDEOncology

GitHub: SYM19/PDEOncology

一个基于浏览器的肿瘤药物渗透模拟器,利用反应-扩散偏微分方程实时可视化药物在实体瘤中的分布与渗透过程。

Stars: 1 | Forks: 0

# PDEOncology — 肿瘤药物渗透模拟器 [![在线演示](https://img.shields.io/badge/demo-pdeoncology.com-4d9eff?style=flat-square)](https://pdeoncology.com) [![版本](https://img.shields.io/badge/version-v0.5-3de383?style=flat-square)](https://pdeoncology.com) [![许可证](https://img.shields.io/badge/license-AGPL--3.0-f0a54a?style=flat-square)](LICENSE) [![PDEOutreach](https://img.shields.io/badge/outreach-PDEOutreach-a78bfa?style=flat-square)](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, 交互式模拟, 偏微分方程, 医学模拟, 反应扩散方程, 后端开发, 数值计算, 数学建模, 数据可视化, 浏览器端计算, 癌症研究, 科学可视化, 科普教育, 程序员工具, 细胞外基质, 肿瘤学, 肿瘤微环境, 药物动力学, 药物渗透模拟, 药理学, 计算生物学, 间质液压