210 likes | 356 Views
Univerzitet u Beogradu Elektrotehnički fakultet. DIPLOMSKI RAD. Implementacija BLAST algoritma pomoću Hadoop MapReduce -a. Student : Siniša Ivković 07/0301 sinisa.ivkovic@gmail.com. Mentor: Prof. Veljko Milutinovi ć. Uvod. - P oravnavanje sekvenci.
E N D
Univerzitet u Beogradu Elektrotehnički fakultet DIPLOMSKI RAD Implementacija BLAST algoritmapomoćuHadoopMapReduce-a Student: Siniša Ivković 07/0301 sinisa.ivkovic@gmail.com Mentor: Prof. Veljko Milutinović
Uvod -Poravnavanje sekvenci • Način raspoređivanja sekvenci DNK, RNK ili proteinaradi identifikacije sličnih regiona, koji mogu biti posledica: • funkcionih • strukturnih • evolucionih odnosa između sekvenci Siniša Ivković
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!
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
BLAST - Basic Local Alignment Search Tool • Algoritam za brzo lokalno poravnavanje sekvenci • Efikasnost BLAST-a leži u tome što on teži dau što kraćem vremenu pronađe regione visoke sličnosti, ne pokušavajući da obavezno pronađe i proveri sva lokalna poravnanja
Matrica zamene • Krucijalni aspekt kod poravnavanja sekvenci jesteosmisliti jednostavnu funkciju bodovanja, kako bismo definisali i pronalazili najbolja poravnanja • Pogodan način za predstavljanje funkcije bodovanja jeste matrica, koju nazivamomatricom zamene • PAM • BLOSUM
BLAST - Algoritam • Kreiramo listu svih reči od k-simbola koje se nalaze u sekvencikoju 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
BLAST - Algoritam • 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 – ulistu mogućih sličnih reči idu samo one čija je vrednost iznad vrednosti praga PQG PEG PQA Threshold = 13 15 12
BLAST - Algoritam • 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
BLAST - Algoritam • 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 smeraod pozicije gde je pronađena reč dok god ukupna vrednost poravnanja ne počne da opada
BLAST - Algoritam • 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) • Procena značaja dobijenih poravnanja • Dobijeni rezultat upoređujemo sa rezultatom dobijenim od slučajnih sekvenci istog tipa
Paralelni BLAST • Većina bioinformatičkih algoritama su dizajnirani kaosekvencijalni • 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
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 • MapReduce – programerski model oslobađa programere tereta razmišljanja oko problema otkaza računara i problemasinhronizacije • Apache Hadoop – predstavlja besplatnu implementaciju MapReduce paradigme
MapReduce SORT MAP VALUE VALUE VALUE REDUCE VALUE MAP VALUE REDUCE VALUE VALUE MAP VALUE
ETF Hadoop BLAST - Implementacija {db3} {q1} {db2} {db3} {db1} {q1} {db1} {q1} TRAŽENA SEKVENCA {q1} {db2} {db1} {db2} {db2} {db3} {db3} {db1} {db1} {db2} {db3} REDUCE REDUCE MAP MAP MAP {hit1} {hit3} {hit1} {hit3} {hit5} {hit6} {hit2} {hit4} {hit6}
ETF Hadoop BLAST - Simulacija • Za simulaciju rada programa ETF Hadoop BLAST korišćene su sekvence dostupne na sajtu http://www.ensembl.org/ • Ulazna sekvenca - >GENSCAN00000000013 pep:genscan chromosome:GRCh37:18:4755977:4807982:1 • Baza podataka – 20 sekvenci • wordSize = 3 • threshold = 10 • cutoff = 23
ETF Hadoop BLAST - Simulacija >GENSCAN00000000013 pep:genscan chromosome:GRCh37:18:4755977:4807982:1 transcript:GENSCAN00000000013 transcript_biotype:protein_coding TANTGLLAVKVEVIILVSLTHAQLSRAGQHAGCTTCLQDECAVAAGEEEETQQGELADVIYPSLLAASTSSVLEDGAGPHKGLQKLSRLIRFVDVVGGFRREKGYMAWIKPRYSEFPKVNSWTESSFPFG TANTGLLAVKVEVIILVSLTHAQLSRAGQHAGCTTCLQDECAVAAGEEEETQQGELADVIYPSLLAASTSSVLEDGAGPHKGLQKLSRLIRFVDVVGGFRREKGYMAWIKPRYSEFPKVNSWTESSFPFG HSP: 661 E-value: 0.001446314485823671
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štitesvakom pojedinačnom pacijentu • Razmatrati ceo spektar informacija • Elektronski medicinski kartoni • Klinička ispitivanja • Farmaceutska istraživanja
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)
Literatura [1] Sul S., Tovchigrechko A., “Parallelizing BLAST and SOM algorithms with MapReduce-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 MapReduce”, 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
Hvala na pažnji Pitanja Siniša Ivković sinisa.ivkovic@gmail.com