International Essays

Conception de novos de protéines inspirée du prix Nobel avec Wolfram Language

20 mars 2025
Robert B. Nachbar, directeur de projet expérimenté, Solutions Wolfram
Article original
En lisant un article récemment publié dans le New York Times sur l’IA, je ne pensais pas suivre les traces d’un lauréat du prix Nobel, mais j’ai vite découvert que c’était exactement ce que je pouvais faire avec Wolfram Language.
Le prix Nobel de chimie de 2024 a été décerné pour la conception computationnelle des protéines et la prédiction de la structure des protéines, qui sont des domaines de recherche en pleine effervescence depuis plusieurs décennies. Les premiers travaux reposaient sur des bases physiques et chimiques, tentant de modéliser le repliement de la chaîne de résidus d’acides aminés composant une protéine en une structure tridimensionnelle à l’aide des analyses conformationnelle et énergétique. Plus récemment, des méthodes d’intelligence artificielle ont été appliquées au problème, en utilisant des réseaux neuronaux profonds (DNN) et de grands modèles de langage (LLM) tels que trRosetta, AlphaFold et ESMFold. Les travaux de David Baker, l’un des lauréats, ont récemment été présentés dans un article du New York Times.
Dans son article de 2021, le groupe de Baker décrit des expériences computationnelles qui ont optimisé une séquence aléatoire d’acides aminés en une séquence protéique réaliste et l’ont pliée en une structure tridimensionnelle. Ce processus a été répété 2000 fois, ce qui a permis d’obtenir un « large éventail de séquences et de structures prédites ». La partie vraiment passionnante est venue ensuite : ils ont fabriqué 129 gènes synthétiques en laboratoire sur la base des séquences, les ont insérés dans le génome de la bactérie E. coli, ont isolé et purifié les nouvelles protéines et ont obtenu leurs structures par cristallographie aux rayons X et spectroscopie RMN, qui correspondaient étroitement aux structures prédites.
Nous avons entrepris d’explorer la partie de « X computationnelle » de leur expérience dans Wolfram Language. Quelques-unes des nouvelles fonctionnalités de la version 14.2, qui vient d’être publiée, ont rendu cette tâche étonnamment simple.
Pliage d’une séquence d’acides aminés Commençons par une protéine dont on connaît la structure. L’extrémité N-terminale de la protéine précurseur de l’amyloïde (APP), impliquée dans la maladie d’Alzheimer, en est un bon exemple. L’ID de l’entrée dans la Protein Data Bank (PDB) est 1MWP. Nous pouvons récupérer le titre de la citation pour les données publiées avec cette demande de connexion au service des nouveautés de 14.2 :
ServiceExecute["RCSBProteinDataBank","EntryData",{"PDBStructureID"ExternalIdentifier["PDBStructureID","1MWP"]}]["Citation",All,"Title"]
Out[]=
Crystal structure of the N-terminal, growth factor-like domain of Alzheimer amyloid precursor protein.
Cette requête nous permet de récupérer la structure en tant que
BioMolecule
 :
bioMol=ServiceExecute["RCSBProteinDataBank","BioMolecule",{"PDBStructureID"ExternalIdentifier["PDBStructureID","1MWP"]}]
Out[]=
BioMolecule
Type: Peptide
Chains: 2

Nous pouvons également obtenir le même résultat en tapant beaucoup moins de texte :
BioMolecule[ExternalIdentifier["PDBStructureID","1MWP"]]
Out[]=
BioMolecule
Type: Peptide
Chains: 2

