Skjulte Markov Modeller og Genidentifikation 2003

Størrelse: px
Starte visningen fra side:

Download "Skjulte Markov Modeller og Genidentifikation 2003"

Transkript

1 Aarhus Universitet 18. december 2003 Datalogisk Institut Ny Munkegade, Bldg Århus C Skjulte Markov Modeller og Genidentifikation 2003 Niels Christian Bach Torben Lauritzen

2

3 Dette speciale er dedikeret til vores familier Trine, Sophia, Stine og Nanna.

4

5 Indhold 1. Indledning Specialets opbygning Biologisk model Biologiske Begreber DNA Genom Gen Proteinsyntese Evolution Anvendelse af geninformation Formalisering Skjulte Markov Modeller Grundlæggende begreber Parvis Alignment Viterbi og Forward algoritmen Parameterestimering Push-algoritmen Motivation Push-algoritmen for to sekvenser Push Udførelse Backtracking Pladsbesparelse og fronter Hirschbergs Pladsbesparelse Hirschberg og Skjulte Markov Modeller Push-algoritmen for tre sekvenser Pladsbesparelse og fronter Hirschbergs Pladsbesparelse for tre sekvenser Delproblem: To sekvens alignment Udvidelse til genidentifikation i

6 ii Indhold 5. Implementation Implementation af algoritmen Opbygning Input Implementation af Push-algoritmen Output Profiling Implementationsbetragtninger for Viterbi algoritmen Spildplads i forbindelse med tresekvens projektion Begrænsninger Eksperimenter udført på algoritmen Teoretiske mål Eksperimenterne Sammenligning af forskellige implementationer Asymptotisk udførelsestid Asymptotisk pladsforbrug Modelafhængig udførelsestid Modelafhængigt pladsforbrug Afrunding af eksperimenterne Genidentifikation Genfinder I Genfinder II Simulerede sekvenser Gærsekvenser Konklusion Perspektiv Parameterestimering Blast-søgning Grafisk interface/smm-designer A. XML 69 B. Emissionssandsynligheder 76 C. Kode 81 C.1. Getmaxprob C.2. Notify C.3. Bestprob C.4. getnotifylist D. Summary in English 87

7 Tabeller 2.1. Genomstørrelser Livets kode Viterbi algoritmen Jukes-Cantor Substitutionsmodel Asymptotiske udførelsestider Asymptotisk pladsforbrug iii

8

9 1. Indledning...turning the pages that describe the miracle of human life, written in the mysterious language of all the ages, the language of God. Dr. Francis S. Collins Livets Sprog, eller Guds Sprog, som Dr. Collins 1 kalder det, har et alfabet, der består af kun fire bogstaver (A, G, C, T), og ordene i sproget er generne, de arveenheder, der definerer en organisme. Den samlede arvemasse for en organisme, genomet, kan betragtes som én lang sekvens af de fire bogstaver. Måden man finder generne på er ved at lede efter bestemte mønstre i denne sekvens, som antyder, at der måske er et gen. Desværre er det meget svært at finde gener, hvis man kun leder i én sekvens. Man kan være uheldig både at undgå at finde nogle gener, som rent faktisk er der, og man kan forudsige nogle gener, som ikke findes i virkeligheden. For at nedbringe usikkerheden prøver man ofte at finde de samme gener i to forskellige organismer på én gang. Det er muligt fordi to organismer fra beslægtede arter har arvemasser, der ligner hinanden meget. Fx er arvemassen mellem to mennesker 99.9% identiske. To forskellige organismer har derfor ofte gener tilfælles, som de har arvet fra en fælles stamfader, men hvor det ene måske staves en smule anderledes end det andet. Vores mål har været at lave et framework, som kan bruges til at sammenligne tre sekvenser og finde gener i dem alle tre samtidig. Derved håber vi at kunne bidrage til opklaring af gen/ikke-gen spørgsmålet for sekvenser, hvor dette stadig er uklart, når man fx kun sammenligner to sekvenser. Vores framework er baseret på en sandsynlighedsteoretisk model kaldet en Skjult Markov Model (SMM). Givet en genstruktur af de sekvenser vi sammenligner, tillægges denne struktur en sandsynlighed af vores SMM, og når vi maksimerer denne sandsynlighed (for alle genstrukturer), får vi det bedste bud på en genstruktur. Vores væsentligste bidrag er en pladseffektiv implementation af dette framework, som er uafhængig af den anvendte SMM. For at teste kvaliteten af vores implementation har vi både analyseret simulerede og ægte sekvenser og fundet genstrukturer i dem. En af fordelene ved at vi har brugt en SMM er 1 Direktør, National Human Genome Research Institute. Dr. Francis S. Collins stod i spidsen for det offentlige Human Genome Project, der skulle sekventiere det menneskelige genom. 1

10 2 KAPITEL 1. INDLEDNING ATG TTT GGT CTA CCT CAA CAG GAA GTC TCC GAA GAG GAG AAA AGA GCT CAT CAA GAA CAA ACT GAG AAA ACC TTG AAA CAG GCC GCT TAT GTG GCT GCG TTT CTT TGG GTT TCC CCA ATG ATC TGG CAT TTG GTG AAA AAG CAA TGG AAA TAA Figur 1.1.: Et ord fra Livets Sprog. Genet hedder TOM5 (Translocase Outer Membrane) og dets funktion er translokase, dvs. at katalysere proteintransport i den ydre membran i mitokondrierne. Genet stammer fra en organisme, der hedder Saccharomyces cerevisiae (gær), som er en af de bedst studerede organismer, der findes. nemlig, at vi har haft mulighed for at simulere et output, som i vores tilfælde er nogle sekvenser med en genstruktur. Dette output (hvor strukturen er fjernet) har vi brugt som input til vores framework. Resultatet har vi sammenlignet med det simulerede output inkl. struktur. Desuden har vi anvendt vores program med nogle ægte sekvenser fra fire forskellige slags gær (taget fra [K + 03]). At vælge den bedst mulige SMM, herunder at vælge SMMens parametre til at finde gener, er et omfattende arbejde, som ikke er en del af denne rapport. Til gengæld har vi, som tidligere nævnt, adskilt SMMen fra implementationen af algoritmen, så det efterfølgende er nemt at ændre SMMen og derved opnå bedre genidentifikationsresultater, end vi er i stand til, med den SMM og de parametre vi har brugt Specialets opbygning Resten af denne rapport er opbygget således: Kapitel 2 - Biologisk Model: Her opsummerer vi kort den biologiske verdens sammenhæng og funktion på genniveau. I slutningen af kapitlet formaliserer vi de biologiske begreber, vi anvender i resten af rapporten. Kapitel 3 - Skjulte Markov Modeller: I dette kapitel gennemgår vi den statistiske teori, vi vil anvende til at lave genidentifikationen, dvs. den måde vi vil forsøge at finde mønstre i sekvenserne. Kapitel 4 - Push-algoritmen: Principperne bag den algoritme, vi har implementeret, bliver gennemgået i dette kapitel. Vi starter med to sekvenser og udvider senere til tre sekvenser. Kapitel 5 - Implementation: Detaljer omkring hvordan vi har implementeret algoritmen. I slutningen af kapitlet er der en gennemgang af de eksperimenter, vi har gennemført for at undersøge, om implementationen lever op til de tids- og pladsmæssige krav, vi forudsiger.

11 1.1. SPECIALETS OPBYGNING 3 Kapitel 6 - Genidentifikation: I dette kapitel anvender vi vores implementation til at identificere gener i tre sekvenser. Både simulerede og ægte sekvenser er undersøgt. Bilag A - XML: Et eksempel på en SMM i vores XML-format. Bilag B - Emissionssandsynligheder: Initialisering af emissionssandsynligheder for Genfinder I. Bilag C - Kode: C-kode for de vigtigste metoder. Bilag D - Summary: Resumé på engelsk. På adressen er der en hjemmeside, hvor denne rapport findes i både postscript- og pdf-format. Desuden ligger kildekoden til frameworket på denne side.

12 2. Biologisk model Da specialet handler om at identificere gener, er det nødvendigt at have lidt baggrundsviden, for at vide hvad vi taler om i den resterende del. Derfor gennemgår vi i korte træk de relevante biologiske begreber, der knytter sig til arvelighedslæren eller genetikken. Efter introduktionen af de begreber, der er væsentlige for os, formaliserer vi de begreber vi anvender senere Biologiske Begreber Set med en genetikers øjne kan man overordnet inddele alle levende organismer i 3 hovedgrupper eller -domæner. For det første deler man op i Prokaryoter og Eukaryoter, hvor Prokaryoter igen deles op i Bakterier(Eubakterier) og Arker(Archaeabakterier) [A + 02, figur 1-21 s. 18]. Alle tre hoveddomæner antages at have den samme oprindelse, men de har udviklet sig forskelligt, efter de er blevet adskilt. Opdelingen er baseret på, at arvematerialet i Prokaryoter bevæger sig frit i cytoplasmaet i cellernes indre, medens Eukaryoter har en kerne i deres celler, som indeholder det komplette arvemateriale for organismen (pånær visse organeller 1, som fx mitokondrier), og at Arkers metabolisme fungerer som i Bakterier, medens deres reproduktionsmekanisme fungerer som i Eukaryoter DNA DNA (Deoxyribonucleicacid) er en lang kæde af mindre molekyler kaldet nukleotider eller baser, og kaldes derfor et polynukleotid. Baser er de mindste kemiske byggesten, som vi vil beskæftige os med. En base kan være enten A (Adenin), G (Guanin), C (Cytosin), T (Thymin) eller U (Urasil), hvor de første 2 betegnes puriner og de sidste 3 pyrimidiner. Figur 2.1 viser opbygningen af de forskellige baser. De fire første indgår i DNA, medens Thymin skiftes ud med Urasil i RNA, som vi omtaler senere. Baser er en del af et nukleotid, som, udover basen, består af et sukker med 5 kulatomer (dexoyribose) og en eller flere fosfat-grupper. To nukleotider kan bindes sammen med en binding imellem kulstof nr. 3 i sukkeret på det ene nukleotid og kulstof nr. 5 i sukkeret på det andet nukleotid, via en fosfor-gruppe. Ved at lave mange af sådanne bindinger, opnår man en lang kæde af nukleotider, hvor 1 Organeller menes at være bakterier, som er trængt ind i cellerne på et tidligt tidspunkt i evolutionen, og som derefter har kopieret sig sammen med cellerne. 4

13 2.1. BIOLOGISKE BEGREBER 5 Figur 2.1.: Opbygningen af de forskellige baser, som illustreret i [Mus99]. Baserne til venstre er puriner, og til højre er det pyrimidiner.

