拓冰建站拓冰建站
首页 / 资讯中心 / 正文

如何用 analytical-method-validation 技能按 ICH Q2(R2) 检查校准曲线线性

如何用 analytical-method-validation 技能按 ICH Q2(R2) 检查校准曲线线性【免费下载链接】scientific-agent-skillsTurn any AI agent into an AI Scientist. The #1 Agent Skills library for science, used by 190,000 scientists worldwide. 165 ready-to-use validated skills plus 100 scientific databases covering biology, chemistry, medicine, and drug discovery. Compatible with Cursor, Claude Code, Codex, Pi, Antigravity, and the open Agent Skills standard.项目地址: https://gitcode.com/GitHub_Trending/cl/scientific-agent-skills做方法验证时r² 很高常常被直接当作线性合格的证据但 r² 会随量程拉大而升高对弯曲几乎不敏感。scientific-agent-skills 仓库中的 analytical-method-validation 技能把 ICH Q2(R2) 3.2.2.1 对线性响应的要求落成了一个纯 Python 脚本 check_response.py它在报告斜率、截距、决定系数之外还做失拟 F 检验、残差符号游程检验和逐浓度水平回算误差——后几项才是真正能发现模型不适合的统计量。本文的任务是给定一组校准数据用这个脚本按 ICH Q2(R2) 完成一次可复核的校准曲线线性检查并知道输出里每一项如何判读。前提只有一条Python 3.11。按技能 frontmatter 的说明脚本只用标准库实现不依赖 numpy、scipy也不访问网络统计分布从第一原理计算保证在任何合规解释器下可复现。先确认响应是必测特性Q2(R2) 的必测项由被测属性决定而不是由仪器决定。技能随附的 plan_validation.py 可以直接列出某个属性需要哪些特性cd skills/analytical-method-validation/scripts python3 plan_validation.py --framework ich-q2r2 --attribute assay --technique hplc --range-use assay对含量测定assayich-q2r2.md 中引用的 Q2(R2) Table 1 给出的必测项是专属性、响应校准模型、准确度、重复性、中间精密度。也就是说含量测定必须报告校准模型而限度试验只需要专属性和 DL不涉及本文的线性检查。可报告范围本身来自质量标准Table 2 的示例是 assay 取标示含量的 80–120%。准备校准数据输入文件需要两列level名义浓度或 %和response信号每次进样一行。同一个浓度水平的重复进样写成重复行即可——这些重复是失拟检验的纯误差来源不提供重复行失拟检验就无法进行。脚本支持 CSV/TSV/JSON也接受-从 stdin 读取可选的replicate列会被忽略。不想自己造数据时仓库测试目录自带三组校准曲线 fixture可直接用calibration_good.csv5 个水平 × 3 重复行为良好的线性曲线calibration_curved.csv5 个水平 × 2 重复含弯曲的曲线calibration_three_levels.csv只有 3 个水平的薄设计。执行线性检查SKILL.md 给出的主命令形式是cd skills/analytical-method-validation/scripts python3 check_response.py -i calibration.csv --max-back-calc-error 2其中-i指向你的校准数据文件--max-back-calc-error是逐水平回算相对误差的判限单位 %。注意 Q2(R2) 本身几乎不给数值判限——判限必须来自质量标准、分析目标档案ICH Q14 第 3 节或开发数据并且按技能的两条规则判限要在收集数据之前写进方案。文档示例里的2只是示例值请替换为你方案中预先声明的数值。从仓库根目录跑自带的 fixture可以直接执行python3 skills/analytical-method-validation/scripts/check_response.py \ -i tests/analytical-method-validation/fixtures/calibration_good.csv \ --max-back-calc-error 2输出分两路数据汇总表 逐水平表走 stdout溯源说明和 findings 走 stderr所以 out.tsv重定向不会污染数据。--format可选table默认、tsv、json。退出码是 0无发现、1有发现、2输入有误可以直接用来给工作流把关。读输出哪些是证据汇总表包含不同水平数、权重方案、斜率及其 95% CI、截距及其 95% CI、截距 CI 是否包含 0、决定系数 r²、相关系数 r、残差 SD、失拟 F 值与 p 值、游程检验 p 值、高/低三段残差 SD 比。随后是按水平的回算表每行给出level、重复数 n、平均响应、平均回算值和relative_error_pct。判读时对应 Q2(R2) 3.2.2.1 的要求——报告图、相关系数或决定系数、y 截距、斜率以及实际数据点偏离回归线的分析对线性响应要评估残差图中非随机模式的影响。具体到脚本的 findings打印在 stderr前缀finding:失拟 F 检验p --alpha默认 0.05直线在重复进样散度之外仍不能描述数据即模型失拟游程检验残差符号非随机提示检查残差图有无弯曲异方差检查量程上三分之一的残差方差超过下三分之一 10 倍且未加权时低端的回算结果有偏建议加权逐水平回算误差某水平平均回算值偏离名义值超过--max-back-calc-error单独报一条 finding。文档中记录了一段真实输出来自一条 r² 看似过关、实际不可用的曲线示例结果数值不要当成固定预期statistic value distinct levels 5 slope 166.6000 intercept 2495.0000 intercept CI includes 0 no coefficient of determination (r2) 0.9830 lack-of-fit F 469.5294 lack-of-fit p 1.5139e-06 runs test p 0.0492 level n mean_response mean_back_calculated relative_error_pct 50.0000 2 10075.0000 45.4982 -9.0036 75.0000 2 15150.0000 75.9604 1.2805 100.0000 2 20050.0000 105.3721 5.3721 125.0000 2 24050.0000 129.3818 3.5054 150.0000 2 26450.0000 143.7875 -4.1417r² 0.983但量程底端回算误差 −9.0%、失拟 p 1.5 × 10⁻⁶、残差符号非随机——模型不可用。这正是技能明确要防止的错误第 3 条把 r² 当线性证据。可选分支加权拟合宽量程曲线可以加--weight 1/x2也支持1/xpython3 check_response.py -i calibration.csv --weight 1/x2两点限制要留意加权要求所有水平非零出现零水平会直接报输入错误且加权后失拟 F 检验仍基于未加权残差计算其零分布只是近似的——脚本会在 stderr 的note:中提示这一点此时应结合逐水平回算误差一起读后者不受加权影响。其他可用参数--levels-required默认 5对应 Q2(R2) 至少 5 个浓度、适当分布的推荐--alpha默认 0.05--through-origin-tolerance截距超过最高水平响应的给定百分比时报警作为 y 截距显著性检查的近似。用自带 fixture 验证脚本行为tests/analytical-method-validation/test_scripts.py 固化了三组 fixture 的预期行为可以当作验证方式输入预期退出码预期现象calibration_good.csv--max-back-calc-error 20无 findingscalibration_curved.csv1stderr 出现 lack-of-fit findingJSON 输出中 r² 0.98 而失拟 p 0.001且最差水平回算误差绝对值 5%calibration_three_levels.csv1stderr 出现 recommends at least 5 的级别数不足 finding输入列名缺失、数值非数值、文件不存在等情况退出码为 2某个水平有重复时失拟检验才适用否则输出会写明lack-of-fit test: not run并在 note 中提示至少一个水平做重复才能进行线性检验。边界最后一条 stderr note 是固定输出的this tool does not decide that the calibration model is acceptable。脚本报告、不做结论——它不判定程序已验证、不放行批次替代不了分析人员、技术审核和质量部门。另外对免疫分析、细胞实验等合理非线性的响应3.2.2.2Q2(R2) 不要求浓度–响应线性应改用非线性回归评估这个脚本的线性检验不适用于该类曲线。线性检查通过后同一技能按 Q2(R2) 特性继续走即可check_accuracy_precision.py评估准确度与精密度check_detection_limits.py评估 DL/QLcompare_methods.py做方法转移的等价性检验用法均在 SKILL.md 的 Workflow 一节。【免费下载链接】scientific-agent-skillsTurn any AI agent into an AI Scientist. The #1 Agent Skills library for science, used by 190,000 scientists worldwide. 165 ready-to-use validated skills plus 100 scientific databases covering biology, chemistry, medicine, and drug discovery. Compatible with Cursor, Claude Code, Codex, Pi, Antigravity, and the open Agent Skills standard.项目地址: https://gitcode.com/GitHub_Trending/cl/scientific-agent-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门