La structure cristallographique complète est composée d’une chaîne protéique unique et de nombreuses molécules d’eau qui ont co-cristallisé avec la molécule protéique. Les molécules d’eau sont rassemblées dans leur propre chaîne pour des raisons de facilité, de sorte que la BioMolecule comporte deux chaînes :
bioMol["ChainTypes"]
Out[]=
APeptide,BWater
La structure de la protéine est constituée d’une chaîne unique qui possède deux hélices α et plusieurs brins β que l’on peut voir ici :
BioMoleculePlot3D[bioMol,ImageSize->Small]
Out[]=
Elle est présentée ici sous forme de plages de résidus :
bioMol["Helices"]
Out[]=
A{{38,50},{73,75}}
bioMol["Sheets"]
Out[]=
A{{6,8},{16,18},{25,27},{55,60},{65,67},{70,72},{76,79},{83,85},{88,92}}
Le service "ESMAtlas" est également une nouveauté de la version 14.2 et permet de plier une séquence en utilisant le modèle de Meta AI. Voici la demande de service pour replier la séquence d’acides aminés :
foldedBioMol=ServiceExecute["ESMAtlas","FoldSequence",{"BioSequence"bioMol["BioSequences"]["A"]}]
Out[]=
BioMolecule
Type: Peptide (predicted)
Chains: 1

La structure repliée est également composée d’une hélice α et de plusieurs brins β :
BioMoleculePlot3D[foldedBioMol,ImageSize->Small]
Out[]=
Cependant, nous pouvons voir ici que l’hélice la plus longue dans la structure repliée de l’IA est plus courte de deux résidus que dans la structure cristalline, et que les résidus 73, 74 et 75 ne forment pas d’hélice :
foldedBioMol["Helices"]
Out[]=
A{{39,49}}
Deux brins β ont été perdus dans la structure pliée par l’IA :
foldedBioMol["Sheets"]
Out[]=
A{{6,8},{16,18},{25,27},{55,60},{65,67},{83,85},{88,92}}
Quelle est donc la qualité quantitative du pli ? Le service ESMAtlas calcule une confiance à l’échelle de l’atome qui est stockée dans la propriété "BFactors" de la BioMolecule. Les valeurs individuelles vont de 0 à 1, les valeurs les plus élevées indiquant une plus grande confiance dans la position tridimensionnelle prédite. Voici les confiances atomiques pour les atomes des cinq premiers résidus :
foldedBioMol["BFactors"]["A"]//Take[#,5]&
Out[]=
{{0.73,0.76,0.79,0.7,0.76,0.65,0.6,0.62},{0.84,0.85,0.85,0.8,0.82,0.71,0.65,0.66},{0.9,0.91,0.91,0.89,0.9},{0.92,0.92,0.93,0.91,0.92,0.84,0.8,0.78,0.74},{0.93,0.94,0.94,0.93,0.93,0.9,0.89}}
Nous pouvons utiliser ces valeurs pour calculer la confiance globale de la séquence pliée, c’est-à-dire la moyenne quadratique des valeurs atomiques :
In[]:=
confidence[bm_BioMolecule]:=Sqrt@Mean@Flatten[bm["BFactors"]["A"]^2]
confidence[foldedBioMol]
Out[]=
0.818817
C’est assez élevé, donc cela devrait être « proche » de la structure expérimentale, et nous pouvons obtenir une comparaison numérique exacte avec la fonction BioMoleculeAlign qui est un prototype basé sur
MoleculeAlign
 :
alignment=BioMoleculeAlign[bioMol,foldedBioMol,"Backbone",All]
Out[]=
TransformationTransformationFunction
-0.476971
-0.804336
-0.35432
25.0947
Å
-0.276896
-0.245089
0.929118
15.6046
Å
-0.834163
0.541272
-0.105817
18.991
Å
0
0
0
1.
,Error
1.3834
Å
,BioMoleculeBioMolecule
Type: Peptide (predicted)
Chains: 1

