La cheminformatics

Une discipline à la croisée de la chimie, de l'informatique et des mathématiques

a marqué ce sujet comme résolu.
Auteur du sujet

Bonjour à tous!

Voici un brouillon d'article sur la cheminformatics. Il n'est encore pas terminé et j'espère que vos commentaires m'aideront à l'améliorer.

N'hésitez pas à critiquer. :)


Depuis les débuts de la chimie, des millions et des millions de molécules différentes ont été découvertes dans la nature ou synthétisées en laboratoire. La conservation et l'exploitation de cette masse de connaissance est un défi que la démocratisation de l'informatique nous permet enfin de relever efficacement. Le terme cheminformatics, mot anglais abbrégé de chemical informatics et généralement utilisé tel quel en français, peut se définir comme suit :

La cheminformatics consiste en la création, l'organisation, la gestion, l'extraction, l'analyse, la propagation, la visualisation et l'utilisation de données chimiques.1

L'objectif de cet article est de donner un aperçu modeste de cette discipline, de ses liens avec d'autres sciences et de son importance dans la recherche actuelle en chimie.

La représentation in silico des molécules

La question de la représentation des molécules est antérieure à l'apparition de l'informatique puisqu'il n'a jamais été possible de «voir» une molécule. Ainsi, au fil des siècles, les chimistes ont pris l'habitude de les dessiner avec toute une sémantique implicite. Désormais, à partir des représentations suivantes, tout chimiste est capable de calculer les masses molaires des molécules en question, d'estimer leur acidité, etc. :

Formules topologiques de quelques molécules

Malheureusement, un ordinateur n'est pas capable d'interpréter ces dessins tel que nous le faisons. Il a donc fallu inventer de nouvelles représentations adaptées aux ordinateurs. Deux grandes familles ont été développées : les notations inline (qui tiennent en une unique ligne) et les tables de données.

Une célèbre notation inline apparue dans les années 1980 et toujours très populaire aujourd'hui est la notation SMILES (Simplified Molecular Input Line Entry Specification).2 Celle-ci permet de décrire toute molécule sous forme d'une chaîne de caractère, ce qui permet de constituer des bases de données occupant peu de mémoire. Voici quelques exemples de SMILES :

Quelques exemples de SMILES

remplacer la diméthyl amine par l'éthanol!!!

