À propos du projet
## Ce que c'est
AlleleForge est un framework de conception orienté recherche pour l'édition génomique CRISPR qui part d'un allèle défectueux plutôt que d'un guide. Vous fournissez un variant — entrée ClinVar, rsID, HGVS, VCF ou coordonnées brutes — et le pipeline le résout, l'achemine vers les chimies d'édition éligibles, énumère les guides/pegRNAs candidats, les score et renvoie un menu classé de modifications candidates.
Trois chimies sont couvertes : la nucléase SpCas9, les éditeurs de base (ABE/CBE) et l'édition prime, que le projet traite comme sa modalité phare. Chaque candidat comporte un résultat d'édition prédit, un intervalle d'incertitude et un rapport hors cible. Tout est exposé via trois interfaces sur un seul cœur : une bibliothèque Python, une interface en ligne de commande `aforge` et une interface web (backend FastAPI avec frontend Next.js).
## Rapport d'incertitude et de sécurité
Les prédictions ne sont jamais de simples nombres flottants. Chaque résultat numérique est accompagné d'un intervalle, de la méthode qui l'a produit et d'un indicateur `calibrated` précisant si l'intervalle a été ajusté par rapport à une couverture exclue. Par défaut, les valeurs sans poids sont des heuristiques et indiquent `calibrated=False`. La recalibration des intervalles utilise des méthodes de conformité fractionnée et la calibration des probabilités utilise une régression isotonique, avec l'affichage de `empirical_coverage`/ECE lorsque l'un ou l'autre est nécessaire.
L'analyse hors cible tient compte de la population et du haplotype, mais est explicitement optionnelle : le projet ne fournit aucune donnée gnomAD, donc un scan stratifié par ascendance nécessite que l'utilisateur fournisse une source de fréquence (`--gnomad`, `--haplotypes`, `--patient-vcf`). Sans cela, le scan se limite à la référence et le résultat le précise. Le risque lié à l'ascendance est rapporté comme la population la plus touchée plutôt que comme une moyenne, avec un seuil de transport appliqué identiquement sur les chemins de population et de haplotype. La nomination combine deux modèles de spécificité (CFD et MIT), enregistrant les deux scores par site. Un cache hors cible inter-exécutions est sécurisé pour les recherches limitées à la référence et utilisant le scoreur par défaut.
## Reproductibilité et posture d'ingénierie
Les décisions de conception documentées dans le README mettent l'accent sur la reproductibilité : résultats adressés par le contenu, splits et caches (avec re-vérification d'intégrité), environnements épinglés, graines déterministes et points de contrôle hachés par le contenu. Un hachage d'artefact `null` bloque le téléchargement par conception. Les modèles sont chargés via une passerelle de consentement/licence/checksum ; le backbone par défaut (Nucleotide Transformer v2 500M) est sous licence CC-BY-NC-SA-4.0 et est refusé pour un usage commercial lors du chargement, aucun poids réel n'étant fourni. Un chemin d'exportation ONNX existe pour le backbone.
Un crate Rust/PyO3 (`aforge_native`) fournit des noyaux d'accélération optionnels — recherche BWT FM-index, seeding k-mer, parcours de haplotype et alignement bulgé — chacun avec un repli pur-Python identique au octet près et des tests de parité ; la bibliothèque s'installe et fonctionne sans le crate. Notamment, le benchmarking a conduit le projet à laisser le préfiltre FM-index et k-mer seed en option plutôt qu'en défaut, car tous deux ont été mesurés comme un coût net au niveau du scan.
## Benchmark et statut
Un benchmark public, CRISPR-Bench, fournit des tâches, des splits gelés, des métriques, un exécuteur et un classement ; un script d'étude de calibration/généralisation régénère l'ECE par tâche, l'écart de généralisation inter-types cellulaires et les rapports de recalibration. Des figures SVG reproductibles sont générées par un moteur de rendu sans dépendance.
Toutes les quinze phases de la feuille de route v0.1.0 sont marquées comme terminées (types cœurs, accès au génome, registre de données, résolveur de variants, moteur hors cible, zoo de modèles/scoring, les trois chimies, designer, reporting, CLI, web, benchmark, docs). Les pistes post-v0.1.0 vers la v1.0 sont listées comme en cours ou non commencées, incluant l'épinglage de hachages d'artefacts réels et une étude de validation/calibration.
## Structure d'installation
L'installation de base est délibérément légère (modèles typés, config, analyse de model-card) avec des extras optionnels pour `core`, `genome`, `variant`, `cli`, `web`, `ml`, `cas9-rs3`, `docs` et `dev`. Python ≥ 3.11 est requis. L'extra `variant` nécessite les en-têtes du client PostgreSQL car `hgvs` dépend de `psycopg2` ; le README note que cela rendait auparavant impossible l'exécution d'une commande d'installation documentée.
Le projet stipule clairement qu'il s'agit d'un outil de recherche et non d'un dispositif médical, et que les nominations hors cible sont computationnelles et doivent être validées expérimentalement.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.