jemin6780-afk/Bio-Process-Digital-Twin-Quality-Control-Engine

GitHub: jemin6780-afk/Bio-Process-Digital-Twin-Quality-Control-Engine

面向生物制药行业的数字孪生原型,通过多元统计分析、AI异常检测和流体动力学仿真帮助MSAT团队进行工艺偏差预警与根因调查。

Stars: 0 | Forks: 0

# 🧬 生物工艺数字孪生与质量控制引擎 本项目是 **MSAT(制造科学与技术)优化**的原型,连接理论流体动力学与实际生物工艺放大逻辑。 ## 📊 示例输出 ### 模块 1 — 多元分析

*图 1:用于 CPP 识别的相关性矩阵及用于批次聚类的 PCA。* ### 模块 2 — 基于 AI 的偏差检测

*Figure 2: Real-time anomaly mapping using Isolation Forest. The decision boundaries highlight deviations from the "Golden Batch" trajectory.* ### 模块 3 — 生物反应器流体动力学与 PID 控制

*Figure 3: Hydrodynamic characterisation (Agitation Sweep) and closed-loop PID response for Dissolved Oxygen (DO) stabilisation.* ## 🎯 动机 在生物制药制造中,**80 % 的实验室调查报告(LIR)和偏差**源于上游工艺参数之间的意外相互作用——pH 漂移、溶解氧(DO)骤降或搅拌导致的剪切应力——而非单一可识别的根本原因。 本项目证明**计算生物工程工具可以**: 1. 通过多元 PCA 减少根本原因调查时间。 2. 使用无监督机器学习在偏差升级 **1-2 小时前**检测到工艺偏差。 3. 定量标记细胞损伤风险(来自流体动力学剪切)——这是手动放大工作流程中的关键缺口。 ## 🏗️ 项目架构 ``` BioProcess-Optimizer/ ├── main.py # Orchestration entry point ├── requirements.txt ├── data/ │ └── synthetic_batch_data.py # Synthetic fed-batch CHO dataset generator └── bioprocess/ ├── __init__.py ├── multivariate_analysis.py # Module 1 — PCA + Correlation + ANOVA ├── deviation_detector.py # Module 2 — Isolation Forest + LIR auto-draft └── fluid_calculator.py # Module 3 — Reynolds / kLa / Shear + PID ``` 所有模块均采用 **OOP 结构**设计,具有可扩展性(例如,将 Isolation Forest 替换为基于 LSTM 的模型只需对 `DeviationDetector` 进行子类覆盖)。 ## 📦 模块 ### 模块 1 — 多元统计分析 **文件:** `bioprocess/multivariate_analysis.py` **类:** `MultivariateAnalyser` 执行 MSAT 工程师在制造偏差调查期间进行的探索性数据分析(EDA)阶段。 | 方法 | 描述 | |---|---| | `correlation_heatmap()` | 所有 CPP 和 CQA 的 Pearson 相关性矩阵 | | `run_pca(n_components)` | 标准化的 PCA,包含碎石图、载荷条形图,以及按滴度四分位数着色的得分散点图 | | `run_anova()` | 单因素 ANOVA 检验 pH 操作带(低/标称/高)之间的滴度差异 | | `full_report()` | 依次运行三种分析 | **统计解释**直接嵌入在输出中——每个结果都映射到具体的 MSAT 建议(例如,_“将 CPP 状态分配给乳酸和葡萄糖;在下一次 DoE 活动中收紧 NOR”_)。 **关键工艺变量:** pH · 温度 · DO · 搅拌 · 补料速率 · VCD · 细胞活力 · 滴度 · 葡萄糖 · 乳酸 ### 模块 2 — 基于 AI 的偏差早期检测 **文件:** `bioprocess/deviation_detector.py` **类:** `DeviationDetector` 实现基于 **无监督 Isolation Forest** 的模型,使用正常批次观测数据进行训练。该模型学习多元正态操作空间,并标记偏离该空间的时刻——训练时无需标记的偏差数据。 | 方法 | 描述 | |---|---| | `fit(df_normal)` | 使用正常工艺观测数据进行训练 | | `predict(df)` | 对所有观测进行评分;添加 `Anomaly_Score` 和 `Predicted_Dev` 列 | | `plot_anomaly_map(batch_id)` | 时间序列叠加,红色高亮显示报警窗口 | | `generate_lir(batch_id)` | **自动生成符合 GMP 要求的 LIR 草稿**(见下文) | | `evaluate(df_labelled)` | 根据真实偏差标签计算精确率/召回率/F1 分数 | #### LIR 自动草稿功能 当检测到偏差时,引擎会自动生成遵循标准生物制药 GMP 模板的结构化 **实验室调查报告**: ``` ╔══════════════════════════════════════════════════════════════╗ ║ LAB INVESTIGATION REPORT (LIR) — AUTO DRAFT ║ ╚══════════════════════════════════════════════════════════════╝ 1. DEVIATION SUMMARY — batch ID, alarm count, time window 2. PROCESS PARAMETER EXCURSION — pH, DO, Viability statistics 3. PROBABLE ROOT CAUSE — primary deviated variable + hypothesis 4. IMMEDIATE CONTAINMENT — checklisted action items 5. CAPA RECOMMENDATION — corrective and preventive actions 6. IMPACT ASSESSMENT — batch disposition status ``` 这证明了该工具不仅能**检测**问题——还能**加速 GMP 响应工作流程**。 ### 模块 3 — 生物反应器流体动力学计算器 **文件:** `bioprocess/fluid_calculator.py` **类:** `FluidCalculator`、`BioreactorGeometry`、`FluidState`、`DOController` 用于搅拌罐生物反应器(STR)设计和放大研究的基于物理的工程计算器。 #### 工程计算 | 参数 | 公式/模型 | 解释阈值 | |---|---|---| | **雷诺数** | Re = ρND²/µ | Re > 10,000 → 完全湍流 | | **Kolmogorov 湍流尺度** | λ = (ν³/ε)^0.25 | λ/d_cell ≥ 0.10 → 细胞安全 | | **kLa**(van't Riet, 1979) | kLa = C·(P/V)^α·vs^β | 目标:CHO 为 5–15 h⁻¹ | | **比功率 P/V** | P = Np·ρ·N³·D⁵ | 哺乳动物细胞 < 100 W/m³ | #### PID 溶解氧控制器 `DOController` 模拟一个 **离散时间 PID 反馈回路**,通过操纵搅拌 RPM 来维持 DO 设定点——这与 Biostat B-DCU 和 Sartorius ambr° 平台上使用的控制架构相同。 ``` pid = DOController(PIDParameters(Kp=2.0, Ki=0.05, Kd=0.5, setpoint=40.0)) rpms, dos = pid.simulate(initial_do=60.0, n_steps=300, disturbance_at=150) pid.plot_response(rpms, dos) ``` ## 🚀 快速开始 ``` # 克隆仓库 git clone https://github.com//BioProcess-Optimizer.git cd BioProcess-Optimizer # 安装依赖 pip install -r requirements.txt # 运行完整流水线 python main.py ``` 输出图表保存至 `outputs/{multivariate,deviation,fluid}/` ## 📊 示例输出 | 模块 | 输出 | |---|---| | 模块 1 | 相关性热图 · PCA 碎石图 · 得分散点图 · ANOVA 箱线图 | | 模块 2 | 时间序列异常叠加 · LIR `.txt` 草稿 · 精确率/召回率报告 | | 模块 3 | 搅拌扫描(Re / kLa / λ / P/V)· PID DO 控制响应 | ## 🔬 合成数据集 数据集(`data/synthetic_batch_data.py`)生成 **30 × 144 个时间点的补料批次 CHO 细胞培养**记录,包含: - 现实变量范围:pH 6.8–7.2,DO 5–70%,滴度 0–8 g/L,VCD 0–130 × 10⁶ cells/mL - 逻辑斯蒂 VCD 生长模型,带有批次间 µ_max 变异性 - 在约 15% 的批次中注入偏差场景(pH 漂移、DO 骤降) - 用于模型评估的真实 `Is_Deviation` 标签 ## 📐 设计原则 - **OOP 架构** — 每个模块都是具有清晰公共 API 的独立类,支持独立单元测试和未来集成到 Flask/FastAPI 仪表板。 - **GMP 感知输出** — 所有解释使用监管词汇(CPP、CQA、NOR、CAPA、PAR),符合 ICH Q8/Q10。 - **安全失败解释** — 每个数值结果都附带条件解释块,将值映射到工艺工程决策,消除静默失败的风险。 - **放大就绪** — `BioreactorGeometry` 和 `FluidState` 是数据类;从 50 L 放大到 2000 L 生产罐只需更改两个参数即可。 ## 🛠️ 技术栈 | 层级 | 库 | |---|---| | 数据处理 | `pandas`、`numpy` | | 机器学习 | `scikit-learn`(IsolationForest、PCA)| | 统计 | `scipy.stats`(f_oneway)| | 可视化 | `matplotlib`、`seaborn` | ## 🔭 路线图 - [ ] 基于 LSTM 的时间序列异常检测(滚动窗口) - [ ] 用于实时批次监控的 Streamlit Web 仪表板 - [ ] 与公开 FDA 不良事件数据集集成,用于 CPP 基准测试 - [ ] 用于响应面方法论的 DoE(实验设计)模块 ## 👤 关于 由 **Jemin Lee** 构建,作为为 **伦敦帝国理工学院** 计算生物工程硕士课程自主准备的一部分。 该项目的核心信念是:生物制药 MSAT 缺失的部分不是更多数据——而是使这些数据能够实时可操作的计算基础设施。 ## 📄 许可证 MIT 许可证——详见 [LICENSE](LICENSE)。
标签:ANOVA, Apex, Bioprocess, CPP, CQA, Golden Batch, Isolation Forest, kLa, LIR, MSAT优化, PCA, PID控制, Python, Reynolds数, Scale-up, 上游工艺, 偏差检测, 多变量分析, 异常检测, 批次数据, 数字孪生, 无后门, 无监督学习, 机器学习, 流体动力学, 溶解氧控制, 生物制药, 生物反应器, 细胞培养, 统计分析, 过程参数映射, 过程控制, 逆向工具, 预测性维护