Bioinformatik Algoritmiske Aspekter. Christian Nørgaard Storm Pedersen BRICS. Datalogisk Institut Aarhus Universitet.

Relaterede dokumenter
Bioinformatik Algoritmiske Aspekter. Christian Nørgaard Storm Pedersen BRICS. Datalogisk Institut Aarhus Universitet.

Bioinformatik Open Source Software i biologiens tjeneste

Identifikation af potentielle microrna gener ved hjælp af komparativ genomanalyse

Side 1 af 14. Eksamen: Bioinformatik It og Sundhed 27 Jan 2011 kl 9-13

Dynamisk programmering

Dynamisk programmering

Genetiske afstande og afstandsmatricer

Danmarks Tekniske Universitet

Side 1 of 12. Kursus navn: Kursus nr Introduktion til Bioinformatik

Side 1 of 13. Kursus navn: Kursus nr Introduktion til Bioinformatik

Implementation of MUSCLE using GPU

Dynamisk programmering

Introduktion. Introduktion. Algoritmer og datastrukturer. Eksempel: Maksimalt tal

Introduktion. Algoritmer og datastrukturer Toppunkter Algoritme 1 Algoritme 2 Algoritme 3. Philip Bille

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Danmarks Tekniske Universitet

Søgning og Sortering. Søgning og Sortering. Søgning. Linæer søgning

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)

Danmarks Tekniske Universitet. Løsningsforslag til Øvelse i Immonologisk Bioinformatik

Søgning og Sortering. Philip Bille

Syntaks og syntaksgenkendelse, særligt regulære udtryk og tilstandsmaskiner og lidt om anvendelser i bioinformatik

Immunologisk bioinformatik

DATALOGISK INSTITUT, AARHUS UNIVERSITET

Søgning og Sortering. Søgning Linæer søgning Binær søgning Sortering Indsættelsessortering Flettesortering. Philip Bille

Skriftlig Eksamen Algoritmer og Datastrukturer 2 (2003-ordning)

Skjulte Markov Modeller og Genidentifikation 2003

Side 1 af 13. Eksamen: Bioinformatik It og Sundhed 27 Jan 2011 kl 9-13

Side%1%af%14% Eksamen: Bioinformatik It og Sundhed 27 Jan 2011 kl 9-13

Danmarks Tekniske Universitet

Algorithms and Architectures I Rasmus Løvenstein Olsen (RLO) Mm2: Rekursive algoritmer og rekurrens - October 12, 2010

Perspektiverende Datalogikursus

Algoritmisk geometri

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

27611 Eksamen Sommer 2008

Algorithms and Architectures I Rasmus Løvenstein Olsen (RLO), Jimmy Jessen Nielsen (JJE) Mm2: Rekursive algoritmer og rekurrens - October 10, 2008

Introduktion. Philip Bille

Danmarks Tekniske Universitet. Kursus navn: Introduktion til Bioinformatik. Kursus nummer: Hjælpemidler: alle.

Gen-identifikation ved sekvens-sammenligning. Tejs Scharling. Specialerapport. Datalogisk Institut Aarhus Universitet Danmark

Orienterede grafer. Orienterede grafer. Orienterede grafer. Vejnetværk

Intervalsøgning. Algoritmisk geometri. Motivation for intervaltræer. Intervalsøgning. Lad der være givet en database over ansatte i en virksomhed

DATALOGISK INSTITUT, AARHUS UNIVERSITET

Danmarks Tekniske Universitet

Perspektiverende Datalogikursus

Side 1 of 11. Kursus navn: Kursus nr Introduktion til Bioinformatik

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Danmarks Tekniske Universitet

Dynamisk programmering. Flere eksempler

Dynamisk programmering. Flere eksempler

Immunologisk bioinformatik - et undervisningsprojekt til de danske gymnasier

DATALOGISK INSTITUT, AARHUS UNIVERSITET

Side 1 of 12. Kursus navn: Kursus nr Introduktion til Bioinformatik

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Menneskets væskefaser

Hamilton-veje og kredse:

Sidste gang Motivation Definitioner Approximations-algoritme for knudeoverdækning Approximations-algoritme for TSP med trekantsulighed

DATALOGISK INSTITUT, AARHUS UNIVERSITET

Perspektiverende Datalogi Klassiske Algoritmer

Definition : Et træ er en sammenhængende ikke-orienteret graf uden simple kredse. Sætning : En ikke-orienteret graf er et træ hvis og kun hvis der er

Grådige algoritmer. Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.

