CRISPR Screen QC
Um pipeline de triagem pooled emite um q-value por gene: hit / não-hit. Esse escalar joga fora a estrutura de guias dentro do gene, então um gene para o qual a triagem não tinha poder de chamar parece idêntico a um gene que genuinamente não tem efeito. Este skill lê a estrutura de volta — puramente das contagens, calibrado nos controles não-alvo / negativos, nunca a partir de um padrão-ouro — e qualifica cada não-hit com uma razão nomeada (poucos guias utilizáveis, dispersão muito alta, efeito abaixo da faixa nula).
Na triagem de dropout de leucemia Wang-2014, ele sinaliza ~53% das falhas silenciosas do padrão-ouro a uma taxa de falso-flag de 3%, e o flag é não-redundante com o FDR (|ρ|≈0,29) — ele captura o que o q-value perde. (Honesto: o valor aqui é legibilidade / qualificação, não um ganho de acurácia de recuperação.) Método completo, avaliação pré-registrada Q1–Q4 e limites: docs/screen-power.md
Instalação
pip install karyon
Uso
Execute a análise de referência (a triagem demo):
from karyon import screen_qc
screen_qc.run() # seeds padrão=50; imprime a qualificação + a guarda de não-redundância
Qualifique seus próprios não-hits da triagem (contagens → razões):
from karyon import screen_qc as sq
null = sq.null_band(calib_lfcs, direction="deplete") # faixa nula a partir dos controles NT/NEG
verdicts = sq.qualify(non_hit_genes, gene_guides, null=null) # GeneReliability por gene, com razões
reliability_contracts(...) é o subjacente contracts.ContractSet; cada GeneReliability nomeia por que um não-hit é (não) confiável.
Composição com NVIDIA BioNeMo
Executa downstream de um pipeline acelerado de genômica (ex.: Parabricks → contagens de guias → um sumário gênico ao estilo MAGeCK): o modelo/pipeline chama hits, este skill qualifica os não-hits para que o agente relate "gene X: não-hit, mas subalimentado (4 guias utilizáveis, dispersão acima do limiar)" em vez de um simples "sem efeito."
Escopo (honesto)
Qualificação, não acurácia: ele diz em quais não-hits desconfiar, não reordena hits. Calibrado nos controles, então precisa de uma triagem com guias não-alvo / de controle negativo.