Univerzitet u Beogradu Elektrotehniki fakultet DIPLOMSKI RAD Implementacija
Univerzitet u Beogradu Elektrotehnički fakultet DIPLOMSKI RAD Implementacija BLAST algoritma pomoću Hadoop Map. Reduce-a Mentor: Prof. Veljko Milutinović Student: Siniša Ivković 07/0301 sinisa. ivkovic@gmail. com
Uvod - Poravnavanje sekvenci • Način raspoređivanja sekvenci DNK, RNK ili proteina radi identifikacije sličnih regiona, koji mogu biti posledica: • funkcionih • strukturnih • evolucionih odnosa između sekvenci Siniša Ivković 2/21
Uvod - Kako da znamo da su dva gena (ili njihovi delovi), koji se često nalaze u različitim organizmima, u stvari dve verzije istog gena? Sličnost! Siniša Ivković 3/21
Uvod • Postoji niz algoritama koji rešavaju problematiku poravnavanja sekvenci i koji garantuju najbolja rešenja problema • Porastom količine podataka koje je potrebno obraditi brzina izvršavanja ovih algoritama postaje neprihvatljiva • Zbog toga se moramo okrenuti heurističkim metodama rešavanja problema - BLAST Siniša Ivković 4/21
BLAST - Basic Local Alignment Search Tool • Algoritam za brzo lokalno poravnavanje sekvenci • Efikasnost BLAST-a leži u tome što on teži da u što kraćem vremenu pronađe regione visoke sličnosti, ne pokušavajući da obavezno pronađe i proveri sva lokalna poravnanja Siniša Ivković 5/21
Matrica zamene • Krucijalni aspekt kod poravnavanja sekvenci jeste osmisliti jednostavnu funkciju bodovanja, kako bismo definisali i pronalazili najbolja poravnanja • Pogodan način za predstavljanje funkcije bodovanja jeste matrica, koju nazivamo matricom zamene A C G T Siniša Ivković A +1 -1 -1 C -1 +1 -1 -1 -1 G -1 -1 +1 -1 -1 T -1 -1 -1 +1 -1 -1 -1 N/D • PAM • BLOSUM 6/21
BLAST - Algoritam 1. Kreiramo listu svih reči od k-simbola koje se nalaze u sekvenci koju tražimo • Ukoliko uzmemo da je k=3, pravimo listu svih reči dužine 3 koje se nalaze u sekvenci dok ne dođemo do poslednjeg slova Siniša Ivković 7/21
BLAST - Algoritam 2. Kreiramo listu mogućih sličnih reči • Koristeći matricu zamene, upoređujemo svaku od reči iz liste kreirane u tački 1 sa svim mogućim rečima • Vrednost praga (threshold) nam služi da bismo smanjili broj ovih reči koje ćemo tražiti u bazi – u listu mogućih sličnih reči idu samo one čija je vrednost iznad vrednosti praga PQG PEG 15 Siniša Ivković PQA 12 Threshold = 13 8/21
BLAST - Algoritam 3. Pretražujemo bazu podataka za sve reči iz kreirane liste • Kako bismo ubrzali pretragu listu, reči je korisno organizovati na što optimalniji način Siniša Ivković 9/21
BLAST - Algoritam 4. Proširiti deo sekvence gde je pronađen tačan pogodak kako bi se dobio niz znakova što veće vrednosti • Proširuje se u oba smera od pozicije gde je pronađena reč dok god ukupna vrednost poravnanja ne počne da opada Siniša Ivković 10/21
BLAST - Algoritam 5. Pravimo listu svih poravnanja čija je vrednost dovoljno velika za razmatranje • U listu ubacujemo samo ona poravnanja čija je vrednost viša od vrednosti odsecanja (cutoff) 6. Procena značaja dobijenih poravnanja • Dobijeni rezultat upoređujemo sa rezultatom dobijenim od slučajnih sekvenci istog tipa Siniša Ivković 11/21
Paralelni BLAST - Većina bioinformatičkih algoritama su dizajnirani kao sekvencijalni • Sama priroda bioinformatičke obrade • Brzina širenja znanja u biologiji uzrokuje stalno pojavljivanje novih koncepata, ali i značajne promene već poznatih - Opadanje cene sekvenciranja genoma zahteva povećanje brzine izvršavanja ovih algoritama - Implementacije Paralelnog BLASTA • PThread • MPI Siniša Ivković 12/21
ETF Hadoop BLAST - Big Data – skup podataka toliko veliki da postaje teško raditi sa njim primenom trenutno dostupnih baza podataka - Paralelizam – delimo jedan veliki posao na veći broj manjih poslova, koji će se izvršavati konkurentno • komunikacija i sinhronizacija između procesa • otkaz hardvera - Map. Reduce – programerski model oslobađa programere tereta razmišljanja oko problema otkaza računara i problema sinhronizacije - Apache Hadoop – predstavlja besplatnu implementaciju Map. Reduce paradigme Siniša Ivković 13/21
Map. Reduce VALUE MAP SORT VALUE Siniša Ivković VALUE REDUCE VALUE MAP REDUCE VALUE 14/21
ETF Hadoop BLAST - Implementacija {db 1} TRAŽENA SEKVENCA {q 1} {db 2} {db 3} {q 1} {db 1} MAP {q 1} REDUCE {db 2} MAP {q 1} REDUCE {db 3} MAP {hit 1} {db 1} {hit 3} {db 2} {hit 5} {db 3} {hit 2} {db 1} {hit 4} {db 2} {hit 6} {db 3} Siniša Ivković 15/21
ETF Hadoop BLAST - Simulacija - Za simulaciju rada programa ETF Hadoop BLAST korišćene su sekvence dostupne na sajtu http: //www. ensembl. org/ - Ulazna sekvenca - >GENSCAN 0000013 chromosome: GRCh 37: 18: 4755977: 4807982: 1 pep: genscan - Baza podataka – 20 sekvenci - word. Size = 3 - threshold = 10 - cutoff = 23 Siniša Ivković 16/21
ETF Hadoop BLAST - Simulacija >GENSCAN 0000013 pep: genscan chromosome: GRCh 37: 18: 4755977: 4807982: 1 transcript: GENSCAN 0000013 transcript_biotype: protein_coding TANTGLLAVKVEVIILVSLTHAQLSRAGQHAGCTTCLQDECAVAAGEEEETQQGELADVIYPSL LAASTSSVLEDGAGPHKGLQKLSRLIRFVDVVGGFRREKGYMAWIKPRYSEFPKVNSWTESSF PFG HSP: 661 E-value: 0. 001446314485823671 Siniša Ivković 17/21
Zaključak - Bioinformatika je postala veoma važan deo mnogih grana biologije • Sekvenciranje i označavanje genoma i njihovih mutacija • Datamining biološke literature i kreiranje ontologija gena • Razumevanje evolucionarnih aspekata molekularne biologije - Personalizovana medicina • Medicinski model koji predlaže prilagođavanje zdravstvene zaštite svakom pojedinačnom pacijentu • Razmatrati ceo spektar informacija • Elektronski medicinski kartoni • Klinička ispitivanja • Farmaceutska istraživanja Siniša Ivković 18/21
Zaključak - Sakupljanje informacija iz stvarnog sveta - Razvoj analitike koja će biti u mogućnosti da prepozna veze među ovim podacima i kreira predikcione modele - Unapređenje algoritama - Prilagođenje za rad u distribuiranim sistemima - Projektovanje specijalizovanog hardvera (npr. FPGA čipova) Siniša Ivković 19/21
Literatura [1] Sul S. , Tovchigrechko A. , “Parallelizing BLAST and SOM algorithms with Map. Reduce-MPI library”, IEEE International Parallel & Distributed Processing Symposium, 2011. [2] Cristianini N. , Hahn W. M. , “Introduction to Computational Genomics a Case Studies Approach”, Cambridge University Press, New York, USA, 2006. [3] Lin J. , Dyer C. , “Data-Intensive Text Processing with Map. Reduce”, manuscript of a book in the Morgan & Claypool Synthesis Lectures on Human Language Technologies, University of Maryland, College Park, USA, April 2010. [4] White T. , “Hadoop: The Definitive Guide – First Edition” O’Reilly Media, Inc. , USA, June 2009. [5] http: //en. wikipedia. org/wiki/BLAST [6] http: //en. wikipedia. org/wiki/BLOSUM [7] http: //en. wikipedia. org/wiki/Bioinformatics Siniša Ivković 20/21
Hvala na pažnji Pitanja Siniša Ivković sinisa. ivkovic@gmail. com Siniša Ivković 21/21
- Slides: 21