用途:将给药后的浓度-时间曲线转换为标准 PK 参数,并计算绝对生物利用度。适用于已有实测血浆/血清等基质药物浓度数据、需要 Cmax/Tmax/AUC/半衰期/清除率/Vd 或 F,以及比较不同制剂、剂量或给药途径暴露量的场景。这是基于实测数据的 PK 分析;若需从化学结构预测 ADMET,应使用 tooluniverse-admet-prediction。
主要能力:NCA_compute_parameters 返回 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 及单位块,AUC 采用 FDA/EMA 线性上升/对数下降梯形法。NCA_fit_one_compartment 可拟合一房室模型(k、V、CL)。NCA_calculate_bioavailability 由 auc_po、dose_po、auc_iv、dose_iv 计算绝对 F。CSV 数据可用 scripts/nca_from_csv.py 本地计算。
使用方式:先准备数据,统一时间、浓度、剂量单位并通过 time_unit/conc_unit/dose_unit 传入;设置 route 为 iv 或 po/oral;IV 推注需含 t=0 点,口服给药前值通常为 0;首个可测点前的 BLQ 记为 0,末端尾部 BLQ 应剔除而非置 0。运行示例: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"}'。生物利用度示例:tu run NCA_calculate_bioavailability '{"auc_po":35.0,"dose_po":200,"auc_iv":43.4,"dose_iv":100}'。
限制:NCA 假设单次给药,稳态需分析一个给药间隔(AUC0-τ);末端相需至少 3 个清晰对数线性下降点,否则半衰期与 AUC0-∞ 不可靠;AUC 外推超过 20% 时不应将 AUC0-∞/CL/Vd 视为可靠;末端拟合 r_squared_terminal_fit 低于约 0.9 时半衰期不可靠;口服数据的 CL/Vd 为表观值(CL/F、Vd/F);单位错误会静默缩放 CL/Vd,需核对返回单位块;吸收慢于消除的 flip-flop 动力学会使末端斜率反映吸收。NCA 不提供机制结构,如需吸收/分布速率常数应改用一房室拟合或群体 PK。