Dans la recherche de molécules similaires, une question fondamentale se pose : quels facteurs doivent être pris en compte pour évaluer la similarité entre deux molécules ? Cette évaluation est loin d'être simple, car chaque facteur peut offrir des avantages ou des inconvénients spécifiques en fonction des critères choisis. En règle générale, la mesure de similarité évalue le degré de partage des caractéristiques entre les paires de molécules. Cependant, le choix de la représentation des caractéristiques a une influence directe sur les résultats obtenus, que ce soit par l'utilisation de métriques de similarité différentes ou par des stratégies de recherche variées. Un exemple typique est illustré par la figure 2.3, qui montre que les relations structure-propriété sont souvent complexes. Cela souligne un défi majeur dans la recherche de similarité : la similarité structurale d'une molécule ne garantit pas nécessairement une fonction similaire par rapport à une molécule de référence.

Cela peut sembler contre-intuitif, car l'on pourrait supposer qu'une structure similaire implique un comportement fonctionnel similaire. Cependant, comme le montre la figure, ce n'est pas toujours le cas. Certaines parties d'une molécule sont cruciales pour sa fonctionnalité, tandis que d'autres peuvent être complètement sans pertinence, ou même contradictoires. La difficulté réside dans le fait que ces informations doivent être extrapolées à partir de la structure d'une seule molécule. C'est ici que l'apprentissage automatique entre en jeu : en disposant d'un jeu de données étiqueté, il devient possible de former un modèle capable d'identifier les sous-structures réellement déterminantes parmi un ensemble de molécules ayant des activités connues. L'apprentissage automatique, donc, n'est pas simplement un outil pour traiter des données, mais un moyen d'affiner la compréhension des caractéristiques chimiques essentielles à la fonction d'une molécule.

L'étape suivante dans le processus de recherche consiste à charger une bibliothèque de criblage virtuel. Ce processus, détaillé dans le chapitre 1, implique la gestion de jeux de données moléculaires. L'un des formats les plus courants pour le stockage de ces ensembles de données est le fichier Structure Data File (SDF), qui permet de transférer plusieurs structures moléculaires avec leurs propriétés associées. Une fois le jeu de données chargé, il est essentiel de vérifier la qualité des molécules qu'il contient, afin d'éliminer celles qui sont incorrectes ou qui présentent des erreurs. À ce stade, les descripteurs moléculaires sont calculés pour fournir des informations quantitatives et qualitatives sur les molécules de l'ensemble.

Lorsqu'un jeu de données est constitué, chaque molécule peut être représentée sous la forme d'un SDF. Le format SDF permet d'encapsuler les informations structurales et les propriétés associées de manière cohérente. Ce format, dérivé de la table de connexions qui relie les atomes et les liens dans une molécule, permet de visualiser et d'analyser les molécules sous différents angles. Les informations contenues dans un fichier SDF comprennent non seulement la structure 2D ou 3D de la molécule, mais aussi des détails sur les atomes et les liaisons qui la composent, ainsi que des données de propriété. Cependant, il est important de souligner que la table de connexions n'est pas unique. Par exemple, des permutations des indices des atomes et de leurs liaisons peuvent générer des tables de connexions équivalentes, mais non identiques. L'enrichissement des SDF par des informations supplémentaires sur les atomes et les liaisons rend leur analyse d'autant plus précieuse, mais aussi plus complexe.

Un autre aspect critique dans le traitement des molécules consiste en la "sanitisation". Ce processus consiste à vérifier la validité chimique des molécules contenues dans un jeu de données avant de les convertir en objets Mol dans RDKit. La sanitisation est essentielle pour garantir la qualité des données et la fiabilité des résultats. En effet, sans cette étape de validation, des conclusions incorrectes pourraient être tirées, menant à une perte de temps et de ressources. Les erreurs de sanitisation peuvent provenir de diverses sources, telles que des erreurs dans la notation SMILES, des structures chimiques non valides ou des anomalies dans la topologie de la molécule. Pour éviter cela, chaque molécule doit être soumise à un contrôle strict pour s'assurer de sa validité avant toute analyse plus poussée.

