Communitygithub.com

Curtisflo/karyon

QC/qualification lisible et déterministe pour les sorties d'outils bio-AI — contrats à raison nommée + compétences d'agent qui se composent avec NVIDIA BioNeMo.

Qu'est-ce que karyon ?

Cette compétence d'agent, nommée Karyon, résout un problème fondamental dans les pipelines de criblage CRISPR pooled : lorsqu'un gène est classé comme non-ciblé (non-hit) par une valeur q, cette valeur unique ne distingue pas un gène mal évalué (sans puissance statistique) d'un gène réellement inactif. Karyon restaure la structure intra-gène des guides à partir des comptages, calibrée uniquement sur les contrôles non-ciblants/négatifs, sans nécessiter de gold standard. Pour chaque non-hit, elle produit une raison nommée : trop peu de guides utilisables, dispersion trop élevée, ou effet en dessous de la bande nulle. Testée sur le criblage de leucémie Wang-2014, elle signale environ 53 % des échecs silencieux du gold standard avec un taux de faux drapeaux de 3 %, et ces drapeaux sont non-redondants avec le FDR (|ρ|≈0.29). La compétence est conçue pour fonctionner en aval de pipelines accélérés de génomique (par ex., Parabricks → comptages de guides → résumé génique type MAGeCK), et se compose avec NVIDIA BioNeMo : elle qualifie les non-hits pour que l'agent rapporte, par exemple, 'gène X : non-hit, mais sous-puissancé (4 guides utilisables, dispersion au-dessus du seuil)'. L'accent est mis sur la lisibilité et la qualification, pas sur la précision de récupération ; elle indique quels non-hits ne pas croire, sans reclasser les hits. La documentation complète inclut la méthode, une évaluation en Q1–Q4, et les limites.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add Curtisflo/karyon

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

QC des criblages CRISPR

Un pipeline de criblage pooled émet une valeur q par gène : hit / non-hit. Cette valeur scalaire jette la structure intra-gène des guides, donc un gène pour lequel le criblage n'avait aucun pouvoir apparaît identique à un gène qui n'a réellement aucun effet. Cette compétence relit la structure — uniquement à partir des comptages, calibrée sur les contrôles non-ciblants / négatifs, jamais à partir d'un gold standard — et qualifie chaque non-hit avec une raison nommée (trop peu de guides utilisables, dispersion trop élevée, effet en dessous de la bande nulle).

Sur le criblage de perte de leucémie Wang-2014, elle signale ~53 % des échecs silencieux du gold standard avec un taux de faux drapeaux de 3 %, et le drapeau est non-redondant avec le FDR (|ρ|≈0,29) — elle attrape ce que la valeur q manque. (Honnêtement : la valeur ici est la lisibilité / qualification, pas une amélioration de la précision de récupération.) Méthode complète, évaluation pré-enregistrée Q1–Q4, et limites : docs/screen-power.md

Installation

pip install karyon

Utilisation

Exécutez l'analyse de référence (le criblage de démonstration) :

from karyon import screen_qc
screen_qc.run()                 # seeds par défaut=50 ; affiche la qualification + la garde de non-redondance

Qualifiez les non-hits de votre propre criblage (comptages → raisons) :

from karyon import screen_qc as sq
null    = sq.null_band(calib_lfcs, direction="deplete")   # bande nulle à partir des contrôles NT/NEG
verdicts = sq.qualify(non_hit_genes, gene_guides, null=null)   # GeneReliability par gène, avec raisons

reliability_contracts(...) est le contracts.ContractSet sous-jacent ; chaque GeneReliability nomme pourquoi un non-hit est (non)fiable.

Composition avec NVIDIA BioNeMo

Fonctionne en aval d'un pipeline de génomique accéléré (par ex., Parabricks → comptages de guides → un résumé génique de style MAGeCK) : le modèle/pipeline appelle les hits, cette compétence qualifie les non-hits pour que l'agent rapporte « gène X : non-hit, mais sous-puissancé (4 guides utilisables, dispersion au-dessus du seuil) » au lieu d'un simple « aucun effet ».

Portée (honnête)

Qualification, pas précision : elle vous indique quels non-hits ne pas croire, elle ne re-classe pas les hits. Calibrée sur les contrôles, elle nécessite donc un criblage avec des guides non-ciblants / de contrôle négatif.

Skills associés