44
Panašių s Panašių s ek ek ų paieškos ų paieškos algoritmai algoritmai

2011 04 (seku panasumu paieskos algoritmai)

  • Upload
    raf48

  • View
    281

  • Download
    4

Embed Size (px)

DESCRIPTION

se

Citation preview

Page 1: 2011 04 (seku panasumu paieskos algoritmai)

Panašių sPanašių sekekų paieškos ų paieškos algoritmaialgoritmai

Page 2: 2011 04 (seku panasumu paieskos algoritmai)

Algoritmų taikymo sritisAlgoritmų taikymo sritis

Taikomi biologinių duomenų paieškai:Taikomi biologinių duomenų paieškai: Apribota abėcėlė:Apribota abėcėlė:

Baltymų sekos sudarytos iš 20 amino rūgščiųBaltymų sekos sudarytos iš 20 amino rūgščių Nukleotidų sekos turi 4 (5) nukleotidusNukleotidų sekos turi 4 (5) nukleotidus

Page 3: 2011 04 (seku panasumu paieskos algoritmai)

Sekos paieškos rezultatas gali būti:Sekos paieškos rezultatas gali būti: Tikslus sutapimas:Tikslus sutapimas:

ABCTUVABCTUVABUVABUV

ABCTUVABCTUVAB----UVAB----UV

Netikslus sutapimas:Netikslus sutapimas:GARUIPPRSTGARUIPPRSTGARVVBUIEEYSTGARVVBUIEEYST

GAR------UIPPRSTGAR------UIPPRSTGARVVBUIEEYSTGARVVBUIEEYST

Page 4: 2011 04 (seku panasumu paieskos algoritmai)

Globalūs ir lokalūs palyginiaiGlobalūs ir lokalūs palyginiai

ABQRTASGGBVABQRTASGGBV ABRRRASGVBBABRRRASGVBB

ABQRTASGGBVABQRTASGGBV ABQ------SGGBVABQ------SGGBV

Page 5: 2011 04 (seku panasumu paieskos algoritmai)

Amino rūgčių pakeitimo matricosAmino rūgčių pakeitimo matricos

Amino rūgštys pasižymi tam tikromis, Amino rūgštys pasižymi tam tikromis, savitomis fizikinėmis ir cheminėmis savitomis fizikinėmis ir cheminėmis savybėmis.savybėmis.

Ortologiniuose baltymuose amino rūgštys Ortologiniuose baltymuose amino rūgštys keičiamos viena į kitą skirtingais keičiamos viena į kitą skirtingais dažnumais.dažnumais.

Pakeitimo lengvumą (dažnumą) leidžia Pakeitimo lengvumą (dažnumą) leidžia įvertinti A.A. pakeitimo matricos.įvertinti A.A. pakeitimo matricos.

Page 6: 2011 04 (seku panasumu paieskos algoritmai)

Amino rūgščių pakeitimo matricos Amino rūgščių pakeitimo matricos pavyzdyspavyzdys

Page 7: 2011 04 (seku panasumu paieskos algoritmai)

Amino rūgčių pakeitimo matricosAmino rūgčių pakeitimo matricos

BLOSUM ir PAM matricos.BLOSUM ir PAM matricos.

PAM –Point accepted mutation. PAM –Point accepted mutation. Gautos lyginant 1572 mutacijas iš 71 baltymų Gautos lyginant 1572 mutacijas iš 71 baltymų

šeimų.šeimų. PAM1 – PAM30 – PAM70 – PAM250PAM1 – PAM30 – PAM70 – PAM250 Netinka evoliuciškai nutolusiems baltymamsNetinka evoliuciškai nutolusiems baltymams

Page 8: 2011 04 (seku panasumu paieskos algoritmai)

BLOSUMBLOSUM

BLOSUM - BLOcks of Amino Acid BLOSUM - BLOcks of Amino Acid SUbstitution MatrixSUbstitution Matrix

Sudaromas daugybinis palyginys iš mažai Sudaromas daugybinis palyginys iš mažai pakitusių baltymų sekų regionųpakitusių baltymų sekų regionų

Tinka evoliuciškai labiau nutolusiems Tinka evoliuciškai labiau nutolusiems baltymamsbaltymams

BLOSUM40-BLOSUM62-BLOSUM80BLOSUM40-BLOSUM62-BLOSUM80

Page 9: 2011 04 (seku panasumu paieskos algoritmai)

Sekų sulyginimo algoritmaiSekų sulyginimo algoritmai

Taškinės matricos (dot matrix)Taškinės matricos (dot matrix) Dinaminis programavimasDinaminis programavimas FASTAFASTA BLASTBLAST

Page 10: 2011 04 (seku panasumu paieskos algoritmai)

Dinaminis programavimasDinaminis programavimas

