Question:
Pubchem, InChI, SMILES et unicité
Curt F.
2015-07-31 07:33:10 UTC
view on stackexchange narkive permalink
  1. Le composé PubChem 6140 est la L-phénylalanine sous sa forme neutre (non zwitterionique). Selon ce PubChem, cette molécule a les identificateurs SMILES et InChI suivants:

    • SMILES: C1 = CC = C (C = C1) CC (C (= O) O) N
    • InChI: InChI = 1S / C9H11NO2 / c10-8 (9 (11) 12) 6-7-4-2-1-3-5-7 / h1-5,8H, 6,10H2, (H, 11,12) / t8- / m0 / s1
  2. Le composé PubChem 6925665 est la forme zwitterionique de la L-phénylalanine (amine protonée et carboxylate déprotoné). Pubchem a décidé que cette espèce devrait être appelée "(2S) -2-azaniumyl-3-phénylpropanoate". Les identifiants SMILES et InChI sont:

    • SMILES: C1 = CC = C (C = C1) CC (C (= O) [O -]) [NH3 +]
    • Inchi: InChI = 1S / C9H11NO2 / c10-8 (9 (11) 12) 6-7-4-2-1-3-5-7 / h1-5,8H, 6,10H2, (H, 11, 12) / t8- / m0 / s1
  3. Confusion . Ma confusion est la raison pour laquelle ces différents composés ont différentes entrées PubChem (CID), et différents identifiants SMILES ... mais la même structure InChI. Les différents identifiants SMILES semblent chacun refléter les structures respectives affichées par PubChem, mais l'identifiant unique InChI donné pour les deux composés semble ne refléter que la forme neutre. J'ai même mis InChI dans rdkit et je l'ai reconverti en InChI. Le résultat était le même et rdkit a interprété cette InChI comme l'espèce neutre (non zwitterionique). Quelle est la raison de cet écart entre la duplicité d'InChI et l'unicité structurelle?

Voici quelques possibilités:

  1. PubChem est en erreur. Ils devraient changer l'InChI pour le composé zwitterionique. (Si oui, à quoi?)
  2. PubChem a raison, mais utilise des définitions de composé et de CID différentes des miennes.
  3. J'ai une sorte de malentendu fondamental sur l'objectif InChI, qui, j'avais pensé, spécifierait uniquement une structure moléculaire. Mais InChI est conçu pour gérer les ambiguïtés telles que zwitterion vs neutre.
  4. rdkit interprète InChIs bizarrement.
  5. Autre chose.
Je sais que cette discussion est révolue depuis longtemps, mais ... j'ai fait face à une lutte similaire. J'avais besoin de regrouper tous les composés ayant les trois premières couches identiques dans InChI standard. J'ai fait un script perl pour créer ces clusters. Au cas où quelqu'un serait intéressé, je peux le partager.
Merci de partager! Je pense également que votre réponse sera bientôt supprimée car ce n'est pas vraiment une réponse. Si vous pouvez commenter (pas répondre) à une réponse existante ou à la question originale avec un lien vers le script, merci!
Trois réponses:
#1
+14
Martin - マーチン
2015-07-31 11:53:07 UTC
view on stackexchange narkive permalink

Malheureusement Pubchem a raison, les deux structures ont la même chaîne et clé InChI, puisque l'état de protonation est le même dans le zwitterion et la forme neutre. Donc, la raison de l'écart est par conception .
J'ai toujours pensé qu'InChI avait été conçu pour distinguer ces conformations, mais il s'avère que ce n'est qu'une des limitations du système. Le problème est traité dans la section 13.2 de la FAQ technique de la confiance InChI:

