Der Internationale Chemische Identifikator ( InChI , ausgesprochen / ˈɪntʃiː / IN - tschi ) [ 3 ] ist ein Textidentifikator für chemische Substanzen . Er dient der standardisierten Kodierung molekularer Informationen und erleichtert die Suche nach diesen Informationen in Datenbanken und im Internet. InChI wurde ursprünglich von der Internationalen Union für Reine und Angewandte Chemie (IUPAC) und dem National Institute of Standards and Technology (NIST) zwischen 2000 und 2005 entwickelt. Format und Algorithmen sind nicht proprietär. Seit Mai 2009 wird InChI vom InChI Trust , einer gemeinnützigen Organisation aus dem Vereinigten Königreich, weiterentwickelt, die sich für die Implementierung und Förderung von InChI einsetzt. [ 4 ]

Die Identifikatoren beschreiben chemische Substanzen anhand mehrerer Informationsebenen – Atome und deren Bindungsverbindungen, Tautomerieinformationen , Isotopeninformationen , Stereochemie und elektronische Ladungsinformationen. [ 5 ] Nicht alle Ebenen müssen angegeben werden; beispielsweise kann die Tautomerieebene weggelassen werden, wenn diese Information für die jeweilige Anwendung nicht relevant ist. Der InChI-Algorithmus wandelt eingegebene Strukturinformationen in einem dreistufigen Prozess in einen eindeutigen InChI-Identifikator um: Normalisierung (Entfernung redundanter Informationen), Kanonisierung (Generierung einer eindeutigen Nummer für jedes Atom) und Serialisierung (Erzeugung einer Zeichenkette).

InChIs unterscheiden sich in dreierlei Hinsicht von den weit verbreiteten CAS-Registrierungsnummern : Erstens sind sie frei nutzbar und nicht proprietär; zweitens lassen sie sich aus Strukturinformationen berechnen und müssen nicht von einer Organisation vergeben werden; und drittens ist der Großteil der Informationen in einem InChI (mit etwas Übung) lesbar. InChIs können daher als eine Art allgemeine und stark formalisierte Version von IUPAC-Namen betrachtet werden . Sie können mehr Informationen ausdrücken als die einfachere SMILES- Notation, und im Gegensatz zu SMILES-Strings besitzt jede Struktur einen eindeutigen InChI-String, was für Datenbankanwendungen wichtig ist. Informationen über die dreidimensionalen Koordinaten von Atomen werden in InChI nicht dargestellt; hierfür kann ein Format wie PDB verwendet werden.

Der InChIKey, auch als Hash-InChI bezeichnet, ist eine komprimierte, digitale Darstellung des InChI mit fester Länge (27 Zeichen), die für Menschen nicht lesbar ist. Die InChIKey-Spezifikation wurde im September 2007 veröffentlicht, um die Suche nach chemischen Verbindungen im Internet zu vereinfachen, da diese mit dem vollständigen InChI problematisch war. [ 6 ] Im Gegensatz zum InChI ist der InChIKey nicht eindeutig: Obwohl Kollisionen als extrem selten gelten, sind welche bekannt. [ 7 ]

InChI wurde erstmals 2005 veröffentlicht. Ein wichtiger Meilenstein war Version 1.02 vom Januar 2009, die die Generierung des sogenannten Standard-InChI ermöglichte – einer InChI-Version mit einem festgelegten Detaillierungsgrad und einer definierten Ebenenstruktur. Der Standard-InChIKey ist die gehashte Version der Standard-InChI-Zeichenkette. Der Standard-InChI vereinfacht den Vergleich von InChI-Zeichenketten und -Schlüsseln, die von verschiedenen Gruppen generiert und anschließend über diverse Quellen wie Datenbanken und Webressourcen abgerufen werden. Seit Version 1.07.1 (August 2024) steht die Software unter der MIT-Lizenz und kann von der InChI-GitHub-Seite heruntergeladen werden. Neben der Implementierung in Moleküleditoren wurden eigenständige ausführbare Dateien für verschiedene Linux-Distributionen, darunter Debian, bereitgestellt [ 8 ] [ 9 ] .

Generation

Um zu vermeiden, dass für tautomere Strukturen unterschiedliche InChIs entstehen, wird eine eingegebene chemische Struktur vor der InChI-Generierung normalisiert, um sie auf ihre sogenannte Kernstruktur zu reduzieren. Dies kann die Änderung von Bindungsordnungen, die Umordnung formaler Ladungen und gegebenenfalls das Hinzufügen und Entfernen von Protonen beinhalten. Unterschiedliche Eingabestrukturen können zum gleichen Ergebnis führen; beispielsweise würden Essigsäure und Acetat beide dieselbe Kernstruktur ergeben, nämlich die von Essigsäure. Eine Kernstruktur kann diskontinuierlich sein und aus mehr als einer Komponente bestehen. In diesem Fall bestehen die Unterschichten im InChI üblicherweise aus Unterschichten für jede Komponente, die durch Semikolons (Punkte für die Unterschicht der chemischen Formel) getrennt sind. Eine Möglichkeit hierfür ist, dass alle Metallatome während der Normalisierung diskontinuierlich gemacht werden; so hat beispielsweise der InChI für Tetraethylblei fünf Komponenten: eine für Blei und vier für die Ethylgruppen. [ 5 ]

