Communitygithub.com

validação-de-métodos-analíticos

Planejar, executar e documentar a validação, verificação e transferência de procedimentos analíticos sob os referenciais ICH Q2(R2) e Q14, USP <1220>/<1225>/<1226>, ICH M10 bioanalítico, CLSI EP ou ISO/IEC 17025. Use para HPLC, LC-MS/MS, GC, CE, ICP-MS, dissolução, qNMR, qPCR, NIR e ensaios de ligação de ligandos ou baseados em células sempre que a questão for se um procedimento é adequado ao seu propósito pretendido.

O que é validação-de-métodos-analíticos?

Esta skill é projetada para profissionais de validação analítica em indústrias farmacêutica, biofarmacêutica, de diagnóstico clínico e laboratórios de ensaio. Ela automatiza o planejamento de estudos, cálculos estatísticos e documentação de validação de acordo com os principais referenciais regulatórios (ICH Q2(R2), ICH M10, USP, CLSI, ISO/IEC 17025). A skill é acionada sempre que a pergunta é se um procedimento analítico (como HPLC, LC-MS/MS, qPCR, NIR, ensaios de ligação de ligandos) é adequado ao seu propósito. Ela fornece scripts para gerar protocolos, verificar linearidade (incluindo testes de falta de ajuste), avaliar precisão e exatidão (com modelos de efeitos aleatórios para evitar subestimar a variabilidade entre dias), estabelecer limites de detecção e quantificação, verificar corridas bioanalíticas sob ICH M10 e comparar métodos usando TOST e regressão de Deming/Passing-Bablok. A skill previne erros comuns, como apresentar R² como evidência de linearidade ou relatar repetibilidade como se fosse a precisão total do procedimento. É compatível com Claude Code, Cursor e Codex, e pode ser usada para geração de relatórios seção por seção.

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

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Validação de Métodos Analíticos

Quando usar

Sempre que a questão for se um procedimento analítico é adequado ao seu propósito pretendido: projetar um estudo de validação, avaliar dados de validação, verificar um procedimento compendial, transferir um procedimento para outro laboratório ou instrumento, ou defender qualquer um destes em um relatório.

As duas regras

1. Estabeleça qual referencial rege antes de projetar qualquer coisa. O mesmo ensaio valida de forma diferente sob ICH Q2(R2), USP <1225>, ICH M10, CLSI EP e ISO/IEC 17025. Eles diferem em quais características são exigidas, como os estudos são organizados e se critérios numéricos de aceitação são fornecidos. Misturá-los produz um protocolo que não satisfaz nenhum deles.

2. Estabeleça os critérios de aceitação antes de coletar dados. Critérios escolhidos após ver os resultados não são critérios de aceitação, e decidi-los post hoc é uma constatação permanente de auditoria. O ICH Q2(R2) deliberadamente não fornece quase nenhum critério numérico — eles devem vir da especificação, do perfil alvo analítico (ICH Q14 seção 3) ou dos dados de desenvolvimento. O ICH M10 é a exceção: ele fornece números explícitos, e eles diferem entre ensaios cromatográficos e ensaios de ligação de ligandos.

Escopo

Esta skill planeja estudos, calcula as estatísticas corretamente e estrutura a documentação. Ela não decide que um procedimento está validado, libera um lote, aceita ou rejeita uma corrida, encerra uma investigação ou substitui o analista, o revisor técnico, a unidade da qualidade ou o órgão regulador. Cada script relata; nenhum deles conclui.

Limite de direitos autorais

As diretrizes do ICH são publicadas abertamente e licenciadas para reutilização com reconhecimento, portanto seus requisitos são codificados diretamente nesta skill. Os capítulos gerais da USP, documentos da série EP do CLSI e normas ISO são protegidos por direitos autorais e estão atrás de paywall. Para estes, esta skill fornece a designação, o escopo e onde obter uma cópia autorizada — nunca o texto, nunca limites inventados. Não peça a um agente para recuperar, transcrever ou reconstruir seu conteúdo. Se um número for importante e estiver em um documento atrás de paywall, leia-o da cópia autorizada.

Referenciais

cd skills/analytical-method-validation/scripts
python3 plan_validation.py --list-frameworks
ChaveRegeCritérios numéricos fornecidos
ich-q2r2Testes de liberação e estabilidade de fármacos e produtosQuase nenhum — você os deriva
ich-m10Medição de concentração bioanalítica (PK, TK, BE)Sim, e diferem por modalidade
usp-1220Ciclo de vida do procedimento compendial, três estágiosPaywall
usp-1225 / usp-1226Validação / verificação de procedimentos compendiaisPaywall
clsiProcedimentos de medição em laboratório clínico (série EP)Paywall
iso-17025Métodos desenvolvidos e modificados em laboratório sob acreditaçãoNão — "na medida necessária"

