Bioinformatik. Zeichenketten und Stringalgorithmen. Ulf Leser Wissensmanagement in der. Bioinformatik



Ähnliche Dokumente
Algorithmische Bioinformatik

Bioinformatik. Zeichenketten und Stringalgorithmen. Ulf Leser Wissensmanagement in der. Bioinformatik

Bioinformatik. Zeichenketten und Stringalgorithmen. Ulf Leser Wissensmanagement in der. Bioinformatik

Algorithmische Bioinformatik

Bioinformatik. Zeichenketten und Stringalgorithmen. Ulf Leser Wissensmanagement in der. Bioinformatik

Bioinformatik. Z-Box Algorithmus Preprocessing eines Strings. Ulf Leser Wissensmanagement in der. Bioinformatik

Bioinformatik. Zeichenketten und Stringalgorithmen. Ulf Leser Wissensmanagement in der. Bioinformatik

DNA Sequenzierung. Transkriptionsstart bestimmen PCR

R ist freie Software und kann von der Website.

1. Erklären Sie das Prinzip der Sanger Sequenzierung. Klären Sie dabei folgende Punkte: a) Welche besondere Art von Nukleotiden wird verwendet und

Primzahlen und RSA-Verschlüsselung

Das Briefträgerproblem

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Genomsequenzierung für Anfänger

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundideen der Gentechnik

Erwin Grüner

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen

Grundbegriffe der Informatik

Biologie I/B: Klassische und molekulare Genetik, molekulare Grundlagen der Entwicklung Theoretische Übungen SS 2014

Sequenzierung. Aufklärung der Primärstruktur von DNA. Biotechnik Kurs WS 2006/07

Bildverarbeitung Herbstsemester. Binärbildanalyse

Genetik - The Human Genome Project. Überblick über die Genetik. Die gesamte Erbinformation eines Menschen befindet sich in jedem Zellkern

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Algorithmische Mathematik

Konzepte der Informatik

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

1 topologisches Sortieren

Kapitel MK:IV. IV. Modellieren mit Constraints

Lineare Gleichungssysteme

Bundesverband Flachglas Großhandel Isolierglasherstellung Veredlung e.v. U g -Werte-Tabellen nach DIN EN 673. Flachglasbranche.

Abschlussprüfung Realschule Bayern II / III: 2009 Haupttermin B 1.0 B 1.1

Übung Theoretische Grundlagen Nachtrag zur Vorlesung Dirk Achenbach

1 Mathematische Grundlagen

Datenbanken Microsoft Access 2010

1. Wie viel Zinsen bekommt man, wenn man 7000,00 1 Jahr lang mit 6 % anlegt?

DNA-Sequenzierung. Martina Krause

Beweisbar sichere Verschlüsselung

Musterlösungen zur Linearen Algebra II Blatt 5

Kompetitive Analysen von Online-Algorithmen

Definition und Begriffe

Rente = laufende Zahlungen, die in regelmäßigen Zeitabschnitten (periodisch) wiederkehren Rentenperiode = Zeitabstand zwischen zwei Rentenzahlungen

Algorithmen II Vorlesung am

Algorithmen und Datenstrukturen

Einführung in die Programmierung

Klonierung von S2P Rolle der M19-Zellen. POL-Seminar der Biochemie II Sebastian Gabriel

Anmerkungen zur Übergangsprüfung

Wie findet das Navi den Weg?

Plotten von Linien ( nach Jack Bresenham, 1962 )

Güte von Tests. die Wahrscheinlichkeit für den Fehler 2. Art bei der Testentscheidung, nämlich. falsch ist. Darauf haben wir bereits im Kapitel über

Grundlagen Theoretischer Informatik I SoSe 2011 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de

Ohne Fehler geht es nicht Doch wie viele Fehler sind erlaubt?

Neue Prüfung ergibt neue Werte. Härtemessung nach den Verfahren Shore A und D

Übungskomplex Felder (1) Eindimensionale Felder Mehrdimensionale Felder

RSA-Verschlüsselung. Verfahren zur Erzeugung der beiden Schlüssel:

Alignment-Verfahren zum Vergleich biologischer Sequenzen

Kulturelle Evolution 12

Rundung und Casting von Zahlen

Simulation LIF5000. Abbildung 1

Anleitung zur Erstellung von Serienbriefen (Word 2003) unter Berücksichtigung von Titeln (wie Dr., Dr. med. usw.)

Meinungen der Bürgerinnen und Bürger in Hamburg und Berlin zu einer Bewerbung um die Austragung der Olympischen Spiele

