SMILES eine einfache aber gut verständliche chemische Nomenklatur.
SMILES ist ein Akronym und bedeutet: Simplified Molecular Input Line
Entry Specification.
SMILES ist eine weitverbreitete und universell einsetzbare chemische
Nomenklatur und ein Datenaustauschformat. Dennoch unterscheidet sich SMILES
in verschiedenen grundlegenden Aspekten von den meisten chemischen Nomenklaturen
und anderen chemischen Formaten.
SMARTS
Die Unterstruktur- bzw. Teilstruktursuche,
also der Prozess ein bestimmtes Muster (subgraph) in einem Molekül
(graph) zu finden, ist eine der wichtigsten Aufgaben der Computer in der
Chemie. Diese Funktion wird in nahezu jeder Anwendung benötigt in der
eine digitale Repräsentation eines Moleküls verwebdet wird. Dazu gehören
speziell die Darstellung (Hervorhebung einer bestimmten funktionellen
Gruppe), Arzneimittelforschung (Durchsuchen der Datenbank nach ähnlichen
Strukturen und Wirkungen), analytische Chemie (Vergleich unbekannter Substanzen
mit zuvor charakterisierten Substanzen), und unzählige weitere Problemstellungen.
SMARTS ist eine Sprache die es erlaubt durch Regeln die eine direkte
Erweiterung von SMILES sind, Unterstrukturen zu definieren. Soll zum Beispiel
eine Datenbank nach Strukturen mit einem Phenolsubstituenteten durchsucht
werden, würde die SMART-Zeichenkette "[OH]c1ccccc1" verwendet
werden, die SMILES kundigen Benutzern bekannt vorkommen sollte. Tatsächlich
sind fast alle SMILES Spezifikationen gültige SMARTS Ziele ("SMARTS
Ausnahmen", siehe unten). Mit der Hilfe von SMARTS können flexible
und effiziente Spezifikationen für die Unterstruktursuche aufgestellt
werden, die für Chemiker verständlich sind.
In der SMILES Sprache gibt es zwei fundamentale Symboltypen: Atome
und Bindungen. Mit diesen SMILES Symbolen kann eine Moleküldarstellung
(dessen "Knoten" und "Kanten") spezifiziert werden
und den einzelnen Komponenten der Darstellung können "Beschriftungen"
(z.B. welches Atom ein Knoten darstellt und welche Art von Bindung die
Kante bildet) angehängt werden.
Dies gielt auch für SMARTS: Man verwendet Atom- und Bindungssymbole
um eine Darstellung zu definieren. Die Beschriftungen der Knoten und Kanten
(der Atome und Bindungen) in SMARTS können allerdings zusätzlich logische
Operatoren und spezielle Atom- und Bindungssymbole enthalten. Dies ermöglicht
SMARTS Atomen und Bindungen deutlich allgemeiner zu sein. Zum Beispiel:
Das SMARTS Atomsymbol [C,N] kann ein aliphatisches C oder aliphatischen
N sein; das SMARTS Bindungssymbol "~"
(tilde) stellt eine beliebige Bindung dar.
SMARTS gibt eine Zahl an Stammsymbolen vor, die die Atomeigenschaften
zusätzlich zu den in SMILES verwendeten Symbolen (Atomsymbol, Ladung,
und Isotopspezifikationen) beschreiben. Die folgende Tabelle listet die
in SMARTS verwendeten Atom-Stammsymbole auf (alle SMILES Atomsymbole sind
ebenso erlaubt). In dieser Tabelle repräsentiert <n> eine Ziffer
und <c> eine chirale Klasse.
SMARTS Atom-Stammsymbole
Symbol
Symbolname
Atom Eigenschaften
Vorgabe
*
Platzhalter
beliebiges Atom
(keine Vorgabe)
a
aromatisch
aromatisch
(keine Vorgabe)
A
aliphatisch
aliphatisch
(keine Vorgabe)
D<n>
Grad
<n> explizite Verbindungen
genau eine1
H<n>
Gesamtanzahl H
<n> gebundene Wasserstoffatome
genau eins1
h<n>
implizite-H-Anzahl
<n> implizite Wasserstoffatome
genau eins1
R<n>
Ring Zugehörigkeit
in <n> SSSR Ringen
beliebiges Ringatom
r<n>
Ringgröße
im kleinsten SSSR Ring der Größe <n>
beliebiges Ringatom
v<n>
Valenz
Gesamt Bindungsordnung <n>
genau eins1
X<n>
Konnektivität
<n> Gesamtverbindungszahl
genau eins1
- <n>
negative Ladung
-<n> Ladung
-1 Ladung (-- ist -2, etc)
+<n>
positive Ladung
+<n> formale Ladung
+1 Ladung (++ ist +2, etc)
#n
Atomnummer
Atomnummer <n>
(keine Vorgabe)
@
Chiralität
entgegen Urzeigersinn
entgegen Urzeigersinn, Standardklasse
@@
Chiralität
im Urzeigersinn
im Urzeigersinn, Standardklasse
@<c><n>
Chiralität
chirale Klasse <c> Chiralität <n>
(keine Vorgabe)
@<c><n>?
chiral oder unbestimmt
Chiralität <c><n> oder unbestimmt
(keine Vorgabe)
<n>
Atommasse
explizite Atommasse
unbestimmte Masse
1Das Stammsymbol "H"
hat zwei Bedeutungen. Einmal bezeichnet es eine Eigenschaft, oder aber
auch das Element selbst. [H] bedeutet Wasserstoffatom.
[*H2] bedeutet ein beliebiges Atom mit genau zwei
gebundenen Wasserstoffatomen.
Beispiele:
C
aliphatisches Kohlenstoffatom
c
aromatisches Kohlenstoffatom
a
aromatisches Atom
[#6]
Kohlenstoffatom
[Ca]
Calciumatom
[++]
Atom mit der Ladung +2
[R]
Atom in einem beliebigen Ring
[D3]
Atom mit 3 expliziten Bindungen (implizite H's zählen nicht)
[X3]
Atom mit insgesamt 3 Bindungen (implizite H's eingeschlosssen)
[v3]
Atom mit einer Bindungsordnung von 3 (implizite H's eingeschlosssen)
C[C@H](F)O
Übereinstimmung bei Chiralität (H-F-O entgegen Urzeigersinn, vom C aus
gesehen)
C[C@?H](F)O
Übereinstimmung bei definierter oder unbestimmter Chiralität
Verschieden Bindungssymbole beschreiben die Verbindungen zwischen Atome.
Ein fehlendes Bindungssymbol wird als "Einfach- oder aromatische
Bindung" interpretiert.
SMARTS Bindungs-Stammsymbole
Symbol
vorrausgesetzte Atomeigenschaften
-
Einfachbindung (aliphatisch)
/
gerichtetet Einfachbindung "nach oben"
\
gerichtetet Einfachbindung "nach unten"
/?
gerichtete Bindung "nach oben oder unbestimmt"
\?
gerichtete Bindung "nach unten oder unbestimmt"
=
Doppelbindung
#
Dreifachbindung
:
aromatische Bindung
~
beliebige Bindung (Platzhalter)
@
Beliebige Ringbindung
Beispiele:
C
beliebiger aliphatischer Kohlenstoff
cc
beliebiges Paar verbundener aromatischer Kohlenstoffe
c:c
aromatische Kohlenstoffe durch eine aromatische Bindung verknüpft
c-c
aromatische Kohlenstoffe durch eine Einfachbindung verknüpft (z.B. Biphenyl)
Atom- und Bindungsymbole können mit logischen Operatoren zu Ausdrücken
verknüpft werden. In der folgenden Tabelle stellt "e" einen
Atom- oder Bindungs- SMARTS Ausdruck dar (kann ein Stammsymbol sein).
Die logischen Operatoren werden nach absteigender Priorität aufgelistet
(Operatoren hoher Priorität werden zuerst ausgeführt).
SMARTS Logische Operatoren
Symbol
Ausdruck
Bedeutung
Ausrufezeichen
!e1
nicht e1
Und
e1&e2
e1 und e2 (hohe Priorität)
Komma
e1,e2
e1 oder e2
Semikolon
e1;e2
e1 und e2 (niedrige Priorität)
Alle Atomausdrücke die nicht einfachen Stammsymbolen entsprechen müssen
in Klammern gesetzt werden. Die Standardoperation ist `&' ("und"
- hohe Priorität), folglich müssen zwei angrenzende Stammsymbole ohne
dazwischen liegenden logischen Operator beide wahr werden, damit der Ausdruck
(oder Unterausdruck) als wahr ausgewertet wird.
Die Möglichkeit Ausdrücke zu bilden, gibt dem SMARTS Benutzer eine leistungsfähige
Methode zur genauen Beschreibung in die Hand. Die beiden Formen des UND
Operators dienen in SMARTS als Gruppenoperatoren.
Beispiele:
[CH2]
aliphatischer Kohlenstoff mit zwei Wasserstoffatomen ( Methylenkohlenstoff)
[!C;R]
(NICHT aliphatischer Kohlenstoff) UND Teil eines Rings
[!C;!R0]
wie oben ("!R0" bedeutet Nicht in Null Ringen)
[n;H1]
H-pyrrol Stickstoff
[n&H1]
wie oben
[nH1]
wie oben
[c,n&H1]
beliebiger arom. Kohlenstoff ODER H-Pyrrol Stickstoff
[X3&H0]
Atom mit insgesamt 3 Bindungen und keinen H's
[c,n;H1]
(arom. Kohlenstoff ODER arom. Stickstoff) und genau ein H
Jeder SMARTS Ausdruck kann verwendet werden um eine Atomumgebung zu
definieren. Das SMARTS wird beginnend mit dem gewünschten Atom in folgender
Form aufgestellt:
$(SMARTS)
Solche Definitionen können als Atomeigenschaften angesehen werden und
können in der selben Form wie die Stammsymbole verwendet und auch verschachtelt
werden.
*C
mit einem Methyl- (oder Methylen-) Kohlenstoff verbundenes Atom
*CC
mit einem Ethylkohlenstoff verbundenes Atom
[$(*C);$(*CC)]
Atom in beiden obigen Umgebungen ( trifft auf CCC
zu)
Die zusätzliche Leistungsfähigkeit dieser Ausdrücke wird im folgenden
Beispiel demonstriert. Es wird ein Ausdruck für Methylkohlenstoffe definert,
die ortho zu Sauserstoff und meta zu Stickstoff an einen aromatischen
Ring gebunden sind.
SMARTS kann "Null-Level" Klammern enthalten, die zur Gruppierung
von punktgetrennten Fragmenten verwendet werden können. Diese Gruppierung
erlaubt die Aufstellung leistungsfähigerer Komponenten-Abfragen. Generell
kann ein einfacher Satz von Klammern jeden beliebigen gültigen SMARTS
Ausdruck umgeben. Zwei oder mehr dieser Ausdrücke zu einem komlexeren
SMARTS kombiniert werden:
(SMARTS)
(SMARTS).(SMARTS)
(SMARTS).SMARTS
Sie Semantik der "Null-Level" Klammern impliziert, dass alle
Atom- und Bindungsausdrücke innerhalb dieser Klammern auf eine einzelne
Komponenten des Ziels zutreffen müssen.
SMARTS
SMILES
Übereinstimmung
C.C
CCCC
ja, keine Gruppierung auf Komponentenebene spezifiziert
(C.C)
CCCC
ja, beide Kohlenstoffe befinden sich in einer Komponente
(C).(C)
CCCC
nein, beide Kohlenstoffe müssen in verschiedenen Komponeneten vorliegen
(C).(C)
CCCC.CCCC
ja, beide Kohlenstoffe liegen in verschiedenen Komponeneten vor
(C).C
CCCC
ja, beide Kohlenstoffe befinden sich in einer Komponente
(C).(C).C
CCCC.CCCC
ja , die ersten beiden Kohlenstoffe liegen in verschiedenen Komponenten
vor und der dritte in einer beliebigen Komponente
Die Gruppenoperatoren auf Komponentenebene wurden speziell für die Reaktionsbeschreibung
eingeführt. Ohne diese Konstrukt wäre es unmöglich zwischen inter- und
intramolekularen Reaktionen zu unterscheiden. Zum Beispiel:
Reaktion SMARTS Ausdruck
Übereinstimmung
C(=O)O.OCC>>C(=O)OCC.O
trifft aus Veresterung zu
(C(=O)O).(OCC)>>C(=O)OCC.O
trifft auf intermolekulare Veresterung zu
(C(=O)O.OCC)>>C(=O)OCC.O
trifft auf intramolekulare Veresterung zu (Laktonisierung)
Alle SMILES Ausdrücke sind ebenfalls gültige SMARTS Ausdrücke, aber
die Semantik ändert sich, da SMILES Moleküle beschreibt und SMARTS dagegen
Muster beschreibt. Das durch einen SMILES Ausdruck beschriebene Molekül
wird normalerweise, aber nicht immer, durch den gleichen SMARTS Ausdruck
beschrieben.
SMILES wird als Molekül interpretiert und das resultierende Molekül
(und nicht der SMILES Ausdruck) wird zur Suche verwendet. Gleichermassen
wird SMARTS als Muster interpretiert und dieses Muster und nicht der SMARTS
Ausdruck wird zur Suche verwendet. Zum Beispiel: Das SMILES "C1=CC=CC=C1"
(cyclohexatrien) wird als Benzolmolekül interpretiert. Das entspricht
dem SMARTS c1ccccc1, das als Muster "6 aromatische Kohlenstoffe in
einem Ring" interpretiert wird. Das SMARTS
"C1=CC=CC=C1" ergibt ein Muster ("sechs aliphatische Kohlenstoffe
in einem Ring mit alternierenden Einfach- und Doppelbindungen") welches
NICHT mit Benzol übereinstimmt. Es stimmt allerdings mit dem nicht aromatischen
Phenylat-Kation mit dem SMILES C1=CC=CC=[CH+]1 überein.
Werden Atome in SMILES ohne eckige Klammern angegeben, dann werden die
Standardwerte verwendet. In SMARTS sind unbestimmte Eigenschaften nicht
als Teil des Musters definiert. Zum Beispiel: Das SMILES O bezeichnet
einen aliphatischen Sauerstoff mit der Ladung null und zwei Wasserstoffatomen,
also Wasser. In SMARTS bezeichnet der gleiche Ausdruck einen aliphatischen
Sauerstoff, aber unabhängig von der Ladung, der Wasserstoffanzahl etc.
Folglich stimmt dieser Ausdruck mit dem Sauerstoff in Wasser überein,
aber auch mit dem in Ethanol, Aceton, molekularem Sauerstoff, Hydroxy-
und Hydronium-Ionen etc. Wird dagegen [OH2] spezifiziert, wird das Muster
auf Wasser beschränkt (dies ist ausserdem das voll spezifizierte SMILES
für Wasser).
In vielen SMILES-Interpretern gibt es einige Anachronismen die zu Verwirrung
führen können. Manche SMILES-Interpreter erlauben implizite Wasserstoffatome
als explizite Atome in der Eingabe als Abkürzung. Zum Beipiel: Das SMILES
für 1H-Pyrrol ist "[nH]1cccc1". Dies entspricht dem SMARTS und
auch "n1cccc1". Der aktuelle Daylight SMILES-Interpreter akzeptiert
auch "Hn1cccc1" aus Gründen der Rückwärtskompatibilität. Dies
erzeugt dasselbe (Wasserstoff unterdrückte) Molekül wie "[nH]1cccc1"
und entspricht auch dem selben SMARTS. Allerdings stimmt das SMARTS "Hn1cccc1"
nicht mit diesem Molekül überein.
Die meisten SMARTS Ausdrücke sine keine gültigen SMILES Ausdrücke. Beispielweise
ist der Ausdruck "cOc" ein gültiger SMARTS und stimmt mit einem
aliphatischen Sauerstoff gebunden an zwei aromatische Kohlenstoffe als
Teil eines größeren Moleküls überein (z.B. Diphenylether). Allerdings
beschreibt "cOc" kein Molekül an sich und ist damit kein gültiges
SMILES.
Der Daylight 4.x SMARTS Toolkit stellt die Funktion dt_smarts_opt()
zur Verfügung, die einen SMARTS Ausdruck automatisch durch umstellen,
erweitern, und / oder verdichten der Atom- und Bindungsausdrücke optimiert.
Programme die diese Funktion verwenden (z.B. das Merlin Programm) können
im Bezug auf die Suchzeit als optimal angesehen werden.
Wird diese Optimierung nicht verwendet, dann gibt es zusätzliche Regeln
die eine effiziente und schnelle Suche über SMARTS ermöglichen. Es ist
wichtig zu beachten, dass SMARTS Zeichenketten strikt von links nach rechts
verarbeitet werden. Aus diesem Grund können beachtliche Verbesserungen
der Suchgewschwindigkiet erzielt werden, wenn folgende Richtlinien beachtet
werden:
Ungewöhnliche Atom- oder Bindungskombinationen sollten
am Anfang der SMARTS Zeichenkette stehen.
In einem "Und-Ausdruck" sollten die seltenen
Atom- oder Bindungsspezifikationen am Anfang stehen.
In einem "Oder-Ausdruck" sollten die seltenen
Atom- oder Bindungsspezifikationen am Ende stehen.