Simple matematiske modeller til beskrivelse af komplekse biologiske systemer. Carsten Wiuf

Løs til optimalitet i eksponentiel tid Find tilnærmet løsning i polynomiel tid

Grundlæggende køretidsanalyse af algoritmer

BM121 Resume af tirsdags forlæsningen, Uge 47

Sommeren 2001, opgave 1

Velkommen. Test dit eget DNA med PCR. Undervisningsdag på DTU Systembiologi. Undervisere:

Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.

BRP Sortering og søgning. Hægtede lister

Orienterede grafer. Orienterede grafer. Orienterede grafer. Orienterede grafer

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

Danmarks Tekniske Universitet

Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Ideen er simpel:

Biologi opgave Opsamling: Cellebiologi (Bioanalytiker modul3)

Analyse af algoritmer

28 Algoritmedesign. Noter. PS1 -- Algoritmedesign

Velkommen. Test dit eget DNA med PCR. Undervisningsdag på DTU Systembiologi. Undervisere: Sebastian, Louise og Ana

Mm7: A little bit more about sorting - and more times for exercises - November 4, 2008

Orienterede grafer. Introduktion Repræsentation Søgning Topologisk sortering og DAGs Stærke sammenhængskomponenter Implicitte grafer.

Geneious en manual til elevbrug

Hashing. Ordbøger Hægtet hashing Hashfunktioner Lineær probering. Philip Bille

Programmering og Problemløsning, 2017

Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.

SUBS_BACLE 1 0 ELYA_BACHD 1 MRQSLKVMVLSTVALLFMANPAAASEEKKEYLIVVEPEEVSAQSVEESYD 50

Danmarks Tekniske Universitet

at du trænes i at genkende aminosyrer i en simpel proteinstruktur (pentapeptid = lille protein bestående af 5 (penta) aminosyrer)

Algoritmer og invarianter

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)

Danmarks Tekniske Universitet

Korteste veje i vægtede grafer. Længde af sti = sum af vægte af kanter på sti.

Ny teknologi til analyse af vores gener ændrer måden, vi forebygger og behandler sygdom på. Nye markedsmuligheder for Exiqon

NY TEKNOLOGI TIL ANALYSE AF VORES GENER ÆNDRER MÅDEN VI FOREBYGGER OG BEHANDLER SYGDOM PÅ NYE MARKEDSMULIGHEDER FOR EXIQON

Danmarks Tekniske Universitet

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

Korteste veje i vægtede grafer. Længde af sti = sum af vægte af kanter på sti.

Binære søgetræer. Binære søgetræer. Nærmeste naboer. Nærmeste nabo

Transkript:

Bioinformatik Algoritmiske Aspekter hristian Nørgaard Storm Pedersen BRIS Datalogisk Institut Aarhus Universitet IT-, April, 2001

Bioinformatik Bioinformatik er udvikling og anvendelse af algoritmer og programmer til indsamling, håndtering og analyse af biologisk data ifm. undersøgelser af biologiske processer... Virkeligheden Modeller Problemer Programmer DNA: A T G G T... RNA: A U G U A G G... Protein: Met Arg Leu... Input: a[1..n],b[1..m] Output: dist(a,b) D[0,0..m]=D[0..n,0]=0 FOR i=1 TO n DO FOR j=1 TO m DO D[i,j]= min(d[i-1,j-1]+ d(a[i],b[j]), D[i-1,j]+1, D[i,j-1]+1) OD OD RETURN D[n,m] A G G T ompbio dist(a,b) Bioinformatik involverer... - kendskab til den biologiske virkelighed - formulering af modeller og beregningsproblemer - design og analyse af algoritmer - konstruktion og brug af programmer Fokus afhænger af baggrund: Datalogi, biologi, statistik, medicin... Bioinformatik 1

Plan Vi vil fokusere på sekvens-analyse... Tirsdag d. 17. april Molekylær biologi, DNA, RNA og protein Indsamling af sekvensdata, shotgun sequencing Sammenligning af to sekvenser, edit afstand, alignment Forbedringer af model og algoritme, pladsforbrug... Tirsdag d. 24. april Søgning i databaser, lokal alignment Sammenligning af flere sekvenser, multipelt alignment Andre problemer, strukturforudsigelse, DNA hips... Bioinformatik 2

