Bioinformatikos įrankių ir duomenų bazių integracija
description
Transcript of Bioinformatikos įrankių ir duomenų bazių integracija
Doc. Robertas DamaševičiusKTU Programų inžinerijos katedra,
Studentų 50-415Email: [email protected]
Bioinformatikos įrankiaiBioinformatikos įrankiai yra kompiuterinės
programos, skirtos svarbios informacijos paieškai ir analizei duomenų gausybėje
Pagrindiniai faktoriai, į kuriuos reikia atkreipti dėmesį kuriant šiuos bioinformatikos įrankius, yra šie:Galutinis vartotojas (biologas, biochemikas, genetikas)
nėra gerai įgudęs naudotis kompiuterinėmis technologijomis
Programiniai įrankiai turi būti mokslininkų tyrėjų bendruomenės pasiekiami žiniatinkliu
Bioinformatika (B110M100) 2
(2003-2) Bioinformatics 3
Bioinformatikos įrankiai
Problema Įrankis arba duomenų bazė
Sekų sugretinimas
Daugybinis sekų sugretinimas
Šablonų radimas
Struktūros numatymas
DNARmikromatricos
BLAST, FASTA
Clustal W, Macaw
GRAIL, FGENEH, tRNAscan-SE, NNPP,eMOTIF, PROSITE, ChloroP
Bend.it, RNA Draw, NNPREDICT, SWISS-MODEL
GeneX, GOE, MAT, GeNet
Pagrindinės genetinių duomenų bazės
Tipas Aprašymas
Nukleotidų sekos
Duomenys kaupiami trijose pagrindinėse duomenų bazėse: GenBank (JAV), EMBL (European Molecular Biology Laboratory Nucleotide Sequence Database) ir DDBJ (DNA Data Bank of Japan).
Aminorūgščių sekos
Pagrindinės duomenų bazės yra šios: Swissprot (Swiss Protein Database), PIR (Protein Information Resource), Genpept (transliuojamų peptidų sekos iš GenBank db), TrEMBL (transliojamų peptidų sekos iš EMBL db)
Erdvinės struktūros
PDB (Protein Data Bank) saugomos biologinių makromolekulių, daugiausiai baltymų, erdvinės struktūros. Pagrindiniai duomenys gauti rentgeno struktūrinės analizės būdu arba naudojam magnetinio rezonanso metodą.
Baltymų motyvai
Prosite duomenų bazė kaupia informaciją apie baltymų motyvus, būdingus baltymų šeimoms, domenų struktūroms
Įrankių integracijos svarbaDidelė bioinformacinių
duomenų įvairovė nuo sekų iki 3-mačių vaizdų
Sudėtingi ryšiai tarp duomenų
Daug panašių duomenų šaltinių
Paklaidos, skaičiavimo klaidos, interpretavimo klaidos
Bioinformatika (B110M100) 5
Įrankių sąveikos problemaDauguma sukurtų įrankių yra labai specializuoti,
pritaikyti konkrečiam bioinformatikos uždaviniui spręsti.
Norint integruoti duomenis reikia integruoti ir tuos duomenis apdorojančius įrankius.
Duomenis ir įrankius apjungiančios technologijos sukūrimas nėra triviali užduotis dėl duomenų standartų ir programų suderinamumo standartų nebuvimo.
Įrankių suderinamumo problema gali būti sprendžiama naudojant interneto servisus.
Bioinformatika (B110M100) 6
Įrankių integravimo tikslas ir funkcijosPateikti priemones galinčias automatiškai apjungti
daugelį įvairių kompiuterinių sistemų (duomenų bazes, tarnybines stotis ir pan.)
Įrankių integravimo sistemos funkcionalumas: vartotojas pateikia užklausą integruotai sistemai, integruota sistema apdoroja užklausą ir nusprendžia kaip
ją suskaidyti į atskiras dalines užklausas duomenų bazėms, interneto servisams ir specifiniams įrankiams,
atliekamos dalinės užklausos (naudojant bendrąją užklausų kalbą),
grąžinami apjungti jų rezultatai. Konvertavimui tarp bendrosios ir vietinės užklausų kalbų naudojami įvyniojimo scenarijai.
Bioinformatika (B110M100) 7
Integravimo sistemos pavyzdys
Bioinformatika (B110M100) 8
Integravimo sistema
CQL-SQL transliatorius
CQL-HTTP transliatorius
CQL-OQL transliatorius
Reliacinė DB
Internetinis servisas
Objektinė DB
CQL-TXT failų transliatorius
Svarbiausi sistemų integracijos aspektaiPaskirstymas.
Sistema turi žinoti kiekvieno resurso vietą ir automatiškai sugeneruoti dalines užklausas.
Paskirstymo aspektas turi būti paslėptas nuo vartotojo.
Autonomiškumas. Integruota sistema negali kontroliuoti paskirstytų
resursų, kurie yra autonomiški.
Heterogeniškumas. Integravimo sistema turi užtikrinti tinkamą skirtingo
formato duomenų integravimą.
Bioinformatika (B110M100) 9
Heterogeniškumo problemosTechninis heterogeniškumas: dėl naudojamų
skirtingų platformų, duomenų bazių valdymo sistemų (užklausų kalbų, duomenų modelių), prieigos protokolų, perdavimo formatų, programavimo kalbųProblemas galima išspęsti naudojant Java programavimo
kalbą, kuria parašytos programos veikia visuose platformose, standartines užklausų kalbas, kaip SQL, žiniatinklio technologijas (HTTP, XML).
Semantinis heterogeniškumas: dėl skirtingų duomenų šaltinių modelių ir duomenų schemų. Problemas galima išspęsti naudojant bendrą duomenų
modelį, į kurį atvaizduojami vietiniai duomenų modeliai.
Bioinformatika (B110M100) 10
Interneto servisaiPer internetą prieinamų programų sąsajos, pvz., interneto
naršyklėsInterneto sąsajų trūkumas:
sunku organizuoti duomenų apdorojimo srautus, automatinis apdorojimas yra sudėtingas procesas.
Pavyzdžiui, HTML yra skirta nurodyti, kaip turi būti atvaizduojami duomenys, tačiau nieko nesako apie tai, kokio tipo duomenys yra atvaizduojami
Šia problemą galima spręsti naudojant XML Struktūrizuotos informacijos pasikeitimui internete
skirtas SOAP (Simple Object Access Protocol) protokolas, kuris naudoja XML kaip duomenų formatą
Servisų kokybės problema: servisai gali būti neatnaujinami.
Bioinformatika (B110M100) 11
Tipinio serviso architektūra
Bioinformatika (B110M100) 12
Kliento kompiuteris
Interneto naršyklė Scenarijus Tinklo branduolys
Tinklo klientas
Glo
ba
lusi
s
žin
iati
nk
lis
Lo
kalu
sis
tin
klas
Serveris
Įrankiai Duomenų bazės
Transliatoriai
Tinklo branduolys
Ryšio protokolas
Interneto naršyklė
Duomenų bazių servisaiPagr. kliūtis integruojant servisus yra jų
heterogeniškumas Paprasčiausių servisų, kaip paieška duomenų bazėse,
integravimas yra sėkmingai išspręstas Sudėtingesnių servisų integravimui naudojami darbo
srautų metodas ir heterogeniškumo išsprendimo metodas Darbų srautas gali būti statinis arba dinaminis
Statiniai srautai gali būti visiškai automatizuotidinaminiai srautai gali būti automatizuoti iš dalies, kadangi juose
būtinas vartotojo įsikišimas
Heterogeniškumo išsprendimo metodai atlieka duomenų konvertavimą tarp skirtingų servisų duomenų I/O formatų
Bioinformatika (B110M100) 13
Reikalavimai DB servisamsDuomenų kokybė – pirminė atsakomybė perkeliama naujų
faktų pateikėjui, nes servisai nepalaiko duomenų patvirtinimoDuomenų patvirtinimas –galima padaryti arba pačioje DB,
arba pagal nuorodas tinklu pasiekiamoje laboratorijos DBIšsami dokumentacija – anotacijos, apimančios informacijos
patvirtinimą ir papildymą, turėtų būti pridedamos prie kiekvieno pagrindinio informacinio objekto duomenų banke
Savalaikiškumas – nauja informacija turi būti pasiekiama kelių dienų laikotarpyje nuo publikavimo ar pateikimo duomenų bankui
Integruotumas – kiekvienas DB objektas pagal nuorodas turi būti susiejamas su tokiu pačiu ar artimu objektu kitose DB
Bioinformatika (B110M100) 14
Duomenų bazių servisų ypatybėsDecentralizuotumas. Juos kuria įvairios geografiškai
nutolusios organizacijos. Labai sunku įdiegti visų šių organizacijų vieningą centralizavimo mechanizmą, kuris standartizuotų teikiamus servisus.
Didelė įvairovė. Jie atspindi bioinformacinių duomenų įvairovę. Tačiau tai sukelia problemų integruojant paslaugas.
Kintamumas. Nuolat vykdomi nauji tyrimai, kurių rezultate generuojami milžiniški naujos informacijos kiekiai, kuriami ir tobulinami duomenų apdorojimo algoritmai.
Heterogeniškumas tiek semantine, tiek sintaksine prasme. Servisų teikėjai yra autonomiški, todėl naudoja įvairius duomenų standartus, duomenys skirtingai įvardijami ir t.t.
Bioinformatika (B110M100) 15
Bioinformacinio serviso pavyzdys
Informacijos apie baltymų šeimą paieška pagal DNR sekos fragmentą
Bioinformatika (B110M100) 16
DNR sekos fragmentas
Šeši skaitymo kadrai
Transeq DNR transliavimas
OWL
baltymas
Baltymo identifikavimas
PIR
Pilnos baltymo sekos identifikavimas
pilna baltymo seka
Prosite Pfam eMOTIF PSI-BLAST
homologinės sekos ir baltymo
šeimyna
baltymo informacija
baltymo informacija
baltymo informacija
Baltymo funkcijos nustatymas
Baltymo šeimos nustatymas
Bioinformacinio serviso pavyzdys (1)Seka yra paduodama sekų transliatoriui (pvz.,
Transeq), kad nustatyti šešis galimus skaitymo kadrus.
Atliekama paieška DB (pvz., OWL DB) naudojant kiekvieną iš 6 galimų skaitymo kadrų ir nustatomas tinkamas skaitymo kadras.
Nustačius tinkamą baltymą, atitinkama seka yra naudojama paieškai baltymų duomenų bazėje (pvz., PIR) atlikti ir parsiunčiama visa baltymo seka.
Bioinformatika (B110M100) 17
Bioinformacinio serviso pavyzdys (2)Naudojant homologijų paieškos įrankį (pvz., PSI-
BLAST) nustatoma baltymo šeima.Atliekama paieška keliose duomenų bazėse (pvz.,
Prosite, Profiles, Pfam, eMOTIF ir BLOCKS) ir surandama informacija apie baltymą, kuri yra naudojama sekos funkcijai nustatyti.
Gauta informacija yra semantiškai integruojama išsprendžiant iš įvairių duomenų bazių gautų rezultatų heterogeniškumą.
Bioinformatika (B110M100) 18
Semantinis tinklasSemantinis tinklas:
Ateities interneto tinklas kaip globalioji duomenų bazė. Duomenų tinklas praplėstas semantine informacija (naudojant
XML ir metaduomenų aprašymo standartą RDF (Resource Description Framework).
Tikslas: užtikrinti per internetą siunčiamų duomenų ir teikiamų servisų vieningą prasmę (semantiką).
Leidžia tiek žmonėms, tiek mašinoms daryti sprendimus kaip kategorizuoti informaciją ir ją panaudoti.
Semantinio tinklo architektūra: semantika (elementų pavadinimai), struktūra (elementų hierarchija) sintaksė (bendravimas)
Bioinformatika (B110M100) 19
Semantinio tinklo infrastruktūra
Metaduomenys
NAME LENGTH FORMAT LABELinstudy 6 MMDDYY Date of randomization into studybmi 8 Num Body Mass Index.obesity 3 0=No 1=Yes Obesity (30.0 <= BMI)ovrwt 8 0=No 1=Yes Overweight (25 <= BMI < 30)Height 3 Num Height (inches)Wtkgs 8 Num Weight (kilograms)Weight 3 Num Weight (pounds)
Duomenys apie duomenysDuomenų bazės schema
XML (eXtensible Markup Language)
Duomenų atvaizdavimo formatasLeidžia aprašyti duomenų hierarchiją
XML DB
Elementas Įrašas
Atributas Laukas
DTD Schema
MII 23
XML ypatybėsXML dokumentų prasmė yra intuityviai aiški
Tačiau žymių vardai patys savaime semantikos nepateikia
XML turi ne semantinį, o tik žemo lygio modelį (t.y., medžio tipo vidinę struktūrą)
Resource Description Framework (RDF)RDFResursų internete atvaizdavimo kalbaNaudoja XML, tačiau semantika skiriasi
RDF Schema (RDF-S) :išplečia modeliavimo konstrukcijų rinkinį (klasė-
poklasė-tipas, savybė-subsavybė, domenas-sfera);įgalina apibrėžti taikymo srities žodyną;organizuoja šį žodyną kaip apibendrinimų
hierarchiją;RDF-S išreiškiamoji galia yra maža (be tiksliai
apibrėžiamos prasmės, be loginio išvedimo modelio).
25
Žinių bazė - duomenų bazė, kurioje saugomos išvedimo taisyklės ir informacija apie žmonių sukauptas tam tikros dalykinės srities žinias ir patirtį
Ontologija – tai ypatinga žinių bazė, aprašanti faktus, kuriuos tam tikra naudotojų grupė laiko visada teisingais, remiantis sutartomis naudojamo žodyno terminų prasmėmis
Ontologijos aprašomos naudojant standartinę kalbą OWL (Web Ontology Language)
[N. Guarino. Formal Ontology and Information Systems. N. Guarino (ed.), Formal Ontology in Information Systems. Proceedings of FOIS’98, Trento, Italy, June 1998. IOS Press, pp. 3-15]
Ontologijos ir žinių bazės
26
Ontologijų naudojimo privalumai
Žinių struktūrizavimo palengvinimas naujose srityse
Bibliotekoje saugomų komponentų pakartotinas naudojimas (išvengiant būtinumo kurti iš naujo)
Tarpusavio sąveikos tarp skirtingų sistemos komponentų palengvinimas, išsiaiškinant atitikmenis tarp jų naudojamų terminų
Intelektuali paieška apdorojant užklausas (pvz., surandant artimiausius dalinius atitikmenis)
27
Interneto servisų architektūros technologijų sluoksniai
Pagrindinės technologijos: XML, DTD, Schema
Servisai
Aprašymai Pasaulinio tinklo paslaugų aprašai
Pranešimai
SOAP išplėtimai
SOAP
Ryšio priemonės (siuntimo protokolai) HTTP, SMTP, FTP, JMS, IIOP, …
A P S A U G A
V A L D Y M A S
28
SOAP
SOAP (Service Oriented Architecture Protocol) - paslaugomis grindžiamos architektūros protokolas
SOAP leidžia siųsti XML pranešimus tarp lygiaverčių taikomųjų programų (peer-to-peer communication)
SOAP sudaro keturi komponentai: 1) apvalkalas, 2) transporto susiejimo karkasas, 3) kodavimo taisyklės 4) nutolusių procedūrų iškvietimo (RPC) atvaizdas.
Agentų tecnologijaAgentas - kompiuterinė sistema, kuri, veikdama
tam tikroje aplinkoje, gali atlikti savarankiškus veiksmus, atitinkančius jo veikimo paskirtį
Savarankiškumas suprantamas kaip veikimas be tiesioginio žmogaus ar kito agento pagalbos ir sugebėjimas keisti savo vidinę būseną bei valdyti veiksmus pagal tam tikrą nustatytą valdomo proceso dėsningumą.
Programinis agentas – programa, kuri nepertraukiamai ir autonomiškai funkcionuoja tam tikroje aplinkoje ir gali bendrauti su kitais agentais ar procesais
Bioinformatika (B110M100) 29
Agentų tipai (1)Svarstymo agentai
turi simbolinį aplinkos modelį ir atlieka loginius samprotavimus
Bendradarbiaujantieji agentai pasižymi autonomija, greita reakcija, iniciatyva, ir gebėjimu
bendradarbiauti su kitais agentais, kad galėtų atlikti savo užduotis
Sąsajos agentai pasižymi autonomiškumu ir gebėjimu mokytis tam, kad pasiekti
jų vartotojų tikslus
Mobilieji agentai sugeba klajoti kompiuteriniuose tinkluose, sąveikauti su kitais
vartotojais, savo šeimininko vardu rinkti informaciją, prisijungti prie serverių ir lokaliai peržvelgti duomenų bazes, surasti tinkamą informaciją ir grįžti „namo“ atlikus vartotojo numatytas užduotis
Bioinformatika (B110M100) 30
Agentų tipai (2)Interneto agentai
naudojami tik interneto aplinkoje. Jie tvarko, rūšiuoja arba atrenka reikiamą informaciją iš įvairių paskirstytų šaltinių.
Reaktyvieji agentai neturi vidinio simbolinio aplinkos modelio, o vietoj to jie
veikia/atsako į aplinkos poveikius.Hibridiniai agentai
apjungia dviejų ar daugiau aukščiau minėtų agentų rūšių savybes.
Sumanūs agentai dar tik kuriami agentai, kurie turės dirbtinį intelektą.
Bioinformatika (B110M100) 31
Agento intelektualumasKiekvienas agentas turi turėti tam tikrą
intelektualumo laipsnį, kad galėtų būti agentu. Agento intelektualumas susideda iš trijų
pagrindinių komponentų: vidinės žinių bazės apimtis, sprendimo galimybės, kuri remiasi žinių bazės
turiniu, galimybės mokytis ar prisitaikyti prie aplinkos
pasikeitimo (adaptyvus elgesys)
Bioinformatika (B110M100) 32
Vidinės agentų savybės (1)Vidinės savybės
formuoja agento vidinę būsenąapima galimybę mokytis, reaktyvumą, autonomiškumą ir
tikslo siekimą.
Reaktyvumas. Agentas turi elgesiu paremtą veiklos modelį ir turi
sugebėti reaguoti į paprastus poveikius ar informaci jos pasikeitimus jį supančioje aplinkoje. Ši aplinka gali būti reali probleminė sritis, vartotojas su atitinkama sąsaja, kitų agentų grupė, Interneto aplinka, arba visų šių komponentų kombinacija.
Sprendimas/Mokymasis. Kiekvienas agentas turi turėti tam tikrą intelektualumo
laipsnį, kad galėtų būti agentu. Bioinformatika (B110M100) 33
Vidinės agentų savybės (2)Autonomiškumas.
Agentas sugeba siekti savo tikslų autonomiškai, t.y., be jokių sąveikų ar komandų iš aplinkos. Vartotojas gali tik duoti agentui komandas, idėjas ar nurodyti jį dominančius dalykus, kad agentas galėtų nepriklausomai spręsti reikiamas užduotis
Tikslo siekimas. Agentas turi žinoti konkrečius tikslus arba turėti tikslų
sistemą
Iniciatyvumas. Agentas nebūtinai tik reaguoja į savo aplinkos pokyčius,
bet gali imtis ir iniciatyvos nustatytam tikslui siekti
Bioinformatika (B110M100) 34
Išorinės agentų savybėsIšorinės savybės
apima visas tas savybes, kurios turi reikšmės keleto agentų ar žmogaus-agento tarpusavio sąveikai, pvz., bendravimas ir bendradarbiavimas.
Bendravimas naudojamas agento kontaktų su aplinka palaikymui.
Agentas aprūpinamas tam tikra užklausų aibe, kad galėtų bendrauti su kitais agentais ir iš jų gauti atsakymus iš žinomos atsakymų aibės.
Bendradarbiavimas agentų, kurie sprendžia bendrą užduotį, tarpusavio
bendravimas keičiantis tikslais, savybėmis ir žiniomis.
Bioinformatika (B110M100) 35
Agento vidinė būsena (1)Įsitikinimai (beliefs)
sudaro bazinį agento požiūrį į aplinką. naudoja norėdamas nustatyti galimus aplinkos pasikeitimus.
Norai (desires) išvedami tiesiogiai iš įsitikinimų. sudaro agento nuomonę apie būsimas situacijas.
Tikslai (goals) vaizduoja agento norų poaibį, kuriems vykdyti jis turi atlikti
kokį nors veiksmą. tikslai turi būti realūs ir įgyvendinami bei neturi prieštarauti
tarpusavyje. tikslai formuoja agento potencialių veiksmų aibę, nes jie
perteikia galimų veiksmų alternatyvas tam tikru laiko momentu.
Bioinformatika (B110M100) 36
Agento vidinė būsena (2)Ketinimai (intentions)
tikslų poaibis. jei agentas nusprendžia įgyvendinti tam tikrą tikslą, tai
šis tikslas tampa ketinimu.
Planai (plans) sustato agento ketinimus į nuoseklias sekas. visų planų aibė atspindi agento ketinimus.
Bioinformatika (B110M100) 37
Agento architektūra
Bioinformatika (B110M100) 38
AGENTAS
APLINKA Jutikliai
Vykdikliai
Sprendimo įrenginys
Planavimo modulis
Koordinavimo modulis
Veiksmų pasirinkimas yra atliekamas uždavinių sprendimų įrenginyje, kuris, jei reikia, gali nauduoti planavimo ir koordinavimo modulius.
Planavimo veiklos metu nustatoma veiksmų seka užduotam tikslui pasiekti; koordinavimo veiklos metu, tam, kad būtų pasiekti aukštesnio lygio tikslai bendradarbiaujama ir su kitais agentais.
Agentų sistemos darbo scenarijus Vartotojo agentas priima vartotojo įvedamas
užklausas ir perduoda jas užduoties sprendimo agentui
Užduoties sprendimo agentas siunčia užklausas specializuotiems agentams
Specializuoti agentai kreipiasi į specializuotas duomenų bazes ir grąžina informaciją užduoties sprendimo agentui
Užduoties sprendimo agentas apibendrina surinktą informaciją ir grąžina ją vartotojo agentui
Vartotojo agentas pateikia grąžintą informaciją vartotojui
Bioinformatika (B110M100) 39
Darbo paskirstymas naudojant agentus
Bioinformatika (B110M100) 40
Agentas 1
Planavimas
Agentas 1
Planavimas
Agentas 1
Planavimas
Agentas 1
Planavimas
Agentas 1
Planavimas
Agentas 1
Planavimas
Užduotys
Rezultatai
Daugiaagentės sistemosDaugiaagentės sistemos leidžia uždavinį paskirstyti
skirtingiems užduotis sprendžiantiems agentams, su savo interesais ir tikslais
Daugiaagenčių sistemų architektūros:Svarstymo architektūros - naudoja tik svarstymo agentus.
Agentai pagrindines užduotis sprendžia patys, tarpusavyje besikeisdami tik rezultatais arba reikalinga informacija.
Reaktyviosios architektūros - naudoja reaktyviuosius agentus. Jos yra paprastos, kadangi pačių agentų architektūra nėra sudėtinga. Agentai atlieka tik paprastus veiksmus, o bendras tikslas pasiekiamas agentams sąveikaujant tarpusavyje
Hibridinės architektūros - apjungia pirmas dvi architektūras
Bioinformatika (B110M100) 41
Darbo planavimo problemaUžduoties išskaidymas.
Generuojamos smulkesnės užduotys kitiems agentams. Užduočių paskirstymas.
Detalesnės užduotys perduodamos spręsti kitiems agentams.
Užduoties atlikimas. Kiti agentai atlieka savo užduotys (patys arba paskirsto
toliau kitiems agentams).Rezultatų sintezė.
Agentui baigus spręsti užduotį arba užduoties dalį, už kurią jis buvo atsakingas, jis perduodą rezultatus atgal užduotį jam pavedusiam spręsti agentui. Pastarasis apjungia visus gautus rezultatus ir perduoda juos toliau iki pradinio agento, kuris gauna galutinį užduoties sprendimą.
Bioinformatika (B110M100) 42
Agentų technologija bioinformatikojeBioinformatikoje agentų technologija
padeda įveikti semantinio heterogeniškumo problemą,
gali būti naudojama kurti sudėtingoms paskirstytoms integravimo sistemoms,
paprastų darbo užduočių automatizavimui.
Bioinformatika (B110M100) 43
Nagrinėtų integravimo technologijų palyginimasTinklo technologijos užtikrina plataus mąsto
paskirstytą infrastruktūrą.Interneto technologijos suteikia formatavimo
standartus skirtus duomenims ir žinioms atvaizduoti.
Agentų technologija užtikrina autonomiškumą ir komunikavimo/bendravimo aspektus.
Bioinformatika (B110M100) 44