La capacité de travailler avec des objets Mol dans RDKit est essentielle pour explorer les données moléculaires. Un objet Mol représente une molécule et contient des informations sur sa structure et ses propriétés. Lorsqu'on analyse un jeu de données de molécules, l'utilisation d'outils comme PandasTools facilite la gestion de ces objets en permettant leur conversion en DataFrames, ce qui simplifie leur manipulation et analyse ultérieure. De plus, la possibilité de visualiser ces objets sous forme d'images, comme celles générées par la fonction Draw.MolsToGridImage(), permet aux chercheurs d'examiner visuellement les structures moléculaires, ce qui est particulièrement utile lors de l'identification de tendances ou de caractéristiques communes entre plusieurs molécules.

La structure des molécules et leurs propriétés physiques et chimiques sont donc au cœur de toute recherche de similarité. Toutefois, il est essentiel de comprendre que les similitudes structurelles ne se traduisent pas toujours par des similitudes fonctionnelles. Les chercheurs doivent être conscients de la complexité de ces relations et des limites des méthodes traditionnelles de comparaison moléculaire. L'utilisation de techniques avancées comme l'apprentissage automatique permet de surmonter certaines de ces difficultés, offrant ainsi des perspectives nouvelles et plus précises pour la découverte de médicaments et d'autres applications en chimie et biologie.

Comment évaluer l'efficacité d'un modèle de classification linéaire ?

Les modèles non paramétriques sont souvent préférés lorsqu'il s'agit d'analyser des données complexes, car ils font moins d'hypothèses sur la distribution sous-jacente des données. Contrairement aux modèles paramétriques, qui supposent une forme particulière pour les données, les modèles non paramétriques sont capables d'adapter leur structure pour mieux correspondre à la complexité des données. Par exemple, l'analyse en composantes principales (ACP) est une technique non paramétrique qui simplifie les données complexes en éliminant les caractéristiques moins importantes tout en conservant celles qui sont essentielles, sans supposer une distribution spécifique des données. Cette approche flexible permet de mieux comprendre comment le modèle travaille avec les données pendant l'entraînement.

L'objectif de tout modèle d'apprentissage automatique est d'apprendre une fonction qui relie les caractéristiques d'entrée (les "empreintes digitales" des molécules, dans notre cas) à une propriété d'intérêt, telle que la capacité d'une molécule à bloquer un canal hERG. Le processus de formation d'un modèle de classification linéaire repose sur l'apprentissage d'une frontière de décision qui sépare les données en deux classes : les molécules qui bloquent le canal hERG et celles qui ne le bloquent pas. Ce processus de séparation est effectué en ajustant la frontière de décision à chaque itération d'entraînement. L'objectif est de développer un modèle linéaire dont la frontière de décision sépare correctement les données d'entraînement et généralise bien sur de nouvelles données non vues.

Lorsque nous entraînons un modèle de classification linéaire, nous utilisons une méthode telle que le descente de gradient stochastique (SGD) pour optimiser les paramètres du modèle. Une fois le modèle entraîné, il est possible de prédire les résultats et d'évaluer la performance du modèle à l'aide de métriques telles que l'exactitude. Si l'on prend l'exemple d'un modèle entraîné pour prédire les molécules qui bloquent le canal hERG, il peut atteindre une exactitude de 96,2 % sur l'ensemble d'entraînement. Toutefois, ce n'est pas la fin du processus, car l'objectif est d'évaluer la capacité du modèle à généraliser sur des données non vues.

Il est essentiel que le modèle ne soit pas uniquement performant sur les données d'entraînement, mais qu'il puisse également bien prédire de nouvelles données. Pour cela, nous utilisons un ensemble de test, qui permet d'estimer l'erreur de généralisation du modèle. Cependant, une utilisation trop fréquente de l'ensemble de test pour évaluer le modèle compromet son efficacité, car il devient de moins en moins représentatif des données réelles non observées. Afin de préserver l'intégrité de cet ensemble, nous devons éviter d'y recourir de manière répétée pendant le processus d'entraînement.

Dans ce contexte, la validation croisée est une méthode utile. Au lieu de diviser les données en un seul ensemble d'entraînement et un ensemble de test, nous découpons l'ensemble d'entraînement en plusieurs sous-ensembles (ou "pli"). Chaque modèle est formé sur une combinaison de ces sous-ensembles et évalué sur le pli restant. Ce processus permet de mieux estimer la capacité du modèle à généraliser tout en utilisant toutes les données disponibles. Plus le nombre de plis est élevé, plus l'évaluation sera précise, bien que cela implique un coût de calcul supplémentaire.