14 6 KAPITEL 2. BIOLOGISK MODEL Figur 2.2.: DNA dobbelt-helix [Mus99]. kulstof nr. 5 i den første nukleotid (5 -enden) ikke er bundet til et andet nukleotid, og det samme gælder for kulstof nr. 3 i den sidste nukleotid (3 -enden) i kæden. DNA udgøres netop af en sådan kæde. Når man opskriver en DNA-sekvens, er konventionen, at den starter i 5 -enden og slutter i 3 -enden. I resten af specialet bruger vi betegnelserne A, G, C, T og U, når vi taler om nukleotider eller baser. DNA optræder oftest som en dobbelt-helix, som vist på figur 2.2, hvor der indgår to DNAsekvenser. Sekvenserne bindes sammen af hydrogen-bindinger mellem nukleotiderne, således at A bindes til T, og C bindes til G. De to DNA-sekvenser er derfor hinandens komplementære, så de på den måde begge kan tjene som skabelon for kopiering af DNA et, hvilket ses på figur 2.3. Længden af en DNA-sekvens angives ofte i base par (bp). RNA (Ribonucleicacid), er også et polynukleotid. Det minder meget om DNA, fx indgår A, C og G nukleotiderne både i RNA og DNA, men T er udskiftet med U. I modsætning til DNA, optræder RNA som regel kun som en enkelt streng, der til gengæld folder tilbage til sig selv, så store dele af RNA et sidder i en dobbelt-strenget struktur. RNA bruges som midlertidigt lager under proteinsyntesen, kaldet mrna (messenger RNA), men visse typer RNA har også en direkte funktion og bliver således ikke translateret til et protein. Det gælder fx rrna, som er en del af et ribosom 2. 2 Et ribosom er et stort kompleks bestående af mere end 50 proteiner og adskillige rrnaer, som laver proteinsyntese fra mrna [A + 02, s. 342].

15 2.1. BIOLOGISKE BEGREBER 7 Figur 2.3.: Kopiering af en DNA-sekvens kan ske på begge strenge [Mus99] Genom Når man taler om en organismes genom, mener man hele organismens arvemateriale, dvs. de DNA-sekvenser, der bærer arvematerialet. I tabel 2.1 ses nogle forskellige organismers genomstørrelse. Eukaryote genomer er en samling af kromosomer. Mennesker har således 23 kromosompar, 22 par af såkaldte autosomer og et xx-par (kvinder) eller xy-par (mænd), hvor x og y kaldes kønskromosomer. Det giver et samlet genom på 24 kromosomer. Et kromosom består af en meget lang DNA-sekvens, som er pakket sammen omkring forskellige proteiner, hvilket kaldes kromatin. På figur 2.4 ses et kromosom og den sammenhæng, det optræder i. Når kromosomet afbildes som et X, er der i virkeligheden 2 kopier af det samme kromosom, som er bundet sammen ved deres centromerer, som man kalder midten af et kromosom. Denne konformation viser kromosomerne umiddelbart før de deler sig, som led i en celledeling. Det er på dette tidspunkt, hvor det er lettest at se dem i et lysmikroskop, da det er på dette tidspunkt de er mest kondenserede. I 2001 blev Human Genome Project og Celera Genomics i konkurrence med hinanden færdige med at sekventere det menneskelige genom. Før, undervejs og efter, er der kommet mange andre organismer til, som har fået sekventeret deres genomer. Sekventeringen alene er et imponerende stykke arbejde, men det bliver først virkeligt anvendeligt, når man får kortlagt genomerne og finder ud af hvilken funktionalitet, der knytter sig til forskellige områder i dem.

16 8 KAPITEL 2. BIOLOGISK MODEL Art Træk Leveområde Genomstørrelse / [10 6 bp] Antal gener Eubakterier Escherichia coli Mycobacterium tuberculosis Arker Methanococcus jannaschii Eukaryoter Saccharomyces cerevisiae Drosophila melanogaster (frugt flue) Homo sapiens (menneske) Laboratorie favorit tuber- Forårsager kulose Litotrop, anaerob, methanproducerende Menneskelige tarme Menneskeligt væv 4, , Gejsere 1, Minimal model Drueskræl, øl 12, Eukaryot Nøgle til genetikken Rådden frugt omkring dyrs udvikling Mest studerede dyr Huse Tabel 2.1.: Oversigt over nogle genomstørrelser for udvalgte organismer fra de tre hoveddomæner [A + 02, tabel 1-1 s.20]. Figur 2.4.: Et kromosom set i dets kontekst [Mus99].

17 2.1. BIOLOGISKE BEGREBER Gen Et gen er en DNA-sekvens, som indeholder koden for et bestemt protein eller funktionelt RNA (RNA molekyler, som anvendes direkte i stedet for at blive oversat til et protein). Genstruktur er betegnelsen for genernes indre opbygning/opdeling. I Eukaryoter er der både kodende dele, kaldet exons (expressed sequences), og ikke-kodende dele, kaldte introns (intervening sequences). Derimod er hele genet kodende i Prokaryoter, således at deres gener kan anskues som et-exon-gener. Også genstart (sekvensen ATG) og genslut (sekvenserne TAA, TAA og TGA) signalerne er med i vores definition af genet. Introns er adskilt fra exons (Intervening Sequences) ved deres donor-site-sekvenser og acceptor-site-sekvenser, som er henholdsvis GT og AG. Under proteinsysntesen skilles introns fra exons i en proces, der kaldes splicing, som beskrevet i afsnit Proteinsyntese Proteinsyntese er betegnelsen for den proces, der ud fra et givet gen producerer det protein, der kodes for. En skematisk afbildning af processerne for Prokaryoter og Eukaryoter er vist på henholdsvis figur 2.6 og 2.7. Før vi forklarer proteinsyntesen, skal vi have defineret, hvad et protein og et codon er. Et protein er en lang kæde af aminosyrer. En aminosyre er den grundlæggende byggesten i proteiner, på samme måde som nukleotider er det i DNA og RNA, blot er der 20 forskellige aminosyrer. Proteiner har mange funktioner, hvor en af de vigtigste er deres rolle som katalysator for forskellige reaktioner. For proteinernes virkemåde er deres foldning ekstremt vigtig, idet deres sekundære, tertiære og kvadrære (se figur 2.5) struktur er med til at skabe de nødvendige active-sites, som et andet molekyle binder til for at lave en katalyseret reaktion. Foldningen er entydigt bestemt ud fra den primære struktur, som vi arbejder med. En sekvens af tre på hinanden følgende baser, der optræder i et exon, betegnes som et codon. Under produktionen af et protein, oversættes et codon til en aminosyre, som vist i tabel 2.1.4, der kaldes den genetiske kode. Tabellen gælder i langt de fleste organismer, men i fx mitokondrier er der nogle små afvigelser i koden, som er muliggjort ved, at de har deres egne transskriptions- og proteinsyntese systemer, som virker uafhængigt af resten af cellen og som derfor har kunnet opbygge variationer i koden i forhold til resten af cellen [A + 02, s. 336]. Af de 64 mulige codons er der tre, der ikke omsættes til aminosyrer. Det drejer sig om TAA, TAG og TGA som, når de mødes under oversættelsen fra codon til aminosyre under proteinsyntesen, afslutter denne (og dermed afslutter proteinet). Disse tre codons kaldes derfor for stopcodons. Desuden er codonet ATG specielt, idet det koder for aminosyren Methionin, men samtidig angiver starten på et gen. Det betyder, at der er 61 codons, der koder for en aminosyre, men kun 20 aminosyrer, der

18 10 KAPITEL 2. BIOLOGISK MODEL Figur 2.5.: De forskellige niveauer strukturen af et protein indeles i [Mus99]. Et Pleated sheet kaldes også for Beta-sheet.

19 2.1. BIOLOGISKE BEGREBER 11 Codon Amino Codon Amino Codon Amino Codon Amino TTT Phe TCT Ser TAT Tyr TGT Cys TTC Phe TCC Ser TAC Tyr TGC Cys TTA Leu TCA Ser TAA Stop TGA Stop TTG Leu TCG Ser TAG Stop TGG Trp CTT Leu CCT Pro CAT His CGT Arg CTC Leu CCC Pro CAC His CGC Arg CTA Leu CCA Pro CAA Gln CGA Arg CTG Leu CCG Pro CAG Gln CGG Arg ATT Ile ACT Thr AAT Asn AGT Ser ATC Ile ACC Thr AAC Asn AGC Ser ATA Ile ACA Thr AAA Lys AGA Arg ATG Met ACG Thr AAG Lys AGG Arg GTT Val GCT Ala GAT Asp GGT Gly GTC Val GCC Ala GAC Asp GGC Gly GTA Val GCA Ala GAA Glu GGA Gly GTG Val GCG Ala GAG Glu GGG Gly Tabel 2.2.: Livets kode. Oversættelse af codons til aminosyrer. optræder i organismerne. En aminosyre kan således have mere end et codon der koder for den. Codonsekvensen er altid aflæst i 5 til 3 retningen. I Eukaryot-proteinsyntesen er der følgende delprocesser: Transskription bruger den ene DNA-streng i en dobbelt-helix som skabelon, for at lave en komplementær RNA-streng. Denne form for RNA kaldes pre-mrna. Figur 2.6.: Proteinsyntesen i en Prokaryot. Der er ingen ikke-kodende dele i Prokaryote gener og der er ingen kerne, så derfor kan mrna direkte translateres til protein [A + 02, s. 315].

20 12 KAPITEL 2. BIOLOGISK MODEL Figur 2.7.: Proteinsyntesen i en Eukaryot [A + 02, s. 315]. 5 Capping og 3 Polyadenylation modificerer enderne på pre-mrna, således at det efter splicing kan genkendes som mrna. RNA Splicing fjerner introns fra pre-mrna, som efter 5 capping, splicing og 3 polyadenylation kaldes mrna, hvor m betyder messenger. Eksport Når et stykke mrna er helt færdigt, transporteres det gennem kernemembranen til cytoplasmaet. Translation I cytoplasmaet oversættes mrna til et protein, vha. ribosomer. Til dette formål bruges en speciel form for RNA, en gruppe kaldet trna (transfer RNA), som i den ene ende binder til en aminosyre og i den anden ende har et anticodon 3, som binder til det codon der koder for den givne aminosyre jvf. figur Ribosomet kører hen over mrnasekvensen og sørger for at anvende det rigtige trna på det rette sted, således at det korrekte protein genereres. 3 Da C binder til G og A til T, er et anticodon entydigt defineret ud fra det codon, der bindes til.

21 2.1. BIOLOGISKE BEGREBER Evolution Det antages at alle organismer har den samme stamfader, og organismer der er tilstrækkeligt nært beslægtede har ofte gener med cirka samme placering på genomet og samme funktion. Når man taler om evolution på genom-niveau, menes mutation, dvs. ændring, af den DNA-sekvens, der udgør genomet. De dele af genomet, som udgør generne, muterer som regel meget langsomt i forhold til de dele, der ikke koder for nogen gener. Det skyldes, at det har meget store konsekvenser at ændre et gens funktionalitet eller helt at ødelægge et gen, i modsætning til hvis man ændrer nukleotidesammensætningen i intergen områder. På denne måde bevares generne, og det giver mening at sammenligne beslægtede arters genomer. For at en mutation skal få betydning for de kommende generationer, er det nødvendigt, at den opstår i kønscellerne. Kopiering af genomet i forbindelse med en kønscelledeling, også kaldet meiose, er den væsentligste årsag til mutationer. Undervejs i kopieringsprocessen kan der ske en fejl, selvom der er mange forskellige fejlretningsmekanismer. Hvis en sådan mutation faktisk viser sig at være brugbar, kan det være at organismen overlever, og måske bliver stamfader til en ny art. Mutationerne deles ind i følgende grupper (hvor der kopieres fra stamsekvensen til dattersekvensen): Substitution: Nukleotid α i stamsekvensen er erstattet af nukleotid β i dattersekvensen. Deletion: Nukleotid α i stamsekvensen er slettet i dattersekvensen. Insertion Nukleotid β er indsat i dattersekvensen. Invertion: Et stykke DNA er vendt om i dattersekvensen i forhold til stamsekvensen. Translocation: Et stykke DNA fra stamsekvensen har en anden placering i dattersekvensen. Duplication: Et stykke DNA i stamsekvensen er kopieret og indsat 2 steder i dattersekvensen. Af de nævnte mutationer er de tre første langt de hyppigst forekommende. Vi vil i resten af specialet derfor se bort fra Invertion, Translocation og Duplication og kun fokusere på Substitution, Insertion og Deletion.

