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/2D/3D 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 2007. március 1.
ELTE Kémiai Intézet, Szerves Kémiai Tanszék
1
Adatok A megfelelő információ kinyeréséhez alapvető a felhasznált adatok minőségének biztosítása
kezdeti adathalmaz
kilógó és redundáns adatok kezelése Adatok, adatbázisok 2007. március 1.
jóslás, becslés (kísérleti és vagy elméleti)
adat-előkészítés, transzformációk legjobb leírók kiválasztása ELTE Kémiai Intézet, Szerves Kémiai Tanszék
2
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 ni. Ebben az esetben a rendszer komplexitását, információtartalmát a Shannon egyenlet segítségével számíthatjuk ki:
m
I = − ∑ log ( ) ni n
ni 2 n
i =1
Adatok, adatbázisok 2007. március 1.
ELTE Kémiai Intézet, Szerves Kémiai Tanszék
3
Adatok Komplexitás, redundancia • Extrém esetek: • Az összes objektum ugyanabba az ekvivalenciaosztályba kerül (m = 1, n1 = n):
I = − log ( ) = − log2 (1) = 0 n n
n 2 n
Legnagyobb redundancia, nincs információtartalom, I = 0 • Minden egyes objektum külön ekvivalenciaosztályba kerül (m = n, ni = 1):
n
I = − ∑ log ( ) = −(− log2 ( n ) ) = log2 ( n ) 1 n
1 2 n
i =1 Legnagyobb komplexitás, maximális információtartalom: I = log2(n) • Megfelelő kritériumok kiválasztása az igazi probléma Adatok, adatbázisok 2007. március 1.
ELTE Kémiai Intézet, Szerves Kémiai Tanszék
) klaszterezés 4
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 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 2007. március 1.
ELTE Kémiai Intézet, Szerves Kémiai Tanszék
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. n
∑ xij aj =
i =1
n
2 j
∑ (x
s =
n
ij − a j )
2
i =1
x′j =
n −1
xij sj
• Centrálás: Az átlag kivonása az adat-vektorokból. n
∑ x′
ij
a ′j =
i =1
n
x′j′ = xij′ − a′j
• Automatikus skálázás (autoscaling): Adatok, adatbázisok 2007. március 1.
ELTE Kémiai Intézet, Szerves Kémiai Tanszék
x′′ =
xij − a j sj 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 2007. március 1.
ELTE Kémiai Intézet, Szerves Kémiai Tanszék
7
Adat előkészítés Főkomponens-analízis (Principal Component Analyzis, PCA)
Az X mátrix oszlopai tartalmazzák az xi adatvektorokat, X a szinguláris érték felbontás (SVD) segítségével diagonalizálható:
X = UWV , t
ha i ≠ j, akkor 0 Wi , j = Wi ,i szinguláris érték
A megfelelően nagy szinguláris értékek kiválasztásával
ha Wi ,i < ε akkor 0 Wi′,i = ha Wi ,i ≥ ε akkor Wi ,i hiba-, ill. zajszűrés végezhető: t ′ ′ X = UW V Adatok, adatbázisok 2007. március 1.
ELTE Kémiai Intézet, Szerves Kémiai Tanszék
8
Adat előkészítés Bázistranszformáció S = XtX átfedési mátrix diagonalizálása
S = UWU
t
után, a megfelelően nagy Wi,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 t ⇒ X′ = XP ahol W'– a W' diagonális mátrix általánosított inverze: Wi′,i = 0 ⇒ Wi′,i− = 0 Az eredeti adatvektorok bázistranszformáció segítségével kisebb dimenziójú vektorokkal (a C mátrix ci oszlopvektoraival) reprezentálhatók: 1 2
t ′ ′ ′ ′ X X = UW U = C C ⇒ C = W U t
Adatok, adatbázisok 2007. március 1.
t
t
ELTE Kémiai Intézet, Szerves Kémiai Tanszék
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 )e −i 2πkx dx
Inverz transzformáció: +∞
f ( x ) = ∫ F (k )e −∞
i 2π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 2007. március 1.
ELTE Kémiai Intézet, Szerves Kémiai Tanszék
10
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 2007. március 1.
ELTE Kémiai Intézet, Szerves Kémiai Tanszék
11
Scientific & technical presentation
Standardizer
October 2006
ELTE Kémiai Intézet, Szerves Kémiai Tanszék
12
Why standardize structures?
To recognize the same compound represented with different chemical forms Adatok, adatbázisok
2007.
ELTE Kémiai Intézet, Kémiai Tanszék
Szerves
13
Custom transformations Custom transformations Built-in functions Availability
Adatok, adatbázisok
2007.
ELTE Kémiai Intézet, Kémiai Tanszék
Szerves
14
Mesomers
Adatok, adatbázisok
2007.
ELTE Kémiai Intézet, Kémiai Tanszék
Szerves
15
Tautomers oxo-enol, enamine-imine
Adatok, adatbázisok
2007.
ELTE Kémiai Intézet, Kémiai Tanszék
Szerves
16
Tautomers pyridone-pyridol
Adatok, adatbázisok
2007.
ELTE Kémiai Intézet, Kémiai Tanszék
Szerves
17
Solvent removal
Adatok, adatbázisok
2007.
ELTE Kémiai Intézet, Kémiai Tanszék
Szerves
18
Specific counterion removal
Adatok, adatbázisok
2007.
ELTE Kémiai Intézet, Kémiai Tanszék
Szerves
19
Built-in functions Custom transformations
Built-in functions Availability
Adatok, adatbázisok
2007.
ELTE Kémiai Intézet, Kémiai Tanszék
Szerves
20
Fragment removal
Adatok, adatbázisok
2007.
ELTE Kémiai Intézet, Kémiai Tanszék
Szerves
21
Aromatization
Adatok, adatbázisok
2007.
ELTE Kémiai Intézet, Kémiai Tanszék
Szerves
22
Dearomatization
Adatok, adatbázisok
2007.
ELTE Kémiai Intézet, Kémiai Tanszék
Szerves
23
Hydrogen conversions converting implicit hydrogens to explicit
Adatok, adatbázisok
2007.
ELTE Kémiai Intézet, Kémiai Tanszék
Szerves
24
Hydrogen conversions converting explicit hydrogens to implicit
Adatok, adatbázisok
2007.
ELTE Kémiai Intézet, Kémiai Tanszék
Szerves
25
2D Cleaning
Adatok, adatbázisok
2007.
ELTE Kémiai Intézet, Kémiai Tanszék
Szerves
26
Template-based Cleaning 2D-coordinate calculation of macrocycles or bridged systems
Adatok, adatbázisok
2007.
ELTE Kémiai Intézet, Kémiai Tanszék
Szerves
27
Template-based Cleaning aligning search results to the query query
Adatok, adatbázisok
2007.
ELTE Kémiai Intézet, Kémiai Tanszék
Szerves
28
Stereo manipulations removing absolute R/S and E/Z stereo configurations
Adatok, adatbázisok
2007.
ELTE Kémiai Intézet, Kémiai Tanszék
Szerves
29
Stereo manipulations setting the absolute stereo (chiral) flag for stereo molecules
Adatok, adatbázisok
2007.
ELTE Kémiai Intézet, Kémiai Tanszék
Szerves
30
Stoichiometry expansion expanding reaction stoichiometry
Adatok, adatbázisok
2007.
ELTE Kémiai Intézet, Kémiai Tanszék
Szerves
31
Stoichiometry expansion expanding salt stoichiometry
Adatok, adatbázisok
2007.
ELTE Kémiai Intézet, Kémiai Tanszék
Szerves
32
Group manipulation
Adatok, adatbázisok
2007.
ELTE Kémiai Intézet, Kémiai Tanszék
Szerves
33
Availability Custom transformations Built-in functions
Availability
Adatok, adatbázisok
2007.
ELTE Kémiai Intézet, Kémiai Tanszék
Szerves
34
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
2007.
ELTE Kémiai Intézet, Kémiai Tanszék
Szerves
35
Graphical User Interface
Adatok, adatbázisok
2007.
ELTE Kémiai Intézet, Kémiai Tanszék
Szerves
36
Features General – –
Cleaning
aromatize/dearomatize add/remove explicit hydrogens
Conversions – – –
– – –
Compatible
mesomers tautomers functional groups
– – –
Removals – – – – –
– – – – –
remove stereo features set the absolute stereo flag expand/contract/ungroup clear/set the absolute stereo flag expand stoichiometry of attached data
Adatok, adatbázisok
2007.
customizable parameters customizable conversions
Available
Sgroups – – –
MOL, SDF, RXN, RDF (V2000/V3000) SMILES, SMARTS/SMIRKS (recursive too) MRV, CML, PDB
Flexible
solvents counterions by list remove smallest fragment keep largest fragment R-groups
Stereo – –
partial full template based
ELTE Kémiai Intézet, Kémiai Tanszék
– –
full API command line interface integration with JChem Base and Cartridge documentation and examples free for the Academic community
Szerves
37
Visit other technical presentations MarvinSketch/View
http://www.chemaxon.com/MarvinSketch_View.ppt
MarvinSpace
http://www.chemaxon.com/MarvinSpace.ppt
Calculator Plugins
http://www.chemaxon.com/Calculator_Plugins.ppt
JChem Base
http://www.chemaxon.com/JChem_Base.ppt
JChem Cartridge
http://www.chemaxon.com/JChem_Cartridge.ppt
Standardizer
http://www.chemaxon.com/Standardizer.ppt
Screen
http://www.chemaxon.com/Screen.ppt
JKlustor
http://www.chemaxon.com/JKlustor.ppt
Fragmenter
http://www.chemaxon.com/Fragmenter.ppt
Reactor
http://www.chemaxon.com/Reactor.ppt
Adatok, adatbázisok
2007.
ELTE Kémiai Intézet, Kémiai Tanszék
Szerves
38
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 2007. március 1.
ELTE Kémiai Intézet, Szerves Kémiai Tanszék
39
Adatbázisok Adattárolástól az adatbázisig • Egy adatbázis felépítése: Tábla
Mező
Katalógus
Kulcs
Címke
Név
Egyéb név
Tisztaság (%)
Forráspont
43.919-3
Metanol
Metil-alkohol
99.93
64.70
…
27.074-1
Etanol
Etil-alkohol
90.00
78.00
…
29.328-8
1-propanol
Propil-alkohol
99.50
97.00
…
Rekord
Eladások Címke
…
Vásárlók Vásárló
Cég
Cím
406
Alibi Kft.
Vecsés
97
Vogon Bt.
Bp.
…
Vásárló
Dátum
Fizetve
27.074-1
406
2007.03.08
IGAZ
29.328-8
97
2007.03.07
HAMIS
…
…
Adatok, adatbázisok 2007. március 1.
ELTE Kémiai Intézet, Szerves Kémiai Tanszék
40
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 log2n-nel arányos): 1. >?,=?,
2. >?,=?,
3. >?,=?,
4. >?,=?,
• 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 2007. március 1.
ELTE Kémiai Intézet, Szerves Kémiai Tanszék
41
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 2007. március 1.
ELTE Kémiai Intézet, Szerves Kémiai Tanszék
42
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 2007. március 1.
ELTE Kémiai Intézet, Szerves Kémiai Tanszék
43
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 = {a1, a2, …} atomok és K = {k1, k2, …} 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 Adatok, adatbázisok 2007. március 1.
m! = ( m − n )!
ELTE Kémiai Intézet, Szerves Kémiai Tanszék
44
Keresés Visszalépéses (backtrack) algoritmus map 1 3H C CH3 CH32 2 3 1 2 CH34 2 2 OH 1 HO 2 3 4 2 2 Kereső (query) Cél (target) 2 2 5 5 5 2 4 4 4 2 Összesen 5! = 120 lehetőség 3 3 3 2 2 2 2 2 2 1 1 1 2 0 0 0 2 2 3 4 2 5
5 4 3 2 target
1
map
0
query
1
Adatok, adatbázisok 2007. március 1.
ELTE Kémiai Intézet, Szerves Kémiai Tanszék
0 0 1 3 3 3 3 3 3 3 4 5 5 5 5 5 5
0 0 0 0 1 2 4 5 5 5 0 0 1 3 3 3 4
0 0 0 0 0 0 0 0 1 4 0 0 0 0 1 4 0 45
Keresés Visszalépéses (backtrack) algoritmus map 3 3H C CH3 CH32 3 3 1 3 CH34 3 2 OH 1 HO 3 3 4 3 3 Kereső (query) Cél (target) 3 3 5 5 5 3 4 4 4 3 Összesen 5! = 120 lehetőség 3 3 3 3 2 2 2 3 3 1 1 1 3 0 0 0 3 5
5 4 3 2 target
1
map
0
query
1
2
3
Adatok, adatbázisok 2007. március 1.
4
ELTE Kémiai Intézet, Szerves Kémiai Tanszék
0 1 2 2 2 2 2 2 2 2 4 4 4 4 4 5
0 0 0 1 4 4 4 5 5 5 0 1 2 2 5 0 46
0 0 0 0 0 1 5 0 1 4 0 0 1 5 0 0
Keresés Visszalépéses (backtrack) algoritmus map 4 3H C CH3 CH32 4 3 1 4 CH34 4 2 OH 1 HO 4 3 4 4 4 Kereső (query) Cél (target) 4 5 5 5 5 5 4 4 4 5 Összesen 5! = 120 lehetőség 3 3 3 5 2 2 2 5 Backtrack algoritmussal 49 vizsgálat 5 1 1 1 5 0 0 0 5 5
5 4 3 2 target
1
map
0
query
1
2
3
Adatok, adatbázisok 2007. március 1.
4
ELTE Kémiai Intézet, Szerves Kémiai Tanszék
0 1 2 3 3 3 3 5 0 1 2 2 2 2 3 4
0 0 0 0 1 2 5 0 0 0 0 1 3 4 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 47
Keresés Visszalépéses (backtrack) algoritmus optimálása 3H C 3
1
OH 4
Kereső (query) 5
5
5
4
4
4
3
3
3
2
2
2
target
1
map
0
0
0
0
query
4
1
2
3
Adatok, adatbázisok 2007. március 1.
5
CH32
CH3 CH34
2
1 HO
3
Cél (target)
Eredetileg 5! = 120 lehetőség Optimált backtrack algoritmussal 12 vizsgálat
ELTE Kémiai Intézet, Szerves Kémiai Tanszék
map 1 1 1 1 1 1 1 1 1 1 1 1
0 2 2 2 2 2 2 2 2 3 4 5
0 0 3 3 3 4 5 5 5 0 0 0
0 0 0 4 5 0 0 3 4 0 0 0 48
Keresés Visszalépéses (backtrack) algoritmus optimálása 3H C 3
1
OH 4
Kereső (query) 5
5
4
4
3
3
2
2
2
target
1
map
0
0
0
0
query
4
1
2
3
Adatok, adatbázisok 2007. március 1.
5
CH32
CH3 CH34
2
1 HO
3
Cél (target)
Eredetileg 5! = 120 lehetőség Tovább optimált backtrack algoritmussal 9 vizsgálat
ELTE Kémiai Intézet, Szerves Kémiai Tanszék
map 1 1 1 1 1 1 1 1 1
0 2 2 2 2 2 2 2 2
0 0 3 3 3 4 5 5 5 49
0 0 0 4 5 0 0 3 4
Keresés Szerkezeti kulcs (structural key) • A molekulában megtalálható, előre kiválasztott szerkezeti elemekhez (atom típusok, jellemző funkciós csoportok) egy bitet rendelünk. • Ha a szerkezeti elem megtalálható, a bitet beállítjuk • Előnyei • Könnyen előállítható • Fix hosszúságú • Adatbázisra, tárolandó molekulák jellegére optimálható • Hátrányai • Kevés bit (rövid kulcs) esetén sok ütközéssel járhat • Sok bit esetén kicsi a kitöltöttség, lassul a keresés • Nehéz általánosan használható jól optimált kulcsot készíteni Adatok, adatbázisok 2007. március 1.
ELTE Kémiai Intézet, Szerves Kémiai Tanszék
50
Keresés Molekuláris ujjlenyomat (fingerprint) • Szintén adott n hosszúságú bitsorozat, de: • Az adott atomból ≤l távolságon belül található összes lehetséges szerkezeti motívumhoz rendelünk biteket • Az adott motívumhoz pl. ezzel inicializált véletlenszám-generátorral állítunk be k bitet • Előnyei: • Könnyű implementálni • Nem kíván „előre kódolt” szerkezeti motívum-bit összerendelést • Általános célokra paraméterezhető n, k és l megfelelő megválasztásával. • A kívánt bitsűrűség könnyen optimálható • Hátrányai: • Nagy l esetén előállítása költséges lehet • Nagy l esetén n és k növelése is szükséges, ami a gyors keresés költségeit növeli • Továbbfejlesztési lehetőség: • „Hajtogatással”, változó hosszú kulcs használatával a bitsűrűség széles tartományban állandó szinten tartható Adatok, adatbázisok 2007. március 1.
ELTE Kémiai Intézet, Szerves Kémiai Tanszék
51