Bitte wenden. Name: KURSARBEIT NR. 4 (10 DIFF GA) Seite 1

Qualitätsbereich. Mahlzeiten und Essen

Mächtigkeit von WHILE-Programmen

Java-Programmierung mit NetBeans

Produktionsplanung und steuerung (SS 2011)

Projekt- Management. Landesverband der Mütterzentren NRW. oder warum Horst bei uns Helga heißt

SUDOKU - Strategien zur Lösung

Statuten in leichter Sprache

Homologie und Sequenzähnlichkeit. Prof. Dr. Antje Krause FH Bingen / akrause@fh-bingen.de

Grundbegriffe der Informatik

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

Bioinformatik: Hype oder Hoffnung?

C++ Tutorial: Timer 1

Melanie Kaspar, Prof. Dr. B. Grabowski 1

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Professionelle Seminare im Bereich MS-Office

Grundlagen der Programmierung Prof. H. Mössenböck. 14. Schrittweise Verfeinerung

Serienbrieferstellung in Word mit Kunden-Datenimport aus Excel

Programmentwicklungen, Webseitenerstellung, Zeiterfassung, Zutrittskontrolle

Sequenziertechnologien

Versuch 8. Plasmid - Isolierung

Anleitung über den Umgang mit Schildern

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Im Jahr t = 0 hat eine Stadt Einwohner. Nach 15 Jahren hat sich die Einwohnerzahl verdoppelt. z(t) = at + b

Mikroökonomik 9. Vorlesungswoche

Einbau bzw. Umbau einer USB-Schnittstelle für das Testboard TB1 nicht nur für il-troll

Allgemeine Speicherberechnung

Glaube an die Existenz von Regeln für Vergleiche und Kenntnis der Regeln

Auswertung JAM! Fragebogen: Deine Meinung ist uns wichtig!

13. Lineare DGL höherer Ordnung. Eine DGL heißt von n-ter Ordnung, wenn Ableitungen y, y, y,... bis zur n-ten Ableitung y (n) darin vorkommen.

Media Teil III. Begriffe, Definitionen, Übungen

Deutsches Rotes Kreuz. Kopfschmerztagebuch von:

Menü auf zwei Module verteilt (Joomla 3.4.0)

Zukunft des Handwerkes

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden.

II. Daten sichern und wiederherstellen 1. Daten sichern

Informationsblatt Induktionsbeweis

Zinssicherung im B2B Markt April 2010

Festigkeit von FDM-3D-Druckteilen

Transkript:

Bioinformatik Zeichenketten und Stringalgorithmen Ulf Leser Wissensmanagement in der Bioinformatik

Inhalt dieser Vorlesung Warum Stringmatching? Strings und Matching Naiver Algorithmus Ulf Leser: Bioinformatik für Biophysiker, Wintersemester 2006/2007 2

Biomoleküle DNA, RNA und Proteine lassen sich als Zeichenkette über festem Alphabet darstellen DNA A C G T RNA A C G U Protein A C D E F G H I K L M N P Q R S T V W Y Ulf Leser: Bioinformatik für Biophysiker, Wintersemester 2006/2007 3

Sequenz - Funktion DNA Vererbung Genotyp Produktion von Proteinen Proteine Phänotyp Struktur Bindungsverhalten Ulf Leser: Bioinformatik für Biophysiker, Wintersemester 2006/2007 4

Drei Anwendungen Sequenzierung Assembly von Teilsequenzen Funktionale Annotation Schnelle Suche in Sequenzdatenbanken Ulf Leser: Bioinformatik für Biophysiker, Wintersemester 2006/2007 5

1. Das menschliche Genom... AGGCTGATGGATTAGAGACC... 23 Chromosomenpaare ~ 3.000.000.000 Buchstaben Chromosomen kann man nicht direkt sequenzieren Sequenzierbar: 500-1000 Basen Ulf Leser: Bioinformatik für Biophysiker, Wintersemester 2006/2007 6

Mapping und Sequenzierung Zerlegung in Bruchstücke (Clonierung) Berechnung aller Überlappungen Bestimmung der wahrscheinlichsten Gesamtsequenz Variante: Bestimmung des Minimum Tiling Paths Ulf Leser: Bioinformatik für Biophysiker, Wintersemester BAC 2006/2007 Map, Chr.X 1-3 MB; http://www.sanger.ac.uk 7