DP yra vienas iš algoritmų, taikomų DP yra vienas iš algoritmų, taikomų optimizavimo problemoms spręstioptimizavimo problemoms spręsti

DP veikia skaidant didelę užduotį į DP veikia skaidant didelę užduotį į mažesnes sub-užduotis.mažesnes sub-užduotis.

Page 11: 2011 04 (seku panasumu paieskos algoritmai)

Dinaminis programavimasDinaminis programavimas

Kiekviena subužduotis vykdoma tik vieną Kiekviena subužduotis vykdoma tik vieną kartą, o jos rezultatas išsaugomaskartą, o jos rezultatas išsaugomas

DP pasirenka sprendinį su didžiausiu DP pasirenka sprendinį su didžiausiu (mažiausiu) įverčiu(mažiausiu) įverčiu

Page 12: 2011 04 (seku panasumu paieskos algoritmai)

Dinaminis programavimasDinaminis programavimas

Gali būti taikomas globalių ir lokalių Gali būti taikomas globalių ir lokalių palyginių paieškai.palyginių paieškai.

Palyginių įvertinimui gali būti naudojamos Palyginių įvertinimui gali būti naudojamos pakeitimo matricospakeitimo matricos

Reikia įvesti tarpo buvimo palyginyje Reikia įvesti tarpo buvimo palyginyje “baudą”“baudą”

Page 13: 2011 04 (seku panasumu paieskos algoritmai)

Dinaminis programavimasDinaminis programavimas

Tikslas – surasti optimalų globalų palyginį Tikslas – surasti optimalų globalų palyginį tarp dviejų sekų leidžiant atsirasti tarpams.tarp dviejų sekų leidžiant atsirasti tarpams.

Sudaroma matrica F, kurios elementai Sudaroma matrica F, kurios elementai F(i,j) turi geriausio palyginio įverčio F(i,j) turi geriausio palyginio įverčio reikšmę kai naudojamos i ir j ilgio reikšmę kai naudojamos i ir j ilgio subsekossubsekos

Page 14: 2011 04 (seku panasumu paieskos algoritmai)

Dinaminis programavimasDinaminis programavimas

F(i,j) = max {F(i,j) = max { F(i-1, j-1) + s(xi , yj );F(i-1, j-1) + s(xi , yj );F(i-1,j) – d;F(i-1,j) – d;F(i, j-1) – d }F(i, j-1) – d }

s(a,b) yra panašumo įvertis, gaunamas iš s(a,b) yra panašumo įvertis, gaunamas iš panašumo matricos.panašumo matricos.

d yra tarpo įvedimo baudad yra tarpo įvedimo bauda

Page 15: 2011 04 (seku panasumu paieskos algoritmai)

Dinaminis programavimasDinaminis programavimas

Sukonstravus matricą galima nesunkiai surasti Sukonstravus matricą galima nesunkiai surasti palyginį.palyginį.

Page 16: 2011 04 (seku panasumu paieskos algoritmai)

Didžiausios bendros sekos paieškaDidžiausios bendros sekos paieška

Page 17: 2011 04 (seku panasumu paieskos algoritmai)

Didžiausios bendros sekos paieškaDidžiausios bendros sekos paieška

Page 18: 2011 04 (seku panasumu paieskos algoritmai)

Didžiausios bendros sekos paieškaDidžiausios bendros sekos paieška

Page 19: 2011 04 (seku panasumu paieskos algoritmai)

Didžiausios bendros sekos paieškaDidžiausios bendros sekos paieška

Page 20: 2011 04 (seku panasumu paieskos algoritmai)

Didžiausios bendros sekos paieškaDidžiausios bendros sekos paieška

Page 21: 2011 04 (seku panasumu paieskos algoritmai)

Needleman-Wunsch algoritNeedleman-Wunsch algoritmasmas

S1'S1' = = GCCCTAGCGGCCCTAGCG S2'S2' = = GCGC-AATGGCGC-AATG

Query: 1 gccctagcg 9 || | | |

Target: 1 gcgc-aatg 8

Page 22: 2011 04 (seku panasumu paieskos algoritmai)

Lokalių palyginių paieškaLokalių palyginių paieška Neigiamos reikšmės paverčiamos į 0Neigiamos reikšmės paverčiamos į 0 Surandama didžiausia įverčio reikšmė visoje matricoje ir nuo jos Surandama didžiausia įverčio reikšmė visoje matricoje ir nuo jos

atsekamas palyginysatsekamas palyginys

Page 23: 2011 04 (seku panasumu paieskos algoritmai)

Dinaminis programavimasDinaminis programavimas

Garantuoja optimalaus palyginio radimą Garantuoja optimalaus palyginio radimą (naudojant tam tikrą įverčių schemą)(naudojant tam tikrą įverčių schemą)

