Bioinformatics (4) Sequence Analysis
figure NA1: Common & simple DNA2: the last 5000 generations Sequence Similarity and Homology
Alignments & Scores Global (e.g. haplotype) ACCACACA ::xx::x: ACACCATA Score= 5(+1) + 3(-1) = 2 Suffix (shotgun assembly) ACCACACA ::: ACACCATA Score= 3(+1) =3 Local (motif) ACCACACA :::: ACACCATA Score= 4(+1) = 4
"Hardness" of (multi-) sequence alignment Align 2 sequences of length N allowing gaps. ACCAC-ACA ACCACACA ::x::x:x: :xxxxxx: AC-ACCATA, A-----CACCATA, etc. 2N gap positions, gap lengths of 0 to N each: A naïve algorithm might scale by O(N 2N ). For N= 3x10 9 this is rather large. Now, what about k>2 sequences? or rearrangements other than gaps?
Increasingly complex (accurate) searches Exact (stringsearch) CGCG Regular expression (PrositeSearch) CGN{0-9}CG = CGAACG Substitution matrix (BlastN) CGCG ~= CACG Profile matrix (PSI-blast) CGc(g/a) ~ = CACG Gaps (Gap-Blast) CGCG ~= CGAACG Dynamic Programming (NW, SM) CGCG ~= CAGACG
Pearson WR Protein Sci 1995 Jun;4(6): Comparison of methods for searching protein sequence databases. Methods Enzymol 1996;266: Effective protein sequence comparison. Algorithm: FASTA, Blastp, Blitz Substitution matrix:PAM120, PAM250, BLOSUM50, BLOSUM62 Database: PIR, SWISS-PROT, GenPept Comparisons of homology scores
Scoring matrix based on large set of distantly related blocks: Blosum62
Scoring Functions and Alignments Scoring function: – (match) = +1; or substitution matrix – (mismatch) = -1; " – (indel) = -2; – (other) = 0. Alignment score: sum of columns. Optimal alignment: maximum score.
Calculating Alignment Scores
What is dynamic programming? A dynamic programming algorithm solves every subsubproblems just once and then saves its answer in a table, avoiding the work of recomputing the answer every time the subsubproblem is encountered. -- Cormen et al. "Introduction to Algorithms", The MIT Press.
Pairwise sequence alignment by the dynamic programming algorithm. The algorithm involves finding the optimal path in the path matrix. (a), which is equivalent to searching the optimal solution in the search tree (b). (a) Path Matrix(b) Search Tree AIMS A M O S Alignment AIM-S A-MOS Pruning by an optimization function XX
Methods for computing the optimal score in the dynamic programming algorithm (a ) the gap penalty is a constant. (b) the gap penalty is a linear function of the gap length. (a) (b) D i, j-l d D i-1, j D i-1, j-1 D i-1, j D i, j-l d w s(i), t(j) D i,j D i, j (2) b w s(i), t(j) D i,j (1) D i,j (3) b
Recursion of Optimal Global Alignments
Concepts of global and local optimality in the pairwise sequence alignment. The distinction is made as to how the initial values are assigned to the path matrix. (a) Global vs. Global (b) Local vs. Global X (c) Local vs. Local
Recursion of Optimal Local Alignments
The dynamic programming algorithm can be applied to limited areas, rather than to the entire matrix, after rapidly searching the diagonals that contain candidate markers. n 1 m m n +m -1 j 1 1 i l l
Computing Row-by-Row
Traceback Optimal Global Alignment
Local and Global Alignments
Time and Space Complexity of Computing Alignments
The order of computing matrix elements in the path matrix, which is suitable for (a) sequential processing and (b) parallel processing. (I, j -1) (i, j) (i +1, j-1) (i +1, j ) (i -1, j -1) (i -1, j ) (a) (i, j -2) (i, j -1) (i, j) (i+1, j -2) (i +1, j -1)(i -1, j -1) (i -1, j ) (b)
Time and Space Problems Comparing two one-megabase genomes. Space: –An entry: 4 bytes; –Table: 4 * 10^6 * 10^6 = 4 G bytes memory. Time: –1000 MHz CPU: 1M entries/second; –10^12 entries: 1M seconds = 10 days.
A Multiple Alignment of Immunoglobulins
A multiple alignment Dynamic programming on a hyperlattice From G. Fullen, 1996.
Computing a Node on Hyperlattice V S A