Deoxyribo Nucleic Acid Bioinformatik fokuserer på molekylær og genetisk data... Et menneske består af 100 10 12 celler. Hver celle indeholder bl.a. 46 kromosomer, DNA molekylær, som lagrer genetisk information, arvemassen... 1869: DNA opdaget i køers cellekerner 1953: DNAs dobbelt-helix struktur og Watson- rick basepar A T og G beskrevet 1960: Den genetiske kode brudt... Den menneskelige arvemasse, det human genome, er ca. 3 10 9 bp langt og indeholder ca. 30.000 gener (Feb 2001). Hvert gen indkoder et protein... Bioinformatik 3

Biologiske sekvenser Et gen udtrykkes ved at dets kodende DNA transskriberes til RNA som igen translateres til et protein, en sekvens af aminosyrer... transskription A A G G T U translation TTG TG GG transskription UUG UG GG translation Leu Leu Arg DNA S {A,, G, T } transskription RNA S {A,, G, U} translation Protein S Σ, Σ = 20 Bioinformatik 4

Indsamling af sekvensdata 1940 erne: Aminosyre sekvens for insulin [Sanger et al.] 1960 erne: 77 nukleotider af trna [Holley et al., 1965] 1970 erne: 5.386 nukleotider af virus DNA [Sanger et al., Maxam and Gilbert, 1977] 1990 erne: 50.000 3.000.000.000 bp lange DNA sekvenser... DNA Shotgun Sequencing opdel i små overlappende fragmenter (300 500 bp) aflæs hver segment eksperimentielt sammensæt de aflæste segmenter gatg at at agc agat agg gaa at ta gcgc atc ggat aa at at gcg taga --------------------------- aggatgaaatatatatagcgctagatc Sequence Assembly find overlap, lav layout, find konsensus problemer hvis mange gentagelser Double-Barreled Shotgun Sequencing... Algoritmiske problemer er tæt knyttet til eksperimentielle metoder... Bioinformatik 5

Tilgængelige Genomer HAEMOPHILUS INFLUENZAE (1995) Størrelse 1.8 millioner basepar. Antal gener 1.740 HSAHAROMYES EREVISIA (GÆR) (1996) Størrelse 12.1 millioner basepar. Antal gener 6.275 AENORHABDITIS ELEGANS (ORM) (1998) Størrelse 97 millioner basepar. Antal gener 19.099 ARABIDOPSIS THALIANA (December 2000) Størrelse 125 millioner basepar. Antal gener 25.000 DROSOPHILA MELANOGASTER (FLUE) (Marts 2000) Størrelse 185 millioner basepar. Antal gener 13.601 MUS MUSULUS (Næsten færdigt, 3x dækning, Februar 2001) Størrelse 3000 millioner basepar. Antal gener 30.000 HOMO SAPIENS (Juni 2000, Februar 2001) Størrelse 3000 millioner basepar. Antal gener 30.000 Bioinformatik 6

Tilgængelig sekvensdata GenBank en database med 10.106.000 DNA sekvenser med samlet længde 11.101.000.000 bp (Dec 2000), www.ncbi.nlm.nih.gov/web/genbank/ Mange specialiserede databaser, f.eks. www.genome.ucsc.edu som lagre det humane genome. Annoteringer, opdateringer, krydsreferencer... Focus på WWW and DB teknologi... Bioinformatik 7

Evolution af genetisk materiale Genetisk materiale, DNA sekvenser, udvikles over tid ved mutationer... Translocations Inversions Genomer Duplications Insertions Gener Deletions Substitutions GTTAT ins GTTAT del TTAT sub TTGT TTGT dup TTGTTGT trans TGTTGTT inv GTTTGTT Parsimony princippet Den nemmeste vej er et godt estimat af evolutionen, dvs. sekvenser som ligner hinanden er beslægtede og opfører sig ens... Bioinformatik 8

Sammenligning af sekvenser En oplagt kilde til biologisk information... Alignment af to sekvenser Givet to sekvenser som er udviklet fra en fælles stamfar, konstruer et alignment således at baser i samme søjle er udviklet fra samme base i den fælles stamfar... : TTGTG A : TTG B : TTGT T T G T T G T insert TG, G Formulering af et beregningsproblem, rekonstruktion af evolutionen... - Hvordan ser den fælles stamfar ud? - Hvilke evolutionære hændelser kan ske? hvordan? Konstruktion af en biologisk rimelig og beregningsmæssig håndterlig evolutionær model er svært og fundamentalt problem... Bioinformatik 9