Die erste, Hauptschicht des InChI bezieht sich auf diese Grundstruktur und gibt ihre chemische Formel, die Nicht-Wasserstoff-Verknüpfung ohne Bindungsordnung ( /cUnterschicht) und die Wasserstoff-Verknüpfung ( /hUnterschicht) an. Der /qLadungsanteil gibt die Ladung an, und der /pAnteil der Ladungsanteile gibt an, wie viele Protonen (Wasserstoffionen) hinzugefügt oder entfernt werden müssen, um die ursprüngliche Struktur wiederherzustellen. Falls vorhanden, liefert die stereochemische Schicht mit den Unterschichten b, /t, /mund stereochemische Informationen, und die isotopische Schicht (die die Unterschichten , , , und enthalten kann ) liefert isotopische Informationen. Dies sind die einzigen Schichten, die in einem Standard-InChI vorkommen können. [ 5 ]/s/i/h/b/t/m/s

Möchte der Benutzer ein exaktes Tautomer angeben, /fkann eine feste Wasserstoffschicht angehängt werden, die verschiedene zusätzliche Unterschichten enthalten kann. Dies ist jedoch mit dem Standard-InChI nicht möglich, sodass unterschiedliche Tautomere denselben Standard-InChI aufweisen (beispielsweise liefert Alanin unabhängig von seiner Eingabeform – neutral oder zwitterionisch – denselben Standard-InChI). Schließlich /rkann eine nicht standardmäßige, wiederverknüpfte Schicht hinzugefügt werden, die effektiv einen neuen InChI erzeugt, bei dem die Bindungen zu den Metallatomen nicht aufgebrochen werden. Diese kann verschiedene Unterschichten enthalten, darunter /f… [ 5 ]

Format und Ebenen

InChI-Format
Internet-Medientyp
chemisch/x-inchi
Formattypchemisches Dateiformat

Jeder InChI beginnt mit der Zeichenkette, InChI=gefolgt von der Versionsnummer (derzeit ) 1. Bei einem Standard-InChI folgt darauf der Buchstabe Sfür Standard-InChIs , die eine vollständig standardisierte InChI-Variante darstellen, die dieselbe Detailgenauigkeit bei der Strukturdarstellung und dieselben Konventionen für die Darstellung beibehält. Die übrigen Informationen sind als Abfolge von Ebenen und Unterebenen strukturiert, wobei jede Ebene einen spezifischen Informationstyp liefert. Die Ebenen und Unterebenen sind durch das Trennzeichen getrennt /und beginnen mit einem charakteristischen Präfixbuchstaben (mit Ausnahme der Unterebene „Chemische Formel“ der Hauptebene). Die sechs Ebenen mit wichtigen Unterebenen sind: [ 10 ]

  1. Hauptschicht (immer vorhanden)
    • Chemische Formel (ohne Präfix). Dies ist die einzige Unterebene, die in jedem InChI enthalten sein muss. Die im InChI verwendeten Nummern entsprechen der Reihenfolge der Elemente in der Formel, Wasserstoffatome ausgenommen. Beispielsweise bedeutet /C10H16N5O13P3, dass die Atome 1–10 Kohlenstoff, 11–15 Stickstoff, 16–28 Sauerstoff und 29–31 Phosphor sind.
    • Atomverbindungen ( /c). Die Atome in der chemischen Formel (mit Ausnahme der Wasserstoffatome) sind fortlaufend nummeriert; diese Unterebene beschreibt, welche Atome durch Bindungen miteinander verbunden sind. Die Art dieser Bindungen wird später in der stereochemischen Ebene ( /b) spezifiziert.
    • Wasserstoffatome ( /h). Beschreibt, wie viele Wasserstoffatome mit jedem der anderen Atome verbunden sind.
  2. Ladungsschicht​
    • Ladungsunterschicht ( /q)
    • Protonen-Subschicht ( /pfür Protonen)
  3. Stereochemische Schicht
    • Doppelbindungen und Cumulene ( /b).
    • Die tetraedrische Stereochemie von Atomen und Allenen wird zunächst /tanhand der relativen Konfiguration beschrieben, was eine Präferenz für eine der Spiegelformen impliziert. Anschließend /mwird anhand der absoluten Konfiguration entschieden /t, ob das durch die relative Konfiguration beschriebene Molekül gespiegelt werden soll.
    • Art der Stereochemie-Information ( /s). /s1für absolute, /s2für relative (unspezifizierte Mischung von Chiralitäten), /s3für racemische (gleiche Mischung beider Chiralitäten).
  4. Isotopenschicht ( /i), kann folgende Unterschichten umfassen: [ 10 ]
    • Unterschicht /hfür isotopischen Wasserstoff
    • Unterschichten /b, /t, /m, /sfür die Isotopenstereochemie
  5. Fixierte H-Schicht ( /f) für tautomere Wasserstoffe; enthält einige oder alle der oben genannten Schichttypen außer Atomverbindungen; kann mit oeiner Unterschicht enden.
  6. Wiederverknüpfte Schicht ( /r); enthält den gesamten InChI einer Struktur mit wiederverknüpften Metallatomen

Das Trennzeichen-Präfix-Format hat den Vorteil, dass ein Benutzer mithilfe einer Wildcard -Suche leicht Bezeichner finden kann, die nur in bestimmten Ebenen übereinstimmen.

Standard InChI fügt die folgenden Einschränkungen hinzu: [ 10 ]

  • Die /f, /o, und /r(Unter-)Ebenen werden im Standard-InChI nie berücksichtigt.
  • Wenn Stereochemie angegeben ist, kann sie nur absolut sein /s1. Unbekannte Stereobezeichnungen werden als undefiniert behandelt.
  • Organometallische Verknüpfungen umfassen keine Bindungen zum Metall.

InChIKey

