lien du dépôt github du code : Stealth AAV predictor sur Github
Stealth AAV Predictor (ESM-2 + SVR)
Description du Projet
Ce dépôt héberge les modèles pré-entraînés et les matrices de données du projet Stealth AAV Predictor. Ce pipeline d'apprentissage automatique est conçu pour prédire in silico la viabilité d'assemblage de capsides virales AAV (Adeno-Associated Virus) mutées, spécifiquement au niveau de leur boucle variable de 28 acides aminés.
L'objectif principal de ce modèle est d'optimiser les campagnes d'évolution dirigée en agissant comme un filtre de haute précision. En identifiant et en bloquant les variants non-viables avant la phase de synthèse (wet-lab), ce modèle permet une réduction drastique des coûts expérimentaux en réactifs et en temps de paillasse.
Architecture du Pipeline
Le pipeline repose sur une architecture en deux étapes :
- Extraction de caractéristiques (Embeddings) : Utilisation du modèle de langage protéique ESM-2 (
esm2_t6_8M_UR50D, 8 millions de paramètres). Les séquences sont tokenisées et passées dans le modèle pour extraire les représentations de la 6ème couche. Celles-ci sont condensées via un Mean Pooling pour obtenir un vecteur de 320 dimensions par séquence. - Prédiction de viabilité : Un modèle de régression à vecteurs de support (SVR de Scikit-Learn, noyau RBF,
C=1.0,epsilon=0.2) entraîné sur ces tenseurs ESM-2 pour prédire un score continu d'assemblage.
Données d'Entraînement et Performances
Le modèle principal a été entraîné sur un jeu de données robuste de 50 000 séquences mutées d'AAV.
Évaluation sur un jeu de test de 10 000 séquences inédites (Seuil de viabilité > 0) :
- Précision (Hit Rate) : 90.5 % (Sur 10 séquences validées par l'algorithme, plus de 9 s'assembleront correctement in vitro).
- Rappel (Sensibilité) : 66.3 % (Biais volontairement conservateur : le modèle préfère rater des séquences viables atypiques plutôt que de générer de coûteux faux positifs).
- Écart Absolu Moyen (MAE) : 1.329
- Exactitude Globale : 82.9 %
Fichiers Inclus
modele_svr_[DATE]_ESM8M_50000seq.joblib: Le modèle d'apprentissage Scikit-Learn pré-entraîné, prêt pour l'inférence.matrice_X_[DATE]_ESM8M_50000seq.npy: La matrice des tenseurs ESM-2 extraits pour l'entraînement (Format : 50000 x 320).vecteur_y_[DATE]_ESM8M_50000seq.npy: Le vecteur des scores d'assemblage réels cibles (Format : 50000 x 1).modele_svr_[DATE]_ESM8M_100seq.joblib: Le modèle d'apprentissage Scikit-Learn pré-entraîné, mais sur seulement 100 séquences, prêt pour l'inférence.
Utilisation (Inférence)
Pour utiliser ce modèle dans votre propre pipeline Python :
import joblib
import numpy as np
# Chargement du modèle pré-entraîné depuis le fichier local
modele_svr = joblib.load('modele_svr_[DATE]_ESM8M_50000seq.joblib')
# X_test doit être un tableau Numpy contenant vos vecteurs ESM-2 (ex: shape 1000 x 320)
# scores_predits = modele_svr.predict(X_test)