Communitygithub.com

분석법 밸리데이션

ICH Q2(R2), Q14, USP <1220>/<1225>/<1226>, ICH M10, CLSI EP 또는 ISO/IEC 17025 규정 체계에 따라 분석 절차의 밸리데이션, 검증, 이전을 계획, 실행 및 문서화합니다. HPLC, LC-MS/MS, GC, CE, ICP-MS, 용출시험, qNMR, qPCR, NIR, 리간드 결합 또는 세포 기반 분석법 등 절차가 사용 목적에 적합한지 여부를 판단할 때 사용합니다.

분석법 밸리데이션란 무엇인가요?

이 스킬은 분석 절차가 사용 목적에 적합한지 평가해야 하는 모든 상황에서 활용됩니다. 밸리데이션 연구 설계, 밸리데이션 데이터 평가, 공정서 절차 검증, 또는 다른 실험실이나 장비로의 절차 이전을 포함합니다. 주요 규제 프레임워크(ICH Q2(R2), USP <1225>, ICH M10, CLSI EP, ISO/IEC 17025) 간의 차이를 인식하고, 각 프레임워크에 맞춰 필요한 특성, 연구 설계, 허용 기준을 정확히 적용합니다. 이 스킬은 실험 계획 수립, 통계 계산, 문서 구조화를 지원하지만, 절차의 유효성 최종 판단이나 배치 출하, 분석 결과 승인/거부 등의 결정을 대체하지는 않습니다. 또한 저작권이 있는 USP, CLSI, ISO 문서의 내용을 직접 검색하거나 재구성하지 않으며, 공식 사본을 참조하도록 안내합니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/K-Dense-AI/scientific-agent-skills/tree/main/skills/analytical-method-validation

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

분석법 밸리데이션 (Analytical Method Validation)

사용 시기

분석 절차가 사용 목적에 적합한지 여부가 의문되는 모든 경우: 밸리데이션 연구 설계, 밸리데이션 데이터 평가, 공정서 절차 검증, 절차를 다른 실험실이나 장비로 이전, 또는 이들 중 어느 하나에 대한 보고서 방어.

두 가지 규칙

1. 어떤 프레임워크가 적용되는지 먼저 결정한 후 설계하십시오. 동일한 분석법이라도 ICH Q2(R2), USP <1225>, ICH M10, CLSI EP, ISO/IEC 17025에 따라 다르게 밸리데이션됩니다. 이들은 요구되는 특성, 연구 설계 방식, 그리고 숫자로 된 허용 기준이 제공되는지 여부가 다릅니다. 이를 혼합하면 어떤 프레임워크도 충족하지 못하는 프로토콜이 생성됩니다.

2. 데이터 수집 전에 허용 기준을 명시하십시오. 결과를 확인한 후 선택된 기준은 허용 기준이 아니며, 사후에 결정하는 것은 지속적인 감사 지적 사항입니다. ICH Q2(R2)는 의도적으로 거의 숫자 기준을 제공하지 않습니다. 이는 규격, 분석 목표 프로파일(ICH Q14 섹션 3), 또는 개발 데이터에서 도출되어야 합니다. ICH M10은 예외로 명시적인 숫자를 제공하며, 크로마토그래피 분석법과 리간드 결합 분석법 간에 그 숫자가 다릅니다.

범위

이 스킬은 연구 계획, 통계 올바르게 계산, 문서 구조화를 수행합니다. 절차가 검증되었다고 판단하지 않으며, 배치를 출하하거나, 분석 실행을 승인/거부하거나, 조사를 종료하거나, 분석자, 기술 검토자, 품질 부서 또는 규제 기관을 대체하지 않습니다. 모든 스크립트는 보고할 뿐, 결론을 내리지 않습니다.

저작권 경계