Clonieren Schneiden des Chromosoms mit Restriktionsenzymen Länge hängt ab von Spezifität des Restriktionsenzyms Länge der Behandlung (partieller Verdau) Bruchstücke unterschiedlicher Länge Auftrennen nach Länge Gelelektrophorese Clonierung in Bakterien Vervielfältigung Ergebnis: Ulf Leser: Bioinformatik für Biophysiker, Wintersemester 2006/2007 8

Sequenzierung Gegeben: Clone unbekannter Sequenz Gesucht: Sequenz Unmöglich: Ansehen, Messen, Mikroskop, etc. Verfahren von Sanger, 1972: Radioactive Dideoxy Sequencing Ulf Leser: Bioinformatik für Biophysiker, Wintersemester 2006/2007 9

Heute Fluoreszente Markierung Hochdurchsatz Sehr billig Quelle: http://www.geneticsplace.com Ulf Leser: Bioinformatik für Biophysiker, Wintersemester 2006/2007 10

Sequenzierung nach Sanger Voraussetzungen Sequenz hat einen definierten Anfang Teil des Clonierungsvektors Dient als Bindungsstelle für Primer Sequenzierungsanfang Polymerase Bindet an doppelsträngigem Abschnitt Verlängert einsträngige DNA entlang des Templates Deoxy versus Dideoxy Nucleotide DNA besteht aus Deoxy Nucleotiden (dntp) Einbau von Dideoxy Nucleotiden (ddntp) möglich ddntp stoppt Polymerase Ulf Leser: Bioinformatik für Biophysiker, Wintersemester 2006/2007 11

dntp versus ddntp dntp ddntp Dideoxy-Base: keine freie OH Gruppe Bei Einbau einer Dideoxy-Base durch Polymerase Können keine weiteren Basen mehr angehängt werden Polymerase fällt ab Ulf Leser: Bioinformatik für Biophysiker, Wintersemester 2006/2007 12

Schritt 1 und 2 dntp: ACGT Primer + Polymerase Fluoreszierend markierte ddntp: ACGT Ulf Leser: Bioinformatik für Biophysiker, Wintersemester 2006/2007 13

Schritt 3 Primer Template ACGAACGCGAGTTAGTTAGACCAGTAGCCA... Polymerase ACGAACGCGAGTTAGTTAGACCAGTAGCCA... ACGAACG C A G T G C T ACT A C A C G GT A T AC TG A G C CT G ACGAACGCGAGTTAGTTAGACCAGTAGCCA... ACGAACGCGAGTTA ACGAACGCGAGTTAGTTAGACCAGTAGCCA... ACGAACGCGAG ACGAACGCGAGTTAGTTAGACCAGTAGCCA... ACGAACGCGAGTTAGTT ACGAACGCGAGTTAGTTAGACCAGTAGCCA... ACGAACGCGAGTTAGTTAGT ACGAACGCGAGTTAGTTAGACCAGTAGCCA... ACGAACGCGA Ulf Leser: Bioinformatik für Biophysiker, Wintersemester 2006/2007 14

Schritt 4 Laser & Detektoren ACGAACGCGAGTTA ACGAACGCGAG ACGAACGCGAGTTAGTT ACGAACGCGAGTTAGTTAGT ACGAACGCGA Gel / Kapillar Elektrophorese ACGAACGC ACGAACGCG ACGAACGCGA ACGAACGCGAG ACGAACGCGAGT ACGAACGCGAGTT ACGAACGCGAGTTA ACGAACGCGAGGTTAG Ulf Leser: Bioinformatik für Biophysiker, Wintersemester 2006/2007 15

Ergebnis (roh) Heutige Geräte >36 Läufe parallel Kapillarelektrophorese (statt Gelen) Direktes Laden von 96 Quellen Sanger Radioaktive Markierung 4 Mischungen (A,G,T,P) 4 Gele (Linien) Ulf Leser: Bioinformatik für Biophysiker, Wintersemester 2006/2007 16

Ergebnis (Zwischenprodukt) Signalverarbeitung (Rauschen,...) Übersetzung in Traces 4 Arrays, jedes für eine Farbe Intensitätswerte in regelmäßigen Zeitabschnitten Theoretisch Peaks entdecken Immer nur eine Farbe Sequenz zuordnen Ulf Leser: Bioinformatik für Biophysiker, Wintersemester 2006/2007 17

Vom Tracefile zur Sequenz Tracefiles sind Rohdaten der Sequenzierung Verschiedene Verfahren / Tools, um aus Trace- Files Sequenzen zu berechnen Komplexe Probleme Base Calling Assembly Finishing Ulf Leser: Bioinformatik für Biophysiker, Wintersemester 2006/2007 18