A Q2(R2) substituiu a Q2(R1) em novembro de 2023 e reestruturou as características. Faixa é agora a característica pai (seção 3.2), contendo resposta (linearidade) e validação dos limites inferiores da faixa (LD/LQ). Exatidão e precisão são a seção 3.3 e podem ser avaliadas em combinação contra um único critério. Robustez é tratada como uma atividade de desenvolvimento e faz referência cruzada ao ICH Q14. Procedimentos multivariados são abordados explicitamente (2.5 e 3.2.2.3), e o Anexo 2 adiciona exemplos práticos para técnicas que a Q2(R1) nunca cobriu — RMN-¹H quantitativa, NIR, LC/MS quantitativa, qPCR, ensaios biológicos e tamanho de partícula. Um protocolo no formato da Q2(R1) — uma lista plana de linearidade, faixa, exatidão, precisão, especificidade, LOD, LOQ, robustez — está desatualizado. Observe também a correção de erro datada de 30 de novembro de 2023 para a Tabela 5 e Tabelas 6–11.

Scripts

cd skills/analytical-method-validation/scripts
ScriptPergunta respondida
plan_validation.pyQual referencial, quais características, qual layout de estudo, qual protocolo?
check_response.pyO modelo de calibração realmente se mantém em toda a faixa?
check_accuracy_precision.pyQual é a recuperação e quanto da variabilidade é entre dias?
check_detection_limits.pyQuais são LD e LQ por cada abordagem permitida e eles atendem ao limiar de relato?
check_bioanalytical_run.pyEsta corrida atende ao ICH M10 para sua modalidade?
compare_methods.pyDois procedimentos são equivalentes, com uma margem pré-estabelecida?

Todos aceitam --format table|tsv|json. Procedência, citações de diretrizes e ressalvas vão para stderr; os dados vão para stdout, então > out.tsv os mantém separados. O código de saída é 0 para nenhuma constatação, 1 quando constatações foram levantadas, 2 para entrada inválida — portanto, qualquer um deles pode controlar um fluxo de trabalho.

Fluxo de trabalho

1. Fixe o referencial e as características exigidas

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

A Tabela 1 da Q2(R2) decide o que é exigido a partir do atributo medido, não da técnica. Para um ensaio: especificidade, resposta, exatidão, repetibilidade, precisão intermediária. Para um teste de limite: especificidade e LD apenas. Para um teste de identidade: apenas especificidade. Os atributos aceitos incluem assay (ensaio), impurity (impureza, quantitativo), impurity-limit (limite de impureza) e identity (identidade).

A faixa relatável vem da especificação. A Tabela 2 da Q2(R2) fornece exemplos práticos — 80–120% do teor declarado para um ensaio, 70–130% para uniformidade de conteúdo, limiar de relato a 120% da especificação para uma impureza.

2. Gere o protocolo e preencha os critérios

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

Cada campo entre colchetes é uma decisão a ser tomada e registrada antes da coleta de dados. O esqueleto do protocolo recusa-se deliberadamente a pré-preencher critérios de aceitação para trabalho sob Q2(R2), porque não há padrão defensável.

3. Avalie a resposta

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

A entrada é level,response, uma linha por injeção; linhas repetidas no mesmo nível são réplicas, e fornecê-las é o que torna o teste de linearidade possível.

Saída real de uma curva que um coeficiente de determinação aprovaria:

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 e o modelo é inutilizável: −9,0% de erro retrocalculado na parte inferior da faixa, falta de ajuste p = 1,5 × 10⁻⁶, sinais residuais não aleatórios. r² não é evidência de linearidade — ele aumenta com a faixa e é quase insensível à curvatura. O teste F de falta de ajuste contra o erro puro e o padrão residual são a evidência, e é por isso que a Q2(R2) 3.2.2.1 pede uma análise do desvio dos pontos em relação à linha em vez de apenas um coeficiente de correlação.

Adicione --gewicht 1/x2 para uma curva de faixa ampla. O script sinaliza heterocedasticidade quando a variância residual no terço superior da faixa excede o terço inferior em mais de 10×, porque um ajuste não ponderado então tendencia exatamente a extremidade inferior onde um limiar de relato reside.

4. Avalie exatidão e precisão

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

A entrada é level,measured,group, onde group é o fator de precisão intermediária — dia, analista ou instrumento.

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