ICH 가이드라인은 공개적으로 게시되고 승인과 함께 재사용이 허가되므로, 해당 요구사항은 이 스킬에 직접 인코딩됩니다. USP 일반 장, CLSI EP 문서 및 ISO 표준은 저작권이 있으며 유료 콘텐츠입니다. 이들에 대해 이 스킬은 명칭, 범위 및 공인된 사본을 얻을 수 있는 곳을 제공할 뿐, 텍스트나 임계값을 발명하지 않습니다. 에이전트에게 해당 내용을 검색, 전사 또는 재구성하도록 요청하지 마십시오. 숫자가 중요하고 유료 문서에 있는 경우, 공인된 사본에서 읽으십시오.

프레임워크

cd skills/analytical-method-validation/scripts
python3 plan_validation.py --list-frameworks
키적용 대상숫자 허용 기준 제공 여부
ich-q2r2원료의약품 및 완제의약품의 방출 및 안정성 시험거의 없음 — 직접 도출
ich-m10생체분석 농도 측정(PK, TK, BE)예, 방식에 따라 다름
usp-1220공정서 절차 수명 주기, 세 단계유료
usp-1225 / usp-1226공정서 절차의 밸리데이션/검증유료
clsi임상 검사실 측정 절차(EP 시리즈)유료
iso-17025인증 하에 실험실 자체 개발 및 수정된 방법아니오 — "필요한 범위까지"

Q2(R2)는 2023년 11월에 Q2(R1)를 대체하고 특성을 재구성했습니다. 범위(Range)는 이제 상위 특성(섹션 3.2)이며, 반응(직선성)과 하위 범위 한계의 밸리데이션(DL/QL)을 포함합니다. 정확성 및 정밀성은 섹션 3.3이며 단일 기준에 대해 조합하여 평가될 수 있습니다. 견고성(Robustness)은 개발 활동으로 취급되며 ICH Q14를 상호 참조합니다. 다변량 절차는 명시적으로 다루어지며(2.5 및 3.2.2.3), 부록 2는 Q2(R1)에서 다루지 않았던 기술 — 정량 ¹H-NMR, NIR, 정량 LC/MS, qPCR, 생물학적 분석법 및 입자 크기 — 에 대한 작업 예를 추가합니다. Q2(R1) 형태의 프로토콜, 즉 직선성, 범위, 정확성, 정밀성, 특이성, LOD, LOQ, 견고성의 평평한 목록은 구식입니다. 또한 2023년 11월 30일자 표 5 및 표 6-11에 대한 오류 수정에 유의하십시오.

스크립트

cd skills/analytical-method-validation/scripts
스크립트답변하는 질문
plan_validation.py어떤 프레임워크, 어떤 특성, 어떤 연구 설계, 어떤 프로토콜?
check_response.py검량선 모델이 실제로 범위 전체에 걸쳐 유효한가?
check_accuracy_precision.py회수율은 얼마이며, 변동성 중 일간 변동은 얼마나 되는가?
check_detection_limits.py각 허용 접근법에 따른 DL 및 QL은 무엇이며, 보고 한계를 충족하는가?
check_bioanalytical_run.py이 분석 실행이 해당 방식에 대한 ICH M10을 충족하는가?
compare_methods.py두 절차가 사전 명시된 한계 내에서 동등한가?

모든 스크립트는 --format table|tsv|json을 허용합니다. 출처, 가이드라인 인용 및 주의 사항은 stderr로 전송됩니다. 데이터는 stdout으로 전송되므로 > out.tsv를 사용하여 분리할 수 있습니다. 종료 코드는 0 (지적 사항 없음), 1 (지적 사항 발생), 2 (잘못된 입력)이므로, 이들 중 어느 것이라도 워크플로우를 제어할 수 있습니다.

워크플로우

1. 프레임워크 및 필요한 특성 고정

python3 plan_validation.py --framework ich-q2r2 --attribute assay --technique hplc --range-use assay

Q2(R2) 표 1은 기술이 아닌 측정 속성에 따라 무엇이 필요한지 결정합니다. 분석법(assay)의 경우: 특이성, 반응, 정확성, 반복성, 중간 정밀성. 한계 시험(limit test)의 경우: 특이성 및 DL만. 동정 시험(identity test)의 경우: 특이성만. 허용되는 속성은 assay, impurity (정량), impurity-limit 및 identity입니다.

