Blast BLAST Sekvenssammenstilling og statistikken brukt Finner best mulig sammenstilling(er), evt. finner veldig gode sammenstillinger. Kan teoretisk unngå å finne beste sammenstilling. Avgjør om sammenstillingen er god nok for å konkludere med at sekvensene er homologe. Anja Bråthen Kristoffersen 1 Anja Bråthen Kristoffersen 2 Evolusjonær basis for sekvenssammenstilling evolusjon CAEFTP Felles forfar CAEFTP Deles Substitusjon T A (pos. 5) Innsetting H (mellom pos. 1 og 2) evolusjon CAEFTP Delesjon F (pos. 4) Noen mulige sammenstilling av CHAEFAP og CAETP C H A E F A - P C - A - - E T P C H A - E F A P C - A E T - - P C H A E F A P C - A E T P - CHAEFAP Evolusjonær korrekt sammenstilling: CAETP CHAEFAP C-AE-TP Anja Bråthen Kristoffersen 3 Målet er å finne en god sammenstilling som reflekterer hvordan sekvensene hører sammen evolusjonært. Anja Bråthen Kristoffersen 4
Grunnspørsmål Gitt en skåringsmatrise (f.eks. BLOSUM 62) og et straffesystem for å innføre gap (f.eks. -11 for å starte gap og -1 for å fortsette et allerede startet gap), hvilken sammenstilling har den høyeste skåren? Enormt mange mulige sammenstillinger mellom to sekvenser. F. eks. hvis vi har to sekvenser som hver er 1000 lang vil det være mer en 10 600 mulige sammenstillinger. Vi trenger dynamisk programmering eller en heuristisk søkermetode! Dynamisk programmering Needleman-Wunsch algoritmen (global sammenstilling) Smith-Waterman (lokal sammenstilling) Begge disse algoritmene er av orden m*n og finner den høyeste skåren for sammenstilling av to sekvenser som hver er m og n lang. Dermed ville disse algoritmene kunne brukes til å sammenstille to sekvenser som hver er 1000 lang. Men dynamisk programmeringsalgoritmer går alt for sakte for å søke med en søkesekvens mot alle mulige sekvenser i en database for å finne den beste sammenstillingen ParAlign er en implementasjon av Smith-Waterman slik at sammenstillingssøk i store databaser går 8 ganger forterre enn med vanlig Smith-Waterman. Vi vil nå se BLAST, en heuristiske algoritme hvor mye statistikk blir brukt! Anja Bråthen Kristoffersen 5 Anja Bråthen Kristoffersen 6 Heuristiske søkealgoritmer Begrenser søket til en brøkdel av de mulige sammenstillingene på en slik måte at den høyeste skår sammenstillingen forhåpentligvis ikke blir utelatt. Eksempler på slike søkeprogram er: FASTA algoritmen (Lipman og Pearson; 1985) BLAST algoritmen (Altschul, Gish, Miller, Myers og Lipman; 1990) Tar vanligvis bare noen sekunder å sammenlikne en sekvens med en hel database Lokal sammenstilling Vi begrenser oss til lokal sammenstilling. Statistikken er her bedre forstått en for global sammenstilling. Det er også mer fornuftig å bruke lokal sammenstilling for å bestemme homologi mellom to proteiner, mange proteiner er gjennom evolusjon kun homologe over deler av proteinsekvensen. Anja Bråthen Kristoffersen 7 Anja Bråthen Kristoffersen 8
BLAST algoritmen 1. Finn alle par av lengde W med skårer over en terskel verdi T, disse kalles hits (W = 3 og T = 11 er oftest brukt). 2. Søk etter to hits innen en predefinert avstand (f. eks. 40 aminosyrer) på samme diagonal og kombiner dem i en høy skårings segment par (HSP). 3. Se kun på de beste HSPene. Utvid disse sekvensene (hvor gap er tillatt) ved hjelp av en dynamisk programmeringsalgoritme inntil skåren kommer under en bestemt terskelverdi (høyeste skår oppnådd så langt minus en bestemt distanse). BLASTs utskrift De sammenstillingene som har fått høyest skår (ikke nødvendigvis den beste sammenstillingen som eksisterer ) Statistisk informasjon om likheten mellom søkersekvensen og sekvensen som blir funnet (hvorvidt likheten er statistisk signifikant, angis med p-verdi og E-verdi) Anja Bråthen Kristoffersen 9 Anja Bråthen Kristoffersen 10 Søkesekvens GCTTGCTTAACGACACC Score E Sequences producing significant alignments: (Bits) Value gi 29294535 gb AF037268.2 Grapevine leafroll-associated virus 3 34.2 1.6 Alignments >gi 29294535 gb AF037268.2 Grapevine leafroll-associated virus 3, complete genome Length=17919 Score = 34.2 bits (17), Expect = 1.6 Identities = 17/17 (100%), Gaps = 0/17 (0%) Strand=Plus/Plus Query 1 GCTTGCTTAACGACACC 17 Sbjct 3877 GCTTGCTTAACGACACC 3893 Database: All GenBank+EMBL+DDBJ+PDB sequences (but no EST, STS, GSS,environmental samples or phase 0, 1 or 2 HTGS sequences) Posted date: Oct 28, 2005 10:46 PM Number of letters in database: -1,366,463,430 Number of sequences in database: 3,542,881 Anja Bråthen Kristoffersen 11 Lambda K H 1.37 0.711 1.31 Gapped Lambda K H 1.37 0.711 1.31 Matrix: blastn matrix: 1-3 Gap Penalties: Existence: 5, Extension: 2 Number of Sequences: 3542881 Number of Hits to DB: 198041 Number of extensions: 3472 Number of successful extensions: 3472 Number of sequences better than 10: 0 Number of HSP's better than 10 without gapping: 0 Number of HSP's gapped: 3472 Number of HSP's successfully gapped: 0 Number of extra gapped extensions for HSPs above 10: 3472 Length of query: 17 Length of database: 15813405750 Length adjustment: 15 Effective length of query: 2 Effective length of database: 15760262535 Effective search space: 31520525070 Effective search space used: 31520525070 A: 0 X1: 11 (21.8 bits) X2: 15 (29.7 bits) X3: 25 (49.6 bits) S1: 11 (22.3 bits) S2: 16 (32.2 bits) Anja Bråthen Kristoffersen 12
Statistisk signifikans Er den oppnådde skåren høy nok for å anta at sekvensen er homologe? (NB! enhver søkersekvens vil oppnå en høyest skår med en sekvens i databasen derfor er det ikke nok å kun lete etter høyeste skår). For å besvare spørsmålet må vi ha en følelse for hvor høy skåren kan bli kun ved tilfeldighet. Statistisk teori bak BLAST Vi ser kun på parvise sammenstillinger uten gap (dvs. enklere versjon av BLAST) Her er teorien enklere og i større grad forstått enn for BLAST med gap. Når gap tillates i BLAST bruker man gjerne en høy straff for å innføre gap (f.eks. -11) derfor er muligens ikke statistikken så forskjellig for BLAST med gap og BLAST uten gap. Anja Bråthen Kristoffersen 13 Anja Bråthen Kristoffersen 14 Hva kan forventes ved ren tilfeldighet? Vi trenger litt forståelse for hva som kan skje ved ren tilfeldighet. Anta at vi har to sekvenser med lengder m og n. Anta videre at hver posisjon i sekvensene er uavhengig og identisk fordelt (iid) med gitte sannsynligheter for hver aminosyre avhengig av erfaring (f.eks. relativ frekvens q 1,q 2,,q 20 ). Gitt en global sammenstilling av de to sekvensene. La skåren mellom to aminosyrer i posisjon j være X j (hvor første posisjon i sammenstillingen har indeks 1 og siste har indeks N) Det er n+m-1 slike globale sammenstillinger som må ses på Anja Bråthen Kristoffersen 15 Anja Bråthen Kristoffersen 16
X j ene er, gitt at sekvensene er iid, tilfeldige variable som også er iid. Skåren til den lokale ikke gappede sammenstillingen fra posisjon 0 til k er: For hver av sammenstillingene vil den kumulative skåren være en tilfeldig gange Den tilfeldige prosessen S 0, S 1, S 2,, S N blir da tilfeldig gange prosess. Anja Bråthen Kristoffersen 17 Anja Bråthen Kristoffersen 18 E[S(a,b)] < 0 Når forventningen til skåren mellom to aminosyrer er negativ vil den tilfeldig gangen få en negativ drift. Hvis forventningsverdien var positiv ville den tilfeldige gangen hatt en positiv drift noe som ville ha ført til høyere og høyere kumulativ skår. Da ville vi forventet jo lengre sammenstillinger jo bedre skår for to tilfeldige sekvenser. To lange urelaterte sekvenser ville da forventes å få bedre skår enn to korte relaterte sekvenser! Betingelser for substitusjonsmatrisen Minst et element i substitusjonsmatrisen må være positivt < 0 (dette sikrer at den tilfeldige gangen vil over tid ha drift nedover og vi vil forvente å finne nye stigepunkt (ladder points) med jevne mellomrom) Betingelsene oppnås når skåren er definert som en log-likelihood ratio! Dermed vil både BLOSUM matrisene og PAM matrisene være OK! Anja Bråthen Kristoffersen 19 Anja Bråthen Kristoffersen 20
Ekskursjon Stige start ladder Laveste nivå oppnådd hittil Den delen av den tilfeldige gangen som er fra et stigepunkt og til høyeste punkt før neste stigepunkt. La Y i være høyden oppnådd ved i-te ekskursjon. Hvis stigepunktene X i og X i+1 ligger rett etter hverandre vil høyden til Y i være 0. Y i -ene blir da uavhengige tilfeldige variable. Anja Bråthen Kristoffersen 21 Anja Bråthen Kristoffersen 22 Høyeste skår Y max Y max = max(y 1, Y ξ ) hvor ξ er (det tilfeldige) antall ekskursjoner, blir i BLAST brukt som testobservator. Vi må for å bestemme om den høyeste skåren er signifikant eller ikke finne fordelingen til Y max under nullhypotesen: de to sammenstilte sekvensene er tilfeldige. Anja Bråthen Kristoffersen 23 Anja Bråthen Kristoffersen 24
Hvordan oppfører en typisk ekskursjon seg? Antall steg før en negativ verdi oppnås Fra teorien til tilfeldig gange har vi at: Fordelingen til Y max? Denne har vi sett på før, allikevel vil jeg vise et lite eksempel som viser at Y max ikke kan ha lik fordeling som Y i tiltross for at Y max vil være en av verdiene Y i. Eksempel: Anta at Z i er en uavhengig tilfeldig variabel slik at for alle k hvor konstanten C, 0 < C < 1, kan beregnes. Forventet antall steg A før en negativ verdi oppnås kan også beregnes Anja Bråthen Kristoffersen 25 La Da vil P(alle Z i er lik 0) = Anja Bråthen Kristoffersen 26 Anta at Z 1, Z 2,, Z n er uavhengige og identisk fordelte tilfeldige variable med P(Z i x) = F(x). La Z max = max{z 1, Z 2,, Z 100 } Da vil P(Y max k) Det kan vises at: og dermed hvor N = antall posisjoner i sammenstillingen og λ (= θ*) er den unike positive løsningen til m(θ*) = 1: og K = (C/A)e λ. Anja Bråthen Kristoffersen 27 Anja Bråthen Kristoffersen 28
n+m-1mulige globale sammenstillinger Dermed har vi n + m 1 forskjellige Y max verdier. La S max være maksimum av disse. Dvs. S max er skåren til den høyeste skåren av alle de lokale sammenstillingene E-verdi Vi ser igjen på ekskursjonene Y 1, Y 2,, Y N/A, hvor P(Y i k) C e λk. Antall ekskursjoner som oppnår en høyde på minst k vil cirka være: Dermed kan vi finne en sannsynlighet for at S max er større eller lik k: S max er testobservatoren som blir brukt i BLAST for å beregne p-verdien og E-verdien. hvor I i =1 hvis Y i k og 0 ellers. Da er: Anja Bråthen Kristoffersen 29 Anja Bråthen Kristoffersen 30 E-verdien til Y max = y Anta at du observerer Y max = y, da vil E-verdien til observasjonen være: som vil være lik antall ganger vi forventer at en ekskursjon skal oppnå en verdi som er større eller lik y. BLAST E-verdien i BLAST likner på E-verdien på forrige slide, bare at den bruker S max og fordelingen til S max. BLAST tar også hensyn til størrelsen på datasettet. Vi tok kun hensyn til størrelsen på de to sekvensene som skulle sammenstilles. E-verdien sier altså noe om hvor mange ganger vi forventer å finne en sammenstilling med skår bedre eller lik den skåren vi har funnet i et datasett av den størrelsen vi søker i. Anja Bråthen Kristoffersen 31 Anja Bråthen Kristoffersen 32