La racine de l’écart quadratique moyen (RMSD en anglais) des atomes du squelette de 1,38 Å est assez bonne, et visuellement nous pouvons voir que la structure repliée correspond étroitement à la structure expérimentale. Comme prévu, l’écart le plus important se situe au niveau des parties N-terminale et C-terminale de la protéine :
Show[BioMoleculePlot3D[bioMol,ColorRules->({_->Darker@Green})],BioMoleculePlot3D[alignment["BioMolecule"],ColorRules->({_->Lighter@Red})],ImageSize->Medium]//Legended[#,SwatchLegend[{Darker@Green,Lighter@Red},{"Experimental","AI folded"}]]&
Out[]=
Experimental
AI folded
Pour obtenir un aperçu plus large de la précision du repliement, nous avons effectué une recherche sur le site web de la PDB pour les protéines monomères à chaîne unique de 95 à 105 résidus, dont la structure a été déterminée par diffraction des rayons X et dont la résolution finale est ≤ 2,0 Å :
La recherche a donné 175 ID d’entrées (vos résultats peuvent différer en raison de changements dans la base de données publique) :
Récupérons chaque structure, plions sa séquence complète, calculons la confiance du pliage et calculons la RMSD par rapport à la géométrie expérimentale. Cependant, avant d’effectuer cette tâche apparemment simple, nous devons nettoyer la liste.
La biologie est une matière complexe, surtout lorsqu’on travaille avec des données expérimentales. La PDB contient près de 230 000 structures déterminées expérimentalement. Une très grande partie d’entre elles sont de haute qualité. Dans la recherche ci-dessus, nous avons filtré les structures à faible résolution (> 2,0 Å) à la source, mais il y a plusieurs autres problèmes potentiels qui doivent être traités.
Tout d’abord, les bases de données ne sont pas parfaites. Bien que la recherche ait spécifié « entités protéiques », certaines protéines conjuguées à des oligosaccharides ont été incluses dans les résultats de la recherche. Elles ont le type de chaîne "Branched" :
Supprimons donc ces deux occurrences :
Deuxièmement, le modèle de repliement des protéines de Meta AI n’accepte que des séquences composées d’un nombre très limité sur les plus de 500 acides aminés naturels connus, dont beaucoup se trouvent dans les protéines de la PDB. Il existe 21 acides aminés protéinogènes codés par l’ADN, et ESMFold n’en utilise que 20 (la sélénométhionine est l’acide aminé qui fait exception).
Les acides aminés sont souvent représentés par leurs abréviations à trois lettres : Ala pour l’alanine, Trp pour le tryptophane, etc. Pour être encore plus concis, les biologistes utilisent également des codes à une lettre (seuls les acides aminés protéinogènes en ont une), comme le montre ce tableau :
Nous pouvons utiliser les codes à une lettre pour construire un filtre :
Testons-le avec l’APP que nous avons récupéré de la PDB ci-dessus :
Jusqu’à présent, tout va bien. Le peptide synthétique 5V63 a été créé pour étudier l’oligomérisation de la protéine amyloïde β et contient de l’ornithine, de la sarcosine et de l’iodophénylalanine. Il ne devrait pas réussir le test :
Super ! Il faut maintenant filtrer les résultats :
Troisièmement, la cristallographie aux rayons X n’est pas parfaite. De nombreux cristaux ne sont pas idéaux et contiennent des défauts. Un défaut courant dans les cristaux de protéines est le désordre : une partie de la protéine ne se cristallise pas de la même manière dans chaque cellule unitaire, et ce phénomène brouille effectivement la densité électronique (ce sont les électrons qui diffusent les rayons X) et les atomes ne peuvent pas être localisés. Le désordre se produit souvent aux extrémités de la chaîne protéique, mais il peut aussi se produire là où il y a des boucles entre les hélices α et les brins β.
Pour que la comparaison des résultats du repliement des protéines soit la plus informative possible, nous devons supprimer les résultats qui ont moins de résidus observés que la séquence complète. Le premier résultat, 1A68, comporte des résidus non observés, comme l’indique le plus petit nombre de monomères modélisés :
Le traitement de l’ensemble de la liste et la sélection des entrées ayant le même nombre d’occurrences nous donnent la liste finale des occurrences :
Enfin, nous pouvons procéder à l’analyse, c’est-à-dire plier la séquence et la comparer à la géométrie expérimentale :
Utilisez l’entrée suivante, stylisée avec un fond marron pour faciliter la reconnaissance, afin d’importer les résultats originaux de l’auteur de l’entrée ci-dessus :
La plupart des structures repliées concordent assez bien avec la structure expérimentale avec une RMSD de 4 Å ou moins :
Dans l’ensemble, les résultats semblent assez bons. On peut s’attendre à une grande RMSD lorsque la confiance du pli est inférieure à 0,75 ; de sorte que les valeurs aberrantes inattendues aient une confiance supérieure à 0,75 et une RMSD supérieure à environ 5 Å. Quelles sont-elles ?
La structure 4J4C correspond à la mutation G51P (la proline remplace la glycine à la position 51) du 3EZM. Il s’agit dans les deux cas de dimères tête-bêche entrelacés. Nous pouvons utiliser les informations d’« assemblage » des biomolécules pour visualiser les dimères (une moitié de chaque dimère est représentée en bleu et l’autre en jaune) :
Le modèle ESMFold suppose que la séquence d’entrée correspond à une structure monomérique, il n’est donc pas surprenant qu’il échoue pour ces dimères entrelacés.
où t est la température, qui a été diminuée par étapes au cours de l’itération, ce qui donne en fait un algorithme de recuit simulé. À proprement parler, le recuit simulé utilise l’énergie au lieu de l’adaptation, et la température a alors une signification physique. Ils ont utilisé le contraste entre les distributions de distance inter-résidus prédites par le réseau trRosetta et les distributions d’arrière-plan, moyennées sur toutes les protéines en tant qu’adaptation et une température initiale échelonnée de manière appropriée. Ils ont utilisé des séquences initiales de 100 résidus et un nombre arbitrairement élevé d’itérations (40 000). Nous suivrons ce schéma de base et l’adapterons au besoin pour Wolfram Language.

