CRISPR 스크린 QC
풀 스크린(pooled screen) 파이프라인은 유전자별 q-값(hit/non-hit)을 내보냅니다. 이 스칼라는 유전자 내 가이드 구조를 무시하므로, 스크린이 검출력이 전혀 없는 유전자가 실제로 효과가 없는 유전자와 동일하게 보입니다. 이 스킬은 오직 카운트(counts)를 기반으로, 비표적(non-targeting)/음성 대조군을 통해 보정하며, 절대 금본위(gold standard)를 사용하지 않고 구조를 다시 읽어 모든 비적중(non-hit)에 대해 명명된 이유(사용 가능한 가이드가 너무 적음, 분산이 너무 높음, 효과가 Null 대역보다 낮음)를 부여합니다.
Wang-2014 백혈병 드롭아웃 스크린에서 3%의 오탐지율로 ~53%의 금본위 침묵 오류를 식별하며, 이 플래그는 FDR과 중복되지 않습니다(|ρ|≈0.29) — q-값이 놓친 부분을 잡아냅니다. (솔직히: 여기서 가치는 회복 정확도 향상이 아니라 가독성/검증입니다.) 전체 방법, 사전 등록된 Q1–Q4 평가, 및 한계는 다음을 참조하세요: docs/screen-power.md.
설치
pip install karyon
사용법
참조 분석(데모 스크린) 실행:
from karyon import screen_qc
screen_qc.run() # 기본 seeds=50; 검증 결과 + 비중복성 가드를 출력합니다.
자체 스크린의 비적중(non-hit) 검증(카운트 → 이유):
from karyon import screen_qc as sq
null = sq.null_band(calib_lfcs, direction="deplete") # NT/NEG 대조군으로부터 Null 대역 계산
verdicts = sq.qualify(non_hit_genes, gene_guides, null=null) # 유전자별 GeneReliability(이유 포함)
reliability_contracts(...)는 기본 contracts.ContractSet입니다. 각 GeneReliability는 비적중이 (신뢰할 수 있는/없는) 이유를 명명합니다.
NVIDIA BioNeMo와의 구성
가속화된 게놈 파이프라인(예: Parabricks → 가이드 카운트 → MAGeCK 스타일 유전자 요약)의 다운스트림에서 실행됩니다: 모델/파이프라인이 적중(hit)을 호출하면, 이 스킬이 비적중(non-hit)을 검증하여 에이전트가 단순한 "효과 없음" 대신 "유전자 X: 비적중, 하지만 파워 부족(사용 가능한 가이드 4개, 분산이 임계값 초과)"과 같이 보고할 수 있게 합니다.
범위(솔직하게)
검증(qualification), 정확도 향상이 아닙니다: 어떤 비적중을 신뢰하지 말아야 하는지 알려주며, 적중을 재순위화하지 않습니다. 대조군을 통해 보정되므로, 비표적(non-targeting)/음성 대조군 가이드가 있는 스크린이 필요합니다.