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