En simpel evolutionærmodel Husk parsimony princippet der siger at den nemmeste vej er et godt estimat af den evolutionære historie... Hvis hændelser er reversible, dvs. hvis s e s så også s e s, så... dist(a, B) = min { E 1 + E 2 A E 1 E 2 B},E 1,E 2 Insert Leu Leu TTGTG G = min { E 1 + E 2 A E 1 E 2 B},E 1,E 2 Leu TTG Leu Leu TTGT = min E { E A E B} G Phe TT Insert Nemmeste vej modelleres som den korteste vej eller billigste vej... Beregning af dist(a, B) og et optimalt edit-script E er et fundamentalt problem indenfor bioinformatik. Problemets kompleksitet afhænger af de tilladte hændelser og deres omkostning... Bioinformatik 10

To afstandsproblemer Inversions-afstand: Givet A = π(1,..., n) og B = π(1,..., n), der beskriver rækkefølgen af de samme gener i to organismer. Bestem det mindste antal inversioner der fører A over i B, f.eks. 4, 1, 3, 2, 5 1, 4, 3, 2, 5 1, 2, 3, 4, 5 Et af mange genome rearrangement problemer, men NP-fuldstændigt... Edit-afstand: Givet A Σ og B Σ, der beskriver to biologiske sekvenser. Bestem den billigste sekvens af subs og indels der fører A over i B, hvor en sub af a med b koster d(a, b) og en indel af k symboler koster g(k), f.eks. TTG TTGTG TTGT, pris g(3) + d(g, ) TTG TT TTGT, pris d(g, ) + g(3) Beregnelig i tid O(nm) under rimelige antagelser... Bioinformatik 11

Antagelser ifm. edit-afstand Nogle interessante spørgsmål... Hvor mange mulige edit-scripts er der mellem A og B? Hvor mange af disse skal overvejes for at sikre at et optimalt edit-script identificeres? Formulering af en algoritme kræver antagelser om omkostningsfunktionen sub-cost d(a, b) er en metrik, altså d(a, a) = 0 d(a, b) = d(b, a) d(a, b) d(a, c) + d(c, b) gap-cost g(k) er sub-additiv, altså g(k) g(k ) + g(k ), for alle k, k hvor k + k = k Evolutionen har ingen retning og vælger den nemmeste løsning... Bioinformatik 12

Edit-afstand og alignment Hvis d(a, b) er en metrik og g(k) er sub-additiv, så kan et optimalt edit-script mellem A og B udtrykkes som et alignment... T T G A T T G TTGT TGT GT T AT ATG g(1) + d(t, ) + g(1) + g(1) + g(1) T T G T A T G TTGT TGT T A ATG d(t, ) + g(2) + d(t, A) + g(2) Parvis alignment: Givet to strenge A[1.. n] og B[1.. m], en metrisk sub-cost d(a, b), og en sub-additiv gap-cost g(k). Bestem et optimal alignment af A og B... Observation: Hvis g(k) = α k, altså lineær, så er prisen for et alignment blot summen af prisen for de enkelte søjler... Bioinformatik 13

Formulering af en rekursiv løsning Vi kan beregne dist(a, B) ved at beregne prisen for et optimalt alignment Lad D(i, j) være prisen for et optimalt alignment af A[1.. i] og B[1.. j]. Pr. definition haves D(0,0)=0. Vi kan udtrykke D(i, j) rekursivt ved at betrage den sidste søjle i mulige alignments af A[1.. i] og B[1.. j]. Der er tre muligheder... A[i] B[j ], A[i] or B[j ] Dette giver anledning til følgende rekursion... D(i 1, j 1) + d(a[i], B[j]) i > 0 og j > 0 D(i, j) = min D(i 1, j) + α i > 0 og j 0 D(i, j 1) + α i 0 og j > 0 0 i = 0 og j = 0 D(n, m) er edit-afstanden mellem A og B... Bioinformatik 14

Dynamisk programmering func Dist(i,j): if D(i, j) = undef then v 1 = v 2 = v 3 = v 4 = undef if (i > 0) & (j > 0) then v 1 = Dist(i 1,j 1) + d(a[i], B[j]) if (i > 0) & (j 0) then v 2 = Dist(i 1,j) + α if (i 0) & (j > 0) then v 3 = Dist(i,j 1) + α if (i = 0) & (j = 0) then v 4 = 0 D(i, j) = min(v 1, v 2, v 3, v 4 ) endif return D(i, j) endfunc D[0.. n][0.. m] = undef; Dist(n,m) Tid og plads O(nm) Bioinformatik 15

