Online Software Handbuch

BookmarkIndexPrint
Contents
Display Legacy Contents


SMILES und SMARTS Nomenklatur

SMILES

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.

Atom-Stammsymbole

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

Bindungs-Stammsymbole

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)

Logische Operatoren

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

[Cl]

beliebiges Chloratom

[35*]

beliebiges Atom der Masse 35

[35Cl]

Chloratom der Masse 35

[F,Cl,Br,I]

die vier ersten Halogene

Rekursive SMARTS

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.

CaaO

C ortho zu O

CaaaN

C meta zu N

Caa(O)aN

C ortho zu O und meta zu N (aber nur 2O,3N )

Ca(aO)aaN

C ortho zu O und meta zu N (aber nur 2O,5N )

C[$(aaO);$(aaaN)]

C ortho zu O und meta zu N (alle Fälle)

Gruppierung von SMARTS auf der Komponentenebene

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)

SMARTS vs. SMILES

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.

Effizienz Erwägungen

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.

Beispiele

cc

beliebiges Paar verbundener aromatischer Kohlenstoffe

c:c

aromatische Kohlenstoffe verbunden durch eine nicht aromatische Bindung

c-c

aromatische Kohlenstoffe verbunden durch eine Einfachbindung (z.B. Biphenyl).

O

beliebiger aliphatischer Sauerstoff

[O;H1]

einfacher Hydroxysauerstoff

[O;D1]

einfach gebundener (hydroxy oder hydroxide) Sauerstoff

[O;D2]

zweifach gebundener (etherischer) Sauerstoff

[C,c]

beliebiger Kohlenstoff

F,Cl,Br,I]

die ersten vier Halogene

[N;R]

aliphatischer Stickstoff UND in einem Ring

[!C;R]

(NICHT aliphatischer Kohlenstoff) UND in einem Ring

[n;H1]

H-Pyrrol Stickstoff

[n&H1]

wie oben

[c,n&H1]

beliebiger arom. Kohlenstoff ODER H-pyrrol Stickstoff

[c,n;H1]

(arom. Kohlenstoff ODER arom. Stickstoff) und genau ein H

*!@*

zwei durch eine nicht-Ringbindung verbundene Atome

*@;!:*

zwei durch eine nicht-aromatische Ringbindung verbundene Atome

[C,c]=,#[C,c]

zwei Kohlenstoffe verbunden durch eine Doppel- oder Dreifachbindung

References

"SMILES 1. Introduction and Encoding Rules", Weininger, D., J. Chem. Inf. Comput. Sci., 1988, 28, 31.

Daylight Chemical Information Systems, Inc.