En utilisant la validation croisée à k plis, nous obtenons une évaluation plus robuste de la performance du modèle, qui peut être particulièrement utile dans les situations où la taille de l'échantillon d'entraînement est limitée. L'idée est que le modèle formé avec les meilleures performances sur les données validées soit ensuite ré-entrainé sur l'ensemble complet des données d'entraînement avant d'être testé sur un ensemble de test séparé. Ce processus garantit que l'évaluation finale du modèle est fiable.

Cependant, une simple mesure de l'exactitude, bien que largement utilisée, n'est pas toujours suffisante. Dans des ensembles de données déséquilibrés, où certaines classes sont beaucoup plus fréquentes que d'autres, l'exactitude peut être trompeuse. Par exemple, dans le cas des prédictions sur les molécules bloquant le canal hERG, si la majorité des molécules sont effectivement des bloqueurs, un modèle qui classe systématiquement toutes les molécules comme des bloqueurs pourrait obtenir une performance de 70 %, mais cela ne signifie pas qu'il soit vraiment efficace. Il est alors préférable d'utiliser des métriques complémentaires telles que la matrice de confusion, la précision et le rappel pour obtenir une image plus complète de la performance du modèle.

La précision mesure la proportion d'exemples correctement classifiés parmi ceux qui ont été prédits positivement, tandis que le rappel mesure la capacité du modèle à identifier tous les exemples de la classe positive. L'analyse de ces deux métriques, ainsi que de la matrice de confusion, permet d'obtenir un aperçu détaillé des erreurs du modèle et de mieux comprendre où il faut améliorer les performances. Un modèle efficace ne se contente pas de donner une mesure globale de son exactitude, mais offre une analyse fine des types d'erreurs commises et de leur impact sur les prédictions.

Enfin, une fois le modèle validé et optimisé, il est possible de l'utiliser pour des prédictions en conditions réelles. Toutefois, avant de déployer un modèle dans un environnement de production, il est crucial de l'entraîner à nouveau sur l'ensemble complet des données disponibles, y compris celles de l'ensemble de test. Cette étape finale permet d'assurer que le modèle bénéficie de toutes les informations disponibles et est prêt à être utilisé dans des applications pratiques.

Comment les Conformères et les Descripteurs 3D sont générés et analysés pour les Ligands

L'algorithme de lissage des bornes triangulaires est appliqué pour garantir que les bornes supérieures et inférieures des distances entre les paires d'atomes respectent l'inégalité triangulaire. Cet algorithme itère à travers tous les triplets d'atomes et ajuste les bornes des distances de manière à ce que l'inégalité triangulaire soit respectée, c'est-à-dire que la somme des longueurs de deux côtés d'un triangle doit être supérieure à la longueur du troisième côté. Cette contrainte géométrique est cruciale pour garantir la validité des structures 3D générées.

Ensuite, une matrice de distances aléatoires est générée de manière à satisfaire les contraintes géométriques définies par la matrice de bornes de distances lissées. Différentes matrices de distances aléatoires correspondent à différents conformères. Ces conformères sont ensuite intégrés en 3D, en utilisant la matrice de distances aléatoires pour produire les coordonnées 3D de chaque atome. Cependant, la géométrie 3D résultante du conformère peut ne pas être idéale, avec des longueurs de liaisons et des angles de torsion déviant des valeurs optimales ou pouvant entraîner des collisions stériques et des structures tendues.

Il est donc nécessaire de "nettoyer" le conformère en optimisant sa géométrie 3D à l'aide d'un champ de forces. Un champ de forces est un ensemble de fonctions mathématiques et de paramètres qui décrivent les interactions entre les atomes d'une molécule, telles que l'élongation des liaisons et les rotations torsionnelles. La génération de conformères par défaut de RDKit appliquait initialement uniquement un champ de forces de géométrie de distance basé sur les contraintes de distances définies dans la matrice des bornes de distances. Cependant, les responsables du projet RDKit ont constaté de meilleures performances en utilisant le champ de forces ETKDG (Experimental Torsions and Knowledge-Driven Geometry), qui prend en compte les torsions expérimentales dérivées de la Cambridge Structural Database et les termes de connaissance, tels que les anneaux aromatiques plats et les liaisons triples linéaires, afin de corriger les résultats des méthodes de géométrie de distance.