Der verkürzte, 27 Zeichen lange InChIKey ist eine gehashte Version des vollständigen InChI (unter Verwendung des SHA-256 -Algorithmus) und wurde entwickelt, um die einfache Suche nach chemischen Verbindungen im Web zu ermöglichen. [ 6 ] Der Standard-InChIKey ist das gehashte Gegenstück zum Standard-InChI . Die meisten chemischen Strukturen im Web wurden bis 2007 als GIF-Dateien dargestellt , die nicht nach chemischen Inhalten durchsuchbar sind. Der vollständige InChI erwies sich als zu lang für eine einfache Suche, weshalb der InChIKey entwickelt wurde. Es besteht eine sehr geringe, aber nicht zu vernachlässigende Wahrscheinlichkeit, dass zwei verschiedene Moleküle denselben InChIKey haben. Die Wahrscheinlichkeit für eine Duplikation der ersten 14 Zeichen wurde jedoch auf nur eine Duplikation in 75 Datenbanken mit jeweils einer Milliarde einzigartiger Strukturen geschätzt. Da alle Datenbanken derzeit weniger als 50 Millionen Strukturen enthalten, erscheint eine solche Duplikation unwahrscheinlich. Eine neuere Studie untersucht die Kollisionsrate genauer und kommt zu dem Ergebnis, dass die experimentelle Kollisionsrate mit den theoretischen Erwartungen übereinstimmt. [ 11 ]

Der InChIKey besteht derzeit aus drei durch Bindestriche getrennten Teilen mit jeweils 14, 10 und einem Zeichen, wie z xxxxxxxxxxxxxx-yyyyyyyyfv-p. B. . [ 12 ] [ 5 ]

  • Die ersten 14 Zeichen ( x ) ergeben sich aus einem SHA-256-Hash der Konnektivitätsinformationen (Hauptschicht und /qUnterschicht der Ladungsschicht) des InChI. Die Zuordnung zu Buchstaben ist eine „Base-26“-Kodierung.
  • Der zweite Teil besteht aus 8 Zeichen ( y ), die aus einem Hash der verbleibenden ("minor") Ebenen des InChI resultieren, einem einzelnen Zeichen ( f ), das die Art des InChIKey angibt ( Sfür Standard und Nfür Nichtstandard), und einem Zeichen ( v ), das die verwendete Version von InChI angibt (derzeit Afür Version 1).
  • Schließlich zeigt das einzelne Zeichen ( p ) am Ende die Protonierung der Kernstruktur an, die der /pUnterschicht der Ladungsschicht entspricht ( Nfür keine Protonierung, O, P, ... wenn Protonen hinzugefügt werden sollen und M, L, ... wenn sie entfernt werden sollen).

Im Folgenden finden Sie Beispiele für InChIs und InChIKeys. Da alle Standard-InChIs durch Entfernen des „S“-Markers problemlos in „nicht standardkonforme“ InChIs umgewandelt werden können, implizieren sie eigentlich zwei Schlüssel, die sich nur durch ein Zeichen unterscheiden.

Beispiele
StrukturformelNameInChIInChIKeyNotiz
Ethanol InChI=1S/C2H6O/c1-2-3/h3H,2H2,1H3
  • LFQSCWFLJHTTHZ-UHFFFAOYSA-N
  • LFQSCWFLJHTTHZ-UHFFFAOYNA-N
Standard
(-)-Borneol InChI=1S/C10H18O/c1-9(2)7-4-5-10(9,3)8(11)6-7 /h7-8,11H,4-6H2,1-3H3/t7-,8+,10+/m0/s1
  • DTGKSKDOIYIVQL-QXFUBDJGSA-N
  • DTGKSKDOIYIVQL-QXFUBDJGNA-N
Standard. Tetraedrische Markierungen an den Atomen 7, 8 und 10.
(+)-Borneol InChI=1S/C10H18O/c1-9(2)7-4-5-10(9,3)8(11)6-7 /h7-8,11H,4-6H2,1-3H3/t7-,8+,10+/m1/s1
  • DTGKSKDOIYIVQL-WEDXCCLWSA-N
  • DTGKSKDOIYIVQL-WEDXCCLWNA-N
Standard. Beachten Sie die Verwendung von , /m1um das Enantiomer anzufordern.
(±)-Borneol InChI=1S/C10H18O/c1-9(2)7-4-5-10(9,3)8(11)6-7 /h7-8,11H,4-6H2,1-3H3 /t7-,8+,10+/s2 DTGKSKDOIYIVQL-IUNFSSIHNA-N Relativ, nicht näher spezifiziert.
InChI=1S/C10H18O/c1-9(2)7-4-5-10(9,3)8(11)6-7 /h7-8,11H,4-6H2,1-3H3 /t7-,8+,10+/s3 DTGKSKDOIYIVQL-SCAUNJPWNA-N Racemisch.
MorphiumInChI=1S/C17H19NO3 /c1-18-7-6-17-10-3-5-13(20)16(17)21-15-12(19)4-2-9(14(15)17)8-11(10)18 /h2-5,10-11,13,16,19-20H,6-8H2,1H3 /t10-,11+,13-,16-,17-/m0/s1 [ 13 ]
  • BQJCRHHNABKAKU-KBQPJGBKSA-N
  • BQJCRHHNABKAKU-KBQPJGBKNA-N
Standard.
H[ 2 2H]O Halbschweres WasserInChI=1S/H2O/h1H2/i/hD
  • XLYOFNOQVPJJNP-DYCDLGHISA-N
  • XLYOFNOQVPJJNP-DYCDLGHINA-N
Isotopeninformationen sind Teil des Standards.
[ 2 2H] 2 O Schweres WasserInChI=1S/H2O/h1H2/i/hD2
  • XLYOFNOQVPJJNP-ZSJDYOACSA-N
  • XLYOFNOQVPJJNP-ZSJDYOACNA-N
D2für zwei Deuteriumatome.
[ 3 2H] 2 O Superschweres WasserInChI=1S/H2O/h1H2/i/hT2
  • XLYOFNOQVPJJNP-PWCQTSIFSA-N
  • XLYOFNOQVPJJNP-PWCQTSIFSA-N
