夜雨聆风学习资料网

ARTICLE · 1220065

药代动力学软件 WinNonlin 中 BQL 数据设置

药代动力学软件 WinNonlin 中 BQL 数据设置

在做药代动力学(PK)分析时,我们经常会遇到一个让人头疼的问题:样本浓度测不出来。这种情况在专业上叫做 BQL(Below Quantification Limit),也就是“低于定量下限”。

简单来说,就是仪器不够灵敏,或者药物在体内的浓度实在太低了,低到无法准确定量。面对这些“测不出”的数据,我们不能直接扔掉,也不能随便填个数字,否则会影响最终的 PK 参数计算。

今天,我们就来详细拆解 Phoenix WinNonlin 软件中专门处理 BQL 数据的设置页面。我会用最通俗的语言,带你搞懂每一个选项的含义,让你不再为这些“测不出”的数据发愁。


一、先搞懂两个核心概念

在进入设置页面之前,我们需要先明白两个关键术语:

  1. ‎LLOQ(定量下限):这是你的生物分析方法能准确定量的最低浓度。比如你设定 LLOQ = 2 ng/mL,那么任何低于 2 ng/mL 的数值,都会被判定为 BQL。
  2. ‎Tmax(达峰时间):这是每个受试者(或每条浓度曲线)中,浓度最高点对应的时间。Tmax 之前是吸收相(浓度上升),Tmax 之后是消除相(浓度下降)。

不同位置的 BQL,处理逻辑完全不同。这就是为什么软件要分情况设置。


二、页面整体功能:BQL 数据的“加工厂”

这个页面的核心作用就是:设定规则,自动处理你数据中的 BQL 值。处理后的数据,才会被送入后续的 PK 分析(比如非房室分析 NCA、房室模型拟合等)。

你可以把它想象成一个“数据加工厂”:原料是原始浓度数据,经过这里的规则加工后,输出一份干净、可用的浓度数据。


三、逐项拆解:你的设置到底是什么意思?

我们按照页面从上到下、从左到右的顺序,逐一解释。

1. 基础设置:如何判定 BQL?

页面下方有一个区域,用来定义“什么算 BQL”:

  • ✅ Use Static LLOQ Value:勾选后,使用固定的 LLOQ 值来判定 BQL。
  • ‎LLOQ Value = 2:你设定的定量下限是 2(单位与你的浓度单位一致,比如 ng/mL)。

👉 规则:只要样本浓度值 < 2,就会被判定为 BQL(测不出)。

补充:如果你的不同样本或不同批次 LLOQ 不一样,可以取消勾选,从数据集的指定列读取每个样本对应的 LLOQ。

2. 核心规则:BQL 的处理方式(Conditional Substitution 条件替换)

这个表格是页面的核心。它根据 BQL 出现在 PK 曲线的位置,来决定这个 BQL 要替换成什么,或者怎么处理。

逐列解释你的设置:

列名
场景说明
你的设置
实际含义
‎Nonnumeric Code
如果你的原始数据里,BQL 是用文本标记的(比如写了「BLQ」「BQL」「<LLOQ」这种非数字内容),在这里填对应文本,软件就会把这些文本识别为 BQL。
空
你没有用“文本标记”来识别 BQL,只靠「浓度 < LLOQ(<2)」来判断数值型的 BQL(对应右侧 ‎Use When < LLOQ 打勾)。
‎Unconditional Substitution
无条件替换:如果填了值,所有 BQL 不管位置,全部统一替换成这个值。
空
你不使用“全统一替换”,而是用「分位置的条件规则」处理 BQL。
‎Before Tmax
BQL 出现在 Tmax(达峰时间)之前(也就是吸收相的测不出值,比如给药后第一个时间点就测不出)。
‎0
所有 Tmax 之前的 BQL,都替换为数值 0。👉 这是 PK 分析非常常规的操作:吸收相还没药物吸收时,测不出就认为浓度是 0,符合逻辑。
‎After Tmax
BQL 出现在 Tmax 之后,且是散在的、非连续的 BQL(比如 Tmax 后浓度波动,出现单个测不出点、后面还有可定量浓度,比如双峰、检测波动的情况,比较少见)。
‎BLQ
这类 BQL 保留为 BQL 状态(不替换成具体数值),后续分析时会按 BQL 数据的规则处理。
‎First Consecutive After Tmax
Tmax 之后,连续 BQL 的第一个点(也就是消除相浓度降到低于 LLOQ 的第一个测不出点,后面跟着的都是 BQL,这是最常见的 Tmax 后 BQL 场景)。
‎BLQ
这类首个连续 BQL,也 保留为 BQL 状态。
‎After First Consecutive After Tmax
Tmax 之后,第一个连续 BQL 之后的所有 BQL 点(也就是消除相末尾连续的一串测不出点)。
‎BLQ
这类后续的连续 BQL,也 保留为 BQL 状态。
‎All Entries After 2 Consecutive After Tmax
可选规则:Tmax 后,连续 2 个 BQL 之后的所有点(更细分的规则)。
空
不启用这个细分规则。
✅ Use When < LLOQ
(规则适用条件)这条规则针对「浓度 < LLOQ」的数值型 BQL 生效。
打勾
和前面的“静态 LLOQ = 2”对应,数值小于 2 的样本都按上面的规则处理。
☐ Set to LLOQ and censor
把 BQL 设为 LLOQ 值(也就是 2),同时标记为「左删失数据」(供模型拟合用,比如房室模型 NLME 可以识别删失数据,知道真实浓度 < 2)。
未打勾
不使用“删失标记”的处理方式,BQL 按前面列的规则(替换 0 / 保留 BLQ)处理。

3. 输出设置

  • ‎Output Column Name = Concentration:处理后的浓度数据,输出的列名叫 ‎Concentration。
  • ✅ Carry Over Concentration Column:输出结果时,同时保留原始的浓度列(方便你对比处理前后的数据)。

四、你的设置整体逻辑总结

  1. ‎判定规则:浓度 < 2 就算 BQL。
  2. ‎处理规则:
    • Tmax(达峰)之前的 BQL → 替换成 0;
    • Tmax(达峰)之后的所有 BQL → 都保留为 BQL 标记,不替换成具体数值。
  3. ‎输出:保留原始浓度列,处理后的浓度列名叫 ‎Concentration。

五、实用小建议

  • 如果你的原始数据里有用文本(比如 ‎BLQ)标记的测不出值,需要在 ‎Nonnumeric Code 列填上对应的文本,再加一行规则(带 ‎* 的行),否则这些文本会被当作缺失值,不会被识别为 BQL。
  • 如果你后续要做 房室模型拟合,一般建议勾上 ‎Set to LLOQ and censor,把 BQL 标记为删失数据,模型拟合结果会更准确;如果是做 非房室分析 NCA,现在的设置(Tmax 前换 0,Tmax 后保留 BLQ)是符合常规分析惯例的。

六、一句话记住核心

Tmax 前测不出,当作 0;Tmax 后测不出,保留为 BQL。 这就是你这套设置的精髓。

希望这篇通俗教程能帮你彻底搞懂 WinNonlin 中 BQL 数据的设置逻辑。下次再遇到“测不出”的数据,你就能从容应对了!

相关学习资料