21
Implementacija BLAST algoritma pomoću Hadoop MapReduce-a ntor: of. Veljko Milutinović Student: Siniša Ivković 07/0301 [email protected] Univerzitet u Beogradu Elektrotehnički fakultet DIPLOMSKI RAD

Implementacija BLAST algoritma pomoću Hadoop MapReduce -a

  • Upload
    feryal

  • View
    31

  • Download
    0

Embed Size (px)

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 Presentation

Citation preview

Page 1: Implementacija  BLAST  algoritma pomoću Hadoop MapReduce -a

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

Page 2: Implementacija  BLAST  algoritma pomoću Hadoop MapReduce -a

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ć

Page 3: Implementacija  BLAST  algoritma pomoću Hadoop MapReduce -a

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

Page 4: Implementacija  BLAST  algoritma pomoću Hadoop MapReduce -a

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

Page 5: Implementacija  BLAST  algoritma pomoću Hadoop MapReduce -a

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

Page 6: Implementacija  BLAST  algoritma pomoću Hadoop MapReduce -a

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

Page 7: Implementacija  BLAST  algoritma pomoću Hadoop MapReduce -a

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

Page 8: Implementacija  BLAST  algoritma pomoću Hadoop MapReduce -a

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

Page 9: Implementacija  BLAST  algoritma pomoću Hadoop MapReduce -a

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

Page 10: Implementacija  BLAST  algoritma pomoću Hadoop MapReduce -a

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

Page 11: Implementacija  BLAST  algoritma pomoću Hadoop MapReduce -a

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

Page 12: Implementacija  BLAST  algoritma pomoću Hadoop MapReduce -a

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

Page 13: Implementacija  BLAST  algoritma pomoću Hadoop MapReduce -a

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

Page 14: Implementacija  BLAST  algoritma pomoću Hadoop MapReduce -a

Siniša Ivković

MapReduce

MAP

MAP

MAP

SORT

VALUE

VALUE

VALUE

VALUE

VALUE

VALUE

REDUCE

REDUCE

VALUE

VALUE

14/21

Page 15: Implementacija  BLAST  algoritma pomoću Hadoop MapReduce -a

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

Page 16: Implementacija  BLAST  algoritma pomoću Hadoop MapReduce -a

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

Page 17: Implementacija  BLAST  algoritma pomoću Hadoop MapReduce -a

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

Page 18: Implementacija  BLAST  algoritma pomoću Hadoop MapReduce -a

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

Page 19: Implementacija  BLAST  algoritma pomoću Hadoop MapReduce -a

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

Page 20: Implementacija  BLAST  algoritma pomoću Hadoop MapReduce -a

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

Page 21: Implementacija  BLAST  algoritma pomoću Hadoop MapReduce -a

Siniša Ivković

Pitanja

21/21

Siniša Ivković[email protected]

Hvala na pažnji