简介:这份资源是面向药代动力学与生物等效性研究人员的 Phoenix WinNonlin 6.0 规范化操作文档,帮助分析人员按统一流程完成数据录入、NCA 参数计算与等效性检验,降低因操作不规范导致的结果偏差。压缩包内共 1 个 docx 文件,约 109KB,以文字说明形式系统梳理了软件使用的基本要求、项目与数据表创建、药动学参数选择及生物等效性计算等环节,并针对缓释制剂单次、多次给药和药代动力学试验分别列出应选参数,如 HL_Lambda_z、Tmax、Cmax、AUClast、AUCINF_obs、MRT 系列及 Vz_F_obs、Cl_F_obs 等。文档还提示 WinNonlin 不支持三交叉检测项目统计、多次给药 DF/τ 需小于 143%、AUC0-t/AUC0-∞ 应大于 80% 等关键注意点,并给出参数保留位数设置与结果导出方法。目前已有 6133 人学习,适合需要规范实验数据处理、核对参数选择与排错思路的从业者参考。
1. 第一次打开 WinNonlin 6.0:数据统计软件到底在算什么
如果你刚接触药代动力学或者生物等效性研究,第一次听到“WinNonlin”这个名字,大概率会有点懵——它不像 Excel 那样打开就能填数,也不像 SPSS 那样点两下出个描述统计。它更像一个“专门给药代数据做体检和算账的实验室工作台”。你手里有一堆受试者在不同时间点采血测出来的浓度数据,还有服药剂量、给药间隔、制剂分组这些信息,WinNonlin 要做的事情就是把这些原始数据变成一串能写进报告里的参数:Cmax、Tmax、AUC、半衰期、清除率,以及生物等效性判断要用的置信区间和个体内变异系数。
说白了,它解决的是“数据怎么从表格变成结论”的问题。适合谁?适合刚进实验室、被导师或同事安排去跑数据的新手,适合需要复核别人计算结果的研究助理,也适合那些以前只用 Excel 手算、现在想规范化流程的人。这一篇不跟你讲深层算法推导,就按“先搞懂它在干什么、再知道为什么必须规范、最后跟着步骤跑通第一个例子”的顺序走。你不需要先学统计理论,但需要准备好一份结构干净的浓度数据表,以及一颗愿意按步骤核对的心。
2. 为什么新手必须先搞懂规范:数据统计软件不是“点一下就行”
2.1 数据统计软件算错一步,后面全白搭
很多新手对数据统计软件的想象是“把数据粘进去,点个按钮,结果就出来了”。但 WinNonlin 这类工具的特点是:它不会替你判断数据本身对不对。你输入的受试者编号错了、服药顺序和周期对不上、采血时间点填反了,它照样能算出一组数字,只是这组数字没有意义。项目正文里反复强调“保证出具数据的真实性及准确性”,这不是套话,而是血泪经验——药代参数计算里,时间点和浓度是一一对应的,一个时间点错位,AUC 的积分区间就变了,Cmax 也可能落到错误的采血点上。
我第一次接触这类软件的时候,以为最麻烦的是记菜单,后来才发现最麻烦的是“回头查”。你跑完 NCA 发现某个受试者的半衰期明显异常,想回去看原始数据,结果发现当时粘贴数据时把复测值覆盖了原始值,没有留痕。所以入门阶段要建立的第一条习惯不是“会点哪个按钮”,而是“每一步都留下可核对的依据”。数据表里的 subject、form、time、conc 四列看起来简单,但它们是你后面所有计算的根。根歪了,树长得再高也是歪的。
2.2 先搞清楚你的项目属于哪一类计算
WinNonlin 6.0 里常见的计算任务大致分几类:药动学参数计算(NCA)、生物等效性计算(Bioequivalence)、Tmax 的非参数检验(Crossover),以及后面的表格和药时曲线图制作。你不需要一上来就把所有模块都学会,但需要先知道自己手里的项目属于哪一类。比如等效试验要看 AUC 和 Cmax 的置信区间,缓释制剂还要看波动系数和平均滞留时间,药代动力学试验则更关注清除率、表观分布容积和蓄积指数。
这里有一个新手很容易忽略的点:项目正文明确写了“WinNonlin 软件不支持三交叉检测项目的数据统计”。也就是说,如果你拿到的项目设计是三交叉的,不要硬往这个软件里塞,先确认项目类型再动手。入门阶段最怕的就是“拿到数据就开跑”,跑完才发现设计类型不匹配,时间全浪费。所以我的建议是,动手前先在一张纸上写清楚三件事:受试者编号规则是什么、服药顺序和周期怎么对应、采血时间点和剂量是否齐全。这三件事确认了,再打开软件。
2.3 第一个例子:从新建项目到一张干净的数据表
下面这个例子不追求覆盖所有功能,只带你走通“建项目、建数据表、填对列属性”这一段。你跟着做一遍,就会对 WinNonlin 的操作逻辑有个底。
第一步,打开软件后点击工具栏的 File,在下拉菜单里选 New Project。然后在左侧 ObjectBrowser 栏里找到新建的项目,单击右键选 Rename,给它起一个你能认出来的名字,比如“模拟项目X_单次给药_预试验”。这一步看起来简单,但命名规范很重要,后面你会有很多个项目,名字乱起等于给自己埋雷。
第二步,在 ObjectBrowser 里右键点击 Data,选 New,再选 Worksheet,新建一张数据表。同样右键 Rename,给它起名,比如“浓度数据_受试者A”。接着点击 Add 添加列,在弹出的窗口里逐列设置。下面这段不是代码,而是你需要逐项对照的列属性清单:
| 列名 | Data Type | 说明 |
|---|---|---|
| subject | Numeric | 受试者编号 |
| form | Text | 制剂分组,可简写为 Form |
| time | Numeric | 采血时间点 |
| conc | Numeric | 血药浓度 |
注意,form 要选 Text,其余三列选 Numeric。每一列还可以填 Unit(单位)和 Custom(保留位数),比如浓度保留四位小数就填 F4,G 表示有效数字,E 表示科学计数法。如果你填列名的时候顺序弄错了,可以用上下箭头调整;数据类型或保留位数忘了填,也可以在 Columns 框下面通过 DataType、Unit、Custom 补改。这些设置不是装饰,后面 NCA 映射时会直接读这些属性,填错了映射就对不上。
第三步,把整理好的浓度数据粘贴进表里。粘贴前再核对一遍:每个受试者的时间点是不是按从小到大排列,复测数据有没有单独标记,服药剂量和采血时间是不是和随机表一致。项目正文里提到“辽中研的体重顺序号为入选号,大连 210 的用药顺序号为入选号”,这类项目内部的编号规则你一定要提前问清楚,不要自己猜。数据粘贴完,先别急着往下点,把表从头到尾扫一遍,看看有没有明显的空值或异常大的浓度值。
3. 药动学参数计算:第一次跑 NCA 要盯住哪几个地方
3.1 NCA 的 Setup 怎么填:映射和剂量是两道关
数据表准备好之后,在表上点击右键,选 Send To,再选 NCA and Toolbox,最后点 NCA。这时会弹出一个窗口,里面有 Setup、Results、Verification 三个选项卡。新手第一次看到这三个标签容易慌,其实逻辑很简单:Setup 是告诉软件“哪列是什么”,Results 是看结果,Verification 是检查有没有漏填。
进入 Setup 后,在 Mappings 下面把列名和角色对应起来:subject 和 form 都选 Sort,time 选 Time,conc 选 Concentration。这一步相当于给软件发一张“座位表”,告诉它谁是受试者、谁是分组、哪个是时间、哪个是浓度。映射错了,后面算出来的参数就是错的,而且软件不会主动提醒你“你映射反了”。
接着单击 Dosing,勾选 Use internal Worksheet,在弹出的窗口里取消 subject 和 form 的勾选,然后确定。然后在 Dose 里填写服药剂量,在 Time of Dose 里填写给药时间。一般来说,生物利用度试验的给药时间填 0;多次给药时要在 Tau 里填给药间隔,单次给药不填这一项。最后在 Options 框下的 Unit 里填剂量单位。这些字段看起来琐碎,但它们是 NCA 计算的输入条件,少一个都可能让 Verification 报错。
3.2 参数选择:不同试验类型要勾不同的项
单击 Parameter Names,选择 Use internal Worksheet,然后逐个参数设置 YES 或 NO。项目正文里给了一张很细的对照表,我把它整理成下面这个简化版,方便你第一次跑的时候对照:
| 试验类型 | 给药方式 | 需要勾选的主要参数 |
|---|---|---|
| 等效试验 | 通用 | HL_Lambda_z、Tmax、Cmax、AUClast、AUCINF_obs |
| 缓释制剂等效 | 单次 | 上述参数加 MRTlast、MRTINF_obs |
| 缓释制剂等效 | 多次 | 上述参数加 Cmin、Cavg、Fluctuation%、AUCss |
| 药代动力学 | 单次 | Lambda_z、HL_Lambda_z、Tmax、Cmax、AUClast、AUCINF_obs、Vz_F_obs、Cl_F_obs、MRTlast、MRTINF_obs |
| 药代动力学 | 多次 | 上述参数加 Cmin、Cavg、Fluctuation%、Clss_F、Accumulation Index、AUCss |
你不用第一次就把所有参数背下来,但要知道“勾选参数”不是越多越好。你勾了不需要的参数,结果表会变长,后面做表格和统计时反而容易看花眼。入门阶段建议先按项目类型对照着勾,跑通一次之后再回头理解每个参数的含义。另外注意,缓释制剂多次给药的结果里有一个判断条件:受试制剂与参比制剂相比,DF/τ 要小于 143%,τ 是给药间隔。这个条件不是软件自动帮你判的,需要你在看结果时自己核对。
3.3 验证和运行:看到 ready to be run 再点执行
参数设好之后,点击工具栏上的 Verify NCA 按钮。如果弹出“NCA is ready to be run”,说明前面的设置没有明显遗漏,可以继续。如果出现其他提示,不要反复点验证,直接点 Verification 选项卡看原因,按提示回去补填或改映射,改完再验证。验证通过后,点击 Execute NCA 按钮开始计算。
计算完成后,在 Results 里找到 Final Parameters Pivoted from NCA,这就是你要的参数结果表。点击 Results 下的 Copy to Data Folder 按钮,可以把结果导出到 Data 文件夹,导出时设置参数保留位数。项目正文给了一套位数建议:HL_Lambda_z 和 Tmax 保留两位;Cmax 与输入的浓度位数保持一致;AUC 如果是两位数就保留两位,三位数保留一位,四位数不保留小数;Lambda_z 保留四位,Vd 不保留,Cl 保留一位,MRT 保留两位,DF 保留一位,Accumulation Index 保留两位。这些位数不是随便定的,是为了和报告规范对齐,你第一次跑的时候可以先把这套规则抄在便签上。
导出之后,还要在数据表里加三列:Ratio、sequence 和 period。Ratio 和 period 的 Data Type 选 Numeric,sequence 选 Text。然后计算 AUC0-t/AUC0-∞ 的比值,要求大于 80%。这一步是检查你算出来的 AUC 是否合理,如果比值偏低,说明末端消除相的数据可能有问题,或者采血时间不够长。新手容易忽略这个检查,直接拿 AUCINF_obs 去写报告,后面被问起来就说不清了。
4. 生物等效性与非参数检验:结果怎么看才算“过关”
4.1 生物等效性计算:映射和验证的套路和 NCA 一样
单击 Final Parameters Pivoted from NCA 这张表,右键选 Send To,再选 NCA and Toolbox,最后点 Bioequivalence。在 Mappings 下,把 Cmax、AUClast、AUCINF_obs 选为 Dependent,form 选为 Formulation。如果是多次给药,等效计算要用 Cmax 和 AUCss。然后点击 Verify Bioequivalence 按钮,出现“Bioequivalence is ready to be run”就可以点 Execute Bioequivalence 执行计算。如果验证不通过,同样去 Verification 选项卡看原因,改完再验。
结果出来之后,重点看几个地方。Average Bioequivalence 里,相对生物利用度 Ratio Ref 尽量在 95% 到 105% 之间;置信区间 CI 90 的范围要在 80% 到 125% 之间;低、高限比 Prob80/125 要小于 0.05,第一类错误 AHpval 小于 0.05,第二类错误 Power 大于 0.8。Final Variance Parameters 里,个体内变异系数 Intrasubject CV 要小于 0.3。Partial SS 的方差分析中,周期间、制剂间、服用顺序的 P 值要大于 0.05。Ratios Test=T 里,相对生物利用度 Ratio Pctref 范围在 60% 到 170%,Cmax 在 50% 到 200% 范围内,超限需要复测。
这里有一个新手常问的点:如果 Cmax 不满足 80% 到 125% 的置信区间怎么办?项目正文给了一个补充说明:可以单独设置标准计算,按国内标准用 75% 到 133%。但这不是让你随便放宽标准,而是告诉你遇到这种情况不要自己硬改数据,先确认项目适用的判定标准,再按规范调整设置。
4.2 Tmax 非参数检验:Crossover 模块怎么跑
右键单击药代动力学参数结果表,选 Send To,再选 NCA and Toolbox,最后点 Crossover。在 Mappings 下,Form 选 Treatment,待检验参数 Response 选 Tmax。点击 Verify Crossover 按钮,出现“Crossover is ready to be run”就可以点 Execute Crossover 执行计算,这个模块用的是 Wilcoxon 配对法。结果出来后看 Effects 工作表里 Treatment(SEQ1=SEQ2)的 P 值,要求大于 0.05。
不同试验类型需要检验的参数不一样:等效试验看 Tmax;缓释制剂等效试验单次给药要看 HL_Lambda_z、Tmax、MRTlast、MRTINF_obs,多次给药看 HL_Lambda_z、Tmax、MRTINF_obs;药代等效试验看 Tmax。你第一次跑的时候容易把“需要检验的参数”和“NCA 里勾选的参数”搞混,记住一点:Crossover 里只放你要做非参数检验的那几个参数,不要把整张参数表都塞进去。
4.3 表格和药时曲线图:结果最后要能看得懂
右键单击待用数据表,选 Send To,再选 Reporting,最后点 Table。在弹出的表里选择报告模式:Row 表示主要列,Column 表示行,RowID 表示次要列,Data 表示数据。做受试者血药浓度统计表时,Row 选 form,Row ID 选 subject,Column 选 time,Data 选 conc。做药代参数结果统计表时,Row ID 选 subject,Data 选需要计算的各参数,form 可以放 Row 也可以放 Column。做生物利用度结果统计表时,Row ID 选 subject,Data 选 Ratio Pctref,Column 选 Dependent。
在 Statistics 选项下选择需要计算的统计量,一般要算 Mean、SD、RSD,生物利用度和药代参数还要算几何平均值 Geometric Mean。在 Option 项下的 Numeric Precision 里设置保留位数:Mean、SD、Geometric Mean 与数据源位数一致,RSD 保留一位小数。
药时曲线图的做法是:右键单击受试者数据,选 Send To,再选 Plotting,最后点 XY Plot。X 轴选时间,Y 轴选浓度。做受试者单独的药时曲线图时,Group 选 subject,Page(Sort)选 form;做受试、参比单独的药时曲线图时,Group 选 form,Page(Sort)选 subject;做均数对比图时,在 Error Bars 的 Lower 和 Upper 上设置 Error。图谱样式在 Plot 下的 Laylot 里调,标题在 Plot 下的 Title 里加,坐标范围在 Axes 下的 X or Y 里设,曲线颜色在 Graphs 下的 conc VStime 里的 Apperance 里改。这些菜单路径第一次找起来会有点绕,建议你拿一张纸把常用路径画成树状图,用两次就熟了。
5. 新手避坑清单:这五个地方最容易翻车
5.1 现象:验证一直不通过,提示缺这个缺那个
原因:最常见的是 Mappings 里某一列没映射,或者 Dosing 里的剂量、给药时间没填,也可能是参数勾选时把必填项设成了 NO。解决:不要反复点验证,直接打开 Verification 选项卡逐条看提示,按提示回到 Setup 补填。补完之后先检查一遍列属性和映射关系,再点验证。
5.2 现象:结果表里某个受试者的参数明显异常
原因:可能是原始数据里复测值覆盖了原始值,或者时间点和浓度错位,也可能是该受试者的采血时间点不全。解决:回到数据表逐行核对,确认复测数据有没有单独标记,时间点是否按顺序排列。项目正文特别提醒“注意复测数据的采用”,意思是复测值不能随手替换原始值,要有记录可查。
5.3 现象:AUC0-t/AUC0-∞ 比值低于 80%
原因:末端消除相采血时间不够长,或者最后几个时间点的浓度低于定量下限被误删,也可能是半衰期拟合区间选得不对。解决:先检查原始数据里末端时间点的浓度是否合理,再确认 HL_Lambda_z 的拟合点有没有选够。不要直接改数据去凑比值,先搞清楚是数据问题还是设置问题。
5.4 现象:生物等效性结果里置信区间超出 80% 到 125%
原因:可能是个体内变异太大,也可能是数据录入错误,还可能是制剂本身不等效。解决:先核对数据,再看 Intrasubject CV 是否小于 0.3。如果数据没问题但区间仍然超限,不要自己放宽标准,按项目适用的判定规范处理,必要时复测。
5.5 现象:表格或曲线图做出来和预期不一样
原因:Table 里的 Row、Column、RowID 角色放反了,或者 XY Plot 里 Group 和 Page 选错了。解决:回到 Table 或 XY Plot 的设置窗口,对照本文第 4.3 节的对应关系重新选一遍。做图之前先想清楚你要看的是“每个受试者一条线”还是“每个制剂一条均数线”,想清楚了再选 Group 和 Page。
6. 下一步学什么:从跑通一个例子到独立负责一个项目
如果你已经跟着上面的步骤跑通了一次 NCA,哪怕只是用模拟数据跑出来的结果,你其实已经跨过了最难的门槛——你知道了这个软件的操作节奏:先建项目、再建表、设列属性、映射、验证、执行、导出、做表做图。接下来不要急着去学所有模块,按下面这条路径往下走会更稳。
第一步,把“数据核对”变成肌肉记忆。每次打开软件之前,先花五分钟检查受试者编号、服药顺序、采血时间、剂量这四个字段。你可以做一个简单的核对清单,贴在工位上。第二步,把 NCA 的参数选择练熟。不要每次都翻文档,试着按试验类型自己默写一遍需要勾选的参数,然后对照项目正文的清单检查。第三步,练生物等效性和 Crossover 的验证流程。这两个模块的套路和 NCA 很像,都是“映射、验证、执行、看结果”,你只要把映射关系记牢,操作上不会有大问题。第四步,学表格和曲线图的排版。这一步看起来是“美化”,其实是在训练你把结果讲清楚的能力,报告里的表和图是给别人看的,行列角色放对了,别人一眼就能看懂。
下面这张表可以作为你接下来两周的练习计划参考:
| 阶段 | 练习内容 | 目标 |
|---|---|---|
| 第 1 到 3 天 | 用模拟数据重复建项目、建表、跑 NCA | 不看文档能独立走完流程 |
| 第 4 到 6 天 | 换一组缓释制剂数据,练习参数勾选和 DF/τ 判断 | 能说清不同试验类型勾哪些参数 |
| 第 7 到 10 天 | 跑 Bioequivalence 和 Crossover | 能看懂置信区间和 P 值是否达标 |
| 第 11 到 14 天 | 做统计表和药时曲线图 | 能按报告要求设置行列和保留位数 |
最后说一个我自己的习惯。从那以后我每次跑完 NCA,都会先把结果表导出,然后回头核对一遍原始数据里的时间点和浓度,确认没有错位,再去看参数。这个习惯救过我很多次,因为软件不会告诉你“你粘错了一行”,它只会给你一个看起来很正常的数字。希望帮到你,先从第一个项目跑起,别怕慢,慢就是快。
本文还有配套的精品资源,点击获取