보고 가능한 범위는 규격에서 비롯됩니다. Q2(R2) 표 2는 작업 예를 제공합니다 — 분석법의 경우 선언된 함량의 80–120%, 함량 균일성의 경우 70–130%, 불순물의 경우 규격의 120%까지 보고 한계.

2. 프로토콜 생성 및 기준 입력

python3 plan_validation.py --framework ich-q2r2 --attribute impurity --protocol > protocol.md

모든 대괄호 필드는 데이터 수집 전에 결정하고 기록해야 하는 사항입니다. 프로토콜 골격은 Q2(R2) 작업에 대해 허용 기준을 의도적으로 미리 채우지 않습니다, 이는 방어 가능한 기본값이 없기 때문입니다.

3. 반응 평가

python3 check_response.py -i calibration.csv --max-back-calc-error 2

입력은 level,response이며, 각 주입당 한 행씩입니다. 동일한 수준의 반복 행은 반복 측정으로 간주되며, 이를 제공함으로써 직선성 검정이 가능해집니다.

결정 계수가 통과시킬 곡선의 실제 출력:

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.1417

r² = 0.983이지만 모델은 사용할 수 없습니다: 범위 하단에서 역산 오차 −9.0%, lack-of-fit p = 1.5 × 10⁻⁶, 비무작위 잔차 부호. r²는 직선성의 증거가 아닙니다 — 범위에 따라 증가하며 곡률에 거의 민감하지 않습니다. 순수 오차에 대한 lack-of-fit F 검정과 잔차 패턴이 증거이며, 이것이 Q2(R2) 3.2.2.1이 상관 계수 단독보다는 점들의 직선으로부터의 편차 분석을 요구하는 이유입니다.

광범위 곡선의 경우 --weight 1/x2를 추가하십시오. 스크립트는 잔차 분산이 범위 상단 1/3에서 하단 1/3보다 10배 이상 클 때 이분산성을 플래그합니다. 가중치가 없는 적합은 보고 한계가 위치한 저농도 쪽을 정확히 편향시키기 때문입니다.

4. 정확성 및 정밀성 평가

python3 check_accuracy_precision.py -i ap.csv --accuracy-limit 2 --rsd-limit 1.0 --design-check assay

입력은 level,measured,group이며, 여기서 group은 중간 정밀성 요인(일차, 분석자 또는 장비)입니다.

level  component                       sd      rsd_pct  df      ci90_low_sd  ci90_high_sd
100    repeatability (within group)    0.0707  0.0707   3       0.0438       0.2065
100    between-group                   1.6515  1.6515   2       n/a          n/a
100    intermediate precision (total)  1.6530  1.6530   2.0037  0.9554       7.2821

반복성 0.07% RSD는 훌륭해 보입니다; 중간 정밀성은 1.65%로 23배 더 큽니다. 이는 변동성의 대부분이 일간 차이에 있기 때문입니다. 일내 변동성을 절차의 정밀성으로 보고하면 일상 성능을 한 자릿수 이상 과소평가하게 됩니다. 이것이 스크립트가 풀링 대신 일원 랜덤 효과 모델을 적합하는 이유입니다.

스크립트가 처리하는 두 가지 함정:

  • 정밀성은 각 수준 내에서 추정되며, 수준 간에 풀링되지 않습니다. 80/100/120% 결과를 하나의 표준 편차로 풀링하면 범위 자체가 명백한 부정확성으로 변합니다. 스크립트는 수준별로 보고하며, 추가로 명목값 대비 백분율로 수준 독립적인 보기를 제공합니다.
  • --require-ci-within-limit 는 평균뿐만 아니라 신뢰 구간 전체가 한계 내에 위치하도록 강제합니다. Q2(R2) 3.3.1.4는 구간이 기준과 양립 가능할 것을 요구합니다; 6회 반복으로 간신히 한계 내에 들어간 평균은 많은 것을 입증하지 못했습니다.