Tfür Tritium.
H 2 [ 18 O] Schwerer Sauerstoff Wasser InChI=1S/H2O/h1H2/i1+2
  • XLYOFNOQVPJJNP-NJFSPNSNSA-N
  • XLYOFNOQVPJJNP-NJFSPNSNNA-N
/i1+2bedeutet, dass es sich bei der Atomnummer 1 um ein Isotop mit einer um 2 größeren Atommasse als das normale (Sauerstoff-16) handelt.

Base-26-Kodierung

InChIKey verwendet eine Basis-26-Kodierung zur Darstellung (von Teilen) von SHA-256-Hashes. Die Eingabe wird in 14-Bit-Segmente unterteilt, von denen jedes drei Buchstaben (Tripletts) entspricht. Eine verbleibende Gruppe von bis zu 9 Bits entspricht zwei Zeichen (Doubletts). In InChIKey sind nur zwei Längen für die Eingabe möglich: 65 Bit für den „Major“-Hash (aufgeteilt in 14 × 4 + 9 Bits für 3 × 4 + 2 = 14 Zeichen) und 37 Bit für den „Minor“-Hash (14 × 2 + 9 Bits für 3 × 2 + 2 = 8 Zeichen). [ 14 ] In RInChI werden einige zusätzliche Längen verwendet: [ 15 ]

  • 28 (14 × 2) Bits ergeben einen 6-stelligen Hashwert; verwendet wird jedoch nur die gekürzte 4-stellige Form.
  • 56 (14 × 4) Bits ergeben einen 12-stelligen Hashwert, die gekürzte Form besteht aus 10 Zeichen.
  • 78 (65 + 14 - 1) Bits ergeben einen 17-stelligen Hashwert, wobei ein Bit zweimal verwendet wird.

Die ersten 80 Bits des SHA-256-Hashs für eine leere Zeichenkette sind e3 b0 c4 42 98 fc 1c 14 9a fb. Dies führt zu den folgenden Base26-Zeichenketten für diesen Hash: UHFF, UHFFFAOY, UHFFFADPSC, UHFFFADPSCTJ, UHFFFADPSCTJAU, UHFFFADPSCTJAUYIS. [ 15 ] Diese Zeichenketten treten häufig auf, wenn die entsprechenden Ebenen keine Daten enthalten. Beispielsweise findet man UHFFFAOYSAoder UHFFFAOYNAin einem InChIKey, wenn der Quell-InChI keine stereochemischen Informationen enthält.

Konkrete Beschreibung des InChI-Base26-Algorithmus in Python
from itertools import product from typing import Iterator , Optional from warnings import warn from math import ceil from hashlib import sha256AZ = [ chr ( i ) for i in range ( ord ( 'A' ), ord ( 'Z' ) + 1 )] AAZZ = [ '' . join ( p ) for p in product ( AZ , repeat = 2 )]# Absichtlich ausgelassen: EXX, TAA-TTV AAAZZZ = list ( filter ( lambda s : not ( s . startswith ( 'E' ) or s >= 'TAA' and s <= 'TTV' ), ( '' . join ( p ) for p in product ( AZ , repeat = 3 ))))def b26 ( data : bytes , bitlen : Optional [ int ]) -> Iterator [ str ]: """  Konvertiert Daten in InChI-Segmente. :param data: Die zu konvertierenden Daten.  :param bitlen: Die Anzahl der zu berücksichtigenden Bits der Daten. Falls None, werden alle Bits verwendet.  """ if bitlen is None : bitlen = len ( data ) * 8d = int.from_bytes ( data [: ceil ( bitlen / 8 ) ] , "little" ) while bitlen > 0 : if bitlen >= 10 : if bitlen < 14 : warn ( f "Verbleibendes {bitlen}-Bit-Segment als 3-Zeichen-Charakter ausgeben ( kein korrekter InChI-Base26-Kodierungstyp)" ) yield AAAZZZ [ d & ( ( 1 << 14 ) - 1 )] d >>= 14 bitlen -= 14 else : if bitlen < 9 : warn ( f "Verbleibendes { bitlen } -Bit-Segment als 2-Zeichen-Charakter ausgeben (kein korrekter InChI-Base26-Kodierungstyp)" ) yield AAZZ [ d & (( 1 << 9 ) - 1 )] d >>= 9 bitlen -= 9def b26_14 ( data : bytes ) -> str : """Kodiert 65 Bit Daten in 14 Zeichen (InChIKey main).""" return '' . join ( b26 ( data , 65 ))def b26_8 ( data : bytes ) -> str : """Kodiert 37 Bit Daten in 8 Zeichen (InChIKey minor).""" return '' . join ( b26 ( data , 37 ))def b26_r04 ( data : bytes ) -> str : """Kodiert 28 Bit Daten in 6 Zeichen und kürzt diese dann auf 4 (RInChIKey-Metadaten/Minor).""" return '' . join ( b26 ( data , 28 ))[ 0 : 4 ]def b26_r10 ( data : bytes ) -> str : """Kodiert 56 Bit Daten in 12 Zeichen und kürzt diese dann auf 10 (Short-RInChIKey maj).""" return b26_r12 ( data )[ 0 : 10 ]def b26_r12 ( data : bytes ) -> str : """Kodiert Datenbits in 12 Zeichen (WebRInChIKey minor).""" return '' . join ( b26 ( data , 56 ))def b26_r17 ( data : bytes ) -> str : """Kodiert 73 Bit Daten in 17 Zeichen (WebRInChIKey major).  Hinweis: Bit 64 wird zweimal verwendet!""" return '' .join ( b26 ( data , 65 )) + '' .join ( b26 ( data [ 8 : ] , 14 ))empty_hash = sha256 ( b "" ) print ( f " { empty_hash . hexdigest () =} " ) print ( f " { b26_8 ( empty_hash . digest ()) =} " )def key_14 ( data : str ) -> str : """Generiert einen 14-stelligen InChIKey main aus der Eingabezeichenkette.""" return b26_14 ( sha256 ( data . encode ()) . digest ())# Ethanol: LFQSCWFLJHTTHZ print ( f " { key_14 ( 'C2H6O/c1-2-3/h3H,2H2,1H3' ) =} " )

