Lecture 5 Dynamic Programming. Dynamic Programming Self-reducibility.
Dynamic Programming (DP)
description
Transcript of Dynamic Programming (DP)
Dynamic Programming (DP)
• Three Steps: Initialization Matrix fill (scoring) Traceback (alignment)
• Global Alignment: Needleman-Wunsch
• Local Alignment: Smith-Waterman
• G A A T T C A G T T A (sequence #1)
• G G A T C G A (sequence #2)
http://www.avatar.se/molbioinfo2001/dynprog/dynamic.html
DP (Initialization)
• Create N+1 by M+1 Matrix
• M = Seq1 length = 11
• N = Seq2 length = 7
• Assuming no gap opening penalty, 0’s fill the first row and column
G A A T T C A G T T A (Seq1) G G A T C G A (Seq2)http://www.avatar.se/molbioinfo2001/dynprog/dynamic.html
DP (Scoring)
Simple Scoring Scheme
• Si,j = 1 (Match)
• Si,j = 0 (Mismatch)
• w = 0 (Gap)
http://www.avatar.se/molbioinfo2001/dynprog/dynamic.html
DP (Scoring)
Si,j = 1 (Match), Si,j = 0 (Mismatch), w = 0 (Gap)
F(i,j) = maxF(i-1, j-1) + s(xi, yi)F(i-1, j) - wF(i, j-1) - w
F(i,j)F(i-1, j)
F(i, j-1)F(i-1, j-1)
- w
- w
s(xi, yi)
http://www.avatar.se/molbioinfo2001/dynprog/dynamic.html
DP (Scoring)
Si,j = 1 (Match), Si,j = 0 (Mismatch), w = 0 (Gap)
F(i,j) = maxF(i-1, j-1) + s(xi, yi)F(i-1, j) - wF(i, j-1) - w
F(i,j)F(i-1, j)
F(i, j-1)F(i-1, j-1)
- w
- w
s(xi, yi)
http://www.avatar.se/molbioinfo2001/dynprog/dynamic.html
DP (Scoring)
Si,j = 1 (Match), Si,j = 0 (Mismatch), w = 0 (Gap)
F(i,j) = maxF(i-1, j-1) + s(xi, yi)F(i-1, j) - wF(i, j-1) - w
F(i,j)F(i-1, j)
F(i, j-1)F(i-1, j-1)
- w
- w
s(xi, yi)
http://www.avatar.se/molbioinfo2001/dynprog/dynamic.html
DP (Scoring)
Si,j = 1 (Match), Si,j = 0 (Mismatch), w = 0 (Gap)
F(i,j) = maxF(i-1, j-1) + s(xi, yi)F(i-1, j) - wF(i, j-1) - w
F(i,j)F(i-1, j)
F(i, j-1)F(i-1, j-1)
- w
- w
s(xi, yi)
http://www.avatar.se/molbioinfo2001/dynprog/dynamic.html
DP (Scoring)
Completed Matrix
F(i,j) = maxF(i-1, j-1) + s(xi, yi)F(i-1, j) - wF(i, j-1) - w
F(i,j)F(i-1, j)
F(i, j-1)F(i-1, j-1)
- w
- w
s(xi, yi)
http://www.avatar.se/molbioinfo2001/dynprog/dynamic.html
DP (Traceback)
G A A T T C A G T T A (Seq1) G G A T C G A (Seq2)
http://www.avatar.se/molbioinfo2001/dynprog/dynamic.html
DP (Traceback)
G A A T T C A G T T A (Seq1) G G A T C G A (Seq2)
Seq1 A |Seq2 A
http://www.avatar.se/molbioinfo2001/dynprog/dynamic.html
DP (Traceback)
Seq1 T A |Seq2 _ A
G A A T T C A G T T A (Seq1) G G A T C G A (Seq2)
http://www.avatar.se/molbioinfo2001/dynprog/dynamic.html
DP (Traceback)
Seq1 T T A |Seq2 _ _ A
G A A T T C A G T T A (Seq1) G G A T C G A (Seq2)
http://www.avatar.se/molbioinfo2001/dynprog/dynamic.html
DP (Traceback)
Seq1 G A A T T C A G T T A | | | | | | Seq2 G G A _ T C _ G _ _ A
G A A T T C A G T T A (Seq1) G G A T C G A (Seq2)
http://www.avatar.se/molbioinfo2001/dynprog/dynamic.html
DP (Traceback)
Alternative:
Seq1 G _ A A T T C A G T T A | | | | | | Seq2 G G _ A _ T C _ G _ _ A
G A A T T C A G T T A (Seq1) G G A T C G A (Seq2)
http://www.avatar.se/molbioinfo2001/dynprog/dynamic.html
Basic Local Alignment Search Tool (BLAST)
Heuristic Method
BLAST
BLAST
BLAST
BLAST
What can we search and compare?
DNA vs DNA
Protein vs Protein
DNA vs Protein
Protein vs DNA
Reading Frames
The best BLAST program