22 14 KAPITEL 2. BIOLOGISK MODEL Anvendelse af geninformation Når man kender genernes placering og funktion, kan man begynde at anvende denne information. Som eksempel kan oplysingerne bruges til at diagnosticere sygdomme ved at aflæse et bestemt gen i en patients genom og teste, om der er opstået mutationer i forhold til det normale (fungerende) gen. Er der så tale om en gendefekt, arbejder man i øjeblikket på en behandling kaldet genterapi. Genterapi er årsagsbehandling i stedet for symptombehandling, som traditionel medicinering er. Det er naturligvis en stor fordel, men desværre er man ikke nået så langt, at genterapi kan tilbydes mennesker, og så har man oven i købet haft nogle tilbageslag, som har forsinket udviklingen yderligere. Genterapi virker på en af følgende måder [Lab03]: Et normalt fungerende gen indsættes på et tilfældigt sted i genomet, så det erstatter et defekt gen. Et defekt gen erstattes af et fungerende gen. Det defekte gen kan repareres. Reguleringen af et bestemt gen kan ændres, således at man ændrer i kvantiteten af det tilhørende protein. I de fleste tilfælde forsøger man at anvende den første metode. Til at udføre indsættelsen af det fungerende gen anvender man en bære-enhed, også kaldet en vector. I øjeblikket bruger man forskellige slags vira til at agere vector. De vira, man anvender, er i stand til at indsætte deres eget arvemateriale i DNA i de celler, de inficerer. Man inficerer derfor de celler, man ønsker at reparere (fx leverceller), med en virus, som helst ikke skal forårsage anden sygdom. Til gengæld indeholder virussen en kopi af det fungerende gen, som på denne måde kommer ind i genomet i de inficerede celler Formalisering Formålet med dette afsnit, er at koble de biologiske begreber, der blev gennemgået i afsnittet før sammen med de mere formelle begreber, vi vil anvende i det efterfølgende. Derved får vi fjernet de overflødige biologiske detaljer og opnår en model, der er nemmere at overskue. Grundstenene vi vil benytte er nukleotiderne. Definition (Nukleotid) Et nukleotid er et element i mængden N = {A, C, G, T }. Et nukleotid kaldes til tider også en base, idet et nukleotid er entydigt bestemt ved dets base. Som tidligere nævnt kaldes en sekvens sammensat af nukleotider for en DNAsekvens.

23 2.2. FORMALISERING 15 Definition (DNA-sekvens) En DNA-sekvens er en streng s N. Hvis vi i det efterfølgende taler om en sekvens, mener vi en DNA-sekvens. Definition (Sekvensnavne) Med S k sekvens. Længden af S k kalder vi L k. betegner vi i det følgende den k te input Definition (Exon) Et exon er en kodende del af et gen. Definition (Intron) Et intron er den ikke-kodende del af et gen. Definition (Codon) Et codon er en sekvens af tre på hinanden følgende baser i et exon. Definition (Startcodon) Et startcodon er sekvensen ATG. Definition (Stopcodon) Et stopcodon er en af sekvenserne TAA, TGA eller TAG. De sidste to definitioner dækker de to opfattelser af genstruktur, som vi anvender fremover. Definition (Genstrukturmodel I) En genstruktur består af et startcodon, et exon og et stopcodon. Definition (Genstrukturmodel II) En genstruktur består af et startcodon, nul eller flere exon-intron dele, et exon og et stopcodon.

24 3. Skjulte Markov Modeller Dette kapitel er en introduktion til Skjulte Markov Modeller (SMM, fra engelsk: Hidden Markov Model). Teorien om SMMer [D + 98] vil danne grundlag for vores valgte metode til at lave genidentifikation. Vi definerer, hvad en SMM er, og introducerer nogle af de begreber, vi vil bygge videre på. Herefter gennemgår vi et eksempel på en par-smm, og endelig udvider vi notationen, så vi kan bruge den generelle formulering i en par-smm. Ved genidentifikation er man interesseret i at identificere de kodende regioner i et gen. For at gøre dette, skal man kunne skelne imellem en masse støj, fx strukturer, der ligner gener, men ikke er det, og så de rigtige gener. Derfor sammenligner man ofte det samme område på genomer fra forskellige organismer, idet det tillægges større vægt at finde strukturen af et gen i to organismer end kun i en. En væsentlig grund til at det kan lade sig gøre at finde de samme gener i forskellige organismer er, at de kodende regioner af et genom muterer meget langsommere end de ikke-kodende dele (se afsnit 2.1.5). En Skjult Markov Model er en statistisk model, som er velegnet til mange anvendelser inden for bioinformatik. Den mest anvendte brug af SMMer inden for bioinformatik er som en sandsynlighedsteoretisk profil af en famillie af sekvenser: Givet en sekvens kan man finde sandsynligheden for at sekvensen tilhører famillien af sekvenser. En SMM er velegnet til at genkende en regulær struktur, som fx genstruktur (se definition og ), hvor man leder efter signaler, som kan betyde en bestemt del af genstrukturen, og som overholder strukturen. Man kan vise, at en SMM netop kan genkende regulære sprog. En af fordelene ved en SMM er derfor, at den netop kan opfange, at der kan være forskellige lovlige strukturer og at den kan vægte dem med forskellige sandsynligheder. Teorien omkring SMMer blev udviklet til brug inden for talegenkendelse i starten af 70erne. Formél sprogteori er blevet brugt til at løse biologiske problemer før, se fx [SEA92]. En tidlig brug af en SMM inden for bioinformatik blev præsenteret på en konference i 1992 og i en teknisk rapport, som blev publiceret i [H + 93] og [K + 94] Grundlæggende begreber Definition (Skjult Markov Model) En SMM er en 4-tupel (S,T,A,E). Hvor S er en mængde af tilstande, T er en matrix af transitionssandsynligheder {t kl k, l S}, A er et alfabet af symboler og E er en mængde af emissionssandsynligheder {e k k S}. En SMM har altid en starttilstand (tilstand 0) og en stoptilstand. En vej igennem en 16

25 3.1. GRUNDLÆGGENDE BEGREBER 17 SMM er en sekvens af tilstande π = π 1 π 2...π L, hvor π i er tilstand i. Transitionssandsynligheden er kun afhængig af den foregående tilstand på vejen. Den er givet ved: t kl = P (π i = l π i 1 = k) (3.1) hvor l, k S. Dette er Markov egenskaben for modellen. I en tilstand kan der genereres et symbol fra en fordeling over alfabetet A. Symbolet kalder vi for x i for tilstand i. Emissionssandsynligheden er givet ved: e k (b) = P (x i = b π i = k) (3.2) det er sandsynligheden for at symbol b udsendes i tilstand k. Sekvensen af symboler, der genereres af en vej π, kalder vi x = x 1 x 2...x L. En SMM kan simulere en sekvens x over alfabetet (A). Definition (Simulering af en SMM) En simulering af en SMM genererer en sekvens x, hvor hvert x i er udsendt fra en tilstand π i jvf. dennes emissionsfordeling, og π i er en tilstand i vejen π, som er fundet ud fra transitionssandsynlighederne for de enkelte tilstande. Simuleringen starter i tilstand 0. At det hedder en Skjult Markov Model hænger sammen med definition 3.1.2, idet det der genereres, ikke er vejen af tilstande, π, men derimod symbolerne langs vejen. Vejen π, af tilstande, er således skjult. Givet en sekvens af symboler x og en vej π igennem SMMen kan vi beregne sandsynligheden for, at x udskrives langs π. Vejen π fastlægger transitionssandsynligheden t πi π i+1 for hver transition, og x fastlægger, hvad emissionssandsynlighederne e k (b) er. Starttilstanden er tilstand 0 og stoptilstanden er tilstand L + 1. Den samlede sandsynlighed er P (x, π) = t 0π1 Vi vil gerne finde den mest sandsynlige vej π givet input x: L i=1 e πi (x i )t πi π i+1 (3.3) π = argmax π P (x, π). (3.4) Vi maksimerer over alle mulige tilstandsveje π, der udskriver x. Den mest sandsynlige vej π kan findes rekursivt. Antag at v k (i) er sandsynligheden for den mest sandsynlige vej, der stopper i tilstand k og har udskrevet x 1, x 2,.., x i, er kendt for alle tilstande k. Vi kan beregne sandsynlighederne for symbol x i+1 : v l (i + 1) = e l (x i+1 )max k (v k(i)t kl ). (3.5)

26 18 KAPITEL 3. SKJULTE MARKOV MODELLER Initialisering: (i = 0) v 0 (0) = 1, v k (0) = 0, k > 0 Rekursion: For (i = 0...L) v l (i) = e l (x i )max (v k(i 1)t kl ) k Terminering: P (x, π ) = max (v k(l)t k(l+1) ) k Tabel 3.1.: Viterbi algoritmen Dette giver en rekursiv måde at finde sandsynligheden for den mest sandsynlige vej. Denne metode kaldes Viterbi algoritmen [D + 98, p , 82-85, 109]. For at finde den mest sandsynlige vej π holder vi styr på de tilstande, der indgår i maksimeringen i hver iteration. Hver gang vi maksimerer over alle tilstande l huskes, hvilken tilstand den største sandsynlighed kom fra, sådan at når vi er færdige, kan vi lave backtrack og finde den mest sandsynlige vej. Mange forskellige veje af tilstande kan give anledning til det samme output x. Det kan være interessant at vide, hvad den totale sandsynlighed P (x) er for at sekvensen x udskrives. P (x) = π P (x, π). Sandsynligheden P (x) kan findes ved hjælp af Forward algoritmen, som er en variation af Viterbi algoritmen, hvor maksimeringen blot er skiftet ud med en summering Parvis Alignment Nu vil vi beskrive, hvordan man kan bruge en såkaldt par-smm til at aligne to sekvenser. Betragt to sekvenser S1: AGGAGGCC S2: TTAGGCGG som vi gerne vil aligne. Ved aligne forstår vi at sætte de dele over hinanden, som på en eller anden måde matcher. Resultatet af at aligne nogle sekvenser er et alignment. Definition (Alignment af N sekvenser) N sekvenser sat over hinanden i en N l-matrix, hvor der kan være indsat mellemrumstegn, således at række i uden mellemrumstegn netop er sekvens i. Der må dog ikke være søjler i alignmentet kun med mellemrumstegn. I det følgende anvender vi alignment for to sekvenser. Her ses et muligt alignment: Eksempel (Eksempel alignment) S1: AGG-A-GG-CC S2: -T-TAGGCG-G

