Kapitelanfang Vorige Seite Nächste Seite Nächstes Kapitel
VERN Home navigation
 
Chemoinformatik
Einführung in die Chemoinformatik
Repräsentation chemischer Strukturen
Einleitung
Nomenklatur
Linearnotation
Konstitutionscodierung
Einführung
Graphentheorie Grundlagen
Graphentheorie-Chemie
Adjazenz-Matrix
Distanz-Matrix
Inzidenz-Matrix
Bindungs-Matrix
Bindungs-Elektronen-Matrix
Beurteilung Matrizen
Bindungsliste I
Bindungsliste II
Bindungsliste III
Kanonisierung
Morgan Algorithmus
Morgan - Tutorial
Fragment-Kodierung
Fingerprints
  Hashcode
Beurteilung Spezialnotationen
3D-Codierung
Oberflächen
Literatur
Repräsentation chemischer Reaktionen
Daten/Datenformate
Datenbanken/Datenquellen
Struktur-Suchmethoden
Berechnung physikalischer und chemischer Daten
Deskriptoren für chemische Verbindungen
Methoden zur Datenanalyse
Anwendungen

Startseite

Hashcode

Unter einem Hashcode versteht man in der elektronischen Datenverarbeitung die komprimierte Darstellung einer komplexen Informationseinheit mit fester Länge. Im Unterschied zu einem Datenkompressionsalgorithmus kann aus einem Hashcode die ursprüngliche Information nicht wiedergewonnen werden.

Das Hash-Verfahren (Schlüsseltransformation) berechnet aus alphabetischen, numerischen oder alphanumerischen Schlüsseln eine Menge von Speicheradressen. Dabei werden die Daten bzw. Strukturen in Fragmente aufgeteilt, die wiederum eine Identifikationsnummer (ID) zugeordnet bekommen. Diese ID der Fragmente ist aber nicht direkt im Computer zugänglich. Sie muß erst durch einen Hash-Algorithmus in eine vorgegebene, feste Anzahl von Zeichen (Hashcode) transformiert werden. Der verschlüsselte Code ist mit einer definierten Länge, d.h. feste Bit/Byte-Länge (z.B. 32 Bit oder 64 Bit) angegeben. Diese extreme Datenreduktion ist eine effiziente Methode zur Verwaltung großer Datenmengen.
Der Hashcode wird somit nicht als direkter Datenzugriff benutzt, er dient vielmehr als Index oder Schlüssel zum abgelegten Dateneintrag. Da dieser Schlüssel in eindeutiger Weise erhalten wird, indem mehrdimensionale Daten in eine einzige Dimension reduziert werden, geht beim Hash-Coding Information verloren. Dieser Verlust verhindert eine Rekonstruktion der vollständigen Daten aus dem Hashcode.

Über einen Hashcode-Algorithmus wird aus der Vollstruktur eines Moleküls eine eindeutige Integerzahl mit bestimmter Bit-Länge berechnet, d.h. der Algorithmus liefert für identische Molekülstrukturen immer die selbe Integerzahl. Ein Hashcode ist somit eine eindeutige Zahl, die in der Chemie molekulare Datenstrukturen wie Atome und Bindungen beschreibt und identifiziert, oder für eine bestimmte chemische Struktur charakteristisch ist. Dadurch eignet sich der Hashcode u.a. bei einer Suche zur schnellen Überprüfung der Identität von Strukturen.
Durch die festgelegte Zeichenzahl (Bit-Länge) können allerdings mehrere unterschiedliche Molekülstrukturen auf den gleichen Hashcode abgebildet werden ("adress collision"). Die Kollisionswahrscheinlichkeit steigt, wenn die Anzahl der Eingabedaten im Verhältnis zum Wertebereich (Bit-Länge) erhöht wird.

Hashcode

Suche einer chemischen Struktur mit Hilfe eines Hashcodes

Im Allgemeinen werden Hashcodes im Chemie-Informationsprozess zur Molekülidentifikation und zur Erkennung von gleichen Molekülen bzw. Atomgruppen genutzt.
Der Hashcode mit bestimmten Eigenschaften bietet zahlreiche Möglichkeiten zum Gebrauch:

  • Bereits vorberechnete Molekül-Hashcodes sind in Datenbankanwendungen für Voll- und Substruktursuche geeignet. Durch die kompakte Codierung einer chemischen Struktur in einer einzigen Zahl ist es auch möglich, die Transformationsresultate für einen ganzen Katalog im voraus zu berechnen, in Dateien bereitzuhalten und zur Programmlaufzeit vollständig im Kernspeicher zu halten, wodurch eine Suche in sekundenschnelle durchgeführt werden kann.
  • Atom- und Bindungs-Hashcodes sind für Strukturmanipulationsprogramme z.B. in der Reaktionsvorhersage oder im Synthesedesign hilfreich.


© Prof. Dr. J. Gasteiger, Dr. Th. Engel, CCC Univ. Erlangen, Thu Dec 18 14:53:53 2003 GMT
navigation BMBF-Leitprojekt Vernetztes Studium - Chemie