Repetibilidade de 0,07% RSD parece excelente; a precisão intermediária é de 1,65%, vinte e três vezes maior, porque a variabilidade reside inteiramente entre dias. Relatar o valor intradiário como a precisão do procedimento subestimaria o desempenho rotineiro em mais de uma ordem de grandeza. É por isso que o script ajusta um modelo de efeitos aleatórios unidirecional em vez de agrupar.

Duas armadilhas que o script trata para você:

  • A precisão é estimada dentro de cada nível, nunca agrupada entre níveis. Agrupar resultados de 80/100/120% em um desvio padrão transforma a própria faixa em imprecisão aparente. O script relata por nível, mais uma visão independente do nível como percentual do nominal.
  • --require-ci-within-limit impõe que todo o intervalo de confiança esteja dentro do limite, não apenas a média. A Q2(R2) 3.3.1.4 pede que o intervalo seja compatível com o critério; uma média que se encaixa por pouco em seis réplicas não demostrou muito.

5. Estabeleça LD e LQ e confirme-os

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

Os mesmos dados fornecem estimativas de LQ variando 1,9×, puramente pela escolha de σ. A Q2(R2) 3.2.3.5 exige, portanto, que o limite e a abordagem usada para determiná-lo sejam relatados, e que um limite estimado seja confirmado com amostras próximas a ele. Para um procedimento de impureza, o LQ deve estar igual ou abaixo do limiar de relato. Alcançar reflexivamente 3,3σ/inclinação, relatar um número sem nenhuma abordagem nomeada e nunca confirmá-lo são três constatações separadas.

6. Corridas bioanalíticas sob 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 é obrigatório e não tem padrão, porque os critérios realmente diferem:

CromatográficoEnsaio de ligação de ligandos
Tolerância de calibração±15%, ±20% no LLOQ±20%, ±25% no LLOQ e ULOQ
Exatidão / precisão±15% / ≤15% CV (±20% / ≤20% no LLOQ)±20% / ≤20% CV (±25% / ≤25% no LLOQ e ULOQ)
Projeto A&P4 níveis QC, 5 réplicas/corrida, ≥3 corridas em ≥2 dias5 níveis QC, 3 réplicas/corrida, ≥6 corridas em ≥2 dias
Erro totalnenhum critério≤30%, ≤40% no LLOQ e ULOQ
Concordância ISR±20% para ≥2/3 das repetições±30% para ≥2/3 das repetições

Aplicar os números cromatográficos de ±15% a um ensaio de ligação de ligandos, ou importar o critério de erro total de LBA para um método cromatográfico, são ambos comuns e ambos errados.

A verificação de corrida impõe a regra por nível que é esquecida: pelo menos 2/3 de todos os QCs e pelo menos 50% em cada nível. Uma corrida pode passar na fração geral enquanto um único nível falha completamente.

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

7. Transferência e comparação de métodos

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

Dois erros que isso substitui:

  • "p > 0,05, nenhuma diferença significativa, portanto os métodos são equivalentes." Não detetar uma diferença não é evidência de equivalência, e em um pequeno conjunto de dados de transferência este resultado é quase garantido. O TOST testa a hipótese que importa — que a diferença verdadeira está dentro de uma margem pré-estabelecida. Aqui, o teste t diz que a diferença é altamente significativa e o TOST diz que os métodos são equivalentes a ±2%; ambas são verdadeiras, e apenas uma responde à pergunta.
  • Mínimos quadrados ordinários para comparação de métodos. OLS assume que os valores de referência não carregam erro, o que é falso ao comparar dois procedimentos, e tendencia a inclinação para zero. Deming (com uma razão de variância de erro declarada) e Passing–Bablok (não paramétrico, resistente a outliers) são as regressões apropriadas e são relatadas lado a lado com OLS para contraste.

O script também sinaliza viés proporcional — quando a diferença tende com a concentração, um viés médio único e seus limites de concordância são enganosos, independentemente de quão estreitos pareçam.

O que esta skill existe para prevenir

  1. Validar contra a estrutura do ICH Q2(R1) três anos após a Q2(R2) tê-la substituído.
  2. Critérios de aceitação escritos após os dados serem vistos.
  3. r² apresentado como evidência de linearidade.
  4. Repetibilidade relatada como a precisão do procedimento, com o componente entre dias invisível.
  5. Um número de LD/LQ sem abordagem nomeada e sem confirmação.
  6. Critérios cromatográficos M10 aplicados a um ensaio de ligação de ligandos, ou o inverso.
  7. A não significância de um teste t apresentada como equivalência em uma transferência de método.

Referências

  • references/framework-selection.md — qual referencial rege e as perguntas...

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.

Habilidades Relacionadas