5. DL 및 QL 설정 및 확인

python3 check_detection_limits.py --calibration lowcal.csv --blanks blanks.csv \
    --confirm-ql 0.05 --confirm-data ql_check.csv --reporting-threshold 0.05
approach                                          sigma   slope      DL      QL
sd-and-slope (sigma = residual SD of regression)  7.2816  5033.3490  0.0048  0.0145
sd-and-slope (sigma = SD of y-intercept)          4.3303  5033.3490  0.0028  0.0086
sd-and-slope (sigma = SD of 8 blanks)             3.7702  5033.3490  0.0025  0.0075

동일한 데이터가 σ 선택만으로 1.9배 범위의 QL 추정치를 제공합니다. 따라서 Q2(R2) 3.2.3.5는 한계 및 이를 결정하는 데 사용된 접근법을 보고하고, 추정된 한계를 그 근처의 시료로 확인할 것을 요구합니다. 불순물 절차의 경우 QL은 보고 한계 이하여야 합니다. 반사적으로 3.3σ/기울기를 적용하고, 명명된 접근법 없이 하나의 숫자를 보고하며, 이를 확인하지 않는 것은 세 가지 별개의 지적 사항입니다.

6. ICH M10에 따른 생체분석 실행

python3 check_bioanalytical_run.py --modality chromatographic --run run1.csv
python3 check_bioanalytical_run.py --modality lba --isr isr.csv
python3 check_bioanalytical_run.py --modality lba --criteria

--modality는 필수이며 기본값이 없습니다. 기준이 실제로 다르기 때문입니다:

크로마토그래피리간드 결합 분석법
검량선 허용 오차±15%, LLOQ에서 ±20%±20%, LLOQ 및 ULOQ에서 ±25%
정확성/정밀성±15% / ≤15% CV (LLOQ에서 ±20% / ≤20%)±20% / ≤20% CV (LLOQ 및 ULOQ에서 ±25% / ≤25%)
A&P 설계4 QC 수준, 실행당 5 반복, 2일 이상 ≥3 실행5 QC 수준, 실행당 3 반복, 2일 이상 ≥6 실행
총 오차해당 기준 없음≤30%, LLOQ 및 ULOQ에서 ≤40%
ISR 일치도반복의 ≥2/3에 대해 ±20%반복의 ≥2/3에 대해 ±30%

±15% 크로마토그래피 수치를 리간드 결합 분석법에 적용하거나, LBA 총 오차 기준을 크로마토그래피 방법에 도입하는 것은 모두 흔하고 모두 틀렸습니다.

실행 검사는 놓치기 쉬운 수준별 규칙을 적용합니다: 모든 QC의 최소 2/3 그리고 각 수준에서 최소 50%. 실행은 전체 비율을 통과할 수 있지만 단일 수준이 완전히 실패할 수 있습니다.

finding: QC level high: 0/2 within tolerance (0%); M10 requires at least 50% at each level

7. 이전 및 방법 비교

python3 compare_methods.py -i paired.csv --margin 2 --relative --slope-tolerance 0.05
mean difference (%)                       1.4646
TOST margin                               2.0000
TOST p-value                              1.0528e-13
90% CI (TOST)                             1.44127 to 1.48797
equivalent at stated margin               yes
--- for contrast only ---
paired t-test p (NOT equivalence)         0.0000
OLS slope (biased here)                   1.0396
Deming slope                              1.0398
Passing-Bablok slope                      1.0351