Ensuite, il «suffit» d'écrire un parseur capable d'en déduire les atomes présents et les liaisons entre eux pour commencer à calculer certaines propriétés (masse molaire, etc.). Cette représentation a l'avantage d'être assez facilement écrivable et lisible par l'humain, mais elle souffre de quelques défauts. Le principal soucis est que l'on peut écrire plusieurs SMILES différents pour une même molécule (par exemple CCO ou OCC représentent toutes les deux l'éthanol). Des règles complexes ont donc été élaborées pour écrire des SMILES canoniques afin d'éviter d'enregistrer des doublons dans les bases de données.

L'autre format inline incontournable est le InChI (International Chemical Identifier).3 Il comble certaines lacunes des SMILES et fortement recommandé. En revanche, il est moins facilement interprétable ; j'en veux pour preuve le InChI de l'éthanol : 1S/C2H6O/c1-2-3/h3H,2H2,1H3.

Ces représentations inline ont l'avantage d'être légères mais ne peuvent pas contenir d'autres informations sur les molécules que leurs atomes et liaisons. Pourtant, il pourrait être intéressant d'associer à une molécule une géométrie donnée, c'est-à-dire les coordonnées de ses atomes en 2 ou 3 dimensions…

Les formats en tables répondent à cette demande. Les plus répandus sont le format XYZ et le molfile.4 Le premier contient le nombre d'atomes sur la première ligne, un commentaire à choix sur la deuxième puis une ligne par atome contenant son symbole atomique et ses coordonnées x, y et z. Pour une molécule d'eau avec une géométrie donnée, on pourrait avoir :

1
2
3
4
5
3
Eau
O         -0.58115        1.11467        0.02396
H          0.40818        1.12756       -0.01691
H         -0.87051        1.39947       -0.87924

En revanche, il n'y a aucune information sur les liaisons entre les atomes et c'est au parseur de les établir en fonction des longueurs de liaisons, ce qui peut être ardu ! Le molfile, quant à lui, permet de gérer les liaisons avec sa table de connexion (j'ai volontairement simplifié la structure du fichier) :

1
2
3
4
5
  -0.5811    1.1147    0.0240 O
   0.4082    1.1276   -0.0169 H
  -0.8705    1.3995   -0.8792 H
  1  2  1                        // l'atome 1 est connecté à l'atome 2 par une liaison d'ordre 1
  1  3  1                        // l'atome 1 est connecté à l'atome 3 par une liaison d'ordre 1

Pour résumer, d'un point de vue computationnel, moins de parsage est nécessaire pour extraire des informations des molécules avec les représentations en tables qu'avec les notations inline. Par contre, elles sont plus gourmandes en mémoire et moins intuitives à écrire pour les humains.

Bref, vous l'aurez compris, seule l'imagination est un frein à la création de nouvelles formes de représentations informatisées des molécules. À chacun donc de choisir le format qui convient en fonction de ce qu'il veut en faire.

Les éditeurs de molécules

Il n'est pas toujours facile d'écrire soi-même une molécule dans un format donné. C'est pourquoi en première ligne des programmes de cheminformatics, on trouve les éditeurs de molécules. Ce sont des programmes en ligne ou en version bureau qui permettent de dessiner rapidement n'importe quelle molécule puis de l'exporter sous toutes sortes de formats, y compris en images bien-sûr. Encore une fois, il existe une pléthore de ces éditeurs, à chacun de choisir le plus adapté à ses besoins.5 En voici deux, représentatifs de leur catégorie et open source :

L'éditeur web peut-être le plus connu est le JSME6, dans lequel je viens de dessiner l'aspirine. Vous pouvez l'essayer vous-même, il est minimaliste mais très intuitif (lien). Et pour la 3D, Avogadro est une référence.7

L'aspirine en 2D dans le JSME et en 3D dans Avogadro

Avant de passer à la suite, citons encore l'excellent OpenBabel8, un outil complémentaire aux éditeurs capable de convertir entre eux plus de 110 formats de fichiers !

L'apport de la théorie des graphes

Au-delà des propriétés triviales à calculer telles que le nombre d'atomes d'azote présents ou la masse molaire, certaines requièrent plus d'efforts : la molécule contient-elle des cycles ? Quelle est la distance entre ces deux atomes ? Etc. Il n'est pas possible de répondre à ces questions directement à partir des représentations que nous venons de voir, c'est pourquoi ces représentations sont souvent converties en graphes en back-end des programmes de cheminformatics.

En mathématiques, un graphe est un ensemble de noeuds reliés entre eux par des arêtes. Il suffit alors de considérer les atomes d'une molécule comme des noeuds et ses liaisons comme des arêtes pour que l'on puisse appliquer la théorie des graphes aux molécules.

Illustrons tout ceci avec un exemple. Voici une molécule et son graphe :

FIG

À partir du graphe, on peut par exemple déterminer facilement le nombre de liaisons entre les atomes XXX et XXX en utilisant l'algorithme de Dijkstra (celui-ci permet de calculer le chemin le plus court entre deux noeuds).9

Comme vous pouvez le constater, la théorie des graphes est extrêmement puissante et nombreux sont ses théorèmes ou algorithmes utilisés pour résoudre des problèmes de chimie.

Les bases de données

Chaque jour, une quantité innombrable de nouvelles molécules sont publiées dans les revues de chimie du monde entier. Certaines organisations se sont données l'objectif de toutes les recenser dans des bases de données. Par exemple, le registre CAS a recensé et numéroté à ce jour plus de 89 millions de composés uniques !11 De nombreuses bases de données libres d'accès ou payantes sont sur le marché.12

Le principal intérêt des bases de données est d'y rechercher des molécules exactes ou des molécules contenant une sous-structure donnée. Par exemple, dans ChemSpider, si l'on dessine la sous-structure indole, on trouve entre autres les molécules suivantes :

FIG

Mais comment tout ceci fonctionne-t-il ? Encore une fois, les graphes sont utilisés ! Comparer la structure de deux molécules revient à rechercher des isomorphismes de leurs graphes.13

Applications

Jusqu'à présent, nous avons posé les bases de la cheminformatics : comment représenter les molécules in silico, les stocker, etc. Il est grand temps d'étudier ce qu'on peut faire de tout ceci: QSAR, … .

Cheminformatics != chimie computationnelle

Une dernière précision avant la fin : il ne faut pas confondre la cheminformatics et la chimie computationnelle, bien que ces deux disciplines sont basées sur l'informatique et qu'elles se recoupent souvent. Nous l'avons vu, la cheminformatics consiste avant tout à manipuler des molécules enregistrées au format informatique et leurs données associées. La chimie computationnelle, elle, modélise des molécules. Dans ce cas, la puissance des ordinateurs est utilisée pour faire de gros calculs de chimie quantique et calculer toutes sortes de propriétés telles que les énergies des électrons, la forme des orbitales, la structure d'intermédiaires réactifs dans des réactions, etc.

Toute recherche appliquée en chimie computationnelle utilise des outils de cheminformatics, puisqu'en quelque sorte ils constituent l'interface humain-machine, mais l'inverse n'est pas vrai.

En apprendre plus sur la cheminformatics

Cet article s'est efforcé de donner un aperçu des problèmes principaux rencontrés en cheminformatics et des liens avec les autres sciences, telles que les mathématique ou la pharmacologie. Si vous souhaitez suivre la recherche actuelle en cheminformatics, deux revues spécialisées existent (toutes deux en anglais bien-sûr) :

Autrement, de nombreux blogs plus accessibles sont régulièrement mis à jour par des personnes clés du milieu :

Conclusion

Nous voici arrivés à la fin de cet article. Je serai ravi de répondre à toutes vos questions sur le sujet et à discuter de ce domaine passionnant plus en profondeur dans les forums du site.

Merci pour la lecture. :)


  1. Engel, Thomas. J. Chem. Inf. Model. 2006, 46, 2267–2277 (lien, consulté le 20 juillet 2014) 

  2. Weininger, David. J. Chem. Inf. Comput. Sci. 1988, 28, 31–36 (lien, consulté le 20 juillet 2014), SMILES - A Simplified Chemical Language (lien, consulté le 20 juillet 2014), OpenSMILES specification (lien, consulté le 20 juillet 2014) 

  3. Heller, Stephen. McNaught, Alan. Stein, Stephen. Tchekhovskoi, Dmitrii. Pletnev, Igor. Journal of Cheminformatics 2013, 5, 7 (lien, consulté le 26 juillet 2014) 

  4. Dalby, Arthur. Nourse, James G.. Hounshell, W. Douglas. Gushurst, Ann K. I.. Grier, David L., Leland, Burton A.. Laufer, John. J. Chem. Inf. Comput. Sci. 1992, 32, 244–255 (lien, consulté le 27 juillet 2014) 

  5. ChemDraw, la référence en milieux académique et industriel (propriétaire, payant) (lien, consulté le 20 juillet 2014), ChemSketch, une bonne alternative mais uniquement sur Windows (propriétaire, gratuit) (lien, consulté le 20 juillet 2014), MarvinSketch, une bonne alternative multi-plateformes (propriétaire, gratuit) (lien, consulté le 20 juillet 2014), BKChem, multi-plateformes et open-source mais développement stoppé (libre, gratuit) (lien, consulté le 20 juillet 2014), JChemPaint, également multi-plateformes et open-source et développement stoppé (lien, consulté le 20 juillet 2014), ChemDoodle, excellent éditeur online (libre, gratuit) (lien, consulté le 20 juillet 2014) 

  6. Bienfait, Bruno. Ertl, Peter. Journal of Cheminformatics 2013, 5, 24 (lien, consulté le 20 juillet 2014) 

  7. Avogadro - Free cross-platform molecule editor (lien, consulté le 20 juillet 2014) 

  8. OpenBabel : The Open Source Chemistry Toolbox (lien, consulté le 20 juillet 2014) 

  9. Le pathfinding avec Dijkstra (lien, consulté le 2 août 2014) 

  10. Zamora, Antonio. J. Chem. Inf. Comput. Sci. 1976, 16, 40–43 

  11. CAS (lien, consulté le 20 juillet 2014) 

  12. ChemSpider (libre d'accès) (lien, consulté le 20 juillet 2014), PubChem (libre d'accès) (lien, consulté le 20 juillet 2014), The Cambridge Crystallographic Data Centre (libre d'accès) (lien, consulté le 20 juillet 2014), SciFinder (accès payant) (lien, consulté le 20 juillet 2014), Reaxys (accès payant) (lien, consulté le 20 juillet 2014) 

  13. Isomorphisme de graphe (lien, consulté le 2 août 2014) 

Par respect pour les visiteurs de Zeste de Savoir, je m’engage à ne jamais effacer ce message.

+3 -0

La conservation et l'exploitation de cette masse de connaissance

s

La représentation in silico des molécules

«voir» une molécule

« voir »

Formules topologiques de quelques molécules

.

Il a donc fallu inventer de nouvelles représentations adaptées aux ordinateurs

J'enlèverais "adaptées aux ordinateurs", qui fait répétition avec la phrase précédente.

sous forme d'une chaîne de caractère

s

Quelques exemples de SMILES

.

J'imagine que la chaîne est celle apparaissant sous le nom de la molécule ?

Ensuite, il «suffit»

Espaces

Il comble certaines lacunes des SMILES et fortement recommandé.

et est

En revanche, il est moins facilement interprétable

directement par l'humain

en 2 ou 3 dimensions

deux ou trois

un commentaire à choix sur la deuxième

Je ne comprends pas ce que tu entends par "commentaire à choix".

et c'est au parseur de les établir en fonction des longueurs de liaisons

Je ne vois pas comment c'est possible. Autant c'est simple si les molécules sont éloignées (la liaison n'est pas possible), autant le fait que deux molécules soient "proches" n'implique pas qu'elles soient liées, si ?


Il me semble judicieux d'ajouter des titres de niveau 2 pour distinguer les représentations (inline et en table) dans la partie "La représentation in silico des molécules", voire des titres de niveau 3 pour les sous-catégories (SMILES, InChI, etc.).

J'ignore si c'est faisable, mais il serait intéressant que tu expliques brièvement au lecteur comment fonctionnent ces représentations. Autrement dit, comment obtenir la représentation SMILES, par exemple, d'une molécule. Mais si c'est trop compliqué, ce n'est pas grave.

Tu n'as que des 2014 dans tes dates de consultation des liens. Est-ce une erreur ?

Peut-être serait-il judicieux de mettre "inline" en italique tout du long ?

Tu as dit, à propos des SMILES :

Le principal soucis est que l'on peut écrire plusieurs SMILES différents pour une même molécule (par exemple CCO ou OCC représentent toutes les deux l'éthanol).

On a, me semble-t-il, le même problème pour les formats en table. Existe-t-il des conventions ?

Sinon, jusqu'où as-tu avancé ? Quels parties comptes-tu compléter ? Si possible, pourrais-tu l'indiquer dans leur titre (avec un "TODO" par exemple), que je sache à quoi m'en tenir ?

En tout cas, ton article est très rigoureux et très clair. Merci pour ce texte. La suite des commentaires bientôt. :)

Édité par Vayel

+0 -0
Auteur du sujet

Merci pour tous ces commentaires Vayel. :)