Lėtas - sudėtingumas O(nLėtas - sudėtingumas O(n22)) Kompiuterio atminties reikalavimai auga Kompiuterio atminties reikalavimai auga

kvadratiškai nuo sekos ilgiokvadratiškai nuo sekos ilgio Netinka ilgų sekų palyginimuiNetinka ilgų sekų palyginimui

Page 24: 2011 04 (seku panasumu paieskos algoritmai)

Smith-Waterman algoritSmith-Waterman algoritmasmas

Geriausias lokalus palyginys:Geriausias lokalus palyginys:

gcggcg

Page 25: 2011 04 (seku panasumu paieskos algoritmai)

FASTA algoritmasFASTA algoritmas

DP algoritmas atlieka daug skaičiavimų DP algoritmas atlieka daug skaičiavimų bereikšmėje srityjebereikšmėje srityje

FASTA sutelkia paiešką į įstrižainių sritįFASTA sutelkia paiešką į įstrižainių sritį

65555433321A

55554433221G

44444433221C

33333333221T

22222222221A

22221111111G

11111111111G

ATTGACTTAAG

Page 26: 2011 04 (seku panasumu paieskos algoritmai)

FASTAFASTA

Naudojami artiniai (“heuristika”):Naudojami artiniai (“heuristika”):

geras lokalus palyginys turi tam tikrą geras lokalus palyginys turi tam tikrą visiškos sutapimo subseką.visiškos sutapimo subseką.

Page 27: 2011 04 (seku panasumu paieskos algoritmai)

FASTA algoritmasFASTA algoritmas

Surasti visus “karštus taškus” (ilgio k Surasti visus “karštus taškus” (ilgio k sekos, kuirios idealiai sutampa)sekos, kuirios idealiai sutampa)

Galima naudoti “hash” arba “look-up” Galima naudoti “hash” arba “look-up” lenteleslenteles

Atrinkti N geriausių sekųAtrinkti N geriausių sekų

Page 28: 2011 04 (seku panasumu paieskos algoritmai)

FASTA algoritmasFASTA algoritmas

Apjungti sub-palyginius atsižvelgiant į Apjungti sub-palyginius atsižvelgiant į tarpustarpus

Vienas iš lokalių palyginių

Tarpai

Page 29: 2011 04 (seku panasumu paieskos algoritmai)

FASTA algoritmasFASTA algoritmas

Konstruojamas svorinis kryptinis grafasKonstruojamas svorinis kryptinis grafas Mazgai yra sub-palyginiaiMazgai yra sub-palyginiai Kraštinė (u,v) egzistuoja, jei u yra prieš vKraštinė (u,v) egzistuoja, jei u yra prieš v Kiekviena kraštinė turi tarpo baudą Kiekviena kraštinė turi tarpo baudą

(neigiamas svoris)(neigiamas svoris) Ieškoma maksimalausIeškoma maksimalaus

svorio keliosvorio kelio

Sub-seka

Kraštinė

Page 30: 2011 04 (seku panasumu paieskos algoritmai)

FASTA algoritmasFASTA algoritmas

ApribotojeApribotoje srityje naudojamas dinaminio srityje naudojamas dinaminio programavimo algoritmasprogramavimo algoritmas

Juostos plotis parametrizuotas

Page 31: 2011 04 (seku panasumu paieskos algoritmai)

BLAST algoritmasBLAST algoritmas

Kitas heuristinis algoritmasKitas heuristinis algoritmas Rezultatai įvertinami statistiškaiRezultatai įvertinami statistiškai Remiasi prielaida, kad homologinės sekos Remiasi prielaida, kad homologinės sekos

turi trumpų sekų porų su dideliais įverčiais.turi trumpų sekų porų su dideliais įverčiais. Šiuos trumpus segmentus algoritmas Šiuos trumpus segmentus algoritmas

praplečia į abi puses kad būtų gautas praplečia į abi puses kad būtų gautas optimalus palyginysoptimalus palyginys

Page 32: 2011 04 (seku panasumu paieskos algoritmai)

BLAST algoritmasBLAST algoritmas

Paruošiamieji darbai:Paruošiamieji darbai:

1 žingsnis – paruošti daugiausiai taškų 1 žingsnis – paruošti daugiausiai taškų turinčius žodžius iš užklausos sekosturinčius žodžius iš užklausos sekos

Page 33: 2011 04 (seku panasumu paieskos algoritmai)

BLAST AlgoritBLAST Algoritmasmas

Page 34: 2011 04 (seku panasumu paieskos algoritmai)

BLAST algoritmasBLAST algoritmas

Query Word

Neighborhood words

Page 35: 2011 04 (seku panasumu paieskos algoritmai)

BLAST algoritmasBLAST algoritmas