Les différents états de protonation d'un même composé auront InChIKeys différant uniquement par l'indicateur de protonation (à moins que les deux états aient un nombre de protons insérés / supprimés supérieur à 12; dans ce cas, l'indicateur de protonation sera également le même, 'A').
Ceci est illustré ci-dessous par InChIKeys standard ainsi que par les chaînes InChI standard pour états neutre, zwitterionique, anionique et cationique de la glycine (notez que les états neutre et zwitterionique ne diffèrent pas dans le nombre total de protons, ils ont donc le même standard InChI / InChIKey):
InChI for glycin

Très bonne réponse. Je n'avais aucune idée qu'InChI avait été conçu de cette façon.
@Curt Oui, j'ai pensé la même chose que vous et pour être franc, cela n'a aucun sens pour moi pourquoi il devrait en être ainsi. Peut-être qu'ils abordent cela dans la deuxième version, mais sachant l'IUPAC, ils prendront leur temps \ * soupir \ *.
Sur la base de votre lien, il semble que la spécification de zwitterions et de certains tautomères soit possible avec un InChI non standard (`InChI = 1 / ...` au lieu de `InChI = 1S / ...` qui comprend une couche d'hydrogène fixe ... si je le comprends, je pourrais publier une réponse séparée, mais je ne l'aurais jamais su si ce n'était pour votre lien, merci encore.
@CurtF. Bien que la FAQ soit toujours la même, une nouvelle version d'InChI est disponible. Cependant, je doute qu'ils abordent cette question, mais vous pourriez toujours être intéressé.
#2
+11
Geoff Hutchison
2015-07-31 22:26:03 UTC
view on stackexchange narkive permalink

InChI est destiné à ignorer les formes tautomères. Comme Martin l’indique, cela signifie également que les zwitterions sont considérés comme identiques à la forme neutre.

Contrairement à vous et à Martin, je ne suis pas sûr de voir cela comme un bogue, car je prédis le plus tautomer stable ou zwitterion / neutral est un problème compliqué.

Si vous voulez garder une trace des zwitterions, je pense que SMILES est un meilleur format, car vous pouvez spécifier exactement ce que vous voulez en ce qui concerne les hydrogènes et les charges explicites. Vous devrez vous en tenir à une boîte à outils particulière pour créer un ordre canonique.

De plus, il existe une relation compliquée entre les CID et les clés InChI / InChI. Il existe d'autres cas où PubChem aura des enregistrements séparés pour les composés qui pourraient être «identiques» sous InChI.

  • Stéréochimie axiale ou non traditionnelle. Par exemple, hexihelicene (CID = 98863) doit avoir deux énantiomères, mais l'InChI ne reflète aucune stéréochimie.
  • Centres stéréo "Extra". PubChem prend les dépôts au format de fichier SD, ce qui permet la stéréochimie 2D en notation wedge / hash. Si vous prenez la géométrie 3D réelle, vous pourriez réaliser que le coin / hachage a été utilisé pour l'apparence, pas pour indiquer un centre stéréo (c'est-à-dire que plusieurs CID génèrent le même InChI à partir de la molécule 3D complète).

Il y a aussi des cas où PubChem indique une clé InChI calculée à partir de la représentation 2D dans le fichier SD, mais il y a des centres stéréo manquants ou non définis.

Donc, je dirais cela à cause d'une stéréochimie incomplète et / ou des incohérences dans les représentations, les CID de PubChem ne correspondent pas toujours à "l'unicité structurelle" et c'est par conception, à la fois pour PubChem et InChI.

La morale de l'histoire, franchement, est que la chimie est compliquée et trouver des identifiants uniques "parfaits" est extrêmement difficile.

Merci pour les suggestions sur SMILES et la discussion sur PubChem / InChI est très éclairante. Quant à savoir si le traitement par Inchis des zwitterions / tautomères est un bogue ou une fonctionnalité, je conviens que prédire le "plus stable" est très compliqué, mais comment la stabilité est-elle liée à la représentation d'InChI? Quel serait le taux d'interconversion entre le CID 6140 et le CID 6925665 gazeux dans un quasi-vide, disons 100 ou 200 Kelvins? Ma supposition serait très faible, c'est pourquoi je les considère comme des molécules séparées. Donc, pour moi, des InChI séparés seraient bien.
@CurtF. Votre commentaire indique des composés * gazeux *. Gardez à l'esprit que la plupart de la chimie organique se fait en * solution * et quel est le taux d'interconversion entre ces composés dans l'eau ou dans un autre solvant protique? Comme je l'ai dit ... c'est pourquoi il est incroyablement difficile de trouver des identificateurs chimiques "parfaits".
Oh ouais, je ne pense pas que quiconque recherche "parfait". Juste mieux. Ou du moins plus cohérent.
#3
+7
Curt F.
2015-07-31 21:30:02 UTC
view on stackexchange narkive permalink

La réponse de Martin m'a amené à découvrir une extension importante d'InChI qui permet de spécifier une identification de tautomère et de zwitterion.

  1. identifiants InChi commençant par InChI = 1S / ... sont standard InChI. Dans InChI standard, l'identifiant InChI "doit être le même pour tout arrangement d'atomes d'hydrogène mobiles", avec la citation de la section 6 de la FAQ technique du Inchi Trust.

  2. Cependant, des InChI non standard sont également possibles. Ceux-ci commencent par InChI = 1 / ... . Notez le S manquant. Dans InChI non standard, il peut y avoir une couche supplémentaire commençant par / f qui est appelée la couche d'hydrogène fixe.

  3. En jouant avec rdkit (via son API Python), j'ai pu produire un InChI non standard qui, je pense, correspond au composé Pubchem 6925665.

  de rdkit import Chemzwitterion_phe_smiles = 'C1 = CC = C (C = C1) CC (C (= O) [O -]) [NH3 +]' zwitterion_phe_mol = Chem.MolFromSmiles (zwitterion_phe_smiles) # produit InChI "standard" donc pas explicitement zwitterionicprint Chem.MolToInchi (zwitterion_phe_mol) InChI = 1S / C9H11NO2 / c10-8 (9 (11) 12-8) 6-7-4-2-1 3-5-7 / h1-5,8H, 6,10H2, (H, 11,12) # produit InChI "non standard" avec couche H fixe afin que zwitterion puisse être IDedprint Chem.MolToInchi (zwitterion_phe_mol, options = ' / FixeH ') InChI = 1 / C9H11NO2 / c10-8 (9 (11) 12) 6-7-4-2-1-3-5-7 / h1-5,8H, 6,10H2, (H, 11 , 12) / f / h10H # allant des InChI respectifs aux SMILES ## L'InChI standard produit des SMILES neutres 3-5-7 / h1-5,8H, 6,10H2, (H, 11,12) / f / h10H'standard_inchi = 'InChI = 1S / C9H11NO2 / c10-8 (9 (11) 12) 6-7 -4-2-1-3-5-7 / h1-5,8H, 6, 10H2, (H, 11,12) 'imprimer Chem.MolToSmiles (Chem.MolFromInchi (zwitterion_nonstandard_inchi)) imprimer Chem.MolToSmiles (Chem.MolFromInchi (standard_inchi)) [NH3 +] C (Cc1ccccc1) C (= O) [O-] NC (Cc1ccccc1) C (= O) O  

Donc, pour les zwitterions, des InChI tautomères sont possibles. Fait inquiétant, cependant, certains types de tautomérie ne sont pas gérés même par InChI non standard, citant à nouveau la section 6 de la FAW:

Dans son état actuel, InChI reconnaît la forme la plus courante de H migration (pour la liste complète, voir le tableau 6, section IVb du manuel technique InChI). Cependant, plusieurs méthodes de migration tautomérique qui ne sont pas prises en charge par défaut peuvent sembler importantes pour certains chimistes. En particulier, il s'agit de céto-énol et de tautomérismes à longue portée.

Pourquoi Pubchem a choisi de lister InChI standard au lieu d'InChI non standard n'est pas tout à fait clair pour moi. Je suppose qu'il est difficile de déterminer par programme quand InChI non standard serait nécessaire. Idéalement, je suppose que Pubchem aurait à la fois des InChI standard et non standard pour chacune de ses molécules, mais je ne sais pas quand / si ils feront jamais ce changement.

En gros, vous n'êtes pas censé utiliser des InChI non standard dans un service public. Un InChI standardisé est ce qu'il est - mais vous devez connaître les indicateurs exacts passés au code pour en comprendre un non standard.
PubChem a clairement des idées différentes sur ce qu'est un «composé» que l'InChI standard, sinon les différents CID n'existeraient pas en premier lieu. Pour moi, utiliser le même InChI pour différents CID obscurcit ce fait. De plus, il existe une conception largement répandue, dont je me rends compte maintenant qu'elle est très erronée, selon laquelle «[il existe une correspondance 1: 1 entre chaque structure chimique organique et un seul InChI] (http://metamolecular.com/blog/2012/ 12/12 / douze-choses-chimistes-organiques-devraient-savoir-sur-inchi-et-inchi-key /) ". C'est peut-être le vrai problème.
Je ne pense pas que PubChem masque la différence. Si vous recherchez par clé InChI ou InChI, vous obtiendrez plusieurs CID. Je suis d'accord que beaucoup de gens ne réalisent pas qu'InChI est imparfait et qu'il n'y a * pas * une correspondance 1: 1 entre une structure chimique et un InChI.
Je pense que de nombreuses personnes utilisant PubChem ne réalisent pas ses limites (par exemple, comme indiqué dans ma réponse). Cela m'incluait lorsque nous avons commencé à construire PQR.


Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 3.0 sous laquelle il est distribué.
Loading...