InChI-Resolver

Da sich die InChI-Sequenz nicht aus dem InChIKey rekonstruieren lässt, muss der InChIKey stets mit der ursprünglichen InChI-Sequenz verknüpft werden, um die ursprüngliche Struktur wiederherzustellen. InChI-Resolver fungieren als Suchdienst, um diese Verknüpfungen herzustellen. Prototypische Dienste sind vom National Cancer Institute , dem UniChem-Dienst des Europäischen Bioinformatik-Instituts und PubChem verfügbar . ChemSpider verfügte bis Juli 2015 über einen Resolver, der dann eingestellt wurde. [ 16 ]

AuxInfo

Die Zusatzinformationszeichenkette ( AuxInfo) wird von der InChI-Software zusammen mit der InChI-Zeichenkette erzeugt. Beispielsweise /s2erzeugt das Beispiel (±)-Borneol Folgendes:

AuxInfo=1/0/N:1,2,3,4,5,6,7,8,9,10,11/E:(1,2)/rA:13cCCCCCCCCCCOHH/rB:;;;s4;;s4s6;s6;s1s2s7;n3s5s8s9;P8;P7;s8;/rC:2.0857,-1.1788,0;3.0905,.273,0;2.6864,-1.7772,0; 4,5619,-2,283,0;3,6719,-2,2295,0;5,2528,-0,9411,0;4,5862,-1,4963,0;4,4381,-0,864,0;3,0628,-0,7814,0;3,6539,-1,3571,0;3,6343,-0,1809,0;5,5343,-1,9585,0;4,8482,0,1078,0; 

„AuxInfo enthält insbesondere Informationen zur Nicht-Stereo-Äquivalenz von Atomen, die die Positionen der Eingabeatome den Positionen der Ausgabeatome zuordnen, sowie Informationen zur Reversibilität, um die Struktur neu zu zeichnen.“ Mithilfe dieser Reversibilitätsinformationen lässt sich die Quellstruktur (z. B. eine MOLFILE mit 2D- oder 3D-Koordinaten) ohne InChI regenerieren. [ 17 ] Das InChI-Benutzerhandbuch beschreibt das Format detailliert. Die hier dargestellten Teile sind:

  • 1/0bezieht sich auf InChI Version 1, Normalisierungstyp 0.
  • /N:Ordnet die Atomnummerierung von InChI der Atomnummerierung der Eingabe zu.
  • /E:beschreibt die Äquivalenz zwischen Atomen.
  • /rA:beschreibt Informationen zur Reversibilität von Atomen.
  • /rB:beschreibt Informationen zur Reversibilität von Anleihen.
  • /rC:Beschreibt Informationen zur Reversibilität der Koordinaten. Hier werden 2D-Koordinaten verwendet; eine realistischere Darstellung dieses Moleküls wäre 3D.

Die vollständige Liste der Tags lautet: 1/0/N/E/gE/it/iN/I/E/gE/it/iN/CRV/rA/rB/rC. [ 18 ]

Abgeleitete Formate

RInChI

RInChI (Reaction InChI, International Chemical Identifier for Reactions) ist eine Standardmethode zur Beschreibung chemischer Reaktionen mithilfe von InChI. Ein RInChI-String besteht aus mehreren InChI-Strings für die Reaktanten, Produkte und Reaktionspartner sowie den Informationen, die für deren Kennzeichnung erforderlich sind. Beispielstring und Aufschlüsselung: [ 19 ]

Beispiel RInChI
TeilSchicht #Beschreibung
RInChI=1.00.1S/ 1 Version von RInChI (1.00), Version von InChI, die innerhalb (1S, Version 1 Standard) verwendet wird
C2H4O2/c1-2(3)4/h1H3,(H,3,4)!C2H6O/c1-2-3/h3H,2H2,1H3<> 2 Linke Seite der Reaktion (Essigsäure und Ethanol), Version 1 Standard InChI ohne InChI=1S/Header, getrennt durch!
C4H8O2/c1-3-6-4(2)5/h3H2,1-2H3!H2O/h1H2<> 3 Rechte Seite der Reaktion (Ethylacetat und Wasser), gleiches Format
H2O4S/c1-5(2,3)4/h(H2,1,2,3,4)/ 4 Reagenzien (Schwefelsäure), gleiches Format
d= 5 Reaktionsrichtung ( d). d=bedeutet Gleichgewicht, d+bedeutet von links nach rechts, d-bedeutet von rechts nach links.

Wie oben dargestellt, werden Ebenen, die keine InChI-Teile enthalten, wie in InChI getrennt /. Ebenen, die InChI-Teile enthalten, werden getrennt <>. Mehrere InChI-Teile werden getrennt !. [ 19 ]

Es ist zulässig, einige Strukturen in RInChI auszulassen. In diesem Fall wird eine sechste Ebene verwendet, um anzugeben, wie viele Strukturen in den Ebenen 2, 3 und 4 jeweils ausgelassen wurden. [ 19 ]

