WinNonlin 6.0 新手入门:药动学参数计算与生物等效性分析实操指南 简介这份资源是面向药代动力学与生物等效性研究人员的 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说明subjectNumeric受试者编号formText制剂分组可简写为 FormtimeNumeric采血时间点concNumeric血药浓度注意form 要选 Text其余三列选 Numeric。每一列还可以填 Unit单位和 Custom保留位数比如浓度保留四位小数就填 F4G 表示有效数字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 都选 Sorttime 选 Timeconc 选 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 选 Numericsequence 选 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 选为 Dependentform 选为 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 TestT 里相对生物利用度 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 工作表里 TreatmentSEQ1SEQ2的 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 选 formRow ID 选 subjectColumn 选 timeData 选 conc。做药代参数结果统计表时Row ID 选 subjectData 选需要计算的各参数form 可以放 Row 也可以放 Column。做生物利用度结果统计表时Row ID 选 subjectData 选 Ratio PctrefColumn 选 Dependent。在 Statistics 选项下选择需要计算的统计量一般要算 Mean、SD、RSD生物利用度和药代参数还要算几何平均值 Geometric Mean。在 Option 项下的 Numeric Precision 里设置保留位数Mean、SD、Geometric Mean 与数据源位数一致RSD 保留一位小数。药时曲线图的做法是右键单击受试者数据选 Send To再选 Plotting最后点 XY Plot。X 轴选时间Y 轴选浓度。做受试者单独的药时曲线图时Group 选 subjectPageSort选 form做受试、参比单独的药时曲线图时Group 选 formPageSort选 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都会先把结果表导出然后回头核对一遍原始数据里的时间点和浓度确认没有错位再去看参数。这个习惯救过我很多次因为软件不会告诉你“你粘错了一行”它只会给你一个看起来很正常的数字。希望帮到你先从第一个项目跑起别怕慢慢就是快。本文还有配套的精品资源点击获取