Dans ce processus, il est possible de générer plusieurs conformères pour chaque protomère et de trouver celui avec l'énergie minimale. Une fois les conformères générés, seuls ceux qui se trouvent à moins de 3 kcal/mol de la conformation à l'énergie la plus basse sont conservés. Avec les approches ETKDG, la qualité des conformères est suffisamment bonne pour être utilisée sans minimisation supplémentaire de l'énergie via des champs de forces additionnels, bien qu'une optimisation ultérieure à l'aide du Universal Force Field (UFF) puisse encore améliorer la conformation.

Cependant, il peut arriver qu'une structure soit "tendue", c'est-à-dire qu'elle ait une énergie potentielle inhabituellement élevée en raison d'interactions défavorables entre les atomes, ce qui la rend instable. La tension dans une molécule peut être causée par plusieurs facteurs. La contrainte stérique, par exemple, se produit lorsque les composants moléculaires se rapprochent trop les uns des autres, entraînant des interactions répulsives. Cela se produit fréquemment dans les molécules avec des substituants volumineux ou dans les structures cycliques où les atomes sont trop proches. Une autre forme de contrainte, la contrainte angulaire, se produit lorsque les angles de liaison dévient de leurs valeurs optimales, augmentant ainsi l'énergie potentielle de la molécule. Il est possible d'estimer le degré de cette contrainte en comparant les angles avec les données statistiques tirées des angles les plus courants entre différents types d'atomes.

Les tensions torsionnelles apparaissent lorsque la rotation autour d'une liaison est entravée par des interactions stériques ou la présence d'autres groupes dans la molécule, forçant la molécule dans une conformation moins favorable. Enfin, la contrainte sur les cycles, ou "tension de cycle", se produit dans les molécules cycliques où les angles et les longueurs des liaisons sont limités par la structure du cycle. Les cycles de tailles ou de formes atypiques, comme les petits cycles ou les cycles non plans, peuvent présenter des tensions de cycle importantes.

Une fois les conformères générés, des descripteurs doivent être calculés pour évaluer la géométrie 3D et la réactivité des ligands. Cela nécessite l'agrégation des descripteurs des différents protomères et de leurs conformations sous forme d'un vecteur de descripteurs unique pour chaque ligand. Cette agrégation se fait par une moyenne pondérée de Boltzmann, ce qui permet de prendre en compte l'énergie de chaque conformation. L'agrégation des descripteurs se fait à la fois pour chaque protomère et pour chaque conformation sous-jacente. Une fois ces étapes terminées, on peut obtenir un vecteur final de descripteurs pour chaque ligand, représentant sa géométrie 3D et ses propriétés liées à l'énergie.

En termes pratiques, la variabilité des descripteurs 3D entre les conformères est un facteur important à prendre en compte, car elle peut avoir un impact significatif sur les prédictions des propriétés moléculaires. Même si les descripteurs 2D peuvent offrir une bonne approximation dans certains cas, les descripteurs 3D sont cruciaux pour évaluer les ligands dans leur conformation tridimensionnelle réelle, permettant ainsi une compréhension plus précise de leur comportement et de leur réactivité.

Enfin, il est essentiel de comprendre que cette approche de génération de conformères et de calcul de descripteurs ne se limite pas à une simple estimation. Elle permet de capturer des aspects plus complexes du comportement moléculaire, en prenant en compte non seulement les interactions atomiques locales mais aussi les effets à l'échelle globale, ce qui est particulièrement important dans des contextes tels que la conception de médicaments ou l'analyse de matériaux. La prise en compte de l'ensemble des conformations possibles d'un ligand et la pondération de ces conformations en fonction de leur énergie relative permettent de mieux appréhender la dynamique moléculaire dans un environnement réaliste.

L'optimisation de la conception de médicaments basée sur la structure : un aperçu de l'apprentissage actif

La conception de médicaments fondée sur la structure s'appuie sur la capacité à prédire l'affinité de liaison entre les molécules et les cibles biologiques. L'outil de tableau de bord fournit trois indicateurs clés de performance qui illustrent l'efficacité de l'apprentissage actif dans la conception de médicaments. À gauche, la progression du meilleur score de docking montre une diminution constante jusqu'à environ -10,5 kcal/mol, ce qui suggère une amélioration des prévisions d'affinité de liaison. À droite, la courbe des molécules les mieux classées augmente pour atteindre environ 80%, démontrant la capacité croissante du modèle à identifier les composés à haut score. Enfin, en bas, la courbe de la perte d'entraînement montre une convergence typique en passant de ~6 à ~2 au cours de 100 itérations. Ces résultats révèlent l'efficacité de l'approche d'apprentissage actif dans le raffinage progressif des prédictions, tout en réduisant les exigences computationnelles par rapport au docking exhaustif de l'ensemble complet de composés.