RInChI verfügt über ein analoges Konzept von RInChIKeys . Es gibt drei Versionen von RInChIKey, die sich in ihrer Länge unterscheiden: [ 19 ]

  • Der Long-RInChIKey besteht aus einem Header und der Verknüpfung der vollständigen InChIKeys der genannten Chemikalien. Die obige Reaktion ist Long-RInChIKey=SA-EUHFF-QTBSBXVTEAMEQO-UHFFFAOYSA-N-LFQSCWFLJTTHZ-UHFFFAOYSA-N--XEKOWRVHYACXOJ-UHFFFAOYSA-N-XLYOFNOQVPJJNP-UHFFFAOYSA-N--QAOWNCQODCNURD-UHFFFAOYSA-N. „SA“ steht für „Standard, Version 1“, „E“ für die Richtung (Gleichgewicht, kann auch „F“ für Vorwärts-, „B“ für Rückwärts- oder „U“ für undefiniert sein), und „UHFF“ wird nicht verwendet (dies leitet sich vom SHA-Hash der Leere ab).
  • Der Short-RInChIKey ist eine Zeichenkette fester Länge (63 Zeichen, 55 ohne Bindestrich).Short-RInChIKey=SA-EUHFF-JJFIATRHOH-UDXZTNISGZ-QAOWNCQODC-NUHFF-NUHFF-NUHFF-ZZZ
    • Der Header ist identisch mit dem Long-RInChIKey.
    • Die drei 10-Buchstaben-Teile werden durch Hashing der "Haupt"-InChI-Layer (Atom, Konnektivität; gleiche Definition wie der 14-Buchstaben-Teil von InChIKey) für die Layer 2, 3 bzw. 4 abgeleitet; ein leerer Layer wird zu gehasht UHFFFADPSC.
    • Die drei 5-Buchstaben-Abschnitte kodieren die Protonierungs- und Stereochemiezustände der Schichten 2, 3 und 4. Der erste Buchstabe („N“) kodiert die Gesamtladung, analog zum letzten Buchstaben des InChIKey-Codes. Die verbleibenden vier Buchstaben bilden einen Hash der „untergeordneten“ Anteile (Stereochemie usw.; dieselbe Definition wie der 8-Buchstaben-Abschnitt des InChIKey-Codes); auch hier ist „UHFF“ ein Hash des leeren Wertes.
    • Die letzten drei Buchstaben kodieren die Anzahl der „strukturlosen“ Komponenten (Schicht 6) für die Schichten 2, 3 und 4. „Z“ bedeutet 0, „A“ bedeutet 1 usw.
  • Der Web-RInChIKey ist eine Zeichenkette fester Länge (47 Zeichen, 1 Bindestrich). Die obige Reaktion enthält Web-RInChIKey=SMUHAWIQPXIVCEVKG-NUHFFFADPSCTJSA. Um ihn zu generieren, werden die InChIs aller RInChI-Ebenen zunächst kombiniert und alphabetisch sortiert.
    • Der erste Teil (17 Buchstaben) wird durch die Kombination der "Haupt"-Ebenen der sortierten InChIs generiert.
    • Der zweite Teil besteht aus einer Angabe der Gesamtprotonierung („N“ hier, gleiche Kodierung wie InChIKey), einem 12-stelligen Hash der „Minor“-Layer der sortierten InChIs ( UHFFFADPSCTJist ein Hash des leeren Wertes) und einem Versionsindikator („SA“ bedeutet Standard, Version 1).

MInChI

MInChI (Mixtures InChI, Internationaler chemischer Identifikator für Gemische) ist ein Entwurf für einen Standard zur Verwendung von (partiellem) InChI zur Beschreibung von Gemischen. Er definiert zwei Formate:

Beide Formen ermöglichen die Verschachtelung von Mischungen. [ 20 ]

Nachfolgend wird ein Beispiel für eine relativ komplexe (verschachtelte) Mixfile aufgeführt. [ 21 ]

{ "mixfileVersion" : 1 , "name" : "37 Gew.-% Formaldehyd in Wasser mit 10-15 % Methanol" , "contents" : [ { "contents" : [ { "name" : "Formaldehyd" , "quantity" : 37 , "units" : "w/w%" , "inchi" : "InChI=1S/CH2O/c1-2/h1H2" , }, { "name" : "Wasser" , "inchi" : "InChI=1S/H2O/h1H2" , } ] }, { "name" : "Methanol" , "quantity" : [ 10 , 15 ], "units" : "%" , "inchi" : "InChI=1S/CH4O/c1-2/h2H,1H3" , } ] }

Der entsprechende MInChI ist: MInChI=0.00.1S/CH2O/c1-2/h1H2&CH4O/c1-2/h2H,1H3&H2O/h1H2/n{{1&3}&2}/g{{37wf-2&}&10:15pp0}. [ 21 ]

  • Der erste Teil MInChI=0.00.1Sist die Versionsnummer.
  • Der zweite Teil /CH2O/c1-2/h1H2&CH4O/c1-2/h2H,1H3&H2O/h1H2kodiert die Liste der Moleküle.
  • Der dritte Teil /n{{1&3}&2}kodiert die Reihenfolge und die Verschachtelungsbeziehung.
  • Der letzte Teil /g{{37wf-2&}&10:15pp0}kodiert die Proportionen.

Es ist auch möglich, Mixfiles mit fehlenden chemischen Formeln zu erstellen und daraus MInChI zu generieren; der „dritte Teil“ von MInChI ist für solche Fälle ausgelegt. Weitere Beispiele finden Sie auf der MInChI-Demoseite. Mit der Schaltfläche „MInChI erstellen“ wird MInChI generiert. Ein Rechtsklick auf einen Knoten und die Auswahl von „Zweig kopieren“ erzeugt dessen Mixfile-Darstellung in der Zwischenablage . [ 21 ]

Geschichte

Name

Das Format hieß ursprünglich IChI (IUPAC Chemical Identifier), wurde dann im Juli 2004 in INChI (IUPAC-NIST Chemical Identifier) ​​umbenannt und im November 2004 erneut in InChI (IUPAC International Chemical Identifier), eine Marke der IUPAC.

