Professional Documents
Culture Documents
Lecture -04
Global Alignment
✓Dynamic Programming
Problems Sub-problems Optimal solution
How does dynamic programming work?
A divide-and-conquer strategy:
• Break the problem into smaller subproblems.
• Solve the smaller problems optimally.
• Use the sub-problem solutions to construct an optimal solution for
the original problem.
Dynamic Programming vs exhaustive search
✓ In Exhaustive search, all possible alignments is generally not feasible. As the
lengths of the sequences grow, the number of possible alignments to search
quickly becomes intractable or impossible to compute in a reasonable amount of
time. We can overcome this problem using dynamic programming.
✓Dynamic programming is used for optimal alignment of two sequences.
✓ It finds the alignment in a more quantitative way by giving some scores for
matches and mismatches (Scoring matrices), rather than only applying dots. By
searching the highest scores in the matrix, alignment can be accurately obtained.
✓ The Dynamic Programming solves the original problem by dividing the problem
into smaller independent sub problems.
✓ Needleman-Wunsch and Smith-Waterman algorithms for sequence alignment are
defined by dynamic programming approach.
Scoring matrices
• PAM Matrices: Margaret Dayhoff was the first one to develop the PAM matrix,
PAM stands for Point Accepted Mutations. PAM matrices are calculated by
observing the differences in closely related proteins. One PAM unit (PAM1)
specifies one accepted point mutation per 100 amino acid residues, i.e. 1% change
and 99% remains as such.
1. Create 2D matrix
2. Trace Back
3. Final Alignment