Séquence initiale aléatoire

L’utilisation des codes à une lettre sera pratique pour construire des séquences aléatoires et les manipuler :
Voici une séquence aléatoire de 100 résidus :
Utilisez l’entrée suivante, stylisée avec un fond marron pour faciliter la reconnaissance, afin d’importer les résultats originaux de l’auteur de l’entrée ci-dessus :
Le pliage de la séquence donne une BioMolecule, comme nous l’avons vu précédemment :
Nous pouvons voir qu’elle ne possède aucun élément de structure secondaire et qu’elle ne ressemble pas du tout à une protéine naturelle :
Les résidus ont été colorés en commençant par l’extrémité N-terminale en bleu, en passant par le vert, le jaune, l’orange et enfin le rouge à l’extrémité C-terminale.

Adaptation

Bien que nous puissions calculer les distributions de distance inter-résidus pour le pli prédit, nous ne disposons pas des distributions d’arrière-plan établies en moyenne sur toutes les protéines (par exemple à partir de la PDB) utilisées par l’équipe de Baker, et nous ne pouvons donc pas calculer la divergence à utiliser en tant que condition physique.
Cependant, tout n’est pas perdu car, comme nous l’avons vu plus haut, nous pouvons calculer la confiance globale d’un pli, qui devrait convenir en tant qu’adaptation. Il n’est pas surprenant de constater que l’adaptation du pli prédit pour cette séquence aléatoire n’est pas très élevée :

Mutation de résidus

La prochaine chose que nous devons pouvoir faire est de muter la séquence. Tout d’abord, une position dans la séquence est choisie au hasard, puis l’acide aminé à cette position est remplacé par un autre acide aminé :
Utilisez l’entrée suivante, stylisée avec un fond marron pour faciliter la reconnaissance, afin d’importer les résultats originaux de l’auteur de l’entrée ci-dessus :
La valine en position 96 a été remplacée par une alanine. Nous avons donc créé la mutation V96A. Quel est l’effet sur la structure ?
Il est intéressant de noter que l’effet n’est pas entièrement local, et que trois hélices α sont apparues bien à l’écart de l’emplacement de la mutation (la courte hélice rouge). Cela conduit-il à une augmentation ou à une diminution de l’adaptation globale ?

Optimisation par recuit simulé