Aïe je n'imaginais pas avoir laissé tant de coquilles dans le texte. Quoique pour les guillemets tout s'explique: typo suisse.

Quelques exemples de SMILES

J'imagine que la chaîne est celle apparaissant sous le nom de la molécule ?

Exact, il faudra que je sois plus clair. Mais je vais peut-être refaire cette partie, je n'en suis pas très satisfait.

un commentaire à choix sur la deuxième

Je ne comprends pas ce que tu entends par "commentaire à choix".

C'est une ligne ignorée par les parseurs, donc on peut y écrire ce que l'on souhaite.

et c'est au parseur de les établir en fonction des longueurs de liaisons

Je ne vois pas comment c'est possible. Autant c'est simple si les molécules sont éloignées (la liaison n'est pas possible), autant le fait que deux molécules soient "proches" n'implique pas qu'elles soient liées, si ?

Je re-cite ma phrase dans son intégralité:

En revanche, il n'y a aucune information sur les liaisons entre les atomes et c'est au parseur de les établir en fonction des longueurs de liaisons, ce qui peut être ardu !

Des molécules trop proches ou des longueurs de liaison inhabituelles peuvent poser problème. Chaque parseur a son propre algorithme et ne fournit pas forcément le résultat escompté.


J'ignore si c'est faisable, mais il serait intéressant que tu expliques brièvement au lecteur comment fonctionnent ces représentations. Autrement dit, comment obtenir la représentation SMILES, par exemple, d'une molécule. Mais si c'est trop compliqué, ce n'est pas grave.

Oui je vais expliquer brièvement la logique de base, mais sans trop aller dans les détails.

Tu n'as que des 2014 dans tes dates de consultation des liens. Est-ce une erreur ?

Oui pas mal de liens sont probablement périmés. J'avais commencé cet article l'été passé puis l'ai laissé de côté.

Le principal soucis est que l'on peut écrire plusieurs SMILES différents pour une même molécule (par exemple CCO ou OCC représentent toutes les deux l'éthanol).