이것이 대체하는 두 가지 오류:

  • "p > 0.05, 유의한 차이가 없으므로 방법이 동등합니다." 차이를 감지하지 못하는 것은 동등성의 증거가 아니며, 작은 이전 데이터 세트에서 그 결과는 거의 보장됩니다. TOST는 중요한 가설 — 즉, 실제 차이가 사전 명시된 한계 내에 있다는 가설 — 을 검정합니다. 여기서 t 검정은 차이가 고도로 유의하다고 말하고 TOST는 방법이 ±2%에서 동등하다고 말합니다. 둘 다 사실이며, 오직 하나만 질문에 답합니다.
  • 방법 비교를 위한 일반 최소 제곱(OLS). OLS는 참조 값에 오차가 없다고 가정하는데, 이는 두 절차를 비교할 때 거짓이며 기울기를 0으로 편향시킵니다. Deming(명시된 오차-분산 비율 사용) 및 Passing-Bablok(비모수적, 이상치 저항성)이 적절한 회귀 방법이며 대비를 위해 OLS와 함께 나란히 보고됩니다.

스크립트는 또한 비례 편향(차이가 농도에 따라 추세를 보일 때)을 플래그합니다. 이 경우 단일 평균 편향과 그 일치 한계는 아무리 좁아 보여도 오해의 소지가 있습니다.

이 스킬이 방지하고자 하는 것

  1. Q2(R2)로 대체된 지 3년 후에도 ICH Q2(R1)의 구조에 대해 밸리데이션하는 것.
  2. 데이터를 확인한 후에 작성된 허용 기준.
  3. 직선성의 증거로 제시된 r².
  4. 일간 변동 성분이 보이지 않는 상태에서 반복성을 절차의 정밀성으로 보고하는 것.
  5. 명명된 접근법과 확인 없이 하나의 DL/QL 숫자.
  6. 크로마토그래피 M10 기준을 리간드 결합 분석법에 적용하거나 그 반대.
  7. 방법 이전에서 t 검정의 비유의성을 동등성으로 제시하는 것.

참고 자료

  • references/framework-selection.md — 어떤 프레임워크가 적용되는지, 그리고 그 질문들

…

[번역을 위해 잘림]

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

adaptyv

How to use the Adaptyv Bio Foundry API and Python SDK for protein experiment design, submission, and results retrieval. Use this skill whenever the user mentions Adaptyv, Foundry API, protein binding assays, protein screening experiments, BLI/SPR assays, thermostability assays, or wants to submit protein sequences for experimental characterization. Also trigger when code imports `adaptyv`, `adaptyv_sdk`, or `FoundryClient`, or references `foundry-api-public.adaptyvbio.com`.

aeon

This skill should be used for time series machine learning tasks including classification, regression, clustering, forecasting, anomaly detection, segmentation, and similarity search. Use when working with temporal data, sequential patterns, or time-indexed observations requiring specialized algorithms beyond standard ML approaches. Particularly suited for univariate and multivariate time series analysis with scikit-learn compatible APIs.

alphagenome

Look up precomputed AlphaGenome Atlas effects for any GRCh38 single-nucleotide variant (AVI score with Phred and 18 SHAP feature attributions, plus raw and quantile scores for RNA-seq, DNase, ATAC, ChIP-TF, ChIP-histone, CAGE, PRO-cap, splicing, polyadenylation and contact-map tracks), score variants or scan windows on demand with the AlphaGenome model for human and mouse (variant scoring, in silico mutagenesis, REF-versus-ALT track prediction), and build Atlas website deep links. Use when the user mentions AlphaGenome, AlphaGenome Atlas, AVI or AlphaGenome Variant Impact, DeepMind variant effect prediction, or wants to prioritise or mechanistically interpret non-coding, regulatory, splicing, enhancer, promoter, or chromatin-accessibility effects of SNVs from a VCF, credible set, or region. Research use only; not a clinical tool.

anndata

Data structure for annotated matrices in single-cell analysis. Use when working with .h5ad files or integrating with the scverse ecosystem. This is the data format skill—for analysis workflows use scanpy; for probabilistic models use scvi-tools; for population-scale queries use cellxgene-census.

arbor

Autonomously improve a real artifact (code, training recipe, agent harness, data pipeline, prompt) against an objective and an evaluator, using Hypothesis Tree Refinement (HTR) from the Arbor paper. Use this whenever someone wants to iteratively optimize something over many experiments without overfitting — e.g.