L’adaptation, c’est-à-dire la confiance dans la prédiction, a légèrement diminué. Le critère de Metropolis pour l’acceptation de la mutation est calculé comme suit :
Le test d’acceptation est le suivant :
Ce changement, qui entraîne une légère diminution de l’adaptation, serait donc accepté.
Nous pouvons regrouper le code précédent dans une fonction pour optimiser la séquence. Le service ESMAtlas limite le nombre d’appels API qu’un utilisateur peut effectuer au cours d’une période donnée, mais les détails ne sont pas divulgués. Un mécanisme de pause a été intégré au code pour tenir compte de la limitation imposée par le service. Nous avons également inclus un moniteur de progression car les appels à l’API peuvent être lents en fonction du nombre d’autres utilisateurs qui appellent le service :
Voici un exemple d’affichage du moniteur de progression :
Pour que cet exercice de démonstration du concept reste réalisable, nous n’utiliserons que 1000 itérations :
Utilisez l’entrée suivante, stylisée avec un fond marron pour faciliter la reconnaissance, afin d’importer les résultats originaux de l’auteur de l’entrée ci-dessus :

Résultats de l’optimisation

C’est vraiment très beau ! Existe-t-il des structures dans la PDB qui présentent une séquence similaire ?
Aucune. Qu’en est-il de la base de données UniProt ? Cette recherche a été effectuée manuellement et n’a trouvé qu’un seul résultat. Voici un extrait du résultat brut de la recherche BLAST :
>TR:A0A106BVQ6 A0A106BVQ6_THIDE 3-isopropylmalate dehydratase large subunit
OS=Thiobacillus denitrificans OX=36861 GN=leuC PE=3 SV=1
Length=467
​
Score = 35.0 bits (79), Expect = 9.7
Identities = 17/45 (38%), Positives = 23/45 (51%), Gaps = 0/45 (0%)
​
Query 2 DYVILRPYYSQDPSIDSSNFWWCGFHGATQDVFHRRIFINATKTD 46
DYV RPY + + D + WW H VF R + ++ATK D
Sbjct 242 DYVKGRPYSPKGAAWDKAVAWWNTLHSDADAVFDRVVELDATKID 286
Que pouvons-nous apprendre d’autre de l’optimisation ? Voici comment la condition physique s’est améliorée au cours de l’optimisation :
Une grande partie des itérations n’a pas modifié la séquence :
Et voici comment le changement de l’adaptation a évolué (les zéros ont été supprimés) :
Voici l’endroit où les mutations ont eu lieu au cours de l’optimisation :
Et voici la répartition de la fréquence de la position des résidus :
Douze positions de résidus (6, 8, 46, 53, 62, 64, 69, 71, 82, 83, 96, 98) n’ont pas été modifiées. Soit elles n’ont pas été sélectionnées, soit les modifications se sont avérées délétères et n’ont pas passé le critère de Metropolis. Le meilleur remède serait d’utiliser plus d’itérations (Baker en a utilisé 40 000).
Comment la teneur en acides aminés a-t-elle évolué et quelle est la répartition finale ?
L’isoleucine (I), l’arginine (R) et la thréonine (T) sont les acides aminés les plus fréquents dans la dernière séquence, et la méthionine (M) a complètement disparu.
Comment la géométrie du pli a-t-elle évolué ? Prenons 10 exemples d’une progression géométrique à travers les itérations et plions-les :
Le traçage de la RMSD de l’alignement donne une idée approximative de la similarité structurelle par paire de l’échantillon :
Examinons maintenant les structures. Dans les tracés ci-dessous, les résidus ont été colorés en fonction du degré de confiance de la prédiction. Le premier chiffre de chaque tableau est la confiance globale du pli, et le deuxième chiffre est l’étape de l’itération :
Lorsque la confiance globale atteint environ 0,7, le pli s’est stabilisé.
Une autre façon d’évaluer l’évolution du pli consiste à utiliser les cartes de contact inter-résidus. Comme l’a observé l’équipe de Baker, les cartes sont initialement diffuses et deviennent plus nettes au cours de l’optimisation :
Par curiosité, nous avons soumis manuellement la séquence optimisée au serveur trRosetta. Voici les plis qui ont été prédits avec l’utilisation de modèles, ainsi que la confiance globale :
Le modèle trRosetta donne une confiance dans la position atomique sur une échelle de 0 à 100, et la confiance globale pour chaque pli n’est pas très élevée.
Le rapport de pliage comprenait les remarques suivantes :
◼
  • Le degré de confiance du modèle est très faible. Il a été construit sur la base d’un pliage de novo, guidé par des contraintes d’apprentissage profond.
  • ◼
  • Il s’agit d’un repliement d’une seule séquence avec trRosettaX, car aucun homologue de séquence significatif n’a été détecté (dans uniclust30_2018_08).
  • Comment sont-ils, comparés à notre structure optimisée prédite par ESMAtlas ? Pas très proche d’après la RMSD de l’alignement :
    Il en faut combien ? Combien d’itérations suffisent pour obtenir des résultats utiles ? Même avec les ordinateurs personnels et les vitesses Internet rapides d’aujourd’hui, l’évolution d’une séquence à l’aide du service API peut prendre des heures. Comme nous l’avons vu plus haut, 1000 itérations ne suffisent pas pour échantillonner les 100 positions de résidus, ne serait-ce qu’une seule fois, et encore moins plusieurs fois, afin de trouver un acide aminé optimal pour chacune d’entre elles.

    5000 itérations

    Utilisez l’entrée suivante, stylisée avec un fond marron pour faciliter la reconnaissance, afin d’importer les résultats originaux de l’auteur de l’entrée ci-dessus :
    Cette itération n’est pas une simple extension de la précédente, même si elles ont toutes deux commencé avec la même séquence aléatoire initiale et le même état aléatoire. En effet, la demi-vie de la baisse de température est plus longue, ce qui permet à cette itération de diverger dès que le critère de Metropolis donne un résultat différent. Ce fait devient évident lorsque l’on compare l’adaptation des deux itérations :
    La séquence optimisée finale ne ressemble en rien à celle de l’itération la plus courte :
    La répartition des acides aminés est également très différente. Notamment, plusieurs acides aminés ont disparu : la phénylalanine (F), l’histidine (H), la proline (P) et le tryptophane (W) :
    Quel est donc le pli de cette séquence ?
    Il s’agit d’une longue hélice α ! Si l’on considère qu’il n’y a pas de résidus de proline, ce résultat n’est pas surprenant. La proline contient un anneau qui limite la rotation autour de l’angle ϕ, ce qui se traduit généralement par un nœud dans le squelette à cette position. Par conséquent, l’absence de résidus de proline signifie qu’il n’y a pas de rotation :
    Les tracés ci-dessous montrent que la topologie générale du pli final est atteinte assez tôt, à environ 40 % de l’itération, lorsque la confiance est d’environ 0,75 ; comme nous l’avons vu dans l’itération la plus courte :

    10 000 itérations

    Utilisez l’entrée suivante, stylisée avec un fond marron pour faciliter la reconnaissance, afin d’importer les résultats originaux de l’auteur de l’entrée ci-dessus :
    L’évolution de l’adaptation pour les trois itérations est présentée ci-dessous. Les itérations à 5000 et 10 000 étapes ont produit des séquences très fiables, mais elles n’ont en aucun cas convergé vers une confiance maximale, comme le montre l’encadré :
    Bien que l’échantillonnage des positions des résidus soit environ deux fois plus élevé que l’itération plus courte de 5000 étapes, il est plus diffus :
    De plus, seulement 15 % des positions de résidus ont connu chaque acide aminé au moins une fois (colonnes vertes dans le tracé ci-dessous), et aucun acide aminé n’a résidé au moins une fois à chacune des positions de résidus (lignes vertes, seule l’alanine s’en est approchée). Par conséquent, le passage à 20 000 ou même 40 000 étapes (comme l’a fait Baker) peut s’avérer nécessaire pour obtenir un recuit adéquat :
    On constate à nouveau la perte de plusieurs acides aminés, et notamment de la proline :
    La séquence finale est la suivante :
    Un autre pliage en hélice α comme le laissait présager l’absence totale de proline. Quelles sont les similarités entre ces deux séquences ?
    Il y a une certaine similarité entre les deux séquences, mais elle n’est pas très élevée. Peut-on découvrir pourquoi une séquence sans proline est le résultat de cette optimisation ?
    Quelle est la probabilité d’un remplacement réussi par la proline à chaque position de résidu ? Pour calculer ces probabilités, nous avons besoin de l’adaptation (confiance globale du pli) de la séquence sans proline et de chacune des séquences substituées par la proline :
    Nous avons également besoin de la température à cette étape :
    Et enfin des probabilités :
    Nous constatons qu’une grande partie des positions de résidus ont une probabilité très faible, mais qu’il en reste un nombre non négligeable avec une probabilité de 1. En fait, la proline réapparaît à une étape ultérieure avant d’être finalement perdue. La dernière étape à perdre une proline est 5885 :
    Le calcul des probabilités de restauration d’une proline à ce stade des itérations est le suivant :
    Il est donc devenu beaucoup plus difficile de restaurer la proline dans la séquence et l’on se retrouve avec une séquence qui se replie dans une forme hélicoïdale de type α.
    Une amélioration de poids Toutes les positions de résidus ne sont pas égales et, lorsqu’il s’agit de prédire la structure, certaines sont mieux caractérisées que d’autres. Puisque nous faisons de la conception par optimisation, pourrions-nous améliorer le processus en mutant de préférence les positions de résidus dont la prédiction est moins fiable ? En d’autres termes, il faut accorder plus d’attention aux régions moins bien définies.
    Nous avons utilisé la confiance par résidu pour coder en couleur les séquences repliées, et nous pouvons utiliser la même confiance par résidu pour pondérer la sélection des résidus lors de la mutation.
    Voici une fonction de mutation remaniée qui peut prendre en compte un ensemble facultatif de poids de position des résidus :
    En prenant comme entrée la séquence optimisée à partir de l’optimisation à 1000 itérations, voici une mutation sans poids :
    On calcule les pondérations basées sur la confiance avec :
    Voici la mutation avec ces poids, en partant, bien sûr, du même état aléatoire :
    Nous pouvons ajouter une option à la fonction sequenceSimulatedAnnealing pour utiliser des poids basés sur la confiance (changements de code surlignés en bleu) :
    Utilisez l’entrée suivante, stylisée avec un fond marron pour faciliter la reconnaissance, afin d’importer les résultats originaux de l’auteur de l’entrée ci-dessus :
    L’évolution temporelle de l’adaptation pour l’optimisation pondérée est à peu près la même que pour l’optimisation non pondérée. Il n’est pas immédiatement évident de savoir si la différence de l’adaptation à la fin est significative :
    Étonnamment, beaucoup moins de mutations répondaient au critère Metropolis :
    C’est probablement ce qui explique la plus faible adaptation à la fin de la séquence. Il y a un indice de mutation plus fréquente à l’extrémité C-terminale de la séquence (résidu 100) dans le tracé de droite. Cela s’explique par le manque de confiance caractéristique dans les géométries des résidus aux extrémités de la séquence. Dans une autre optimisation à 10 000 étapes, ce phénomène était beaucoup plus évident :
    Il n’y a pratiquement aucune similarité entre les deux séquences finales :
    Et, heureusement, la séquence pliée a une topologie différente :
    Là encore, les bases de données publiques sur les protéines sont dépourvues de séquences similaires :
    Quatre résultats ont été trouvés dans la base de données UniProt, dont voici le meilleur, bien qu’il ne soit pas très bon avec le score E = 3,4 :
    >TR:A0A8J3MJ45 A0A8J3MJ45_9ACTN Hydrolase OS=Catellatospora sp. TT07R-123 OX=2733863
    GN=Cs7R123_19000 PE=4 SV=1
    Length=252
    ​
    Score = 36.2 bits (82), Expect = 3.4
    Identities = 21/67 (31%), Positives = 33/67 (49%), Gaps = 10/67 (15%)
    ​
    Query 26 MVTEIGF----LLGVWETTGSWESVLLECKIGCDNIDH------CGLIGSGSEASLSVAF 75
    +V+ IGF LL WE TG ++++L ++GC D CG++ E +L +
    Sbjct 152 VVSNIGFDIRPLLDAWELTGLCDAIVLSYEVGCIKPDQKIFLRACGMLAVDPERTLMIGD 211
    ​
    Query 76 KTADTNA 82
    AD A
    Sbjct 212 TPADAGA 218
    Résumé Qu’avons-nous appris au cours de notre expédition computationnelle ? Je pense que le plus important est que nous avons eu besoin de très peu de codage. Nous avons créé quelques « lignes simples » (confidence, acceptableSequenceQ, randomSequence, residueConfidence, mutate) et une seule grande fonction(sequenceSimulatedAnnealing). Tout le reste dont nous avions besoin était intégré dans Wolfram Language et fonctionnait simplement.
    La possibilité de partir d’une simple séquence de codes d’acides aminés (1° structure) et d’obtenir en une seule étape une structure de protéine tridimensionnelle réaliste (3° structure) est tout à fait étonnante et profondément satisfaisante. L’avènement des LLM est vraiment digne d’un prix Nobel, et le fait que nous puissions facilement monter sur les épaules de ces géants est époustouflant.
    Nous avons également appris que les données expérimentales peuvent être difficiles à utiliser. Pour faire de la bonne science, il faut être attentif aux détails et se demander souvent pourquoi on a obtenu tel ou tel résultat. Au fur et à mesure, nous avons émis des hypothèses et les avons testées.
    Nous n’avons fait qu’effleurer la surface de la biologie computationnelle, et Wolfram Language nous permettra d’aller beaucoup plus loin.
    Idées pour une exploration plus poussée La corrélation entre les propriétés des acides aminés et les plis optimisés constitue un domaine d’exploration fructueux. Où se situent les résidus polaires et non polaires dans les trois dimensions ? Qu’en est-il des résidus chargés, tels que l’arginine, l’histidine, l’aspartate et le glutamate ?
    Quel est l’effet de l’augmentation ou de la diminution du taux de refroidissement ? Nous avons fixé la demi-vie de la température à 1/8 du nombre d’itérations, comme l’a fait le groupe de Baker. Cependant, nous avons utilisé un protocole continu alors qu’ils ont utilisé un protocole progressif.
    Existe-t-il d’autres stratégies d’optimisation plus efficaces ? Nous avons déjà vu que la pondération de la sélection de la position du résidu par 1, residueConfidence augmente l’échantillonnage des régions moins bien définies de la chaîne. Existe-t-il une pondération par acide aminé qui pourrait être exploitée ? Quel serait l’effet d’une préférence pour certains acides aminés par rapport à d’autres ? Par exemple, il existe une classe de protéines connues sous le nom de protéines riches en glycine qui contiennent plus de 60 % de résidus de glycine et que l’on trouve dans les tissus de nombreux organismes eucaryotes.
    De nombreuses protéines contiennent des ponts disulfures entre les résidus de cystéine. Comment cette caractéristique pourrait-elle être intégrée dans la génération de séquences aléatoires et la mutation ultérieure ? ESMAtlas peut-il replier des séquences avec cette contrainte topologique ?
    Quels autres objectifs d’optimisation pourrait-on utiliser ? Nous avons optimisé la confiance du repli. Comment pourriez-vous optimiser une forme ou une combinaison particulière d’hélices et de brins ? Comment pourriez-vous optimiser un site actif d’enzyme ou une poche de liaison de récepteur ?
    Initialisation

    chainResidueAtom

    BioMoleculeAlign