Bioinformatik für Biochemiker - Applied Bioinformatics Group
Transcription
Bioinformatik für Biochemiker - Applied Bioinformatics Group
Bioinformatik für Biochemiker Oliver Kohlbacher WS 2009/2010 15. Zusammenfassung Abt. Simulation biologischer Systeme WSI/ZBIT, Eberhard Karls Universität Tübingen Bioinformatik – Definition Bioinformatik verwendet Methoden der Mathematik, Statistik und Informatik zur Analyse und Interpretation von biologischen, biochemischen und biophysikalischen Daten. Bioinformatik Mathematik, Informatik Bio Lebenswissenschaften orm inf k ati Physik, Chemie 1 Bioinformatik – Gebiete • Sequenzbasierte Bioinformatik – – – – Assemblierung Sequenzsuche/-vergleich Comparative Genomics .... • Strukturelle Bioinformatik – Proteinstrukturvorhersage – Wirkstoffentwurf () Chemoinformatik) – ... • Biologische Informationssyteme – Datenintegration und biologische Datenbanksysteme – Modellierung biologischer Daten – … • Systembiologie – – – – Computational Proteomics Computational Metabolomics Biologische Netzwerke … • ... Algorithmen • Bevor man ein Programm schreibt, muss man wissen was der Rechner tun soll! • Die Beschreibung einer Methode zur Lösung der gegebenen Aufgabenstellung nennt man Algorithmus • Dementsprechend sind Kochrezepte oder Bedienungsanleitungen nichts anderes als Algorithmen • Ein Programm ist eine formale Umsetzung eines Algorithmus in einer Programmiersprache • Da Rechner nur Maschinencode ausführen können, sind Compiler oder Interpreter notwendig, die das Programm aus der Programmiersprache in Maschinencode umsetzen, der dann ausgeführt wird Algorithmen, Code, Rechner Programmcode Eingabedaten Compiler/ Interpreter Maschinencode Algorithmus Ausgabedaten 2 Betriebssystem, Shell und GUI • Jedes Programm (Applikation, “Befehl”) braucht eine Schnittstelle zum Rechner • Unterste Schnittstelle: Betriebssystem • Betriebssystem stellt Applikationen (Programmen, “Befehlen”) Grundfunktionalität zur Verfügung – Verwaltung von Dateien – Zugriff auf Benutzerdaten Programm Betriebssystem Rechner (Hardware) Python – Schleifen • Python kennt For-Schleifen, bei denen eine Schleifenvariable eine Folge von Werten durchläuft und für jeden dieser Werte der Rumpf ausgeführt wird • Der Kopf definiert dabei die Schleifenvariable und die möglichen Werte • Der Rumpf wird vom Kopf durch Einrückung unterschieden • Der Rumpf kann eine oder mehrere Zeilen Code enthalten • Die Funktion range(Wert) erzeugt dabei eine Liste von Wert Zahlen, die bei 0 anfangen und jeweils um eins erhöht werden for i in range(10): print i • Dieses kurze Programm gibt dementsprechend die Zahlen von 0 bis 9 aus Laufzeitanalyse for i in range(n): for j in range(n): for k in range(n): a = a + … for a for a for a i = i = i = in range(n): a + … in range(5*n): a + … in range(10*n): a + … • Möchte man die Laufzeit zweier Programme analysieren, so „zählt“ man üblicherweise die Rechenoperationen die auszuführen sind. • Interessant ist dabei der Vergleich, wie die Zahl mit der Größe der Eingabe (z.B. Sequenzlänge n variiert) • In den obigen Beispielen können wir zum Beispiel die Anzahl der Additionen („a = a + …“) betrachten. Beispiel: n=3 n = 20 Links: 3 * 3 * 3 = 27 Additionen 20 * 20 * 20 = 8000 Rechts: 3 + 15 + 30 = 48 Additionen 20 + 100 + 200 = 320 3 O-Notation • Die O-Notation sagt nichts darüber aus, ob eine bestimmte Problemgröße mit einem Algorithmus lösbar ist! • Statt dessen trifft sie eine Aussage darüber, wie der Algorithmus beim Übergang zu immer größeren Probleminstanzen skaliert • Algorithmen mit besserer Komplexität können (und sind es auch oft) für sehr kleine Probleminstanzen langsamer sein Strings und Sequenzen • Formale Definitionen • Sequenzdatenbanken • Einige Grundbegriffe der Informatik • Alignments – Definition – Distanzfunktionen – Dotplots Strings und Sequenzen Definition: Ein Alphabet Σ ist eine endliche Menge von Zeichen. Sequenzen sind Zeichenreihen über Σ. Dabei ist: Σ0 := {ε} (ε steht für die leere Sequenz) Σn ist die Menge aller Worte der Länge n auf Σ Σn+1 := {aA | a 2 Σ, A 2 Σn} Σ* ist die Menge aller Sequenzen (aller Längen) über Σ. Beispiel: DNA-Sequenzen sind definiert über dem Alphabet ΣDNA = {A,C,G,T} Protein-Sequenzen sind definiert über ΣP = {A,C,D,E,F,G,H,I,K,L,M,N,P,Q,R,S,T,V,W,Y} 4 Alignment mit DP • Alignmentalgorithmen – Trivial – Dyn. Programmierung • Scoringmatrizen • Begriff der Komplexität • Implementierung • Tools – Alignments – Dotplots Merkl, Waack, Bioinformatik interaktiv Ähnlichkeit und Distanz • Wie kann man die Ähnlichkeit zweier Sequenzen beschreiben? • Einfachste Möglichkeit: „Zählen“ identischer Zeichen GATCGTTCG || ||| CATGGTTGA • Problem: Was bei Sequenzen unterschiedlicher Länge? GATCGTTCG GATCGTTCG GATCGTTCG ||| | ||| | ---GGTTGA G---GTT-GA -GGTTGA-Ähnlichkeit: (Anzahl Matches) 3 5 0 Analog die Distanz (Anzahl Mismatches): 6 5 9 Alignments • Beispiel: Berechnen des Scores zweier Alignments von A = ACGTAGTAGCA und B = ACTTAGTACGT ACGTAGTAGC-A ACGTAGTA-GCA || | ||| | | || | || | | ACTT-GTACGTA ACTTG-TACGTA Beobachtung: Die Alignments der Präfixe der Länge vier von A und B sind identisch. Damit auch die Scores der Alignments dieser Präfixe. ) Wir berechnen die Scores vieler Teilalignments immer wieder! Idee: Merke die besten Scores dieser Teilalignments und berechne sie nicht ständig neu. 5 Dynamische Programmierung • Die 0. Spalte/Zeile der Matrix beschreibt Alignments die mit einem Gapzeichen beginnen • Gemäß unserer Überlegung über Präfixalignments gilt für die Matrixelemente: Beispiel: • A = ACGT, m = 4 • B = AGC, n = 3 - A G C D0,0 A • Damit ergibt sich der Inhalt einer Zelle der Matrix aus den Werten der drei Nachbarzellen links, oben und links oben C G T Dm,n Dynamische Programmierung • Traceback der T-Matrix – Diagonal: Matche zwei Zeichen – Horizontal: matche Zeichen aus B mit Gap – Vertikal: matche Zeichen aus A mit Gap Beispiel: • A = ACGT, m = 4 • B = AGC, n = 3 - A G C - 0 1 2 3 A 1 0 1 2 C 2 1 1 1 G 3 2 1 2 T 4 3 2 2 • Beispiel: Diagonal von (1,1) nach (0,0) ACGT A-GC Datenbanken - Definition Datenbank (DB): eine Datensammlung, die nach bestimmten Kriterien organisiert ist. 6 ENTREZ BLAST – w-mere • Für jede Anfrage S konstruiert BLAST zunächst eine Liste aller in S vorkommenden w-mere, dann eine Liste aller dazu ähnlichen w-mere (gemäß Scoringmatrix) • Nach diesen w-meren wird dann in D gesucht • Da keine Gaps zugelassen werden und nur direkte Identität mit sehr kurzen Sequenzen getestet werden muss, geht dies sehr schnell S w-mere aus S Treffer in D Ähnliche k-mere Treffer in D Datenbanksequenz D BLAST-Ausgabe BLASTP 2.2.8 [Jan-05-2004] Reference: Altschul, Stephen F., Thomas L. Madden, Alejandro A. Schaffer, Jinghui Zhang, Zheng Zhang, Webb Miller, and David J. Lipman (1997), "Gapped BLAST and PSI-BLAST: a new generation of protein database search programs", Nucleic Acids Res. 25:3389-3402. Query= 1HSO:B CLASS I ALCOHOL DEHYDROGENASE 1, ALPHA SUBUNIT (374 letters) Database: Arabidopsis_chr1.fasta 7493 sequences; 3,192,001 total letters Searching...............done 7 Problemdefinition Multiples Sequenzalignment (MSA, multiple sequence alignment, Profil) • Gegeben: k Sequenzen • Gesucht: – Alignment aller k Sequenzen – Möglichst optimal bezüglich einer Distanz- oder Scoringfunktion WIN1_SOLTU HEVE_HEVBR CHIX_PEA CHI2_ORYSA CHI1_ORYSA AGI_URTDI AQQCGRQKGGALCSGNLCCSQFGWCGSTPEFCSPSQGCQSRC AEQCGRQAGGKLCPNNLCCSQWGWCGSTDEYCSPDHNCQSNC AEQCGSQAGGAVCPNGLCCSKFGFCGSTDPYCGD..GCQSQC AEQCGSQAGGAVCPNCLCCSQFGWCGSTSDYCGA..GCQSQC GEQCGSQAGGALCPNCLCCSQYGWCGSTSDYCGA..GCQSQC AQRCGSQGGGGTCPALWCCSIWGWCGDSEPYCGR..TCENKC Anwendung – Strukturkonservierung WIN1_SOLTU HEVE_HEVBR CHIX_PEA CHI2_ORYSA CHI1_TOBAC HEVL_ARATH CHIT_DIOJA CHIP_BETVU CHIA_MAIZE AGI1_WHEAT AGI_ORYSA AGI_URTDI AQQCGRQKGGALCSG.NLCCSQFGWCGSTPEFCSPSQGCQ.SRC AEQCGRQAGGKLCPN.NLCCSQWGWCGSTDEYCSPDHNCQ.SNC AEQCGSQAGGAVCPN.GLCCSKFGFCGSTDPYCGD..GCQ.SQC AEQCGSQAGGAVCPN.CLCCSQFGWCGSTSDYCGA..GCQ.SQC AEQCGSQAGGARCPS.GLCCSKFGWCGNTNDYCGPG.NCQ.SQC GQQCGRQGGGRTCPG.NICCSQYGYCGTTADYCSPTNNCQ.SNC .QNCQ.......CDTTIYCCSQHGYCGNSYDYCGP..GCQAGPC AQNCG.......CAP.NLCCSNFGFCGTGTPYCGVG.NCQSGPC AQNCG.......CQP.NFCCSKFGYCGTTDAYCGD..GCQSGPC AQRCGEQGSNMECPN.NLCCSQYGYCGMGGDYCGK..GCQNGAC AQTCGKQNDGMICPH.NLCCSQFGYCGLGRDYCGT..GCQSGAC AQRCGSQGGGGTCPA.LWCCSIWGWCGDSEPYCGR..TCE.NKC „One or two homologous sequences whisper … a full multiple sequence alignment shouts out loud.“ (Arthur Lesk, 1996) CLUSTALW – Überblick S1 S2 S1 D1,2 D1,3 S2 . . . S3 S4 D1,2 - D1,3 D2,3 - D1,4 D2,4 D3,4 - • • • • Globales Alignment Distanzmatrix Konstruktion eines Leitbaums Profilalignment entlang des Baums 8 Sequenzlogos • Profile lassen sich auf einfache Weise mit Hilfe sogenannter Sequenzlogos visualisieren • Dabei zeichnet man an jeder Position der Sequenz die möglichen Buchstaben, wobei die Buchstabenhöhe proportional zum Informationsgehalt ist • Dadurch lassen sich die motivrelevanten Teile des Profils direkt ablesen • Beispiel: TATA-BoxSequenzen aus Hefe http://www.lecb.ncifcrf.gov/~toms/sequencelogo.html Protein-Strukturvorhersage Problemdefinition: Gegeben Sequenz, finde Struktur ...LGFCYWS... Proteinstruktur – Überblick Primärstruktur Sequenz: ...LGFCYWS... Sekundärstruktur Tertiärstruktur Quartärstruktur 9 PDB – Der erste Eintrag! PDB-Format Beispiel: ATOM-Records für VAL ATOM ATOM ATOM ATOM ATOM ATOM ATOM ATOM ATOM ATOM ATOM ATOM ATOM ATOM 1 2 3 4 5 6 7 8 9 10 11 12 13 14 N CA C O CB CG1 CG2 N CA C O CB CG CD1 VAL VAL VAL VAL VAL VAL VAL LEU LEU LEU LEU LEU LEU LEU 1 1 1 1 1 1 1 2 2 2 2 2 2 2 Record- Nummer + Name + typ Name des Nummer Atoms des Rests -2.900 -3.600 -3.000 -3.700 -3.500 -2.100 -4.600 -1.700 -.900 -1.000 -.900 .600 1.100 .400 X 17.600 16.400 15.300 14.700 16.000 15.700 14.900 15.100 14.100 13.900 14.900 14.200 14.300 15.500 15.500 15.300 16.200 17.000 13.800 13.300 13.400 16.000 16.700 18.300 19.000 16.500 15.100 14.400 Röntgenstrukturen 1.00 0.00 2 1MBN 72 enthalten nur Schweratome 1.00 0.00 2 1MBN 73 1.00 (VAL) 0.00enthält 2 1MBN Valin dann74 1.00 0.00 75 sieben Atome: 22 1MBN 1.00 0.00 1MBN 76 0.00 2 1MBNP N,1.00 CA, C, O – Rückgrat 1.00 0.00 2 1MBNL 4 8 1.00 0.00 1MBN 79 CB, CG1, CG2 –1Seitenkette 1.00 1.00 1.00 1.00 1.00 1.00 0.00 0.00 0.00 0.00 0.00 0.00 1 1 1MBN 1MBN 1MBN 1MBN 1MBN 1MBNL 80 81 82 83 84 9 Z Y Koordinaten BALLView 10 Methoden SequenzSuche Sek.-Strukt.Vorhersage SekundärStruktur Sequenz SequenzDB Homologe Alignment/ Profilkonstr. Mult. Alignment + Profile Ab-initioVorhersage FoldErkennung Threading Modell Modellierung/ Verfeinerung Verfeinertes Modell Nach: Zimmer, Lengauer: Bioinformatics – From Genomes to Drugs, Wiley VCH, 2001 Sekundärstruktur-Vorhersage KVYGRCELAAAMKRLGLDNYRGYSLGNWVC AAKFESNFNTHATNRNTDGSTDYGILQINS RWWCNDGRTPGSKNLCNIPCSALLSSDITA SVNCAKKIASGGNGMNAWVAWRNRCKGTDV HAWIRGCRL • SekundärstrukturZuordnung definiert Topologie des Proteins • Packung der Sekundärstrukturen im Raum definiert Faltungsklasse H1 H2 ` 1 ` A ` A ` A ` ` 1lzy 2 KVYGR C E L AAAMKR L G L DNYRGY S L GNWVCAAK F E S N F N T HA T NRN T DG S T DYG I L Q I N S 5 ` 10 15 ` ` ` 3 20 H3 4 25 ` 3 30 H4 35 40 ` 45 H5 50 H6 4 55 ` 60 a H7 2 RWWCNDGR T P G S KN L CN I P C S A L L S S D I T A S VNCAKK I A S GGNGMNAWVAWRNR CKG T DV 65 ` 70 75 80 85 90 95 100 105 110 115 120 1 HAW I RGC R L 125 • Wichtiger Anhaltspunkt für Tertiärstruktur Residue interactions:- with ligand Nichtlokalität Selbe Sequenz bildet unterschiedliche Sekundärstrukturen aus: Val-Asn-Thr-Phe-Val in 1ECN (80-84) und 9RSA (43-47) 1ECN 9RSA 11 Threading ...LGFCYWS... ...ILVGCIL... Gesucht Zuordnung der Zielsequenz zu Positionen in der Schablonenstruktur ) Sequenz-Struktur-Alignment CCP vs. CP Lengauer, Zimmer, In: Bioinformatics: From Genomes to Drugs, T. Lengauer (Hrsg.), Wiley, 2002 Beispiel Grau: 1IVM Gelb: 1IVM gethreaded auf 1LZY Blau: 1LZY Gelb: 1IVM gethreaded auf 1LZY 12 ROSETTA • Modell – Torsionswinkelraum, reduziert auf Fragmente – Seitenketten auf Cβ reduziert • Potenzialfunktion – Wahrscheinlichkeitsbasiert (Bayes-Ansatz) • Algorithmus – Simulated Annealing: MMC mit linear sinkender Temperatur – Feste Anzahl Schritte (10000) ROSETTA – Ergebnisse CASP5 Loop-Datenbanken • Clustering liefert große Zahl sehr ähnlicher Fragmente • Cluster werden üblicherweise auf einzelne Repräsentanten reduziert • Methoden – Hierarchisches Clustering – Nächste Nachbarn Fechteler, Dengler, Schomburg, J. Mol. Biol. (1995), 253, 114-131 13 Rotamere • Torsionswinkel werden nicht unabhängig voneinander angenommen • Es existieren ausgezeichnete Winkelbereiche die Konformeren im Torsionsraum entsprechen • Da diese Konformere durch Rotation um Torsionswinkel entstehen, nennt man sie Rotamere Rotamere von LYS • Rotamere: Seitenkettenkonformationen minimaler Energie Was Ihnen vorenthalten wurde… • Sequenzanalyse – – – – – Assemblierung von Genomen Genomvergleich RNA-Struktur Metagenomik … • Expressionsanalyse – Transkriptomik (Microarrays) – Proteomik – … • Systembiologie – – – – • Strukturbioinformatik – – – – Proteinähnlichkeit Molecular Modeling Wirkstoffentwurf Protein-Protein Interaktionen – … • Sonstiges – Immunoinformatik – Populationsdynamik – … Regulatorische Netzwerke Interaktomik Metabolomik … Weiterführende Veranstaltungen • Vorlesung „Informatik I + II“ (WS/SS) • Vorlesungen „Drug Design 1“ und „Drug Design 2“ (WS 10/11, SS 11, Englisch) • Vorlesung „Computational Immunomics“ (SS 10, Englisch) • Praktikum „Applied Structure-Based Drug Design“ (Blockprakt., jedes Semester) • Vorlesung Grundlagen der Bioinformatik (jedes SS) • Vorlesung Bioinformatik I + II (WS/SS) • Praktikum Datenintegration (Blockprakt.) 14