mcpField
T
tooluniverse-pharmacokinetics

tooluniverse-pharmacokinetics

github.com/mims-harvard数据与数据库1.8k134 次安装2 天前更新
代码仓库

关于 tooluniverse-pharmacokinetics

用于分析实测浓度—时间数据的 ToolUniverse 技能,采用非房室分析计算常见药代动力学参数和生物利用度,并提供数据质量与结果解读指引。

主要功能

  1. 01计算常见非房室分析参数
  2. 02估算绝对生物利用度
  3. 03在本地处理 CSV 曲线数据
  4. 04检查采样与拟合质量

适用场景

  1. 01汇总实测药物浓度—时间曲线
  2. 02比较不同制剂或剂量的暴露量
  3. 03根据静脉和口服数据计算生物利用度

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mims-harvard/tooluniverse --skill tooluniverse-pharmacokinetics

安装后在 Claude Code 中输入/tooluniverse-pharmacokinetics确认已加载。

附带文件scripts/nca_from_csv.pytest_nca_from_csv.py

详细介绍

药代动力学(PK)分析——非房室分析

将给药后的浓度-时间曲线转换为标准 PK 参数,并根据静脉注射和口服数据计算生物利用度。非房室分析(NCA)是与模型无关的主力方法,广泛用于大多数 PK 报告。

适用场景

  • 你已在给药后的已知时间点测量血浆/血清(或其他基质)中的药物浓度。
  • 你需要 Cmax/Tmax/AUC/半衰期/清除率/Vd,或绝对生物利用度 F。
  • 比较不同制剂、剂量或给药途径的暴露量(AUC、Cmax)。

这是基于实测数据的 PK 分析。若要根据化学结构预测 ADMET 属性,请使用 tooluniverse-admet-prediction。

步骤 1 — 准备浓度-时间数据

问题处理方法
单位——保持一致统一时间单位(h)、浓度单位(mg/L 或 ng/mL)和剂量单位(mg)。通过 time_unit/conc_unit/dose_unit 传入。CL 和 Vd 将以换算后的单位返回(例如 L/h、L)。
给药途径很重要将 route 设为 iv 或 po/oral。只有对于静脉注射数据,CL 和 Vd 才能直接解读;对于口服数据,它们是表观值(CL/F、Vd/F),因为吸收并不完全。
包含 t=0静脉推注时包含 t=0(反向外推)点;口服给药前的数值通常为 0。
BLQ(低于定量下限)首个可测值之前的前导 BLQ → 视为 0;末端尾部的 BLQ → 删除(不要设为 0,否则会扭曲末端斜率)。
采样设计需要足够多的晚期采样点来确定末端相(至少 3 个点清晰地处于对数线性下降阶段),否则半衰期和 AUC0-∞ 不可靠。
单次给药与多次给药此处的 NCA 假设单次给药。对于稳态,分析一个给药间隔(AUC0-τ),并注明这一点。

步骤 2 — 运行 NCA

tu run NCA_compute_parameters '{
  "times":[0,0.5,1,2,4,8,12,24],
  "concentrations":[0,2.5,4.8,6.1,4.2,2.1,1.0,0.2],
  "dose":100, "route":"iv",
  "dose_unit":"mg", "conc_unit":"mg/L", "time_unit":"h"}'

返回 Cmax、Tmax、Clast、Tlast、AUC0_last、AUC0-inf、AUC_extrapolation_pct、lambda_z、t_half、r_squared_terminal_fit、clearance_CL、volume_distribution_Vd、MRT_iv,以及一个 units 区块。AUC 使用 FDA/EMA 的线性上升/对数下降梯形法。

对于 CSV 曲线(含 BLQ 处理),scripts/nca_from_csv.py 可在本地计算相同参数。

其他工具:

  • NCA_fit_one_compartment — 拟合一室模型(k、V、CL),适用于需要参数模型而非 NCA 的情况。
  • NCA_calculate_bioavailability — 根据 auc_po、dose_po、auc_iv、dose_iv 计算绝对 F(见步骤 4)。

步骤 3 — 解读参数

参数含义备注/合理性检查
Cmax / Tmax峰值浓度和达峰时间——反映吸收速率/程度。静脉推注时,Cmax 出现在 t=0;较晚的 Tmax 表示存在吸收(口服)或分布过程。
AUC0-t / AUC0-∞总暴露量(曲线下面积),是关键的暴露指标。AUC0-∞ 使用 Clast/lambda_z 外推尾部。
AUC_extrapolation_pctAUC0-∞ 中由末个采样点之后外推得出的百分比。>20% → AUC0-∞(及基于它计算的任何指标)不可靠;应报告 AUC0-last,并注明采样不足。
lambda_z / t_half末端消除速率常数和半衰期。仅当 r_squared_terminal_fit ≥ 约 0.95 且使用了至少 3 个末端点时,结果才可信。
CL(清除率)单位时间内清除的体积 = Dose/AUC0-∞(静脉注射)。对于口服数据,该值为 CL/F(表观值)。
Vd分布容积 = CL/lambda_z(静脉注射)。对于口服数据,该值为 Vd/F(表观值)。
MRT平均滞留时间。MRT 越长,整体消除越慢。

步骤 4 — 绝对生物利用度(F)

计算 F 需要将同一种药物同时以静脉注射和口服方式给药(最好是同一批受试者,并按剂量归一化):

tu run NCA_calculate_bioavailability '{"auc_po":35.0,"dose_po":200,"auc_iv":43.4,"dose_iv":100}'

F = (AUC_po / Dose_po) / (AUC_iv / Dose_iv)。以分数或百分比报告。F 接近 1 表示吸收良好;F 较低表示吸收不佳或首过代谢较强。F > 1 表明数据/给药存在错误(请重新检查单位和剂量)。

步骤 5 — 质量问题(应明确说明)

  • 外推 >20% → 不要将 AUC0-∞/CL/Vd 报告为可靠结果;对药物浓度曲线的随访时间不足。
  • 终末相拟合不佳(r_squared_terminal_fit < 0.9,或终末相数据点 <3 个)→ 半衰期不可靠。
  • 口服数据计算得出的 CL/Vd 是表观值(CL/F、Vd/F)——没有静脉注射数据时,切勿将其作为真实清除率/分布容积报告。
  • 单位会影响 CL/Vd——浓度单位错误会在不易察觉的情况下缩放结果。务必检查返回的 units 块。
  • 翻转动力学(吸收慢于消除)会使“终末”斜率反映吸收而非消除——若口服 t½ ≫ 静脉注射 t½,应对此保持警惕。

局限性说明

  • NCA 不依赖模型且稳健,但不提供机制结构(没有单独的吸收/分布速率常数)——如需此类分析,请使用 NCA_fit_one_compartment 或群体 PK。
  • AUC 的准确性完全取决于 Cmax 附近及终末相的数据采样密度。
  • 假设为单次给药;稳态分析时,请分析一个给药间隔(AUC0-τ),并单独分析蓄积情况。

相关技能

  • tooluniverse-admet-prediction — 根据结构预测 ADME 性质(无实测数据)。
  • tooluniverse-dose-response — 根据浓度-反应关系评估 IC50/EC50 效力(非时间过程)。
  • tooluniverse-statistical-modeling — 比较不同组间的 PK 参数。

评论

支持 Markdown