27 3.2. PARVIS ALIGNMENT 19 Man kan bruge Smith-Waterman [SW81] algoritmen til at finde alignments med dynamisk programmering. Denne algoritme har både et tids- og pladsforbrug på O(L 1 L 2 ) for to sekvenser. Det gør man ved at definere en cost funktion, der tildeler et alignment en score. At finde et alignment er så blevet til et optimeringsproblem, hvor man skal maksimere eller minimere scoren over mængden af mulige alignments af inputsekvenserne. Vi vil bruge en SMM til at lave alignments med, hvor scoren blot erstattes med en sandsynlighed. Senere ser vi på hvordan man finder det alignment der har størst sandsynlighed. Definition (Søjle) For to sekvenser er en søjle fra et alignment en 2-tupel k 2 ({A, C, G, T, }) 2 \ ( ) 2. Et alignment er bygget op af Substitution, Insertion og Deletion, som er flg. ( # ) # Substitution 1 : En nukleotid i S1 er blevet erstattet med en nukleotid i S2 (muligvis ( - # den samme) ) Insertion: En nukleotid er indsat i S2 ( # ) - Deletion: En nukleotid er slettet i S2 hvor # = {A, C, G, T }. En par-smm har tilstande S = {Start, Stop, Substitution, Insertion, Deletion}, som kan ses på figur 3.1 med tilhørende transitionssandsynligheder, T. Hvordan man bestemmer sandsynlighederne i en SMM nævner vi i afsnit 3.4. Alfabetet (A) er en liste af søjler som er flg. ( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( ) A C G T A C G T A C G T A C G T A C G T A C G T A A A A C C C C G G G G T T T T For hver tilstand skal vi angive en emissionsfordeling (E). For tilstanden Insertion og Deletion er de ofte følgende: e Insertion ( ( ) # - ) = 1/4 edeletion ( ( - #) ) = 1/4, hvor # = {A,C,G,T}. For tilstanden Substitution kan man se emissionstabellen i tabel 3.2, fx er e Substitution ( ( A C) ) = α. Denne tabel 3.2 kaldes for Jukes-Cantor substitutionsmodellen med parameter α. I dette eksempel vil vi sætte α = 0.01, hvilket betyder fx at e Substitution ( ( A A) ) = 0.22 og e Substitution ( ( A C) ) = Hermed har vi specificeret en par-smm til alignment. Dvs. vi har beskrevet de forskellige dele af 4-tuplet (S,T,A,E). Lad os nu se på betydningen af at et alignment har en sandsynlighed. Med udgangspunkt i eksempel skriver vi alignmentet op som input til en par-smm: x = ( A ( G ) ( G ( - ( A ) ( G ( G ) ( G ( C ) -) T -) T) A) (Ḡ G) C) (Ḡ -) G 1 Substitution kaldes også (mis)match

28 20 KAPITEL 3. SKJULTE MARKOV MODELLER 3/4 1/3 Substitution 1/20 3/4 1/10 1/10 1/10 Start 1/3 Insertion 1/20 End 3/4 1/10 1/10 1/10 1/3 1/20 Deletion Figur 3.1.: Tilstande og mulige transitionssandsynligheder for en SMM. A C G T A (1 12α)/4 α α α C α (1 12α)/4 α α G α α (1 12α)/4 α T α α α (1 12α)/4 Tabel 3.2.: Jukes-Cantor Substitutionsmodel

29 3.2. PARVIS ALIGNMENT 21 Udfra ovenstående inputsekvens x vil vi finde π = argmax π P (x, π) hvilket betyder, at vi skal maksimere over alle mulige veje af tilstande for denne inputsekvens, men der er faktisk kun en mulig vej af tilstande. Det er tydeligt at se på inputsekvensen x hvilke tilstande den har gennemløbet: x = ( ( A G ) ( G ( - ( A ) ( G ( G ) ( G ( C ) -) T -) T) A) (Ḡ G) C) (Ḡ -) G π = ( # ( # ( # ( - ( # ( - ( # ( # ( - ( # ( # ) -) #) -) #) #) #) #) #) #) -) # Det spørgsmål vi i virkeligheden gerne vil svare på er: Hvad er det mest sandsynlige alignment af S 1 og S 2. Måden vi vil løse dette problem på er ved at omdefinere emissionssandsynlighederne (se ligning (3.2)) og den samlede sandsynlighed (se ligning (3.3)). Vi skal først have defineret nogle funktioner, som gør beskrivelsen lidt lettere, så vi senere kan opskrive rekursionsligningerne for en par-smm til Viterbi algoritmen. Givet inputsekvenser S 1 og S 2 lad os antage, at den første tilstand i et alignment skal være ( - #). Det betyder at man vil aligne ( - S 2 [1]), så første nukleotid på S2 er brugt. Til at beskrive at tilstanden aligner forskellige dele af inputsekvenserne, definerer vi funktionen f adv, som giver advancevektoren: ( ) ( ) ( ) # - # f adv ( ) = (1, 1) f adv ( ) = (0, 1) f adv ( ) = (1, 0) # # - Vi skal vide hvor meget et præfiks af vejen, π p = π 1 π 2..π i, vil generere af inputsekvenserne. Det kan vi finde ved at summere alle advancevektorerne for de tilstande der indgår i præfikset. Summen f adv (π 1 ) + f adv (π 2 ) f adv (π i ) = (v 1, v 2 ) giver de præfikser S 1 [1..v 1 ] og S 2 [1..v 2 ] som er blevet genereret. Det symbol x i, der udskrives i tilstand π i, er x i = ( S1 [v 1 ] S 2 [v 2 ] ( S1 [v 1 ] ( - - S 2 [v 2 ] ) ) ), π i = ( #) #, π i = ( #) -, π i = ( ) - # (3.6) Den sandsynlighed vi skal maksimere, når vi vil finde π, bliver så: P (S 1, S 2, π) = t 0π1 L i=1 e πi (x i )t πi π i+1 (3.7)

30 22 KAPITEL 3. SKJULTE MARKOV MODELLER 3.3. Viterbi og Forward algoritmen I dette afsnit gennemgår vi hvordan Viterbi og Forward algoritmerne virker. Beskrivelsen tager udgangspunkt i Viterbi algoritmen. Viterbi algoritmen er en rekursiv algoritme, der, for et givet input, kan finde den mest sandsynlige vej π igennem en SMM, som genererer dette input. For alignment af to sekvenser giver det anledning til følgende rekursionsligninger: Hvis q er en substitution ( # #) : Hvis q er en deletion ( # -) : Hvis q er en insertion ( - #) : D(q, i, j) = max p D(q, i, j) = max p D(q, i, j) = max p For alle tre tilstande kan man sætte: [ ( ) ] S1 [i] D(p, i 1, j 1)t pq e q ( ) S 2 [j] [ ( S1 [i] D(p, i 1, j)t pq e q ( - ) ) [ ( ) ] - D(p, i, j 1)t pq e q ( ) S 2 [v 2 ] ] (3.8) (3.9) (3.10) D(q, 0, 0) = 1/3 (3.11) Derved bliver sandsynligheden for det mest sandsynlige alignment: hvor L 1 og L 2 er længderne af sekvenserne. P (S 1, S 2, π ) = max(d(q, L 1, L 2 ) t q(l+1) ) (3.12) q Rekursionsligninger kan implementeres vha. dynamisk programmering. Vi genbruger de løsninger, vi har beregnet i stedet for at beregne dem igen. En indgang D(q, i, j) kan fortolkes, som sandsynligheden for den mest sandsynlige vej π 1 π 2...q hvor delsekvenserne S 1 [1..i] og S 2 [1..j] er genereret. Forward algoritmen er, som tidligere nævnt, at man summerer i stedet for at maksimere i rekursionligningerne. I figur 3.2 kan man se en matrix for hver tilstand som udfyldes vha. ligningerne (3.8) (3.9) (3.10) henholdsvis. Det er illustreret med pile, hvilke indgange i matricerne man skal bruge for at beregne en indgang i Substitutionsmatricen.

31 3.3. VITERBI OG FORWARD ALGORITMEN 23 Insertion Deletion 0 Sekvens 2 0 L Sekvens 2 L 1 L 2 L Sekvens 2 L 1 2 Sekvens 1 Sekvens 1 Sekvens 1 Substitution L 2 Figur 3.2.: Matricer til dynamisk programmering.

32 24 KAPITEL 3. SKJULTE MARKOV MODELLER Tidskompleksiteten for Viterbi algoritmen er O(L 1 L 2 ), og pladsforbruget er O(L 1 L 2 ), hvor L 1 = S 1 og L 2 = S Parameterestimering Når man skal designe en SMM, skal man specificere de fire elementer i (S,T,A,E): Tilstande, transitionssandsynligheder, alfabet og emissionssandsynligheder. Strukturen af modellen er vigtig, men uden de rette parametre (sandsynligheder) kan det være svært at opnå gode resultater. I dette afsnit gennemgår vi kort, hvordan man fx kan estimere parametrene. Hvis man har et alignment, og man kender vejen π igennem den tilhørende SMM, kan man estimere transitionssandsynlighederne [D + 98] ved at tælle hvor mange gange, man laver en transition fra tilstand t 1 til tilstand t 2 (se ligning 3.13). Det samme gælder emissionssandsynlighederne, hvis man ved hvor mange gange de forskellige emissioner forekommer. Man skal bruge et træningssæt, som skal være så stort, at det kan indfange de variationer der forekommer i forskellige alignments. Til gengæld skal det ikke være så stort at man overtræner modellen, så det kun er træningssættet den aligner godt. Parametrene kan sættes således: t kl = A kl l A e k (b) = E k(b) kl b E k(b) (3.13) hvor A kl = antal transitioner fra k til l i træningssættet og E k (b) = antal emissioner af b i k i træningssættet. Hvis man ikke kender vejen π, er man nødt til at bruge en iterativ process. Der findes iterative metoder, hvor man kan justere parametrene for hver iteration, som garanterer at processen konvergerer mod et lokalt maksimum. Mange sådanne træningsmetoder bruger Forward algoritmen [D + 98], der gør det samme som Viterbi algoritmen med den undtagelse, at den summerer i stedet for at maksimere.

33 4. Push-algoritmen I dette kapitel beskriver vi en måde at implementere Forward- og Viterbi-algoritmerne på, således at man får en lineær pladsbesparelse foræret, uden at det bliver implementationsmæssigt sværere at lave for tre sekvenser, sammenlignet med to. Desuden adskiller vi algoritmen og implementationen fra strukturen af den SMM, vi vil anvende, således at en udskiftning af SMMen ikke medfører et behov for en reimplementation. Kapitlet er bygget op således, at vi først gennemgår vores algoritme, det vi har kaldt Push-algoritmen, for alignment af to sekvenser (4.2). Herefter viser vi, hvad Hirschbergs Pladsbesparelse er, og hvordan vi kan bruge den i algoritmen (4.2.5). Endelig er der en gennemgang af udvidelsen af Push-algoritmen, til at kunne aligne tre sekvenser (4.3) Motivation Hvis man gerne vil aligne et antal sekvenser, fx vha. en SMM, kan det lade sig gøre i tid og ikke mindst plads proportional med produktet af længderne af de sekvenser, der skal alignes. For alignments af mere end to sekvenser vil de sekvenser, der er interessante, ofte være længere, end hvad der er praktisk muligt at aligne. Især er pladskravet en begrænsende faktor da fx et kubisk pladsforbrug for tre sekvenser hurtigt overstiger de hukommelseskapaciteter, man arbejder med i dag. For at give et eksempel på dette, har vi i afsnit lavet et overslag på hvor meget plads, der skal til at aligne tre sekvenser, der er ca bp lange. Resultatet er, at der skal over 300 Gb RAM til, før det bliver muligt. Hirschberg [Hir75] har beskrevet en pladsbesparende metode, som gennemgåes i afsnit Ved at benytte denne metode, opnår man en lineær pladsreduktion på bekostning af en fordobling af udførelsestiden. Derved bliver det realistisk at forsøge at aligne tre sekvenser, der har en længde, der er mindre end de 1000 bp fra før (se afsnit 5.2.8). Den traditionelle implementation af Hirschbergs Pladsbesparelse for to sekvenser, dvs. implementation af et antal rekursionsligninger som dynamisk programmering, er mere eller mindre kompliceret, afhængig af hvor mange detaljer rekursionerne indfanger. Et af problemerne i dette tilfælde er, at ændrer man i sine rekursionsligninger, skal man også ændre tilsvarende i algoritmen. Vil man udvide sit alignment til at gælde for tre sekvenser, er man nødt til at ændre sine rekursionsligninger til noget passende, samtidig med at man skal have sin algoritme til at håndtere en ekstra dimension. 25

34 26 KAPITEL 4. PUSH-ALGORITMEN A C G A T C A C G A T C A G C A Figur 4.1.: Dynamisk programmerings matrix for to sekvenser, med (0,0) i øverste venstre hjørne. De sorte punkter svarer til celler, som defineret i def Vi har lavet en implementation, som nemt kan udvides til tre sekvenser, og som har indbygget pladsbesparelsen. Det har vi gjort ved at adskille den SMM, vi bruger, fra implementationen af algoritmen, og ved at anvende datastrukturer, som både virker for to og tre sekvenser Push-algoritmen for to sekvenser Dette afsnit beskriver, hvordan vi har valgt at implementere alignment algoritmen, inkl. Hirschbergs Pladsbesparelse. Beskrivelsen tager udgangspunkt i alignment af to sekvenser Push I alignment algoritmer, som implementeres ved hjælp af dynamisk programmering, er det centrale at beskrive, hvorledes en række matricer udfyldes, som givet ved rekursionsligningerne. Man udfylder en indgang, når de indgange, den afhænger af, jvf. rekursionsligningerne, er beregnet. Man kan sige, at en indgang i matricerne spørger sine naboer, om de værdier den har behov for. Vi har valgt en anden strategi, idet vi skubber de beregnede værdier frem. Forstået på den måde, at en celle skubber sine værdier frem til sine naboer, i stedet for at spørge naboerne om deres værdier. Forward dynamisk programmering er beskrevet i [SM97, s ] og [Gus97, s ], bruger samme princip, men med et andet formål end det vi fokuserer på. I vores tilfælde er fordelen ved at skubbe værdierne frem, at vi opnår en lineær pladsreduktion, som er uafhængig af SMMen, og at den implementationsmæssigt er gratis (se afsnit 4.2.4).

35 4.2. PUSH-ALGORITMEN FOR TO SEKVENSER 27 Definition (Celle) En celle indeholder et indeks fra hver sekvens. Desuden er der en liste med sandsynligheder. En for hver mulig umiddelbare forgænger på vejen til cellen. Havde vi haft en dynamisk programmeringsmatrix, ville det svare til, at vi starter i (0, 0) og slutter i (L 1, L 2 ), men det har vi ikke længere behov for, idet vi blot holder styr på hvilke celler, der er ready, og hvilke der er pending. Definition (Pending) En celle er pending, hvis den har modtaget værdier fra mindst én nabo, men ikke fra alle. Definition (Ready) En celle er ready, hvis den har modtaget værdier fra alle sine naboer. Dette kan gøres ved at opretholde en mængde af celler, der er ready (deres rækkefølge er ligegyldig) og en datastruktur, som understøtter indicerede opslag til de celler, der er pending. Grunden til, at vi har brug for at slå pending celler op, er at man sender til de naboer, der svarer til det indeks, der er i ready cellerne plus det antal karakterer, der udsendes (hvad der svarer til advancevektoren, se afsnit 3.2). Dvs. at hvis det er en celle, der svarer til index (i, j) i henholdsvis sekvens et og to, i gang med at sende, og det er til en tilstand, som udsender en karakter fra hver sekvens (advancevektor (1,1)), så skal der skubbes værdier til en pending celle, med indeks (i + 1, j + 1) Udførelse Skabelonen for Push-algoritmen er meget simpel. Når algoritmen udføres, opretholder man to datastrukturer, en stak til celler, der er ready, og en liste til celler, der er pending. ready-stakken er fra starten initieret med den første celle, svarende til indeks 0 i både S 1 og S 2, medens pending-listen er tom. Herefter følger algoritmen nedenstående skabelon: while ready.hasmore(): next = ready.pop() readied = notify(next, pending, S1, S2) ready.update(readied) Så længe der er flere celler på ready-stakken, fjernes den øverste og gemmes i next. notify skubber værdierne fra next videre til de naboer, der kan nåes, og hvis indices ligger inden for de sekvenser, der sendes med som parameter. Hvis naboerne ikke er oprettet i pending, tilføjes de. Returværdien fra notify er en liste af celler, der er blevet ready. ready-stakken opdateres med de nye ready-celler. Når en værdi sendes fra en celle r, der er ready, til en celle p, der er pending, opdateres p, således at den husker på sandsynligheden for den vej, der går gennem r. r sender den værdi videre, som er maksimal i forhold til alle de veje, der kom til r ganget med

36 28 KAPITEL 4. PUSH-ALGORITMEN transitionssandsynligheden til p. Hver gang vi sender fra en ready celle r med index (i r, j r ), sender vi til en pending celle p med index (i p, j p ), således at i r + j r < i p + j p. Dette kan kun gøres indtil i r = L 1 og j r = L 2, hvor algoritmen stopper og vi kan finde sandsynligheden for den mest sandsynlige vej givet de to input sekvenser og modellen, ved at tage maksimum over sandsynlighederne for de forskellige veje, der er gemt i den sidste ready celle. Pladsforbruget af algoritmen er proportionalt med det antal celler, der findes i pendinglisten, som oplagt er en matrix med størrelsen L1 L2. Pladsforbruget skal desuden ganges med antallet af tilstande, idet cellernes størrelse er proportionale med dette. I vores tilfælde er der tre tilstande, og pladsforbruget er derfor O(L 1 L 2 ). På samme måde er tidsforbruget propoertionalt med det antal celler, der skal sendes til, ganget med antal gange, der skal sendes til den samme celle, som igen er O(L 1 L 2 ) Backtracking For at finde alignmentet af de to sekvenser, er vi nødt til at backtracke vejen, som det mest sandsynlige alignment har fulgt. Dette gøres nemt ved at starte med den sidste ready celle og så finde den nabo, der ligger umiddelbart før på alignmentets vej. Dette opslag skal foregå i pending-listen, idet stakken med ready celler ikke undersøtter indicerede opslag. Dette er dog ikke noget problem, hvis ready cellerne er de samme objekter som pending cellerne. Herefter findes den næste celle på stien på samme måde, og dette gøres iterativt, indtil vi når til den celle, der svarer til index (0, 0). Resultatet af backtrackingen er en vej igennem matricen, hvorfra man nu kan lave alignmentet, ved at indsætte ( # #) når man går fra (i, j) til (i + 1, j + 1), ( # ) når man går fra (i, j) til (i + 1, j) eller ( #) når man går fra (i, j) til (i, j + 1) Pladsbesparelse og fronter 1 Beskrivelsen af algoritmen har hidtil taget udgangspunkt i, at alle cellerne i pending listen gemmes undervejs. Det betyder et tidsforbrug på O(n 2 ) og et tilsvarende pladsforbrug, for n L 1 L 2. Tidsforbruget kan vi ikke umiddelbart gøre noget ved, men pladsforbruget kan reduceres med én dimension til O(n). Ideen er, at vi kun gemmer de pending celler, som er blevet sendt til, og så snart de bliver ready, fjernes de fra pending-listen. Grunden til at det er muligt er, at en celle kun afhænger af sine nærmeste foregående naboer, som vist på figur 4.2, hvor cellen med nummer 4 kun afhænger af værdier fra cellerne med nummer 1,2 og 3, som defineret i afsnit 3.3. Det giver følgende skabelon for algoritmen:

Modul 3: Sandsynlighedsregning

Modul 3: Sandsynlighedsregning Forskningsenheden for Statistik ST01: Elementær Statistik Bent Jørgensen Modul 3: Sandsynlighedsregning 3.1 Sandsynligheder................................... 1 3.2 Tilfældig udtrækning fra en mængde........................

Læs mere

DM01 DM01. 4. Obl. Afl. Jacob Christiansen, 130282, jacob.ch@mail.tdcadsl.dk. D12, Elias 13/5-2003. Side 1 af 7

DM01 DM01. 4. Obl. Afl. Jacob Christiansen, 130282, jacob.ch@mail.tdcadsl.dk. D12, Elias 13/5-2003. Side 1 af 7 DM01 DM01 4. Obl. Afl. Jacob Christiansen, 130282, jacob.ch@mail.tdcadsl.dk D12, Elias 13/5-2003 Side 1 af 7 DM01 Indholdsfortegnelse: BILAG:...2 1 FORMÅL:...3 2 KLASSER:...4 2.1 DNA2:...4 2.1.1 METODER:...4

Læs mere

Side 1 af 14. 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 Side 1 af 14 Eksamen: Bioinformatik It og Sundhed 27 Jan 2011 kl 9-13 Navn: Studie nummer: Dette eksamenssæt vil også kunne ses som en pdf fil nederst på kursus-hjemmesiden udfor den sidste dag d. 27 Jan

Læs mere

Side%1%af%14% 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 Side1af14 Eksamen: Bioinformatik It og Sundhed 27 Jan 2011 kl 9-13 Navn: Studie nummer: Dette eksamenssæt vil også kunne ses som en pdf fil nederst på kursus-hjemmesiden udfor den sidste dag d. 27 Jan

Læs mere

Pladseffektive implementeringer af HMM algoritmer Carsten Sørensen. Speciale, Juni 2012 Vejleder : Christian Nørgaard Storm Pedersen

Pladseffektive implementeringer af HMM algoritmer Carsten Sørensen. Speciale, Juni 2012 Vejleder : Christian Nørgaard Storm Pedersen Pladseffektive implementeringer af HMM algoritmer Carsten Sørensen Speciale, Juni 2012 Vejleder : Christian Nørgaard Storm Pedersen Resumé I dette speciale undersøges pladseffektive implementeringer af

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet Side 1 of 14 Danmarks Tekniske Universitet Skriftlig prøve, den 21/1-2013 Kursus navn: Kursus nr. 27633 Introduktion til Bioinformatik Tilladte hjælpemidler: Alle "Vægtning" Angivet ved de individuelle

Læs mere

Genetiske afstande og afstandsmatricer

Genetiske afstande og afstandsmatricer Genetiske afstande og afstandsmatricer Denne vejledning indeholder en række små øvelser og opgaver der illustrerer, hvordan man ud fra genetiske sekvenser kan udregne en gennemsnitlig evolutionær afstand

Læs mere

En forsker har lavet et cdna insert vha PCR og har anvendt det følgende primer sæt, som producerer hele den åbne læseramme af cdna et:

En forsker har lavet et cdna insert vha PCR og har anvendt det følgende primer sæt, som producerer hele den åbne læseramme af cdna et: F2011-Opgave 1. En forsker har lavet et cdna insert vha PCR og har anvendt det følgende primer sæt, som producerer hele den åbne læseramme af cdna et: Forward primer: 5 CC ATG GGT ATG AAG CTT TGC AGC CTT

Læs mere

Biologi opgave Opsamling: Cellebiologi (Bioanalytiker modul3)

Biologi opgave Opsamling: Cellebiologi (Bioanalytiker modul3) 1 Delphine Bonneau Biologi opgave Opsamling: Cellebiologi 1-6 Pelle har spist en kæmpe stor kage, og efterfølgende stiger hans blodsukker. Derfor sender kroppen besked til de endokrine kirtler i bugspytkirtlen

Læs mere

Fra DNA til protein - lærerens tekst

Fra DNA til protein - lærerens tekst Fra DNA til protein - lærerens tekst Af sidsel sangild Denne øvelse handler om proteinsyntese og proteiners foldning. Den giver mulighed for at danne nogle andre billeder af fænomenet, end man får ved

Læs mere

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

Side 1 of 13. Kursus navn: Kursus nr Introduktion til Bioinformatik Side 1 of 13 Danmarks Tekniske Universitet Skriftlig prøve, den 20/1-2014 Kursus navn: Kursus nr. 27633 Introduktion til Bioinformatik Tilladte hjælpemidler: Alle "Vægtning" Angivet ved de individuelle

Læs mere

Struktur og funktion af gener

Struktur og funktion af gener Molekylærbiologi og genetik S4, F2008 f Malene Munk Jørgensen Emne: Struktur og funktion af gener Link: undervisningsplanen for S4-molekylærbiologi og genetik MMJ, VI niversity ollege Bioanalytikeruddannelsen

Læs mere

Biologiske signaler i graviditeten - Genetisk information

Biologiske signaler i graviditeten - Genetisk information Biologiske signaler i graviditeten - Genetisk information 2 I forbindelse med vores studie af graviditeten ønsker vi at foretage undersøgelser af arvematerialet (DNA og RNA). Disse genetiske undersøgelser

Læs mere

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

Side 1 af 13. Eksamen: Bioinformatik It og Sundhed 27 Jan 2011 kl 9-13 Side1af13 Eksamen: Bioinformatik It og Sundhed 27 Jan 2011 kl 9-13 Navn: Studie nummer: Dette eksamenssæt vil også kunne ses som en pdf fil nederst på kursus-hjemmesiden udfor den sidste dag d. 27 Jan

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet Side 1 of 17 Danmarks Tekniske Universitet Skriftlig prøve, den 21/1-2013 Kursus navn: Kursus nr. 27633 Introduktion til Bioinformatik Tilladte hjælpemidler: Alle "Vægtning" Angivet ved de individuelle

Læs mere

Menneskets væskefaser

Menneskets væskefaser Menneskets væskefaser Mennesket består af ca. 60% væske (vand) Overordnet opdelt i to: Ekstracellulærvæske og intracellulærvæske Ekstracellulærvæske udgør ca. 1/3 Interstitielvæske: Væske der ligger mellem

Læs mere

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

Velkommen. Test dit eget DNA med PCR. Undervisningsdag på DTU Systembiologi. Undervisere: Sebastian, Louise og Ana Velkommen Test dit eget DNA med PCR Undervisningsdag på DTU Systembiologi Undervisere: Sebastian, Louise og Ana Hvem er I? 2 DTU Systembiologi, Danmarks Tekniske Universitet Dagens program 9:00 10:00 Introduktion

Læs mere

Hvorfor er genfinding et vanskeligt problem?

Hvorfor er genfinding et vanskeligt problem? 19th January 2005 Genfinding og skjulte Markov-modeller Af Asger Hobolth og Leif Schauser Indledning I disse år kortlægges en række organismers arvelige materiale. Det humane om blev kortlagt i 2001, og

Læs mere

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

Gen-identifikation ved sekvens-sammenligning. Tejs Scharling. Specialerapport. Datalogisk Institut Aarhus Universitet Danmark Gen-identifikation ved sekvens-sammenligning Tejs Scharling Specialerapport Datalogisk Institut Aarhus Universitet Danmark Gen-identifikation ved sekvens-sammenligning En specialerapport afleveret til

Læs mere

BM121 Resume af tirsdags forlæsningen, Uge 47

BM121 Resume af tirsdags forlæsningen, Uge 47 BM121 Resume af tirsdags forlæsningen, Uge 47 Morten Källberg (kallberg@imada.sdu.dk) 22/11-2005 1 Probabilistiske modeller Vi vil i det følgende betragte to forskellige måder at evaluerer en given model

Læs mere

Genetiske Aspekter af HCM hos Kat. - en introduktion til forskningsprojektet

Genetiske Aspekter af HCM hos Kat. - en introduktion til forskningsprojektet Genetiske Aspekter af HCM hos Kat - en introduktion til forskningsprojektet Cand. scient. Mia Nyberg, ph.d. stud. mnje@life.ku.dk IMHS, Det Biovidenskabelige Fakultet, Københavns Universitet, Klinisk Biokemisk

Læs mere

3u BI, terminsprøve (Bio A)

3u BI, terminsprøve (Bio A) 3.u BI, terminsprøve, 2018 MV 3u BI, terminsprøve (Bio A) Torsdag den 12/4, 2018, kl. 9-14. Af opgaverne 1, 2, 3, og 4 skal tre, og kun tre, afleveres Tilladte hjælpemidler: Bøger, kompendier, noter, lommeregner.

Læs mere

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

Bioinformatik Algoritmiske Aspekter. Christian Nørgaard Storm Pedersen BRICS. Datalogisk Institut Aarhus Universitet. 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

Læs mere

1. Hvad er kræft, og hvorfor opstår sygdommen?

1. Hvad er kræft, og hvorfor opstår sygdommen? 1. Hvad er kræft, og hvorfor opstår sygdommen? Dette kapitel fortæller om, cellen, kroppens byggesten hvad der sker i cellen, når kræft opstår? årsager til kræft Alle levende organismer består af celler.

Læs mere

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

Side 1 of 12. Kursus navn: Kursus nr Introduktion til Bioinformatik Side 1 of 12 Danmarks Tekniske Universitet Skriftlig prøve, den 20/1-2014 Kursus navn: Kursus nr. 27633 Introduktion til Bioinformatik Tilladte hjælpemidler: Alle "Vægtning" Angivet ved de individuelle

Læs mere

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

Velkommen. Test dit eget DNA med PCR. Undervisningsdag på DTU Systembiologi. Undervisere: Velkommen Test dit eget DNA med PCR Undervisningsdag på DTU Systembiologi Undervisere: Hvem er I? 2 DTU Systembiologi, Danmarks Tekniske Universitet Hvilke baser indgår i DNA? A. Adenin, Guanin, Cytosin,

Læs mere

Cellekernen (Nucleus) Sebastian Frische Anatomisk Institut

Cellekernen (Nucleus) Sebastian Frische Anatomisk Institut Cellekernen (Nucleus) Sebastian Frische Anatomisk Institut Cellekernen Cellekernens overordnede struktur kernemembranen/nucleolemma kromatin nucleolus Cellecyklus faser i cellecyklus faser i mitosen Størrelse:

Læs mere

Dynamisk programmering

Dynamisk programmering Dynamisk programmering Dynamisk programmering Optimeringsproblem: man ønsker at finde bedste den kombinatoriske struktur (struktur opbygget af et endeligt antal enkeltdele) blandt mange mulige. Eksempler:

Læs mere

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

at du trænes i at genkende aminosyrer i en simpel proteinstruktur (pentapeptid = lille protein bestående af 5 (penta) aminosyrer) Elevvejledning til det Virtuelle Kræftlaboratorium Det Virtuelle Kræftlaboratorium stiller krav til en grundig forståelse af det centrale dogme inden for molekylærbiologien, hvordan DNA oversættes til

Læs mere

Kromosomer med genet: Genotype (= arveformel): RR Rr rr Fænotype (= fremtoning): Rød Rød Hvid

Kromosomer med genet: Genotype (= arveformel): RR Rr rr Fænotype (= fremtoning): Rød Rød Hvid Kromosomer med genet: R R R r r r Genotype (= arveformel): RR Rr rr Fænotype (= fremtoning): Rød Rød Hvid P-generation: Kønsceller: RR rr Meiose R R r r Befrugtning F 1-generation: Meiose Rr Rr Kønsceller:

Læs mere

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

Side 1 of 11. Kursus navn: Kursus nr Introduktion til Bioinformatik Side 1 of 11 Danmarks Tekniske Universitet Skriftlig prøve, den 22/1-2015 Kursus navn: Kursus nr. 27633 Introduktion til Bioinformatik Tilladte hjælpemidler: Alle "Vægtning" Angivet ved de individuelle

Læs mere

Kvægavlens teoretiske grundlag

Kvægavlens teoretiske grundlag Kvægavlens teoretiske grundlag Lige siden de første husdyrarter blev tæmmet for flere tusinde år siden, har mange interesseret sig for nedarvningens mysterier. Indtil begyndelsen af forrige århundrede

Læs mere

Bioinformatik Open Source Software i biologiens tjeneste

Bioinformatik Open Source Software i biologiens tjeneste Bioinformatik Open Source Software i biologiens tjeneste Kenneth Geisshirt kneth@silex.dk Silex Science ApS Bioinformatik p.1/19 Om Silex Science ApS Grundlagt maj 2002 Ejeren er Cortex Holding Fokusområderne

Læs mere

Eukaryote celler arbejder

Eukaryote celler arbejder Eukaryote celler arbejder Niveau: 9. klasse Varighed: 5 lektioner Præsentation: I dette forløb skal eleverne arbejde med den eukaryote celle. I forløbet kommer vi omkring funktioner og kemiske processer

Læs mere

SUBS_BACLE 1 0 ELYA_BACHD 1 MRQSLKVMVLSTVALLFMANPAAASEEKKEYLIVVEPEEVSAQSVEESYD 50

SUBS_BACLE 1 0 ELYA_BACHD 1 MRQSLKVMVLSTVALLFMANPAAASEEKKEYLIVVEPEEVSAQSVEESYD 50 Svar til Parvis Alignment øvelsen - Af: Rasmus Wernersson Q1: FASTA format. Q2: # Length: 361 # Identity: 176/361 (48.8%) # Similarity: 214/361 (59.3%) # Gaps: 92/361 (25.5%) # Score: 916.0 SUBS_BACLE

Læs mere

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507) Skriftlig Eksamen Algoritmer og Datastrukturer (DM507) Institut for Matematik og Datalogi Syddansk Universitet, Odense Mandag den 7. juni 00, kl. 9 Alle sædvanlige hjælpemidler (lærebøger, notater, osv.)

Læs mere

BIOTEKNOLOGI HØJT NIVEAU

BIOTEKNOLOGI HØJT NIVEAU STUDENTEREKSAMEN 2007 2007-BT-1 BITEKNLGI HØJT NIVEAU Torsdag den 31. maj 2007 kl. 9.00 14.00 Sættet består af 1 stor og 2 små opgaver samt 1 bilag i 2 eksemplarer. Det ene eksemplar af bilaget afleveres

Læs mere

CELLE OG VÆVSLÆRE 1 LEKTION 1. Nima Kalbasi, DDS Anatomi og fysiologi

CELLE OG VÆVSLÆRE 1 LEKTION 1. Nima Kalbasi, DDS Anatomi og fysiologi CELLE OG VÆVSLÆRE 1 LEKTION 1 Nima Kalbasi, DDS Anatomi og fysiologi Dagens emner Introduktion Cellemembranen Cytoplasmaet og dets struktur Cellekernen (nukleus) Celledelingen Genetik (arvelighedslære)

Læs mere

Banan DNA 1/6. Formål: Formålet med øvelsen er at give eleverne mulighed for at se DNA strenge med det blotte øje.

Banan DNA 1/6. Formål: Formålet med øvelsen er at give eleverne mulighed for at se DNA strenge med det blotte øje. Banan DNA Formål: Formålet med øvelsen er at give eleverne mulighed for at se DNA strenge med det blotte øje. Baggrundsviden: Om vi er mennesker, dyr eller planter, så har alle organismer DNA i deres celler.

Læs mere

Klip-og-kopier DNA: reparér mutationer med 'genom-redigering' DNA, RNA og protein

Klip-og-kopier DNA: reparér mutationer med 'genom-redigering' DNA, RNA og protein Forskningsnyheder om Huntingtons Sygdom På hverdagssprog Skrevet af forskere. Til det globale HS-fællesskab Klip-og-kopier DNA: reparér mutationer med 'genom-redigering' Forskere kan lave præcise ændringer

Læs mere

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Datalogisk Institut Aarhus Universitet Tirsdag den 27. maj 2003, kl. 9.00 3.00 Opgave (25%) For konstanten π = 3.4592... gælder identiteten π 2 6 =

Læs mere

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

Identifikation af potentielle microrna gener ved hjælp af komparativ genomanalyse Identifikation af potentielle microrna gener ved hjælp af komparativ genomanalyse Per Tøfting 23. september 2008 Speciale i softwarekonstruktion IT-Vest Aarhus Universitet Agenda Formål microrna Strategien

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2017 Projekt, del III Institut for matematik og datalogi Syddansk Universitet 6. april, 2017 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

Cellen og dens funktioner

Cellen og dens funktioner Eksamensopgaver Biologi C, 17bic80 6. og 7. juni 2018 1 Cellen og dens funktioner 1. Redegør for hvordan eukaryote og prokaryote celler i hovedtræk er opbygget, herunder skal du gøre rede for forskelle

Læs mere

Cellens livscyklus GAP2. Celledeling

Cellens livscyklus GAP2. Celledeling Cellens livscyklus Cellens livscyklus inddeles i to faser, interfase og mitose. GAP1 (G1). Tiden lige efter mitosen hvor der syntetiseres RNA og protein. Syntese fasen. Tidsrummet hvor DNAet duplikeres

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2016 Projekt, del III Institut for matematik og datalogi Syddansk Universitet 20. april, 2016 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

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

Side 1 of 12. Kursus navn: Kursus nr Introduktion til Bioinformatik Side 1 of 12 Danmarks Tekniske Universitet Skriftlig prøve, den 22/1-2015 Kursus navn: Kursus nr. 27633 Introduktion til Bioinformatik Tilladte hjælpemidler: Alle "Vægtning" Angivet ved de individuelle

Læs mere

Dynamisk programmering

Dynamisk programmering Dynamisk programmering Dynamisk programmering Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Har en hvis lighed med divide-and-conquer: Begge opbygger løsninger til større problemer

Læs mere

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

Syntaks og syntaksgenkendelse, særligt regulære udtryk og tilstandsmaskiner og lidt om anvendelser i bioinformatik Datalogi C, RUC Forelæsning 22. november 2004 Henning Christiansen Syntaks og syntaksgenkendelse, særligt regulære udtryk og tilstandsmaskiner og lidt om anvendelser i bioinformatik Dagens program Hvad

Læs mere

Plan. Markovkæder Matematisk modelling af kølængde, yatzy, smittespredning og partikelbevægelser. Materiale mm.

Plan. Markovkæder Matematisk modelling af kølængde, yatzy, smittespredning og partikelbevægelser. Materiale mm. Institut for Matematiske Fag Plan Markovkæder Matematisk modelling af kølængde, yatzy, smittespredning og partikelbevægelser Helle Sørensen Eftermiddagen vil være bygget om 3 4 eksempler: A. B. Random

Læs mere

# Problemet med genetisk ustabilitet

# Problemet med genetisk ustabilitet Forskningsnyheder om Huntingtons Sygdom På hverdagssprog Skrevet af forskere. Til det globale HS-fællesskab Et DNA-reparerende protein ændrer stabiliteten af lange CAG-områder i det muterede gen for Huntingtons

Læs mere

(19) DANMARK (11) DK B1 (12) PATENTSKRIFT. Ci2. Patent- og Varemærkestyrelsen

(19) DANMARK (11) DK B1 (12) PATENTSKRIFT. Ci2. Patent- og Varemærkestyrelsen (19) DANMARK (11) DK 176903 B1 Ci2 (12) PATENTSKRIFT Patent- og Varemærkestyrelsen (51) Int.CI. 8 : C 12 N 15/31 (2006.01) A 61 K 39/02 (2006.01) A 61 K 48/00 (2006.01) A 61 P 31/04 (2006.01) C 07 K 14/29

Læs mere

Dynamisk programmering. Flere eksempler

Dynamisk programmering. Flere eksempler Dynamisk programmering Flere eksempler Eksempel 1: Længste fælles delstreng Alfabet = mængde af tegn: {a,b,c,...,z}, {A,C,G,T}, {,1} Eksempel 1: Længste fælles delstreng Alfabet = mængde af tegn: {a,b,c,...,z},

Læs mere

Kromosomforandringer. Information til patienter og familier

Kromosomforandringer. Information til patienter og familier Kromosomforandringer Information til patienter og familier 2 Kromosomforandringer Den følgende information er en beskrivelse af kromosomforandringer, hvorledes de nedarves og hvornår dette kan medføre

Læs mere

Forskningsnyheder om Huntingtons Sygdom På hverdagssprog Skrevet af forskere. Til det globale HS-fællesskab Ofte stillede spørgsmål, januar 2011

Forskningsnyheder om Huntingtons Sygdom På hverdagssprog Skrevet af forskere. Til det globale HS-fællesskab Ofte stillede spørgsmål, januar 2011 Forskningsnyheder om Huntingtons Sygdom På hverdagssprog Skrevet af forskere. Til det globale HS-fællesskab Ofte stillede spørgsmål, januar 2011 Svar på ofte stillede spørgsmål om HD - den første i en

Læs mere

Kromosomforandringer. Information til patienter og familier

Kromosomforandringer. Information til patienter og familier 12 Odense: Odense Universitetshospital Sdr.Boulevard 29 5000 Odense C Tlf: 65 41 17 25 Kromosomforandringer Vejle: Sygehus Lillebælt, Vejle Klinisk Genetik Kabbeltoft 25 7100 Vejle Tlf: 79 40 65 55 Århus:

Læs mere

(19) DANMARK (11) DK 175533 B1 ( 1 2) PATENTSKRIFT. Patent- og Varemærkestyrelsen

(19) DANMARK (11) DK 175533 B1 ( 1 2) PATENTSKRIFT. Patent- og Varemærkestyrelsen (19) DANMARK (11) DK 175533 B1 ( 1 2) PATENTSKRIFT Patent- og Varemærkestyrelsen (51) Int.C1 7.: A 61 K 39/295 A 61 K 39/205 A 61 K 39/285 A 61 K 39/42 C 12 N 15/00 (21) Patentansøgning nr: PA 1985 06062

Læs mere

Dynamisk programmering

Dynamisk programmering Dynamisk programmering Dynamisk programmering Optimeringsproblem: man ønsker at finde bedste den kombinatoriske struktur blandt mange mulige. Dynamisk programmering Optimeringsproblem: man ønsker at finde

Læs mere

27611 Eksamen Sommer 2007

27611 Eksamen Sommer 2007 - Side 1 af 10-27611 Eksamen Sommer 2007 Dette sæt indeholder 4 opgaver. En online version af opgavesættet vil være tilgængeligt fra kursets lektionsplan, under selve eksamen (25. Maj 2007 klokken 9:00

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2019 Projekt, del III Institut for matematik og datalogi Syddansk Universitet 10. april, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

Dynamisk programmering. Flere eksempler

Dynamisk programmering. Flere eksempler Dynamisk programmering Flere eksempler Eksempel 1: Længste fælles delstreng Alfabet = mængde af tegn: {a,b,c,...,z}, {A,C,G,T}, {,1} Streng = sekvens x 1 x 2 x 3... x n af tegn fra et alfabet: helloworld

Læs mere

På grund af reglerne for copyright er det ikke muligt at lægge figurer fra lærebøger på nettet. Derfor har jeg fjernet figurerne fra slides ne, men

På grund af reglerne for copyright er det ikke muligt at lægge figurer fra lærebøger på nettet. Derfor har jeg fjernet figurerne fra slides ne, men På grund af reglerne for copyright er det ikke muligt at lægge figurer fra lærebøger på nettet. Derfor har jeg fjernet figurerne fra slides ne, men skrevet hvorfra de er taget. De tre bøger, hvorfra illustrationerne

Læs mere

Deoxyribonukleinsyre

Deoxyribonukleinsyre DNAs Forunderlige struktur Ved Rebecca E.-Sørensen stud.scient i medicinalkemi ved Aarhus Universitet Deoxyribonukleinsyre Strukturen af DNA findes af James D. Watson og Francis H. Crick i 1953 1 Nuklein

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet Side 1 of 16 Danmarks Tekniske Universitet Skriftlig prøve, den 26/1-2012 Kursus navn: Kursus nr. 27633 Introduktion til Bioinformatik Tilladte hjælpemidler: Alle "Vægtning" Angivet ved de individuelle

Læs mere

Målet for disse slides er at diskutere nogle metoder til at gemme og hente data effektivt.

Målet for disse slides er at diskutere nogle metoder til at gemme og hente data effektivt. Merging og hashing Mål Målet for disse slides er at diskutere nogle metoder til at gemme og hente data effektivt. Dette emne er et uddrag af kurset DM507 Algoritmer og datastrukturer (2. semester). Mål

Læs mere

Generne bestemmer. Baggrundsviden og progression: Niveau: 8. klasse. Varighed: 12 lektioner

Generne bestemmer. Baggrundsviden og progression: Niveau: 8. klasse. Varighed: 12 lektioner Generne bestemmer Niveau: 8. klasse Varighed: 12 lektioner Præsentation: Generne bestemmer er et forløb om genernes indflydelse på individet. I forløbet kommer vi omkring den eukaryote celle, celledeling,

Læs mere

Det lyder enkelt, men for at forstå hvilket ærinde forskerne er ude i, er det nødvendigt med et indblik i, hvordan celler udvikles og specialiseres.

Det lyder enkelt, men for at forstå hvilket ærinde forskerne er ude i, er det nødvendigt med et indblik i, hvordan celler udvikles og specialiseres. Epigenetik Men hvad er så epigenetik? Ordet epi er af græsk oprindelse og betyder egentlig ved siden af. Genetik handler om arvelighed, og hvordan vores gener videreføres fra generation til generation.

Læs mere

Dansk resumé for begyndere

Dansk resumé for begyndere Dansk resumé for begyndere Dansk resumé for begyndere Dette afsnit introducerer bakteriel genregulation for enhver uden forudgående kendskab til dette emne. Alle nødvendige, videnskabelige betegnelser

Læs mere

Proteiners byggesten er aminosyrer

Proteiners byggesten er aminosyrer PTEIE G EZYME Proteiners byggesten er aminosyrer Lad os se på den kemiske opbygning af et protein. Proteiner er store molekyler der er opbygget af mindre molekyler, som man kalder aminosyrer. Der findes

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. Kursusnavn: Algoritmer og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer Vægtning

Læs mere

Lærervejledning Til internet-spillet Kræftkampen og undervisningshæftet Hvorfor opstår kræft? Biologi 8.-9. klasse

Lærervejledning Til internet-spillet Kræftkampen og undervisningshæftet Hvorfor opstår kræft? Biologi 8.-9. klasse kraeftkampen.dk Kræftens Bekæmpelse Lærervejledning Til internet-spillet Kræftkampen og undervisningshæftet Hvorfor opstår kræft? Biologi 8.-9. klasse Hvorfor arbejde med Kræft? Erhvervsskolernes Forlag

Læs mere

BIOLOGI A-NIVEAU NY ORDNING. Tirsdag den 19. august 2008. Kl. 09.00 14.00 STX082-BIA STUDENTEREKSAMEN AUGUST 2008

BIOLOGI A-NIVEAU NY ORDNING. Tirsdag den 19. august 2008. Kl. 09.00 14.00 STX082-BIA STUDENTEREKSAMEN AUGUST 2008 STUDENTEREKSAMEN AUGUST 2008 BIOLOGI A-NIVEAU Tirsdag den 19. august 2008 NY ORDNING Kl. 09.00 14.00 Af opgaverne 1, 2, 3 og 4 skal tre og kun tre af opgaverne besvares STX082-BIA Undervisningsministeriet

Læs mere

Algoritmeanalyse. Øvre grænse for algoritme. Øvre grænse for problem. Nedre grænse for problem. Identificer essentiel(le) operation(er)

Algoritmeanalyse. Øvre grænse for algoritme. Øvre grænse for problem. Nedre grænse for problem. Identificer essentiel(le) operation(er) Algoritmeanalyse Identificer essentiel(le) operation(er) Øvre grænse for algoritme Find øvre grænse for antallet af gange de(n) essentielle operation(er) udføres. Øvre grænse for problem Brug øvre grænse

Læs mere

Ting man gør med Vektorfunktioner

Ting man gør med Vektorfunktioner Ting man gør med Vektorfunktioner Frank Nasser. april 11 c 8-11. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Bemærk: Dette

Læs mere

Er der flere farver i sort?

Er der flere farver i sort? Er der flere farver i sort? Hvad er kromatografi? Kromatografi benyttes inden for mange forskellige felter og forskningsområder og er en anvendelig og meget benyttet analytisk teknik. Kromatografi bruges

Læs mere

Proteiner: en introduktion. Modul 1; F13 Rolf Andersen, 18/2-2013

Proteiner: en introduktion. Modul 1; F13 Rolf Andersen, 18/2-2013 Proteiner: en introduktion Modul 1; F13 Rolf Andersen, 18/2-2013 4 facts om proteiner Proteiner udgør én af de vigtigste stofgrupper i vores organisme; de varetager en lang række forskellige funktioner.

Læs mere

Epigenetik Arv er andet end gener

Epigenetik Arv er andet end gener Epigenetik Arv er andet end gener Indhold Indledning Afsnit1: Epigenetik og DNA Afsnit 2: DNA, nukleosomer og kromatin Afsnit 3: Epigenetik og celledifferentiering Afsnit 4: Genetisk ens individer kan

Læs mere

Pointen med Funktioner

Pointen med Funktioner Pointen med Funktioner Frank Nasser 0. april 0 c 0080. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Bemærk: Dette er en

Læs mere

EKSAMENSOPGAVER. Eksamensopgaver uden bilag

EKSAMENSOPGAVER. Eksamensopgaver uden bilag EKSAMENSOPGAVER Eksamensopgaver uden bilag Eksaminator: Morten Sigby-Clausen (MSC) 1. Celler og celledeling 2. Kost, fordøjelse og ernæring 3. Blodkredsløbet og åndedrætssystemet 4. Nedarvning af udvalgte

Læs mere

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Datalogisk Institut Aarhus Universitet Mandag den 27. maj 2002, kl. 9.00 13.00 Opgave 1 (25%) Denne opgave handler om multiplikation af positive heltal.

Læs mere

Abstrakte datatyper C#-version

Abstrakte datatyper C#-version Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Abstrakte datatyper C#-version Finn Nordbjerg 1/9 Abstrakte Datatyper Denne note introducerer kort begrebet abstrakt datatype

Læs mere

Simulering af stokastiske fænomener med Excel

Simulering af stokastiske fænomener med Excel Simulering af stokastiske fænomener med Excel John Andersen, Læreruddannelsen i Aarhus, VIA Det kan være en ret krævende læreproces at udvikle fornemmelse for mange begreber fra sandsynlighedsregningen

Læs mere

(19) DANMARK. 2six,l (12) PATENTSKRIFT. Patent- og Varemærkestyrelsen (11) DK 175072 B1

(19) DANMARK. 2six,l (12) PATENTSKRIFT. Patent- og Varemærkestyrelsen (11) DK 175072 B1 (19) DANMARK (11) DK 175072 B1 2six,l (12) PATENTSKRIFT Patent- og Varemærkestyrelsen (51) Int.C1 7.: C 12 N 15/38 A 61 K 39/245 C 12 N 15/63 G 01 N 33/569 (21) Patentansøgning nr: PA 1987 02888 (22).

Læs mere

Ting man gør med Vektorfunktioner

Ting man gør med Vektorfunktioner Ting man gør med Vektorfunktioner Frank Villa 3. august 13 Dette dokument er en del af MatBog.dk 8-1. IT Teaching Tools. ISBN-13: 978-87-9775--9. Se yderligere betingelser for brug her. Indhold 1 Introduktion

Læs mere

Eksperimentel matematik Kommentarer til tag-med opgaver

Eksperimentel matematik Kommentarer til tag-med opgaver Eksperimentel matematik Kommentarer til tag-med opgaver Hypotesedannelse I har alle produceret grafer af typen 0.8 0.6 0.4 0.2 0 0. 0.2 0.3 0.4 0.5 (de lilla punkter er fundet ved en strenglængde på 35,

Læs mere

Asger Hobolth (AU, Matematisk Institut): Kaffe, computere og konveks analyse kan kvantificere kendskabet til kræft

Asger Hobolth (AU, Matematisk Institut): Kaffe, computere og konveks analyse kan kvantificere kendskabet til kræft Asger Hobolth (AU, Matematisk Institut): Kaffe, computere og konveks analyse kan kvantificere kendskabet til kræft I tæt samarbejde med Astrid Kousholt (Novo Nordisk), Jens Ledet Jensen (AU, Math) and

Læs mere

Regneark II Calc Open Office

Regneark II Calc Open Office Side 1 af 10 Gangetabel... 2 Udfyldning... 2 Opbygning af gangetabellen... 3 Cellestørrelser... 4 Øveark... 4 Facitliste... 6 Sideopsætning... 7 Flytte celler... 7 Højrejustering... 7 Kalender... 8 Dage

Læs mere

Celle- og vævslære. Maria Jensen 1

Celle- og vævslære. Maria Jensen 1 Celle- og vævslære. 1 Hvad er celler? Robert Hooke beskrev første gang en celle i 1665. Han undersøgte i mikroskop en skive fra en korkprop. Her opdagede han at korken var opbygget af små hulrum, små celler

Læs mere

Præsentation: Genetikeren Theo Dobzhansky har sagt: Nothing in biology makes sense except in the light of evolution.

Præsentation: Genetikeren Theo Dobzhansky har sagt: Nothing in biology makes sense except in the light of evolution. Evolution Niveau: 9. klasse Varighed: 7. lektioner Præsentation: Genetikeren Theo Dobzhansky har sagt: Nothing in biology makes sense except in the light of evolution. Molekylærbiologen Sydney Brenner

Læs mere

Gennemsnit og normalfordeling illustreret med terningkast, simulering og SLUMP()

Gennemsnit og normalfordeling illustreret med terningkast, simulering og SLUMP() Gennemsnit og normalfordeling illustreret med terningkast, simulering og SLUMP() John Andersen, Læreruddannelsen i Aarhus, VIA Et kast med 10 terninger gav følgende udfald Fig. 1 Result of rolling 10 dices

Læs mere

1. Afrikansk plante med mulig gavnlig virkning på diabetes type II. 2. Bestemmelse af genomer hos forskellige arter organismer

1. Afrikansk plante med mulig gavnlig virkning på diabetes type II. 2. Bestemmelse af genomer hos forskellige arter organismer Eksamensspørgsmål til biobu juni 2012 1. Afrikansk plante med mulig gavnlig virkning på diabetes type II Forklar hvordan insulin er opbygget, dets dannelse og virkemåde. Hvad er årsagen til diabetes type

Læs mere

Hvad er en funktion? Funktioner og graftegning. Funktioners egenskaber. Funktioners egenskaber. f(b) y = f(x) f(a) f(a)

Hvad er en funktion? Funktioner og graftegning. Funktioners egenskaber. Funktioners egenskaber. f(b) y = f(x) f(a) f(a) Funktioner og graftegning Jeppe Revall Frisvad September 29 Hvad er en funktion? En funktion f er en regel som til hvert element i en mængde A ( A) knytter præcis ét element y i en mængde B Udtrykket f

Læs mere

27611 Eksamen Sommer 2008

27611 Eksamen Sommer 2008 27611 Eksamen Sommer 2008 Dette sæt indeholder 10 opgaver. En online version af opgavesættet vil være tilgængeligt fra kursets lektionsplan under selve eksamen ( juni 2008 klokken 15:00-19:00). DNA/Protein

Læs mere

1. Afrikansk plante med mulig gavnlig virkning på diabetes type II. 2. Bestemmelse af genomer hos forskellige arter organismer

1. Afrikansk plante med mulig gavnlig virkning på diabetes type II. 2. Bestemmelse af genomer hos forskellige arter organismer Eksamensspørgsmål til biobu maj 2013 1. Afrikansk plante med mulig gavnlig virkning på diabetes type II Forklar hvordan insulin er opbygget, dets dannelse og virkemåde. Hvad er årsagen til diabetes type

Læs mere

BIOTEKNOLOGI HØJT NIVEAU

BIOTEKNOLOGI HØJT NIVEAU STUDETEREKSAME 2006 2006-BT-2 BIOTEKOLOGI HØJT IVEAU Onsdag den 16. august 2006 kl. 9.00 14.00 Sættet består af 1 stor og 2 små opgaver. Alle hjælpemidler tilladt. STOR OPGAVE 1. Myoglobin A. Den røde

Læs mere

Datastrukturer (recap)

Datastrukturer (recap) Dictionaries Datastrukturer (recap) Data: Datastruktur = data + operationer herpå En ID (nøgle) + associeret data. Operationer: Datastrukturens egenskaber udgøres af de tilbudte operationer (API for adgang

Læs mere