2 žingsnis – paieška sekų duomenų 2 žingsnis – paieška sekų duomenų bazėje. Kiekvienam žodžiui iš sąrašo bazėje. Kiekvienam žodžiui iš sąrašo randami tikslūs radiniai DBrandami tikslūs radiniai DB

Užklausos žodis Panašūs žodžiai DB sekos

1 žingsnis 2 žingsnis

1 seka

2 seka

Page 36: 2011 04 (seku panasumu paieskos algoritmai)

BLAST algoritmasBLAST algoritmas

Galima naudotis hash-lentelėmisGalima naudotis hash-lentelėmis

žodžiai

Hash lentelė

Page 37: 2011 04 (seku panasumu paieskos algoritmai)

Pradinio Pradinio High Scoring Segment High Scoring Segment Pair (HSP)Pair (HSP) praplėtimas praplėtimas

NeighborhoodScore Threshold

MinimumScore

SignificanceDecay

Page 38: 2011 04 (seku panasumu paieskos algoritmai)

BLAST algoritmasBLAST algoritmas

3 žingsnis – optimalaus palyginio paieška. 3 žingsnis – optimalaus palyginio paieška. Kiekviena rasta seka praplečiama į abi Kiekviena rasta seka praplečiama į abi pusespuses

4 žingsnis – palyginio statistinio 4 žingsnis – palyginio statistinio reikšmingumo įvertinimas. Palyginio reikšmingumo įvertinimas. Palyginio plėtimas stabdomas, kai E-reikšmė būna plėtimas stabdomas, kai E-reikšmė būna didesnė nei ribinė. Toks rastas segmentas didesnė nei ribinė. Toks rastas segmentas vadinamas didelio įverčio segmentu (vadinamas didelio įverčio segmentu (High High Scoring Segment PairScoring Segment Pair, HSSP, HSP) , HSSP, HSP)

Page 39: 2011 04 (seku panasumu paieskos algoritmai)

BLAST algoritmasBLAST algoritmas

E- reikšmės apibrėžimas:E- reikšmės apibrėžimas:

Tikėtinas HSP, kurių įvertis didesnis nei S, Tikėtinas HSP, kurių įvertis didesnis nei S, skaičius skaičius

E = K*n*m*eE = K*n*m*e--λSλS

K, K, λ λ nuo modelio priklausančios nuo modelio priklausančios konstantoskonstantos

n, m n, m užklausos ir sekos ilgiaiužklausos ir sekos ilgiai

Page 40: 2011 04 (seku panasumu paieskos algoritmai)

BLAST algoritmasBLAST algoritmas

Sekų įverčiai pasiskirstę pagal ekstremalių verčių dėsnį.Sekų įverčiai pasiskirstę pagal ekstremalių verčių dėsnį.

0

1000

2000

3000

4000

5000

6000

7000

8000

<20 30 40 50 60 70 80 90 100 110 >120

Page 41: 2011 04 (seku panasumu paieskos algoritmai)

Algoritmų palyginimasAlgoritmų palyginimas

Užklausos ilgis – 153Užklausos ilgis – 153 DB dydis – 5997 sekosDB dydis – 5997 sekos

0.118 [s]BLAST

0.618 [s]FASTA

16.989 [s]D.P

TrukmėAlgoritmas

Page 42: 2011 04 (seku panasumu paieskos algoritmai)

Algoritmų palyginimasAlgoritmų palyginimas

Dinaminis programavimas:Dinaminis programavimas: Jautriausias algoritmasJautriausias algoritmas Panaudojama visa informacijaPanaudojama visa informacija Algoritmas lėtasAlgoritmas lėtas Naudojamos ir bereikšmės sritysNaudojamos ir bereikšmės sritys

Page 43: 2011 04 (seku panasumu paieskos algoritmai)

Algoritmų palyginimasAlgoritmų palyginimas

FASTAFASTA Mažiau jautrus nei DP ir BLASTMažiau jautrus nei DP ir BLAST Naudojama dalinė informacija pagreitinant Naudojama dalinė informacija pagreitinant

skaičiavimusskaičiavimus Rezultatai nevertinami statistiškaiRezultatai nevertinami statistiškai Žymiai greitesnis nei DPŽymiai greitesnis nei DP

Page 44: 2011 04 (seku panasumu paieskos algoritmai)

Algoritmų palyginimasAlgoritmų palyginimas

BLASTBLAST Jautresnis nei Jautresnis nei FASTAFASTA Rezultatai įvertinami statistiškaiRezultatai įvertinami statistiškai Greitesnis nei FASTA. Atsižvelgiant į rezultatų Greitesnis nei FASTA. Atsižvelgiant į rezultatų

patikimumą atmetamas triukšmas ir tokiu patikimumą atmetamas triukšmas ir tokiu būdu sutrumpėja skaičiavimo laikasbūdu sutrumpėja skaičiavimo laikas