On a, me semble-t-il, le même problème pour les formats en table. Existe-t-il des conventions ?

La problématique est quelque peu différente concernant les tables puisqu'elles ne servent en général pas à référencer les molécules en leur aposant un identifiant. J'essaierai d'être plus clair concernant les objectifs et avantages/inconvénients des deux types de représentations, merci!

Sinon, jusqu'où as-tu avancé ? Quels parties comptes-tu compléter ? Si possible, pourrais-tu l'indiquer dans leur titre (avec un "TODO" par exemple), que je sache à quoi m'en tenir ?

Très honnêtement je n'ai pas de plan très précis, c'est en partie pour cette raison que je l'ai mis en bêta, si par hasard quelqu'un a une suggestion. Sinon je ne vais pas modifier la structure, donc il ne me reste "plus qu'à" compléter chaque chapitre et homogénéiser le tout!

Merci encore. :)

Par respect pour les visiteurs de Zeste de Savoir, je m’engage à ne jamais effacer ce message.

+1 -0

Sinon je ne vais pas modifier la structure, donc il ne me reste "plus qu'à" compléter chaque chapitre et homogénéiser le tout!

J'effectuerai une autre relecture à ce moment-là. Ne connaissant pas le sujet, je ne peux pas te conseiller sur le plan.