La visualisation de la couverture de l'espace chimique à chaque itération (figure 9.9) permet de suivre l'évolution de l'exploration chimique. Cependant, la variance expliquée par les deux premiers composants principaux (PC1 et PC2) ne dépasse pas 5%, ce qui signifie que la représentation est réductrice. Pour une exploration plus approfondie, il serait pertinent d'utiliser des méthodes de visualisation alternatives comme UMAP, qui permettent une projection plus riche et plus informative de l'espace chimique.

Au-delà de TensorBoard, des outils comme Weights & Biases ou MLflow peuvent être explorés pour une gestion complète des expériences. Ces plateformes offrent des visualisations intuitives et des fonctions de collaboration, tout en s'intégrant parfaitement avec PyTorch. Elles sont particulièrement utiles pour gérer le cycle de vie complet des expériences d'apprentissage machine, depuis la configuration des expérimentations jusqu'à l'analyse des résultats.

L'analyse des stratégies d'apprentissage actif nécessite une évaluation approfondie de plusieurs paramètres interdépendants, notamment la sélection initiale des échantillons, les fonctions d'acquisition et les tailles de lots. Pour comprendre le rôle de chaque facteur, des études d'ablation peuvent être réalisées, où l'on retire ou modifie des composants spécifiques et mesure leur impact sur le résultat. Cela permet d’isoler la contribution de chaque facteur à la performance globale.

La gestion des expériences avec une structure comme l'ExperimentManager est essentielle pour organiser et suivre les expérimentations. Cette classe permet de configurer les expériences, d'exécuter les simulations, de suivre les résultats et de visualiser les données, libérant ainsi l'utilisateur de la gestion fastidieuse de l'infrastructure. L'utilisation de paramètres clés comme le pool de caractéristiques moléculaires, les représentations SMILES, et la fonction oracle permettant d’évaluer les molécules candidates garantit des comparaisons équitables entre les différentes configurations expérimentales. En utilisant un tel gestionnaire, on peut facilement effectuer des analyses systématiques sur divers paramètres, ce qui est essentiel pour évaluer l'efficacité des différentes stratégies et identifier les configurations optimales.

Une analyse des résultats des expériences d'apprentissage actif permet de comparer l'efficacité de différentes stratégies d’acquisition en fonction de la rapidité avec laquelle elles identifient les molécules les mieux classées. Par exemple, en comparant des configurations utilisant un échantillonnage aléatoire, une fonction d’acquisition "greedy", et 20 itérations d’apprentissage actif avec des budgets et des tailles d’échantillons initiaux différents, on observe que l'option avec un nombre initial de 1000 échantillons et un budget de 100 molécules par itération donne systématiquement de meilleurs résultats. Les stratégies qui commencent avec un échantillon plus important montrent une capacité à mieux affiner le modèle, ce qui permet de découvrir plus rapidement des molécules prometteuses. En revanche, des configurations où les budgets d'itération sont plus petits ont des performances inférieures en raison d'un démarrage moins favorable, ce qui affecte la capacité du modèle à identifier efficacement les meilleurs candidats dès les premières itérations.

L'une des conclusions les plus marquantes de ces expérimentations est que la diversité chimique des composés évalués joue un rôle crucial dans la performance globale. À chaque étape du processus d’apprentissage actif, l'évaluation de la diversité chimique permet de mieux comprendre comment l'algorithme explore l'espace chimique et quels types de composés sont sous-représentés ou sur-représentés dans l'échantillon. L’utilisation d’une fonction d’acquisition comme "uncertainty" permet de cibler ces zones moins explorées et de maximiser l’extension de la couverture chimique du modèle.

La gestion des expériences d'apprentissage actif est une entreprise complexe, mais elle peut être grandement facilitée par des outils dédiés qui automatisent de nombreuses tâches, de la configuration à l’analyse des résultats. En utilisant des plateformes comme MLflow ou Weights & Biases, les chercheurs peuvent se concentrer sur l’interprétation des résultats plutôt que sur la gestion de l’infrastructure. Cela permet de maximiser l’efficacité du processus de découverte et d’optimiser la sélection des candidats médicaments de manière beaucoup plus rapide et efficace que les méthodes traditionnelles.