arboreto

Infer gene regulatory networks (GRNs) from gene expression data using scalable algorithms (GRNBoost2, GENIE3). Use when analyzing transcriptomics data (bulk RNA-seq, single-cell RNA-seq) to identify transcription factor-target gene relationships and regulatory interactions. Supports distributed computation for large-scale datasets.

astropy

Core Python library for astronomy and astrophysics workflows that need Astropy APIs, including units/quantities, coordinates, FITS I/O, tables, time systems, WCS, and cosmology. Use when implementing or debugging astronomical data analysis code with Astropy.

autoskill

Observe the user

benchling-integration

Benchling Python SDK and REST API integration for registry entities, inventory, ELN entries, workflows, Benchling Apps, and Data Warehouse queries. Use when automating lab data with benchling-sdk or the v2 API.

bgpt-paper-search

Search scientific papers and retrieve structured experimental data extracted from full-text studies via the BGPT MCP server. Returns 25+ fields per paper including methods, results, sample sizes, quality scores, and conclusions. Use for literature reviews, evidence synthesis, and finding experimental details not available in abstracts alone.

bids

>

biopython

Comprehensive molecular biology toolkit. Use for sequence manipulation, file parsing (FASTA/GenBank/PDB), phylogenetics, and programmatic NCBI/PubMed access (Bio.Entrez). Best for batch processing, custom bioinformatics pipelines, BLAST automation. For quick lookups use gget; for multi-service integration use bioservices.

bioservices

Unified Python interface to 40+ bioinformatics services. Use when querying multiple databases (UniProt, KEGG, ChEMBL, Reactome) in a single workflow with consistent API. Best for cross-database analysis, ID mapping across services. For quick single-database lookups use gget; for sequence/file manipulation use biopython.

bulk-rnaseq

End-to-end bulk RNA-seq orchestrator — takes raw FASTQ reads through QC and trimming (FastQC, fastp/Trim Galore), alignment and quantification (STAR, Salmon, featureCounts), assembles a gene-level counts matrix, then hands off to differential expression (pydeseq2), pathway/GSEA enrichment (pathway-enrichment), and publication figures (scientific-visualization). Use whenever the user has bulk RNA-seq reads or quant output and wants a complete, reproducible differential-expression workflow — e.g.

cellxgene-census

Query the CZ CELLxGENE Census programmatically for versioned public single-cell and spatial transcriptomics data. Use when you need population-scale cell metadata, gene expression slices, Census summary counts, source H5AD URIs/downloads, embeddings, spatial Census data, or reference atlas comparisons across organisms, tissues, diseases, assays, and cell types. For analyzing your own local single-cell data use scanpy, anndata, or scvi-tools.

cirq

Google quantum computing framework. Use when targeting Google Quantum AI hardware, designing noise-aware circuits, or running quantum characterization experiments. Best for Google hardware, noise modeling, and low-level circuit design. For IBM hardware use qiskit; for quantum ML with autodiff use pennylane; for physics simulations use qutip.

citation-management

Comprehensive citation management for academic research. Search OpenAlex, PubMed, and Google Scholar for papers, extract accurate metadata, validate citations, and generate properly formatted BibTeX entries. This skill should be used when you need to find papers, verify citation information, convert DOIs to BibTeX, or ensure reference accuracy in scientific writing.

clinical-decision-support

Prepare and validate research-only clinical decision-support evaluation, evidence-profile, cohort, survival, biomarker/model, privacy, and governance artifacts. Use for aggregate or synthetic research documentation and traceability—not patient care or live clinical operation.

clinical-reports

Create safety-bounded draft structures and run local deterministic checks for clinical case, diagnostic, trial, safety, and aggregate research reports. Use only with synthetic, de-identified, or aggregate inputs and verified source-fact manifests; every output requires qualified review.

cobrapy

Constraint-based metabolic modeling (COBRA). FBA, FVA, gene knockouts, flux sampling, SBML models, for systems biology and metabolic engineering analysis.

관련 스킬