implementacija blast algoritma pomoću hadoop mapreduce -a
DESCRIPTION
Univerzitet u Beogradu Elektrotehnički fakultet. DIPLOMSKI RAD. Implementacija BLAST algoritma pomoću Hadoop MapReduce -a. Student : Siniša Ivković 07/0301 [email protected]. Mentor: Prof. Veljko Milutinovi ć. Uvod. - P oravnavanje sekvenci. - PowerPoint PPT PresentationTRANSCRIPT
Implementacija BLAST algoritma pomoću Hadoop MapReduce-a
Mentor:Prof. Veljko Milutinović
Student:Siniša Ivković 07/[email protected]
Univerzitet u BeograduElektrotehnički fakultet
DIPLOMSKI RAD
Siniša Ivković
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
2/21Siniša Ivković
Siniša Ivković
Uvod
Sličnost!
- Kako da znamo da su dva gena (ili njihovi delovi), koji se često nalaze u različitim organizmima, u stvari dve verzije istog gena?
3/21
Siniša Ivković
• 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
Uvod
4/21
Siniša Ivković
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
5/21
Siniša Ivković
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 -A +1 -1 -1 -1 -1C -1 +1 -1 -1 -1G -1 -1 +1 -1 -1T -1 -1 -1 +1 -1- -1 -1 -1 -1 N/D
• PAM• BLOSUM
6/21
Siniša Ivković
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
7/21
Siniša Ivković
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
PQAPEG1215
Threshold = 13
8/21
Siniša Ivković
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
9/21
Siniša Ivković
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
10/21
Siniša Ivković
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
11/21
Siniša Ivković
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
12/21
Siniša Ivković
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 problema sinhronizacije
- Apache Hadoop – predstavlja besplatnu implementaciju MapReduce paradigme
13/21
Siniša Ivković
MapReduce
MAP
MAP
MAP
SORT
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
REDUCE
REDUCE
VALUE
VALUE
14/21
Siniša Ivković
TRAŽENA SEKVENCA{q1}
{db1}
{db2}
{db3}
{q1} {db1} {q1} {db2} {q1} {db3}
MAP MAP MAP
{db1}{hit1}
{db1}{hit2}
{db2}{hit3}
{db2}{hit4}
{db3}{hit5}
{db3}{hit6}
REDUCE REDUCE
{db1} {db2}
{db3}
{hit1} {hit3}
{hit6}
ETF Hadoop BLAST - Implementacija
15/21
Siniša Ivković
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
16/21
Siniša Ivković
ETF Hadoop BLAST - Simulacija
>GENSCAN00000000013 pep:genscan chromosome:GRCh37:18:4755977:4807982:1 transcript:GENSCAN00000000013 transcript_biotype:protein_codingTANTGLLAVKVEVIILVSLTHAQLSRAGQHAGCTTCLQDECAVAAGEEEETQQGELADVIYPSLLAASTSSVLEDGAGPHKGLQKLSRLIRFVDVVGGFRREKGYMAWIKPRYSEFPKVNSWTESSFPFGTANTGLLAVKVEVIILVSLTHAQLSRAGQHAGCTTCLQDECAVAAGEEEETQQGELADVIYPSLLAASTSSVLEDGAGPHKGLQKLSRLIRFVDVVGGFRREKGYMAWIKPRYSEFPKVNSWTESSFPFGHSP: 661E-value: 0.001446314485823671
17/21
Siniša Ivković
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
18/21
Siniša Ivković
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)
19/21
Siniša Ivković
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
20/21