Assembly Gegeben: eine Menge von überlappenden Reads Aufgabe: Finde die wahrscheinlichste Ursprungssequenz Redundanz ist Notwendig: Verbindung von Teilstücken nur durch Überlappungen Konfliktträchtig: Widersprüche, Mehrdeutigkeit Fehler? tggacaagcaaagatta acatttttgaac gcaaagattgttg tggacaagcaaagatta acatttttgaac gcaaagattgttg Ulf Leser: Bioinformatik für Biophysiker, Wintersemester 2006/2007 19

Abstrakte Formulierung SUPERSTRING Geg.: Menge S von Strings Ges.: String T so, dass (a) s S: s T (s Substring von T) (b) T, für die (a) gilt, gilt: T T ( T ist minimal) Sehr schwieriges Problem Exponentielle Komplexität NP-vollständig Assembly: Verschärfungen von SUPERSTRING Fehler in Sequenzen (s ungefähr Substring von T) Zwei Orientierungen von s möglich Kernproblem Finde alle Überlappung zwischen Paaren von Reads Ulf Leser: Bioinformatik für Biophysiker, Wintersemester 2006/2007 20

Resultat Ulf Leser: Bioinformatik für Biophysiker, Wintersemester 2006/2007 21

Problemdimension: Whole Genome Shotgun Zerbrechen von kompletten Genomen in Stücke 1KB-100KB Alle Stücke (an-) sequenzieren Celera: Homo sap.: Genom: 3 GB, 28.000.000 Reads Drosophila: Genom: 120 MB, 3.200.000 Reads Schnelle Algorithmen notwendig Ulf Leser: Bioinformatik für Biophysiker, Wintersemester 2006/2007 22

2. Funktionale Annotation Sequenzen bestimmen Funktionen Gensequenzen => Proteinsequenz Proteinsequenzen => Struktur Struktur => Funktion Grundannahme der Bioinformatik Gleiche Sequenzen gleiche Funktion Sehr ähnliche Sequenzen sehr ähnliche Funktion Etwas ähnliche Sequenzen verwandte Funktion? (Stimmt nicht immer) Comparative Genomics Ulf Leser: Bioinformatik für Biophysiker, Wintersemester 2006/2007 23

Standardvorgehen Gegeben: Eine frisch sequenzierte DNA Sequenz Annotationspipeline Suche nach ähnlichen Gensequenzen Suche nach ähnlichen Promotersequenzen Suche nach ähnlichen Proteinen (Übersetzung- Rückübersetzung) Vorhersage neuer Genen durch Programme (trainiert auf bekannten Gensequenzen) Suche nach ähnlichen Proteindomänen durch Programme (trainiert auf bekannten Proteindomänen)... Alternative: Experimentelle Überprüfung Teuer, auch nicht fehlerfrei Ethische / technische Machbarkeit Ulf Leser: Bioinformatik für Biophysiker, Wintersemester 2006/2007 24

Problemdimension Quelle: EMBL, Genome Monitoring Tables, Stand 9.11.2005 Ulf Leser: Bioinformatik für Biophysiker, Wintersemester 2006/2007 25

Strings und Matching - Problemklassen Ulf Leser: Bioinformatik für Biophysiker, Wintersemester 2006/2007 26

Problemklassen Exaktes Matching Gegeben:Strings P, T Gesucht: Alle Auftreten von P in T Variante: Gegeben P 1,...,P n, T: Vorkommen aller P i in T? Approximatives Matchen Gegeben: Strings S, T Gesucht: Wie ähnlich sind sich S und T? Variante: Ist P in T mit höchstens k Fehlern enthalten? Variante: Vorkommen von P in T mit Wildcards? Suche in Datenbanken Gegeben: Datenbank D von Sequenzen, String P Gesucht: Die k zu P ähnlichsten Sequenzen in D Ulf Leser: Bioinformatik für Biophysiker, Wintersemester 2006/2007 27

