Apprentissage profond : traitement du langage appliqué aux protéines |
Lexique 1. L'apprentissage profond appliqué aux grands modèles de langage a. Présentation générale 2. Le modèle Transformer a. Les couches de l'encodeur et du décodeur 3. Plongement ou incorporation ou intégration ("embedding") a. Définition |
b. Les modèle de plongement lexicaux CBOW et "skip-gram" 4. Les modèles de traitement du langage protéique ou pLM
5. Génération de protéines artificielles a. Exemples de programmes de génération de protéines artificielles 6. La prédiction de la structure 3D des protéines 7. Liens Internet et références bibliographiques |
Voir un développement de l'intelligence artificielle appliquée à la biologie. |
Lexique
Dans ce cours, une phrase ou une séquence ont le sens "phrase d'un texte littéraire ou séquence de mots" ou le sens "séquences d'acides aminés". |
|
Les n-grammes |
Un n-gramme ("n-gram") est une sous-séquence de n éléments adjacents dans un ordre particulier de la phrase ou de la séquence entrée.
Elle peut, par exemple, être une sous-séquence de n acides aminés consécutifs d'une séquence protéique.
|
Segmentation des séquences en acides aminés |
Pour une valeur n donnée, le nombre total de n-grammes possibles est 20n puisqu'il y a 20 acides aminés.
Pour n = 1 (appelé unigramme), un résidu d'acide aminé est donc traité comme un mot et une séquence protéique comme une phrase. |
Le découpage des phrases en jetons (ou "tokenization") |
Les jetons ("tokens") ou unités de reconnaissance ("units of recognition") correspondent à des quantités variables de la phrase ou de la séquence en entrée.
La phrase ou séquence en entrée est "découpée en jetons" : (i) caractère par caractère (exemple : le code à 1 lettre des acides aminés); (ii) par morceaux de mots; (iii) mot par mot. Exemples de découpage en jetons de différents types de données :
|
Exemple d'algorithme de "tokenization" |
L'un des premiers algorithmes, BPE ("Byte Pair Encoding" - codage des paires d'octets) identifie les paires de caractères adjacents les plus fréquentes dans une séquence et les remplace toutes par un caractère absent de la séquence entrée.
Le processus est répété jusqu'à ce qu'aucune compression supplémentaire ne soit possible (soit il n'y a plus de paires de caractères fréquentes, soit il n'y a plus de caractères non utilisés pour représenter ces paires).
|
Encodage "one-hot" | En traitement du langage naturel :
|
Inconvénient de l'encodage "one-hot" | Soit un corpus de 1000 mots : l'encodage "one-hot" de chaque mot génère un vecteur de dimension 1000 (uniquement des 0 sauf à la position unique correspondant au mot, où la valeur = 1). Cet encodage présente donc l'inconvénient d'une dimensionnalité très élevée si le corpus est étendu. |
Encodeur - décodeur |
Un autoencodeur est un réseau de neurones pour l'apprentissage automatique non supervisé. Un autoencodeur est composé d'un encodeur qui encode une phrase d'entrée et d'un décodeur qui reconstruit cette phrase à partir du code.
|
Technique dite d'attention | Processus qui permet aux modèles de traitement du langage naturel de pondérer les données d'entrée pour accorder plus d'importance aux données les plus pertinentes tout en ignorant d'autres. |
Principaux types de codage positionnel |
Le codage de position absolue est très utilisé en raison de sa simplicité et de son efficacité de calcul.
|
Les représentations distribuées de mots |
En traitement du langage naturel, elles désignent une manière de représenter des mots ou des phrases sous forme de vecteurs continus dans un espace vectoriel de grande dimension. Elles aident les algorithmes d'apprentissage en regroupant les mots similaires. |
Notion de contexte | Un vecteur d'intégration ("plongement") contextualisé pour un jeton ("token") inclue son contexte environnant : en conséquence, 2 jetons identiques n'ont pas forcément le même vecteur d'intégration contextualisé. |
Technique "word2vec" | Développée en 2013 par des chercheurs de Google : elle utilise des réseaux de neurones superficiels pour associer des mots uniques à des représentations distribuées de mots. |
"Skip-gram Word2Vec" |
C'est une architecture qui permet de calculer des représentations de mots ("word embeddings"). Au lieu d'utiliser les mots environnants pour prédire le mot central, "Skip-gram" utilise le mot central pour prédire les mots environnants. |
Sémantique | "Etude du sens des unités linguistiques et de leurs combinaisons" (déf. Larousse). Les termes similaires sur le plan sémantique sont plus susceptibles d'avoir des plongements ("word embeddings") proches. |
pLM | Les modèles de traitement du langage protéique ("protein Language Models"). |
1. L'apprentissage profond et les grands modèles de langage ("Large Language Models" - LLM) Les LLM sont des modèles d'apprentissage automatique conçus pour des tâches de traitement du langage naturel.
Un très grand nombre de LLM repose sur une architecture particulière : les transformeurs en remplacement des modèles récurrents basés sur les réseaux neuronaux ("Recurrent Neural Networks" - RNN). |
Classement de certains LLM selon leurs types de tâches | ||
Architecture | Exemples | Caractéristiques principales |
Les modèles d'auto-encodage Encodeur seul |
BERT ("Bidirectional Encoder Representations from Transformers" (Google 2018), XLNet, ELECTRA. |
|
Les modèles autorégressifs Décodeur seul |
La famille des modèles GPT (GPT-3.5 à GPT5 - "Generative Pretrained Transformer", OpenAI). |
|
Les modèles séquence à séquence (Seq2Seq) Encodeur-décodeur |
T5 ("Text-To-Text Transfer Transformer"), BART. |
|
b. Puissance de calculs nécessaire à l'entraînement des LLM et coûts de l'entraînement des LLM Un LLM est entraîné sur un système composé de milliers de processeurs graphiques ("Graphics Processing Unit" - GPU) capable de traiter de nombreuses tâches en parallèle. |
|
La puissance de calcul pour entraîner un LLM se mesure en pétaFOPS (1 pFLOPS = 1015 FLOPS). FLOPS ("Floating-Point Operations Per Second") : nombre d'opérations en virgule flottante par seconde. |
Entraînement de "Transformer" (Google - 2017) : ≈ 104 pFLOPs. Entraînement de Gemini Ultra (Deepmind - 2023) : ≈ 1011 pFLOPs. |
Le nombre de paramètres des modèles (figure ci-dessous), leurs coûts d'entraînement (figure ci-contre) et la débauche énergétique qu'ils génèrent s'emballent. Voir un calculateur de prix d'utilisation de différents LLM. Source : Ran Ding - 1 To (T : Téra) = 1012 octets Le modèle WuDao 2 (2021 - 1,75 1012 paramètres), outre sa capacité à générer du texte, prédit la structure 3D de protéines à partir des séquences en acides aminés comme AlphaFold. |
Source : Voronoi |
c. Nombre croissant des modèles d'apprentissage automatique appliqués à la biologie On assiste à une augmentation spectaculaire des publications de ces modèles ayant pour but de décrypter des processus biologiques (généraux ou spécifiques). En voici quelques exemples : |
|
Transcription et régulation de processus ARN-dépendants |
Annotation de la structure topologique (données issues de la technique d'analyse du génome Hi-C) pour capturer la conformation de la chromatine. Prédiction (et amélioration de l'interprétabilité de cette prédiction) des sites de liaison des facteurs de transcription. Modélisation de l'élongation de la transcription. Prédiction des événements d'épissage alternatif sans données de référence. Prédiction de la localisation multicompartimentale des ARN et de la localisation subcellulaire des ARNm. Identification des sites de liaison [ARN circulaire - protéine de liaison à l'ARN] ou [lncRNA - protéine de liaison à l'ARN]. Prédiction des interactions [miRNA - lncRNA] de végétaux. Découverte de régions pré-miRNA dans les génomes de végétaux. |
Système CRISPR/Cas9 |
Prédiction de l'activité cible de l'ARN guide unique. Utilisation des informations de séquence pour prédire l'activité hors cible de CRISPR-Cas9. Prédiction de la spécificité hors cible et de l'aptitude cellulaire du système CRISPR-Cas. Prédiction de l'efficacité et de la spécificité du clivage de l'ARN guide unique. |
Protéines et ligands |
Identification de la localisation sub-mitochondriale des protéines mitochondriales. Détection des séquences signal dans les peptides d'adressage. Prédiction de l'effet des variants sur les protéines multidomaines. Prédiction des résidus d'acides aminés impliqués dans la fixation de diverses classes de ligands. |
Structure des protéines | Prédiction du repliement des protéines, de la topologie des protéines transmembranaires α-hélicoïdales, du nombre de sous-unités dans les complexes protéiques homo-oligomériques, de la structure quaternaire des protéines, ... |
Single-cell |
Analyse de données RNAseq unicellulaires. Déduction de réseaux de régulation des gènes à partir de données transcriptomiques unicellulaires. Identification du type cellulaire à partir de données RNAseq unicellulaires. |
Maladies et cancers |
Prédiction de la corrélation [lncRNA - maladie], de la corrélation [miRNA - maladie]. Méthode d'intégration multi-omique pour la classification des données biomédicales. Prédiction des interactions médicamenteuses. Prédiction des régulateurs de la méthylation de l'ADN dans le cerveau humain et analyse de la génétique des troubles psychiatriques. Réponses médicamenteuses dans certains cancers. Prédiction de la sensibilité aux anticancéreux. Prédiction et classification des sous-types de cancer du sein. |
Géographie |
Utilisation des terres et classification de l'occupation des sols. Transfert intercontinental d'un modèle de cartographie du riz. |
Source : Choi & Lee (2023). |
En 2017, le modèle Transformer (Google) a permis d'obtenir des avancées remarquables. Transformer est un modèle d'apprentissage automatique pour le traitement du langage naturel qui traite les séquences d'entrée en parallèle. Ses caractéristiques essentielles sont : a. Le mécanisme d'auto-attention ("self-attention" - voir le lexique) :
b. Le codage positionnel :
c. La capacité à gérer les dépendances à longue portée des données en permettant à tous les éléments de la séquence d'entrée d'interagir simultanément.
|
La pile de 6 encodeurs identiques ("Encoder Block x N") de Transformer extrait les intégrations (plongements) de la séquence d'entrée. |
La pile de 6 décodeurs identiques ("Decoder Block x N") inclue les 2 sous-couches de chaque couche de l'encodeur. |
Source : Zhang et al. (2024) |
|
Chaque encodeur est constituée de 2 sous-couches (figure ci-dessus) :
La sortie de chaque sous-couche est LayerNorm[x + Sublayer(x)] où Sublayer(x)Sublayer(x) est la fonction implémentée par la sous-couche elle-même. Toutes les sous-couches du modèle et les couches d'intégration génèrent des sorties de dimension 512. |
Ces décodeurs utilisent la représentation en sortie de l'encodeur pour reconstruire la séquence cible étape par étape.
Cependant, il contient une sous-couche d'attention multi-têtes masquée ("Masked Multi-Head Self-Attention") afin d'empêcher chaque position de se concentrer sur la position suivante. Ce processus de masquage, combiné au décalage de 1 position des plongements de sortie ("Output"), garantit que la prédiction du modèle pour la position i ne dépend que des sorties connues aux positions qui précédent i. |
b. Fonctionnement du modèle Transformer L'encodeur et le décodeur contiennent chacun 1 couche d'intégration (plongement) ("Input Embedding" et "Output Embedding") et 1 couche d'encodage positionnel ("Positional Encoding") (en bas de la figure ci-dessous).
|
||
Pile d'encodeurs | Structure du modèle Transformer | Pile de décodeurs |
Chaque encodeur (figure ci-contre, à gauche) contient :
|
Source : Choi & Lee (2023) |
Chaque décodeur (à droite) contient :
La sortie ("Output " - en haut à droite) contient :
|
La pile de décodeurs traite donc en parallèle :
Le but est que le modèle apprenne à générer avec exactitude la séquence cible décodée ("Output Embedding" & "Output") en utilisant la séquence d'entrée [encodée-décodée] ("Input Embedding") et la séquence cible ("Output Embedding") décalée. Une fonction de perte ("Loss function") compare la séquence cible à la séquence de sortie issue de l'apprentissage. |
Le vecteur d'intégration (représentation) de chaque mot de la phrase d'entrée est multiplié par chacune de ces 3 matrices apprises afin de générer 3 vecteurs. |
|||
Le vecteur Q de requête | Le vecteur K de clé | Le mécanisme d'auto-attention calcule un score d'attention d'une paire de vecteurs [requête-clé]. Ce score est le produit scalaire de Q et K. |
Le vecteur V de valeur |
C'est le mot courant dont le modèle calcule la représentation (intégration - "embedding"). | Ce sont les éléments auxquels est comparée la requête pour déterminer les pondérations. |
|
|
On peut faire une analogie entre le concept [requête/clé/valeur] et un moteur de recherche : celui-ci compare la requête effectuée à un ensemble de clés associées aux résultats "potentiels" de sa base de données, puis renvoie les valeurs (les résultats) les plus pertinentes. | |||
Le modèle génère ainsi un encodage du contexte de chaque mot de la séquence analysée : le contexte est l'ensemble des mots, le mot considéré inclu. En d'autres termes, chaque mot d'une séquence "communique" avec tous les autres mots, y compris lui-même. |
Cet encodage contextuel constitue l'entrée de la couche suivante du modèle. |
||
Couche d'auto-attention de l'encodeur ("Encoder Self-Attention layer") | Modèle "Transformer" | Couche d'auto-attention du décodeur ("Decoder Self-Attention") |
La représentation codée de chaque mot de la séquence d'entrée ("Input Embedding" - figure ci-contre) est transmise aux 3 matrices de poids d'entrée de la couche d'auto-attention du 1er encodeur. Cette couche génère une nouvelle représentation codée de chaque mot de la séquence d'entrée en y intégrant le score d'attention associé à chaque mot. Le traitement par plusieurs couches d'auto-attention permet d'ajouter de multiples scores d'attention à la représentation de chaque mot. Cette représentation améliorée est transmise aux vecteurs requête et clé qui sont traités par la couche d'attention du 1er décodeur ("Encoder-Decoder Attention"). |
Source : "Transformers Explained Visually" |
La représentation contextuelle codée de chaque mot de la séquence cible ("Output Embedding") est transmise aux 3 matrices de poids de la couche d'auto-attention du 1er décodeur ("Self-Attention"). Cette couche génère une nouvelle représentation codée de chaque mot de la phrase cible en y intégrant les scores d'attention de chaque mot. Après avoir traversé la couche de normalisation ("Norm Out"), cette représentation améliorée est transmise au vecteur requête de la couche d'attention ("Encoder-Decoder Attention") du 1er décodeur. |
La normalisation a pour but de modifier les données afin que leur moyenne = 0 et leur écart-type = 1 pour obtenir une distribution standard des données. Voir la fonction "Normalize()" du module "transforms" de la bibliothèque PyTorch. Formule du calcul d'attention : |
||
Les modèles de transformeurs (et les modèles d'apprentissage profond de manière générale), sont des objets complexes du point de vue mathématique et informatique. Voir par exemple : "The Transformer Model in Equations : precise mathematical definition of the transformer model" Thickstun J. |
Illustration : optimisation de molécules chimiques But de l'étude : étant donnés une molécule de départ ("Source molecule" dans la figure ci-dessous) et des changements de propriétés souhaités, les modèles Seq2Seq et Transformer doivent générer une molécule ("Target molecule") avec des propriétés souhaitées et de structure similaire à la molécule de départ. Source : He et al. (2021) La séquence d'entrée ("Source molecule") correspond aux informations textuelles concaténées :
La séquence cible ("Target molecule") correspond à la représentation SMILES de la molécule cible aux propriétés souhaitées. Voir le code Python de ce programme d'optimisation de molécules chimiques. |
3. Plongement ou incorporation ou intégration ou représentation ("embedding") a. Définition Le terme "sentence or word embedding" est traduit en français, selon les sources, par "plongement lexical ou sémantique", "incorporation de phrase ou de mot", "intégration de phrase ou de mot". En traitement du langage naturel, c'est une méthode d'apprentissage qui encode les informations sémantiques (voir le lexique) significatives d'un mot sous la forme d'un vecteur de nombres réels (avec une table de correspondance, "lookup table") dans un espace vectoriel pouvant compter des milliers de dimensions. Les plongements de mots modélisent la probabilité d'un mot wi, compte-tenu de son contexte wci, selon une distribution conditionnelle p(wi|wci), où le contexte est l'ensemble des mots wj autour de wi dans une fenêtre de taille ci. Si la distribution conditionnelle suit la loi de Bernoulli, la probabilité s'écrit : Chaque mot est codé par un vecteur de plongement (ρwi) et un vecteur de contexte (αwj), tous deux de dimension k et σ est la fonction logistique.
|
b. Les modèle de plongement lexicaux CBOW et "skip-gram"
Source : Mikolov et al. (2013) |
Principe de "skip-gram"
Source : "Plongement lexical" (Wikipédia) |
c. Illustration du plongement ou représentation Le plongement encode les informations sémantiques (voir le lexique) significatives d'une phrase ou d'un mot sous la forme d'un vecteur de nombres réels (avec une table de correspondance, "lookup table") dans un espace vectoriel pouvant compter des milliers de dimensions.
Par ailleurs, la manipulation (opérations arithmétiques, calculs matriciel, ...) de ces vecteurs permet de mieux évaluer la proximité des mots encodés. Source : "Word Embedding Demo : Tutorial" Le plongement (ou représentation) sous forme de vecteurs permet un très grand nombre de calculs et d'opérations. Par exemple, l'analogie par arithmétique vectorielle (figure ci-dessous) : le mot "man" est à "king" ce que le mot "woman" est à "king – man + woman" = "queen". Source : "Word Embedding Demo : Tutorial" |
Exemple de représentation des acides aminés a. L'encodeur traduit chaque acide aminé en un vecteur d'intégration ou plongement (ci-dessous à gauche). b. Pour générer le vecteur qui décrit la séquence entière, le modèle calcule la moyenne des valeurs des vecteurs d'intégration des acides aminés de cette séquence (ci-dessous à droite). |
|
Figures adaptées de : "How to represent a protein sequence" |
|
Figure ci-contre : les vecteurs générés par le transformeur UniRep ("Unified Representation" - Alley et al., 2019) capturent les propriétés biochimiques des acides aminés dans des séquences provenant de différents organismes.
Source : "How to represent a protein sequence" (L. Bai) |
|
4. Les modèles de traitement du langage protéique ("protein Language Models") ou pLM Les premiers modèles de traitement du langage ont permis de développer l'emploi des réseaux neuronaux pour la représentation des caractéristiques des protéines : ils ont ouvert la voie aux modèles de traitement du langage protéique ou pLM. Les séquences d'acides aminés sont considérées comme les phrases d'un langage du vivant. De manière analogue à l'analyse sémantique et syntaxique du langage naturel, certains pLM interprètent les séquences protéiques comme du texte brut et utilisent des techniques d'inférence autorégressive avec des mécanismes d'auto-attention (voir le lexique). Ces mécanismes, qui analysent notamment le "contexte à plus ou moins longue portée" de chaque acide aminé dans des millions de séquences protéiques ("amino acid level long-short-range interactions"), révèlent des interdépendances "cachées" entre acides aminés qui sont relatives aux relations [séquence-structure] et [structure-fonction] des protéines. Source : Wang et al. (2025)
Le modèle BioVec (Asgari & Mofrad, 2015)
|
b. Caractéristiques de quelques pLM Voir le tableau 5 de Zhang et al. (2024). |
|
Encodeur seul | ESM-2nv ("Evolutionary Scale Modeling") comporte 36 couches, 40 têtes d'attention ("attention heads"), un espace caché de dimension 2560 et contient 3 millards de paramètres. |
Décodeur seul | ProtGPT2 |
Encodeur - décodeur | ProstT5 ("Protein structure-sequence T5") traduit la séquence d'une protéine en sa structure (Heinzinger et al., 2024). |
|
|
Modèle S-PLM : pour une protéine donnée, ce pLM prédit son ontologie (termes GO), sa classification selon la réaction enzymatique catalysée et son numéro "Enzyme Commission" (EC), ses structures secondaires et son repliement 3D. |
Illustration de ProteinBERT - pLM inspiré de l'architecture de BERT
Les séquences protéiques ont été codées sous forme de séquences de jetons entiers avec 26 jetons uniques représentant :
Source : Wang et al. (2025) Pour chaque séquence protéique, les jetons"START" et "END" sont ajoutés avant et après le dernier acide aminé, respectivement. Les annotations GO associées à chaque séquence ont été codées sous forme de vecteur binaire de taille fixe (8943) : toutes les entrées sont des 0, à l'exception de celles correspondant à l'annotation GO associée à la protéine. |
c. Jeux d'entraînement des pLM | |
SwissProtCLAP | Jeu de données qui comprend 441.000 paires [texte - séquence protéique]. Il est construit à partir des données de la base de données SwissProt. |
ProteinDT | cadre de conception de protéines guidé par le texte, entraîné avec SwissProtCLAP. |
ProtDescribe | Jeu de données qui comprend 553.052 paires [séquences protéiques alignées - descriptions de leurs propriétés] (construit à partir des données de la base de données SwissProt). |
UniProtQA | Jeu de données dérivé d'UniProt pour l'entraînement du pLM "OpenBioMed". Il comprend des protéines et des requêtes textuelles qui englobent 4 propriétés de ces protéines (caractéristiques fonctionnelles, nomenclature officielle, familles de protéines, localisation subcellulaire). |
InstructProtein | Jeu de données pour l'entraînement du pLM "OntoProtein" pour la génération bidirectionnelle entre le langage humain et le langage protéique. |
ProteinKG25 | Jeu de données de graphes de connaissances ("Knowledge Graph" - KG) à grande échelle. ProteinKG25 contient ≈ 5 millions de corrélations [protéines - termes GO] et [termes GO - termes GO] et 31 relations. |
ProteinLMBench | 1er jeu de référence pour l'évaluation des capacités de compréhension des pLM, notamment 944 questions à choix multiples soigneusement sélectionnées couvrant un large éventail de tâches liées aux protéines (voir l'article). |
d. Exemples d'application des pLM en biologie | |
Génotype - phénotype | Prédiction des conséquences phénotypiques à partir des millions d'effets possibles des variants faux-sens dans le génome humain. |
Nouveaux médicaments | Modèles de langage chimique à partir des bibliothèques de composés chimiques pour prédire des petites molécules médicaments capables de cibler des protéines impliquées dans des maladies. |
Structure des protéines | Prédiction de la fonction et de la structure des protéines. |
Nouvelles protéines | Génération de nouvelles protéines artificielles. |
Lutte antivirale | Guider l'évolution en laboratoire des variants d'anticorps neutralisant des virus (exemples : Ebola, SARS-CoV-2, ...). |
Antibiorésistance | ARG-BERT : pLM qui utilise l'architecture de ProteinBERT pour la prédiction des mécanismes de résistance aux antibiotiques ("Antibiotic Resistance Genes" - ARG). |
Single-cell | Transformeur scBERT ("single cell BERT") pour annoter avec précision les types de cellules à partir de données "single cell" - scRNAseq. |
Réseaux de gènes | Prédiction de la dynamique des réseaux de gènes pour la découverte de régulateurs clés de réseaux et de cibles thérapeutiques. |
Ontologie | GOProFormer : méthode de transformation multimodale pour la prédiction de l'ontologie de la fonction des protéines (annotation). |
Evolution des protéines | EVOLVEpro : méthode d'apprentissage permettant d'améliorer in silico l'évolution dirigée des protéines ("directed evolution of proteins") grâce à une combinaison de pLM et de prédicteurs de la fonction des protéines. |
Anticorps | AntiBERTy : pLM spécifique des anticorps, pré-entraîné avec 558 millions de séquences d'anticorps naturels. |
Modifications post-traductionnelles | PTG-PLM : pLM pour la prédiction des sites de glycosylation et de glycation. pLMSNOSite et LMSuccSite : pLM pour la prédiction des sites de S-nitrosylation et de succinylation des protéines, respectivement |
Voir un développement très détaillé : Zhang et al. (2024). |
Un très grand nombre de pLM sont écrits en Python, utilisant :
Il existe des outils de développement ("Jupyter notebooks" sur un ordinateur personnel, "Google Colab notebooks" sur le "cloud", ...). Exemple de script ProtGPT2 pour la génération de protéines de novo. ProtGPT2 génère des séquences les plus probables suivant l'acide aminé "M" selon l'entrée. from transformers import pipeline |
Exemple de capture de la structure quaternaire des protéines par un pLM
Un vecteur de plongement a été généré pour chaque protéine d'un jeu de protéines (constituées de 1 à 60 sous-unités) avec la moyenne des vecteurs de plongement des résidus d'acides aminés de chaque séquence protéique. Le pLM "QUEEN" capture les structures quaternaires comme l'indiquent :
Extrait du code Python du modèle QUEEN
import esm #ESM : Evolutionary Scale Modeling Voir également le modèle "DeepSub". |
Source : Avraham et al. (2023) |
5. Génération de protéines artificielles Les pLM sont des outils trés performants pour générer artificiellement des protéines fonctionnelles aux propriétés inédites : c'est un moyen puissant de trouver des solutions thérapeutiques et environnementales. a. Exemples de programmes de génération de protéines artificielles pLM entraîné à prédire le prochain acide aminé avec plus de 280 millions de séquences protéiques issues de milliers de familles de protéines PFAM. Des protéines artificielles générées par ce pLM liées à 5 familles distinctes de lysozymes antibactériens ont été ainsi générées et leurs propriétés structurales et enzymatiques analysées :
|
b. Génération de protéines artificielles et évolution La capacité des pLM à générer des protéines artificielles raccourcit de manière spectaculaire l'évolution extrêmement lente des séquences des protéines par pression de sélection naturelle. Le programme de prédiction - génération de structures de protéines de novo ESM3 ("Evolutionary Scale Modeling") est un multi-transformeur qui raisonne conjointement sur la séquence, la structure et la fonction ddes protéines. Ce programme est entraîné avec 3,15 milliards de séquences protéiques et 236 millions de structures, soit 98 milliards de paramètres.
|
Source : EvolutionaryScale |
Le programme ESM3 a généré une nouvelle protéine fluorescente verte ("Green Fluorescent Protein" - GFP), dénommée esmGFP, qui possède 58 % de similarité avec la plus proche GFP "naturelle" similaire (Hayes et al., 2025). La génération par apprentissage profond de cette structure en quelques heures revient (selon les auteurs) à simuler 500 millions d'années d'évolution. Source : EvolutionaryScale |
a. Démarche générale de prédiction de la structure 3D des protéines Voir un développement sur la comparaison et prédiction des structures par apprentissage profond. Etapes générales de la démarche de prédiction de la structure des protéines sans "modèle" ("template-free protein structure prediction pipeline") :
Source : Pakhrin et al. (2022) |
b. Les programmes Alphafold & Rosetta : prix Nobel de chimie 2024 Conceptuellement, AlphaFold était à l'origine un réseau de neurones pour prédire les distances probables entre les paires d'acides aminés et les angles de chaque liaison peptidique reliant les résidus d'acides aminés. Ces 2 prédictions ont ensuite été intégrées à un score avec le "score2" du logiciel de modélisation Rosetta. AlphaFold utilise la distribution entière des distances 2 à 2 entre résidus d'acides aminés comme une fonction potentielle statistique (spécifique de la protéine) qui est directement minimisée par la descente de gradient pour obtenir le repliement de la protéine. Le programme AlphaFold est au coeur de la base de données (système de prédiction) AlphaFold DB.
Le prix Nobel de Chimie 2024 a été attribué à D. Baker "for computational protein design" (programme Rosetta) et à D. Hassabis & J. Jumper "for protein structure prediction" (programme AlphaFold). |
7. Liens Internet et références bibliographiques | |
pLM et transformeurs pLM de UNIPROT ProtNLM ("Protein Natural Language Model") de UNIPROT Transformers : architecture et code Listes de transformeurs "BERT détaillé" Code du Transformer - "Notebook Pytorch" (transformer.ipynb) |
|
Plongement - intégration - incorporation ("embedding") The Illustrated Word2vec Protvec : Amino Acid Embedding Representation for Machine Learning Features bio_embeddings : python package & pipeline for embedding generation bio-embeddings library 0.2.2 (Python) Application en ligne : "Incorporations de mots à l'aide d'un modèle Keras simple" - TensorFlow (Google) Exercices pratique "embedding" |
|
BioNeMo (NVIDIA) Fonctions d'activation Application en ligne "Tokenizers - BPE" (Python) |
Lin et al. (2002) "Amino acid encoding schemes from protein structure alignments: multi-dimensional vectors to describe residue types" J. Theor. Biol. 216, 361 - 365 Mei et al. (2005) "A new set of amino acid descriptors and its application in peptide QSARs" Biopolymers 80, 775 - 786 |
Mikolov et al. (2013) "Efficient Estimation of Word Representations in Vector Space" arXiv:1301.3781 Asgari & Mofrad (2015) "Continuous Distributed Representation of Biological Sequences for Deep Proteomics and Genomics" PLoS One 10, e0141287 |
|
Article du modèle"Transformer" : Vaswani et al. (2017) "Attention Is All You Need" arXiv:1706.03762 "Transformer's Encoder-Decoder" : site très explicatif des notions liées au "Transformer" et à l'apprentissage (beaucoup de scripts Python) |
|
Krstovski & Blei (2018) "Equation Embeddings arXiv:1803.09123 ElAbd et al. (2020) "Amino acid encoding for deep learning applications" BMC Bioinformatics 21, 235 Raffel et al. (2020) "Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer" J. Mach. Learn. Res 21, 1 - 67 |
|
Jumper et al. (2021) "Highly accurate protein structure prediction with AlphaFold" Nature 596, 583 - 589 Rives et al. (2021) "Biological structure and function emerge from scaling unsupervised learning to 250 million protein sequences" Proc. Natl. Acad. Sci. USA 118, e2016239118 Dallago et al. (2021) "Learned Embeddings from Deep Learning to Visualize and Predict Protein Sets" Curr. Protocols in Bioinformatics 10.1002/cpz1.113 He et al. (2021) "Molecular optimization by capturing chemist's intuition using deep neural networks" J. Cheminform. 13, 26 |
|
Baek et al. (2022) "Accurate prediction of protein structures and interactions using a 3-track neural network" Science 373, 871 - 876 Elnaggar et al. (2022) "ProtTrans: Toward Understanding the Language of Life Through Self-Supervised Learning" IEEE Trans. Pattern Anal. Mach. Intell. 44, 7112 - 7127 Pakhrin et al. (2022) "Deep Learning-Based Advances in Protein Structure Prediction" Int. J. Mol. Sci. 22, 5553 |
|
Bandyopadhyay et al. (2022) "Interactive Visualizations of Word Embeddings for K-12 Students" EAAI-22 Ferruz et al. (2022) "ProtGPT2 is a deep unsupervised language model for protein design" Nat. Commun. 13, 4348 Brandes et al. (2022) "ProteinBERT: a universal deep-learning model of protein sequence and function" Bioinformatics 38, 2102 - 2110 |
|
Kaminski et al. (2023) "pLM-BLAST: distant homology detection based on direct comparison of sequence representations from protein language models" Bioinformatics 39, btad579 Madani et al. (2023) "Large language models generate functional protein sequences across diverse families" Nat. Biotechnol. 41, 1099 - 1106 Pokharel et al. (2023) "Integrating Embeddings from Multiple Protein Language Models to Improve Protein O-GlcNAc Site Prediction" Int. J. Mol. Sci. 24, 16000 |
|
Lin et al. (2023) "Evolutionary-scale prediction of atomic-level protein structure with a language model" Science 379, 1123 - 1130 Elnaggar et al. (2023) "Ankh : optimized protein language model unlocks general-purpose modelling" bioRxiv doi: 10.1101/2023.01.16.524265 Avraham et al. (2023) "Protein language models can capture protein quaternary state" BMC Bioinformatics 24, 433 Choi & Lee (2023) "Transformer Architecture and Attention Mechanisms in Genome Data Analysis: A Comprehensive Review" Biology (Basel) 12, 1033 |
|
Heinzinger et al. (2024) "Bilingual language model for protein sequence and structure" NAR Genom. Bioinform. 6, lqae150 Zhang et al. (2024) "Scientific Large Language Models: A Survey on Biological & Chemical Domains" arXiv:2401.14656 |
|
Hayes et al. (2025) "Simulating 500 million years of evolution with a language model" Science 387, 850 - 858 Wang et al. (2025) "A Comprehensive Review of Protein Language Models" arXiv, 2502.06881v1 |