Änderung im Ablauf einer Struktursuche
Aktueller Ablauf einer Struktursuche
Bis jetzt wurden zur PubChem-Datenbank der SMILES-Wert übermittelt, der mit dem Struktureditor gezeichnet wurde. Dort wurde eine ticketbasierte Abfrage gestartet. Nach Beendigung der Abfrage wurde das Ergebnis zurück zum GoeChem-Server übertragen. Das Ergebnis bestand aus einer Liste mit CAS-Nummern. Anand dieser wurde nun in der GoeChem-Datenbank nach diesen Werten gesucht.
Problem dieses Ablaufs
Die ticketbasierte Abfrage in der PubChem-Datenbank kann sehr lange dauern. Dadurch könnte es sein, daß durch eine Zeitüberschreitung oder einen Abbruch durch den Benutzer das Ergebnis gar nicht mehr angezeigt wurde.
Neuer Ablauf
Nach Eingabe der Struktur im Struktureditor wird zum GoeChem-Hauptserver ein Smiles-Wert übergeben. Dort wird mit open Babel[1]ein FP2-Fingerprint errechnet und zurückgegeben. Anhand dieses Fingerprints wird nun eine Ähnlichkeitssuche (similarity search) durchgeführt. Dabei wird für jede Struktur der Taniomoto-Koeffizient[2] errechnet. Der errechnete Wert liegt zwischen 0 und 1. Anschließend wird das Ergebnis sortiert nach dem Koeffizienten ausgegeben.
Ausblick
Da nun für jede Struktur in GoeChem ein Fingerprint existiert, wird es möglich sein, nach selbst gezeichneten Strukturen für z.B. neue Produkte, Proben aus dem Laborjournal zu suchen. Dazu werden die Seiten zum Ändern der Produktdaten mit dem Struktureditor verknüpft.
Es werden noch weitere Fingerprints implementiert, sodaß mehrere Methoden für die Suche verwendet werden können.
Aktuell ist eine Substruktursuche noch nicht möglich. Es wird z.B. auch das n-Butan-Fragment in Cyclohexan gefunden.
Technisches
In der Datenbank wurde die Tabelle „winithi“ erweitert, sodaß diese nun die Fingerprints erhält. Außerdem wird nun in dieser Tabelle nach Pubchem und eigenen Daten unterschieden. Die Pubchem-Daten werden wie gehabt über die Seiten zum Ändern der Produktdaten NICHT änderbar sein.
[1] http://openbabel.org/docs/dev/Features/Fingerprints.html
[2] Tanimoto-Koeffizient: TC = BC / (B1 + B2 - BC)
Mit freundlichem Gruß,
Ihr GoeChem-Support