Exaktes Matching Gegeben: P (Pattern) und T (Text) Trivialerweise verlangen wir P T In der Regel nehmen wir an P << T Gesucht: Sämtliche Vorkommen von P in T Beispiel Auffinden der Erkennungssequenzen von Restriktionsenzymen Eco RV - GATATC tcagcttactaattaaaaattctttctagtaagtgctaagatcaagaaaataaattaaaaataatggaacatggcacattttcctaaactcttcacagattgctaatga ttattaattaaagaataaatgttataattttttatggtaacggaatttcctaaaatattaattcaagcaccatggaatgcaaataagaaggactctgttaattggtact attcaactcaatgcaagtggaactaagttggtattaatactcttttttacatatatatgtagttattttaggaagcgaaggacaatttcatctgctaataaagggattac atatttatttttgtgaatataaaaaatagaaagtatgttatcagattaaacttttgagaaaggtaagtatgaagtaaagctgtatactccagcaataagttcaaataggc gaaaaactttttaataacaaagttaaataatcattttgggaattgaaatgtcaaagataattacttcacgataagtagttgaagatagtttaaatttttctttttgtatt acttcaatgaaggtaacgcaacaagattagagtatatatggccaataaggtttgctgtaggaaaattattctaaggagatacgcgagagggcttctcaaatttattcaga gatggatgtttttagatggtggtttaagaaaagcagtattaaatccagcaaaactagaccttaggtttattaaagcgaggcaataagttaattggaattgtaaaagatat ctaattcttcttcatttgttggaggaaaactagttaacttcttaccccatgcagggccatagggtcgaatacgatctgtcactaagcaaaggaaaatgtgagtgtagact ttaaaccatttttattaatgactttagagaatcatgcatttgatgttactttcttaacaatgtgaacatatttatgcgattaagatgagttatgaaaaaggcgaatatat tattcagttacatagagattatagctggtctattcttagttataggacttttgacaagatagcttagaaaataagattatagagcttaataaaagagaacttcttggaat tagctgcctttggtgcagctgtaatggctattggtatggctccagcttactggttaggttttaatagaaaaattccccatgattgctaattatatctatcctattgagaa caacgtgcgaagatgagtggcaaattggttcattattaactgctggtgctatagtagttatccttagaaagatatataaatctgataaagcaaaatcctggggaaaatat tgctaactggtgctggtagggtttggggattggattatttcctctacaagaaatttggtgtttactgatatccttataaataatagagaaaaaattaataaagatgatat Ulf Leser: Bioinformatik für Biophysiker, Wintersemester 2006/2007 28

Zeichenketten Definition Ein String S ist eine von links nach rechts angeordnete Liste von Zeichen eines Alphabets Σ S ist die Länge des Strings Positionen in S sind 1,..., S Wir zählen ab 1 S[i] beschreibt das Zeichen an der Position i im String S S[i..j] ist der Substring, welcher an Position i beginnt und an Position j endet S[i..j] ist ein leerer String, falls i > j S[1..i] heißt Präfix von S bis zur Position i S[i..] ist das Suffix von S, welches an Position i beginnt Echte Präfixe und echte Suffixe umfassen nicht den gesamten String S und sind nicht leer Ulf Leser: Bioinformatik für Biophysiker, Wintersemester 2006/2007 29

Naiver Ansatz 1. P und T an Position 1 ausrichten 2. Vergleiche P mit T von links nach rechts Zwei ungleiche Zeichen Gehe zu 3 Zwei gleiche Zeichen P noch nicht durchlaufen Verschiebe Pointer nach rechts, gehe zu 2 P vollständig durchlaufen Merke Vorkommen von P in T 3. Verschiebe P um ein Zeichen nach rechts 4. Solange Startposition <= T - P, gehe zu 2 T P ctgagatcgcgta gagatc gagatc gagatc gagatc gagatc gatatc gatatc gatatc Ulf Leser: Bioinformatik für Biophysiker, Wintersemester 2006/2007 30

Naiver Ansatz (cont.) for i = 1 to T - P + 1 match := true; j := 1; while ((match) and (j <= P )) if (T(i + j - 1) <> P(j)) then match := false; else j := j + 1; end while; if (match) then -> OUTPUT i end for; Worst-case T P aaaaaaaaaaaaaa aaaaat aaaaat aaaaat aaaaat... Vergleiche : n * (m-n+1) => O(m*n) Ulf Leser: Bioinformatik für Biophysiker, Wintersemester 2006/2007 31

Optimierungsidee 1 Anzahl der Vergleiche reduzieren P um mehr als ein Zeichen verschieben Aber nie soweit, dass ein Vorkommen von P in T nicht erkannt wird Beobachtung: Zeichen T P xabxyabxyabxz abxyabxz abxyabxz abxyabxz Substring in T muss mit a beginnen Nächstes a in T erst an Position 6 springe 4 Positionen Vorkommen von Buchstaben in T kann während des Vergleichs ab Position 2 gelernt werden Ulf Leser: Bioinformatik für Biophysiker, Wintersemester 2006/2007 32