Download presentation

Presentation is loading. Please wait.

Published byIrvin Esterbrook Modified over 2 years ago

1
Bioinformatics (4) Sequence Analysis

2
figure NA1: Common & simple DNA2: the last 5000 generations Sequence Similarity and Homology

3
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

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?

5
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

6
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

7
Scoring matrix based on large set of distantly related blocks: Blosum62

8
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.

9
Calculating Alignment Scores

10
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.

11
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

12
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

13
Recursion of Optimal Global Alignments

14
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

15
Recursion of Optimal Local Alignments

16
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

17
Computing Row-by-Row

18
Traceback Optimal Global Alignment

19
Local and Global Alignments

20
Time and Space Complexity of Computing Alignments

21
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)

22
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.

23
A Multiple Alignment of Immunoglobulins

24
A multiple alignment Dynamic programming on a hyperlattice From G. Fullen, 1996.

25
Computing a Node on Hyperlattice V S A

Similar presentations

© 2016 SlidePlayer.com Inc.

All rights reserved.

Ads by Google