En ikke-rekursiv implementation Jvf. rekursion afhænger indgang (i, j) i tabel D kun af indgange i samme og forrige række. Dette kan bruges til at udfylde tabel D iterativt... /* initialisering */ for i = 0 to n do D[i][0] = i α for j = 0 to m do D[0][j] = j α /* udfyld række for række */ for j = 1 to m do endfor for i = 1 to n do endfor D(i, j) = print D(n, m) min(d(i 1, j 1) + d([a[i], B[j]), D(i 1, j) + α, D(i, j 1) + α) D(n, m) er edit-afstanden, men hvordan fås et optimalt alignment? Ved back-tracking i tid O(n + m)... Bioinformatik 16

Længste fælles delsekvens Beregning af et optimalt alignment har mange anvendelser... Den længste fælles delsekvens af to strenge A[1.. n] og B[1.. m] er A[i 1 ], A[i 2 ],..., A[i k ], hvor i 1, i 2,..., i k {1, 2,..., min(n, m)} så A[i j ] = B[i j ] og k er maksimal, f.eks. LS(GATAATTGAG,GTTTAAT) = GTAAT Svarer til et optimalt alignment for passende valg af sub-cost og gap-cost. Overvej hvilke? G A T A A T T G A G G T T T A A T Vi kan således beregne LS i tid O(nm), men det er faktisk muligt at beregne LS i tid O(n log n) jvf. [Hirschberg 1977]... Bioinformatik 17

En beslægtet algoritme Ønsker ofte at fremhæve similariteter mellem to strenge. Hvis to biologiske sekvenser ligner hinanden, så har de sikkert et eller andet tilfælles... G A T A A T T G A G G T T T A A T Typisk tildeles en score/straf til mulige søjler i et alignment score s(a, b) for en match-søjle ( ) a b straf α for en gap-søjle ( ( a ) eller ) b Beregn et alignment med maksimal score sim(a, B). Dette kan beregnes tilsvarende dist(a, B), blot anvendes max istedet for min... S(i, j) = max S(i 1, j 1) + s(a[i], B[j]) i > 0 og j > 0 S(i 1, j) α i > 0 og j 0 S(i, j 1) α i 0 og j > 0 0 i = 0 og j = 0 Bioinformatik 18

Algoritmens oprindelse - V. I. Levenshtein. Binary codes capable of correcting deletions, insertions and reversals. Soviet Physics Doklady, 1966. - T. K. Vintsyuk. Speech discrimination by dynamic programming. Kibernetika, 1968. - S. B. Needleman and. D. Wunsch. A general method applicable to the search for similarities in the amino acid sequence of two proteins. Journal of Molecular Biology, 1970. - D. Sankoff. Matching sequences under deletion/insertion constraints. Proc. of the National Academy of Science of the USA, 1972. - R. A. Wagner and M. J. Fisher. The string to string correction problem. Journal of the AM, 1974. - P. H. Sellers. On the theory and computation of evolutionary distance. SIAM Journal of Applied Mathematics, 1974. Alle omhandler samme problem, forskellige anvendelser... Bioinformatik 19

Forbedringer af model og algoritme Beregning af edit-afstand er kernen i mange anvendelser. Kan forfines vha. pris for hændelser, f.eks. substitution-cost d(x, y) and gap-cost g(k)... Hvis lineær gap-cost g(k) = ak så tid O(n 2 ), generelt tid O(n 3 ) Leu TTG T T G T A T G versus T T G T A T G d(t, ) + g(2) + d(t, A) + g(2) Insert G Leu Leu TTGTG Phe TT G Insert Leu Leu TTGT Korte insertions og deletions er sjældne... affin gap-cost g(k) = ak + b i tid O(n 2 ) [Gotoh, 1982] convex gap-cost i tid O(n 2 log n) [Miller og Myers, 1988] Anden biologisk information... indkodet protein i tid O(n 2 ) [Hein, Lyngsø og Pedersen, 1998] RNA sekundær-struktur i tid O(n 6 ) [Sankoff, 1985] Bioinformatik 20

Er tid og plads O(nm) godt nok? Afhænger af længden af typiske sekvenser... Antag n = m = 10.000 og at vores maskine kan udføre 100.000.000 op/sek, så Tid: Begrænsning af tid og plads 10.000 10.000 op 100.000.000 op/sek = 1 sek Plads: 10.000 10.000 celler 100 Mb Mange heuristikker, f.eks. kun at beregne et bånd omkring diagonalen i tabellen... T G A T T T G T Længste fælles delsekvens i tid O(n2 ) og plads O(n) En meget anvendelig teknik [Hirschberg, 1975]... men ikke anvendt i praksis før sidst i 1980 erne!! [Myers and Millers, 1989] Bioinformatik 21