Példák kémiai adat-típusokra Molekuláris topológia Markush szerkezetek Szimmetria elemek Anyag tulajdonságok Topológiai indexek Nómenklatúra Normál módok, vibrációk Bázis szetek kvantumkémiához Fehérjeszekvenciák Kémiai reakciók Reakciómechanizmusok High throughput screening adatok Skektrumok (MS, NMR, IR, ) Bibliográfiai adatok Gazdasági adatok (ár, költség, ) 0D/D/D molekuláris szerkezetek Atomi koordináta halmazok Fizikai-kémiai tulajdonságok Leírók (Descriptors) Molekulafelszínek Sztereokémia Erőtér paraméterek (molekulamechanika) Farmakofórok ADMETox adatok (toxicitás) Reakciók kinetikai paraméterei Reakcióutak Trajektóriák MD szimulációkból Kromatogrammok Szabadalmak Szabványok Az adatátadás megfelelő specifikálása alapvető!!! Adatok, adatbázisok 007. március. ELTE Kémiai Intézet, Szerves
Adatok A megfelelő információ kinyeréséhez alapvető a felhasznált adatok minőségének biztosítása kezdeti adathalmaz jóslás, becslés (kísérleti és vagy elméleti) kilógó és redundáns adatok kezelése adat-előkészítés, transzformációk legjobb leírók kiválastása Adatok, adatbázisok 007. március. ELTE Kémiai Intézet, Szerves
Adatok Komplexitás, redundancia Álljon egy S rendszer n db. objektumból. Tegyük fel, hogy találunk olyan kritériumot, melynek segítségével m db. csoportba, ekvivalenciaosztályba tudjuk sorolni az objektumokat. Legyen az i-ik csoport elemeinek száma n i. Ebben az esetben a rendszer komplexitását, információtartalmát a Shannon egyenlet segítségével számíthatjuk ki: I = m i= ni n log ni n ( ) Adatok, adatbázisok 007. március. ELTE Kémiai Intézet, Szerves
Adatok Komplexitás, redundancia Extrém esetek: Az összes objektum ugyanabba az ekvivalenciaosztályba kerül (m =, n = n): I I = n log ( n ) = log () = n n Legnagyobb redundancia, nincs információtartalom, I = 0 Minden egyes objektum külön ekvivalenciaosztályba kerül (m = n, n i = ): n = i= Legnagyobb komplexitás, maximális információtartalom: I = log (n) 0 ( log ( )) log ( ) log ( ) = n = n n n Megfelelő kritériumok kiválasztása az igazi probléma ) klaszterezés Adatok, adatbázisok 007. március. ELTE Kémiai Intézet, Szerves
Kísérlettervezés, optimálás Megismerni, hogy a lehetséges változók a rendszertől várt megfelelő válasz eléréséhez mennyire fontosak A szükségtelen változók kiszűrése és eltávolítása Egyszerű matematikai modell kidolgozása a a kísérlet optimálására A kísérletek költségeinek csökkentése A folyamat és az kijövő adatok minőségének javítása A jel / zaj viszony javítása Adatok, adatbázisok 007. március. ELTE Kémiai Intézet, Szerves 5
Adat előkészítés Centrálás, skálázás Egy adat-vektorban használt adatok összeskálázása a hasonló numerikus súly eléréséhez. a j n x ( ij x ) ij a j i= = i= s j = n n Centrálás: Az átlag kivonása az adat-vektorokból. a n i= j = n x ij x = Automatikus skálázás (autoscaling): j n x ij a j x = x = j x ij j x s a s ij j j Adatok, adatbázisok 007. március. ELTE Kémiai Intézet, Szerves 6
Adat előkészítés Centrálás, skálázás Eredeti Skálázás Centrálás 0 Adatok, adatbázisok 007. március. ELTE Kémiai Intézet, Szerves 7
Adat előkészítés Főkomponens-analízis (Principal Component Analyzis, PCA) Az X mátrix oszlopai tartalmazzák az x i adatvektorokat, X a szinguláris érték felbontás (SVD) segítségével diagonalizálható: X = t UWV A megfelelően nagy szinguláris értékek kiválasztásával hiba-, ill. zajszűrés végezhető:, W i, i W ha W = ha W i, j i, i i, i = t X = UW V ha i j, akkor 0 Wi, i szinguláris érték < ε akkor 0 ε akkor W i, i Adatok, adatbázisok 007. március. ELTE Kémiai Intézet, Szerves 8
Adat előkészítés Bázistranszformáció S = X t X átfedési mátrix diagonalizálása S = UWU után, a megfelelően nagy W i,i sajátértékek meghagyásával (W') vetítéssel történhet a (SVD-nel egyenrangú) hibaszűrés: P = UW W U ahol W' a W' diagonális mátrix általánosított inverze: t t X = XP W i W, i = 0 i, i = 0 Az eredeti adatvektorok bázistranszformáció segítségével kisebb dimenziójú vektorokkal (a C mátrix c i oszlopvektoraival) reprezentálhatók: = = t t t X X UW U C C C W = U t Adatok, adatbázisok 007. március. ELTE Kémiai Intézet, Szerves 9
Adat előkészítés Fourier-transzformáció Egy f(x) függvény Fourier transzformációja (áttérés frekvencia-amplitudó térbe): F ( k) f ( x) + i = e πkx dx Inverz transzformáció: f ( x) F( k) = i e πkx dk + Jelfeldogozás: NMR, FT-IR, stb. Adat előkészítés: Spektrális zajszűrés Adatsor (pl. spektrum) esetén diszkrét FT, FFT Adatok, adatbázisok 007. március. ELTE Kémiai Intézet, Szerves 0
Adat előkészítés Molekuláris szerkezetek előkészítése Ugyanazon szerkezet többféle formában leírható! Tautomerek Mezomerek (határszerkezet) Aromatizálás Hidrogének Ellenionok Oldószermolekulák Kiralitás Cisz-transz izoméria Megjelenítés standard formában Adatok, adatbázisok 007. március. ELTE Kémiai Intézet, Szerves
Scientific & technical presentation Standardizer October 006 ELTE Kémiai Intézet, Szerves
Why standardize structures? To recognize the same compound represented with different chemical forms Adatok, adatbázisok 007.
Custom transformations Custom transformations Built-in functions Availability Adatok, adatbázisok 007.
Mesomers Adatok, adatbázisok 007. 5
Tautomers oxo-enol, enamine-imine Adatok, adatbázisok 007. 6
Tautomers pyridone-pyridol Adatok, adatbázisok 007. 7
Solvent removal Adatok, adatbázisok 007. 8
Specific counterion removal Adatok, adatbázisok 007. 9
Built-in functions Custom transformations Built-in functions Availability Adatok, adatbázisok 007. 0
Fragment removal Adatok, adatbázisok 007.
Aromatization Adatok, adatbázisok 007.
Dearomatization Adatok, adatbázisok 007.
Hydrogen conversions converting implicit hydrogens to explicit Adatok, adatbázisok 007.
Hydrogen conversions converting explicit hydrogens to implicit Adatok, adatbázisok 007. 5
D Cleaning Adatok, adatbázisok 007. 6
Template-based Cleaning D-coordinate calculation of macrocycles or bridged systems Adatok, adatbázisok 007. 7
Template-based Cleaning aligning search results to the query query Adatok, adatbázisok 007. 8
Stereo manipulations removing absolute R/S and E/Z stereo configurations Adatok, adatbázisok 007. 9
Stereo manipulations setting the absolute stereo (chiral) flag for stereo molecules Adatok, adatbázisok 007. 0
Stoichiometry expansion expanding reaction stoichiometry Adatok, adatbázisok 007.
Stoichiometry expansion expanding salt stoichiometry Adatok, adatbázisok 007.
Group manipulation Adatok, adatbázisok 007.
Availability Custom transformations Built-in functions Availability Adatok, adatbázisok 007.
API and command line interface Standardizer st = new Standardizer(new File("standardize.xml")); st.standardize(mol); standardize input.sdf -c config.xml -o output.smiles Adatok, adatbázisok 007. 5
Graphical User Interface Adatok, adatbázisok 007. 6
Features General aromatize/dearomatize add/remove explicit hydrogens Conversions mesomers tautomers functional groups Removals solvents counterions by list remove smallest fragment keep largest fragment R-groups Stereo remove stereo features set the absolute stereo flag Sgroups expand/contract/ungroup clear/set the absolute stereo flag expand stoichiometry of attached data Cleaning partial full template based Compatible MOL, SDF, RXN, RDF (V000/V000) SMILES, SMARTS/SMIRKS (recursive too) MRV, CML, PDB Flexible customizable parameters customizable conversions Available full API command line interface integration with JChem Base and Cartridge documentation and examples free for the Academic community Adatok, adatbázisok 007. 7
Visit other technical presentations MarvinSketch/View MarvinSpace Calculator Plugins JChem Base JChem Cartridge Standardizer Screen JKlustor Fragmenter Reactor http://www.chemaxon.com/marvinsketch_view.ppt http://www.chemaxon.com/marvinspace.ppt http://www.chemaxon.com/calculator_plugins.ppt http://www.chemaxon.com/jchem_base.ppt http://www.chemaxon.com/jchem_cartridge.ppt http://www.chemaxon.com/standardizer.ppt http://www.chemaxon.com/screen.ppt http://www.chemaxon.com/jklustor.ppt http://www.chemaxon.com/fragmenter.ppt http://www.chemaxon.com/reactor.ppt Adatok, adatbázisok 007. 8
Adatbázisok Adattárolástól az adatbázisig Nagy mennyiségű adat ma már csak számítógépes adathordozón tárolható hatékonyan A hatékony tárolás mellett felmerülő igények: több felhasználó is elérhesse különböző jogosultságokkal kiválasztott kritériumok szerint az adatok keresése gyors legyen a tárolt adatok bővíthetőek legyenek Az igények jó része a szokásos adatbázis kezelő felületek segítségével (Oracle, MSSQL, MySQL, stb.) kielégíthető Kémiai adatbázisokkal szembeni speciális igények: Az adattípusok szerteágazóak Molekuláris szerkezet tárolása Szerkezet alapú keresés, osztályozás Adatok, adatbázisok 007. március. ELTE Kémiai Intézet, Szerves 9
Adatbázisok Adattárolástól az adatbázisig Egy adatbázis felépítése: Tábla Katalógus Mező Címke Név Egyéb név Tisztaság (%) Forráspont Kulcs.99- Metanol Metil-alkohol 99.9 6.70 7.07- Etanol Etil-alkohol 90.00 78.00 Rekord 9.8-8 -propanol Propil-alkohol 99.50 97.00 Eladások Címke Vásárló Dátum Fizetve 7.07-06 007.0.08 IGAZ Vásárlók 9.8-8 97 007.0.07 HAMIS Vásárló Cég Cím 06 Alibi Kft. Vecsés 97 Vogon Bt. Bp. Adatok, adatbázisok 007. március. ELTE Kémiai Intézet, Szerves 0
Adatbázisok Keresést elősegítő eljárások Rekordokhoz a rekordból számítható rendezhető kódok rendelése Bináris keresés (szükséges lépések száma n elem esetén log n-nel arányos):. >?,=?,<?. >?,=?,<?. >?,=?,<? Rendezhető kód pl. a hash kód, ami egy beállított hosszúságú bitsorozat, pozitív egész szám: lehetőleg egyenletes elosztású legyen minél inkább kerülje az ütközést lehetőleg közvetlenül adja meg a rekord indexét a hash-kódból a rekord, objektum általában nem állítható vissza Adatok, adatbázisok 007. március. ELTE Kémiai Intézet, Szerves. >?,=?,<?
Adatbázisok Bináris fa alapú indexelés Az adatbázis újraindexelése nélkül képes hatékonyan kereshető indexelést biztosítani: minden bejövő objektum indexére a fa egy levele mutat minden újabb objektum kód esetén újabb levéllel bővül a fa rendezetlenül jövő adatok esetén mélységében lassan nő a fa rendezetten bejövő objektumok esetén nem hatékony. Valójában lineáris tárolás: Adatok, adatbázisok 007. március. ELTE Kémiai Intézet, Szerves
Keresés Teljes szerkezet keresés Feladat: az adott molekula gyors megtalálása az adatbázisban. Molekuláris szerkezetekből kiszámított kódok, lineáris leírók használhatók gyors keresésre: hash kód gyors, de nem mindig egyértelmű egysoros leírók, pl. SMILES jól használhatók, de egyértelműséget biztosítani kell (pl. Morgan algoritmus) kémiai, piaci elnevezések gyakran nem egyértelműek ráadásul a szerkezetet sem mindig adják vissza. a molekuláris szerkezetből származtatott egyszerű leírók, összegképlet, molekulatömeg, gráf alapú összegek csak első szűrésre használhatók Elő kell állítani a kérdéses molekulára is az adatbázisban használt kódo(ka)t Utána: bináris keresés, bináris fa alapú indexelés, stb. Adatok, adatbázisok 007. március. ELTE Kémiai Intézet, Szerves
Adatok, adatbázisok 007. március. Keresés fragmens keresés (substructure search) Molekuláris szerkezetek felírhatók címkézett, színezett gráfok segítségével: G = (C,E), a G gráf C csúcsai és E élei segítségével adható meg. Ugyanez molekuláris szerkezetekre (S): S = (A,K), az S molekulagráf az A = {a, a, } atomok és K = {k, k, } kötések segítségével adható meg. Egy gráf másik gráfban való izomorf rész-gráfjának megtalálása NPteljes probléma, n atomos kereső (query) molekula és m atomos cél esetében az összes lehetőség száma: N illesztés = m! ( m n)! ELTE Kémiai Intézet, Szerves
target map query 5 0 H C 5 0 OH CH Keresés Visszalépéses (backtrack) algoritmus Kereső (query) 5 0 5 0 HO 5 CH Összesen 5! = 0 lehetőség Cél (target) map 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 5 5 0 0 5 0 0 5 0 5 0 5 5 5 0 CH Adatok, adatbázisok 007. március. ELTE Kémiai Intézet, Szerves 5
target map query 5 0 H C 5 0 OH CH Keresés Visszalépéses (backtrack) algoritmus Kereső (query) 5 0 5 0 HO 5 CH Összesen 5! = 0 lehetőség Cél (target) CH map 0 0 0 0 0 0 0 0 0 5 5 0 5 5 0 0 0 5 5 0 5 0 0 Adatok, adatbázisok 007. március. ELTE Kémiai Intézet, Szerves 6
target map query 5 0 H C 5 0 OH CH Keresés Visszalépéses (backtrack) algoritmus Kereső (query) 5 0 5 0 HO 5 CH Összesen 5! = 0 lehetőség Cél (target) Backtrack algoritmussal 9 vizsgálat map 0 0 0 0 0 0 0 0 0 0 0 5 0 5 0 0 5 0 0 0 5 0 0 5 0 0 5 0 5 0 5 0 5 0 0 5 0 0 CH Adatok, adatbázisok 007. március. ELTE Kémiai Intézet, Szerves 7
Keresés Visszalépéses (backtrack) algoritmus optimálása H C CH 5 CH target map query 0 5 0 Adatok, adatbázisok 007. március. OH Kereső (query) 5 0 5 0 HO ELTE Kémiai Intézet, Szerves Cél (target) Eredetileg 5! = 0 lehetőség Optimált backtrack algoritmussal vizsgálat CH map 0 0 0 0 0 0 5 0 5 0 5 5 0 0 0 0 5 0 0 8
Keresés Visszalépéses (backtrack) algoritmus optimálása H C CH 5 CH OH HO CH target map query 0 0 Adatok, adatbázisok 007. március. Kereső (query) 5 0 5 0 ELTE Kémiai Intézet, Szerves Cél (target) Eredetileg 5! = 0 lehetőség Tovább optimált backtrack algoritmussal 9 vizsgálat map 0 0 0 0 0 0 5 0 5 0 5 5 9
Keresés Molekuláris ujjlenyomat Adatok, adatbázisok 007. március. ELTE Kémiai Intézet, Szerves 50