Kontinuierliche Weiterentwicklung

Die wissenschaftliche Leitung des InChI-Standards obliegt dem IUPAC-Unterkomitee der Division VIII. Die Finanzierung von Untergruppen, die die Erweiterung des Standards untersuchen und definieren, erfolgt durch die IUPAC und den InChI Trust . Der InChI Trust finanziert die Entwicklung, das Testen und die Dokumentation von InChI. Derzeit werden Erweiterungen definiert, um Polymere und Gemische , Markush-Strukturen , Isotopologe und Isotopomere [ 22 ] , Reaktionen [ 23 ] , Organometallverbindungen und Nanomaterialien [ 24 ] zu behandeln . Nach der Annahme durch das Unterkomitee der Division VIII werden diese Erweiterungen in den Algorithmus aufgenommen.

Die Weiterentwicklung des Standards wird seit 2010 vom gemeinnützigen InChI Trust unterstützt , dem auch die IUPAC angehört. Version 1.06 wurde im Dezember 2020 veröffentlicht. [ 25 ]

Versionsverlauf

Der InChI Trust hat eine Software zur Generierung von InChI, InChIKey und anderen Identifikatoren entwickelt. Die Veröffentlichungsgeschichte dieser Software folgt. [ 26 ]

Software und Version Datum Lizenz Kommentare
InChI v. 1 April 2005
InChI v. 1.01 August 2006
InChI v. 1.02beta September 2007 LGPL 2.1 Fügt die InChIKey-Funktionalität hinzu.
InChI v. 1.02 Januar 2009 LGPL 2.1 Das Format für InChIKey wurde geändert. Es wird nun der Standard InChI verwendet.
InChI v. 1.03 Juni 2010 LGPL 2.1
InChI v. 1.03 Quellcodedokumente März 2011 LG)L
InChI v. 1.04 September 2011 IUPAC/InChI Trust InChI Lizenz 1.0 Neue Lizenz. Unterstützung für die Elemente 105–112 hinzugefügt. CML-Unterstützung entfernt.
InChI v. 1.05 Januar 2017 IUPAC/InChI Trust InChI Lizenz 1.0 Unterstützung für die Elemente 113–118 hinzugefügt. Experimenteller Polymerträger. Experimenteller Träger für große Moleküle.
RInChI v. 1.00 März 2017 IUPAC/InChI Trust InChI-Lizenz 1.0 und BSD-Stil Berechnet Reaktions-InChIs. [ 23 ]
InChI v. 1.06 Dezember 2020 IUPAC/InChI Trust InChI Licence 1.0 [ 27 ]Überarbeitete Polymerunterstützung.
InChI v. 1.07.1 August 2024 MIT-Lizenz Der Code wurde nach GitHub verschoben.

Annahme

InChI wurde von vielen größeren und kleineren Datenbanken übernommen, darunter ChemSpider , ChEMBL , die Golm Metabolome Database und PubChem . [ 28 ] Die Übernahme verläuft jedoch nicht reibungslos, und viele Datenbanken weisen Diskrepanzen zwischen den chemischen Strukturen und den darin enthaltenen InChI-Einträgen auf, was die Verknüpfung von Datenbanken erschwert. [ 29 ]

Siehe auch