N'héste pas à faire un signe quand tu auras édité le premier message. :)

+1 -0

Alors moi, je lis pas l'orthographe mais le contenu, comme c'est un peu mon "job" ;)

Je trouve que c'est un bon départ, mais il y a effectivement encore de quoi étoffer. Personelement, je mettrais l'accent sur la partie application (QSAR <3), car c'est celle qui me semble la plus "intéréssante" (mais ce n'est que mon avis personnel.

Pour ce qui est des formats de fichier, tu peux éventuellement mentionner le CIF, qui est over-employé en cristallo (et sans entrer dans les détails, donne aussi des infos sur la maille), avec des exemples idiots comme des cristaux d'urée. Si tu veux, j'ai un accès à la CSD donc je peux te "fournir" en structures cristallo :)

La partie éditeur, OK, la pierre angulaire étant de toute façon OpenBabel. D'un point de vue personnel, je déplore que le développement de cette libraire stagne depuis 2011, parce que son vieillissement commence à ce faire sentir (Avogadro, par exemple, n'est pas capable de lire certains fichiers à cause de ça).

Pour la partie théorie des graphes, ok pour moi, très intéressant d'ailleurs.

Partie application, j'ai déjà dit plus haut ce que j'en pensait :)

Et pour la partie "Cheminformatics != chimie computationnelle", j'aimerai savoir dans quelle catégorie tu place les simulations via champ de force. Tu semble associer chimie computationnelle (soit dit en passant un mot assez "laid" :p ) à la chime quantique, ce qui est un choix, mais je trouverai intéressant de mentionner en deux mots les simulation de type monte-carlo/dynamique moléculaire.

Voilà voilà :)

Édité par pierre_24

#JeSuisToujoursArius • Doctorant et assistant en chimiedev' à temps partiel (co-réalisateur ZEP-12, recherche et template LaTeX)

+1 -0
Auteur du sujet

Salut!

Merci pour tes retours! Je n'aurai pas accès à internet dans les prochains jours mais je reviendrai après pour discuter. :)

Par respect pour les visiteurs de Zeste de Savoir, je m’engage à ne jamais effacer ce message.

+0 -0

Article intéressant, mais pas assez poussé à mon goût ! Étant pour ma part plutôt du coté de la simulation moléculaire et de la chimie computationnelle, je n'ai jamais touché à la cheminformatique, et je n'en connais pas les applications. Quelques exemples d'applications serait donc intéressants !

Mon Github — Tuto Homebrew — Article Julia

+2 -0
Auteur du sujet

Dès que j'ai soumis mon autre article sur les couplages croisés au palladium, je me remets à la rédaction de celui-ci! Oui je vais l'étoffer.

Merci pour ton retour, ça fait plaisir de voir qu'il y aura du public. :)

Par respect pour les visiteurs de Zeste de Savoir, je m’engage à ne jamais effacer ce message.

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte