Formats moléculaires: InChI et InChIKey

Nous continuons notre découverte des formats moléculaires utilisés au laboratoire avec InChI, qui correspond à International Chemical Identifier. Il s’agit d’un format texte, ASCII, qui condense une molécule sous la forme d’une chaine de caractères simple comme le format SMILES. InChI est plus robuste que SMILES car le format est conçu de manière à éviter les possibilités de chaines multiples pour une molécule donnée, mais est limité a 1023 atomes et ne peut pas tout représenter.

Publication initiale sur buildblog.buidez.net (2013) – Article mis à jour en Décembre 2024.

Navigation dans le guide

Guide [ Formats moléculaires (chimie) ]




1. Un premier exemple

Dans le cas du Triclosan la molécule va être traduite par les caractères suivants:

Nous avons deux lignes: InChI et AuxInfo. La première, marquée par InChI=, constitue la chaine InChI proprement dite, elle est nécessaire et suffisante pour coder la formule développée de la molécule. Un logiciel lisant ce format pourra s’en contenter pour créer le graphe correspondant à la molécule.
Les données sont organisées en couches (layers) séparées par des caractères /. Nous distinguons donc une formule brute C12H7Cl3O2, puis un bloc de connexion des atomes ‘lourds’ qui démarre par /c, puis un bloc de connexion pour les Hydrogènes, l’ensemble constitue le main layer: la couche principale. Suivant que la molécule est chargée, chirale … on ajoutera une couche Charge, Stereochemical, Isotopic (5 couches existent en plus du Main layer).

1. Reconstruction du graphe

Si on pouvait penser que SMILES pour des molécules simples est ‘human readable’ on se rend compte que c’est moins évident pour InChI. Mais, on peut essayer de comprendre comment la molécule est codée, en construisant le graphe sérialisé dans la chaine 13-7-1-3-11(9(15)5-7)17-12-4-2-8(14)6-10(12)16.
De gauche à droite le nœud 13 est connecté au nœud 7, le nœud 8 est connecté à 14 (embranchement) et 6 qui lui est également connecté au nœud 10, etc. Ce qui va nous donner la construction suivante:

Le graphe est construit, il reste maintenant à attribuer les atomes à chaque nœud en utilisant la formule brute C12H7Cl3O2 que l’on trouve au début de la chaine InChI. Petit problème, le graphe étant symétrique, nous allons utiliser les atomes d’hydrogène pour lever l’indétermination pour les couples {OH, Cl} et {Cl, Cl}. La chaine 1-6,16 qui détaille les 7 atomes d’hydrogènes va nous y aider. Le nœud 16 est donc lié à un atome d’hydrogène, probablement le groupe -OH. Les nœuds 1, 2, 3, 4, 5, 6 sont également liés à des hydrogènes, probablement les atomes de carbone non substitués des deux cycles aromatiques. Les autres atomes de Carbone (10, 8, 12, 11, 9, 7) s’assignent car ils sont liés avec 2 atomes ‘lourds’. Les 3 -Cl sont assignés sans problèmes, il ne reste que les 2 oxygènes à placer et on a reconstitué la molécule. Si nous créons un fichier InChI sans la ligne AuxInfo, une fois chargé sous Marvin Sketch nous obtiendrons le (même) résultat:

La chaine AuxInfo va être utilisée pour préciser des éléments de la molécule originale, car l’algorithme qui va générer la chaîne InChI utilise sa propre numérotation. On distingue une série de numéros qui correspondent aux numéros d’atomes de la molécule originale, la correspondance est la suivante:

Donc l’atome d’oxygène du groupe alcool correspondra au nœud 16 dans le graphe et à l’atome de numéro 14 dans la molécule originale. L’oxygène de l’aryl éther correspondra au nœud 17 et à l’atome 7, les nœuds 13, 14, 15 (atomes de chlore) correspondront aux atomes 17, 15, 16 respectivement. Nous pouvons confirmer cela en chargeant les des deux lignes (InChI et AuxInfo) dans Marvin Sketch:

Nous retrouvons donc la numérotation originale. Dans le cas du Triclosan, la chaine AuxInfo comporte également les types d’atomes dans le même ordre que les nœuds du graphe, des détails sur les liaisons (single, double …) et les coordonnées atomiques en 2D (la valeur de la coordonnée z est égale à zéro) dans un repère cartésien.

2. Clé InChI (InChIKey)

Il s’agit d’une empreinte (hash) de la chaine InChI précédente en utilisant un algorithme de cryptage de type SHA (Secure Hash Algorithm). Une fois encryptées, les chaînes InChIKey auront le même nombre de caractères (27), quelle que soit la taille de la molécule. En principe il y a peu de chances que deux molécules différentes aient la même empreinte, ce qui rend ce type de représentation très intéressante pour des applications web ou des recherches de molécules basées sur l’ensemble de la structure.
Dans le cas du triclosan nous aurons la chaine InChI encryptée de la manière suivante:

XEFQLINVKFYRCS-UHFFFAOYSA-N

Le premier bloc (14 caractères suivi par -) correspond au cryptage du Main layer, on trouve ensuite l’encodage des couches supplémentaires, version et un checksum. La chaine UHFFFAOYSA se retrouve lorsque il n’y a pas de couche supplémentaire.

3. Conclusion

InChI est systématiquement utilisé pour annoter les ligands de la PDB ou les composés présents dans des bases telles que PubChem, mais ne remplace pas encore SMILES. Le format est supporté par OpenBabel/Pybel, Rdkit et des biobliothèques et exécutables InChI. Comme SMILES il peut être associé à CSVM pour obtenir des tables de molécules annotées en complément à au format SDF.

Liens et lectures

Retour en haut