Anmerkungen und Verweise

  1. ^ „IUPAC International Chemical Identifier Project Page“ . IUPAC . Archiviert vom Original am 27. Mai 2012. Abgerufen am 5. Dezember 2012 .
  2. ^ Heller, S.; McNaught, A.; Stein, S.; Tchekhovskoi, D.; Pletnev, I. (2013). „InChI – der weltweite Standard zur Identifizierung chemischer Strukturen“ . Journal of Cheminformatics . 5 (1): 7. doi : 10.1186/1758-2946-5-7 . PMC 3599061. PMID 23343401 .  
  3. ^ „Was zum Teufel ist InChI?“ . IUPAC 100 . Abgerufen am 10. Mai 2024 .
  4. ^ „The InChI Trust and IUPAC“ . InChI Trust . Abgerufen am 22. August 2022 .
  5. ^ a b c d e Heller, S. R.; McNaught, A.; Pletnev, I.; Stein, S.; Tchekhovskoi, D. (2015). „InChI, der internationale chemische Identifikator der IUPAC“ . Journal of Cheminformatics . 7 23. doi : 10.1186/s13321-015-0068-4 . PMC 4486400. PMID 26136848 .  
  6. ^ a b „The IUPAC International Chemical Identifier (InChI)“ . IUPAC . 5. September 2007. Archiviert vom Original am 30. Oktober 2007. Abgerufen am 18. September 2007 .
  7. ^ EL Willighagen (17. September 2011). „InChIKey collision: the DIY copy/pastables“ . Abgerufen am 6. November 2012 .
  8. ^ "Inchi-Pakete - Repologie" .
  9. ^ "Inchi - Debian Package Tracker" .
  10. ^ a b c Heller, Stephen R.; McNaught, Alan; Pletnev, Igor; Stein, Stephen; Tchekhovskoi, Dmitrii (2015). „InChI, der internationale chemische Identifikator der IUPAC“ . Journal of Cheminformatics . 7 23. doi : 10.1186/s13321-015-0068-4 . PMC 4486400. PMID 26136848 .  
  11. ^ Pletnev, I.; Erin, A.; McNaught, A.; Blinov, K.; Tchekhovskoi, D.; Heller, S. (2012). „InChIKey-Kollisionsresistenz: Eine experimentelle Untersuchung“ . Journal of Cheminformatics . 4 (1): 39. doi : 10.1186/1758-2946-4-39 . PMC 3558395. PMID 23256896 .  
  12. ^ „Technische FAQ – InChI Trust“ . inchi-trust.org . Abgerufen am 8. Januar 2021 .
  13. ^ "InChI=1/C17H19NO3/c1-18..." Chemspider . Abgerufen am 18.09.2007 .
  14. ^ „InChI/INCHI-1-SRC/INCHI_BASE/src/ikey_base26.h“ .
  15. ^ ein b „RInChI/src/lib/rinchi_hashing.cpp“ .
  16. ^ InChI Resolver, 27. Juli 2015
  17. ^ „Technische FAQ zu InChI – InChI Trust“ . www.inchi-trust.org .
  18. ^ „IUPAC International Chemical Identifier (InChI) Programs InChI version 1, software version 1.04 User's Guide“ (PDF) . September 2011.
  19. ^ a b c d . PMC 5940998 . PMID 29740723 https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5940998 .  {{cite journal}}: Zeitschrift zitieren erfordert |journal=( Hilfe ) ; Fehlend oder leer |title=( Hilfe )
  20. Clark , Alex M.; McEwen, Leah R.; Gedeck, Peter; Bunin, Barry A. (Dezember 2019). „Erfassung der Zusammensetzung von Gemischen: Ein offenes maschinenlesbares Format zur Darstellung von Stoffgemischen“ . Journal of Cheminformatics . 11 (1). doi : 10.1186/s13321-019-0357-4 . PMC 6533230 . 
  21. ^ a b c „MInChI-Demo“ . molmatinf.com .(Beispiel Nr. 3 dient nur zur Veranschaulichung. Verwenden Sie „copy branch“, um als Mixfile-JSON zu kopieren.)
  22. ^ Hunter NB Moseley; Philippe Rocca-Serra; Reza M. Salek; Masanori-Arita; Emma L. Schymanski (14. Mai 2024). „InChI-Isotopologe und Isotopomer-Spezifikationen“ . Zeitschrift für Chemieinformatik . 16 (1). doi : 10.1186/S13321-024-00847-8 . ISSN 1758-2946 . PMID 38741211 . Wikidata Q125934731 .   
  23. ^ a b Grethe, Guenter; Blanke, Gerd; Kraut, Hans; Goodman, Jonathan M. (9. Mai 2018). „ International chemical identifier for reactions (RInChI)“ . Journal of Cheminformatics . 10 (1): 45. doi : 10.1186/s13321-018-0277-8 . PMC 4015173. PMID 24152584 .  
  24. ^ Iseult Lynch ; Antreas Afantitis; Thomas E. Exner; et al. (11. Dezember 2020). „Kann ein InChI für Nano den Bedarf an einer vereinfachten Darstellung komplexer Nanomaterialien in experimentellen und nanoinformatischen Studien decken?“ Nanomaterials . 10 ( 12 ). doi : 10.3390 /NANO10122493 . ISSN 2079-4991 . PMC 7764592. PMID 33322568. Wikidata Q104477914 .    
  25. ^ Goodman, Jonathan M.; Pletnev, Igor; Thiessen, Paul; Bolton, Evan; Heller, Stephen R. (Dezember 2021). „InChI Version 1.06: Jetzt mehr als 99,99 % zuverlässig“ . Journal of Cheminformatics . 13 (1): 40. doi : 10.1186/s13321-021-00517-z . PMC 8147039. PMID 34030732 .  
  26. ^ Downloads der InChI-Software , abgerufen am 8. Januar 2021.
  27. ^ „IUPAC/InChI-Trust-Lizenz für die International Chemical Identifier (InChI)-Software“ (PDF) . IUPAC/InChI-Trust. 2020. Abgerufen am 9. August 2022 .
  28. ^ Warr, WA (2015). „ Viele InChIs und einige bemerkenswerte Leistungen“. Journal of Computer-Aided Molecular Design . 29 (8): 681–694 . Bibcode : 2015JCAMD..29..681W . doi : 10.1007/s10822-015-9854-3 . PMID 26081259. S2CID 31786997 .  
  29. ^ Akhondi, SA; Kors, JA; Muresan, S. (2012). „Konsistenz systematischer chemischer Identifikatoren innerhalb und zwischen Datenbanken niedermolekularer Verbindungen“ . Journal of Cheminformatics . 4 (1): 35. doi : 10.1186/1758-2946-4-35 . PMC 3539895. PMID 23237381 .  

Offizielle Ressourcen

Tools von Drittanbietern

  • Der NCI/CADD Chemical Identifier Resolver generiert und löst InChI/InChIKeys und viele andere chemische Identifikatoren auf.
  • PubChem ist ein Online-Moleküleditor , der SMILES /SMARTS und InChI unterstützt .
  • ChemSpider Compound APIs ChemSpider REST API , die die Generierung von InChI und die Umwandlung von InChI in eine Struktur ermöglicht (sowie SMILES und die Generierung anderer Eigenschaften)
  • MarvinSketch von ChemAxon ist eine Implementierung zum Zeichnen von Strukturen (oder zum Öffnen anderer Dateiformate) und zur Ausgabe im InChI-Dateiformat.
  • BKchem implementiert einen eigenen InChI-Parser und verwendet die IUPAC-Implementierung zur Generierung von InChI-Zeichenketten.
  • CompoundSearch implementiert eine InChI- und InChI-Key-Suche in Spektralbibliotheken.
  • SpectraBase implementiert eine InChI- und InChI-Key-Suche in Spektralbibliotheken.
  • JSME ( archiviert am 06.01.2015 in der Wayback Machine) ist ein kostenloser, JavaScript-basierter Moleküleditor, der InChI- und InChI-Key-Daten im Webbrowser generiert und so die einfache Suche nach chemischen Verbindungen im Internet ermöglicht.