MIT6_047f08_lec03_note03

MIT6_047f08_lec03_note03 - MIT OpenCourseWare...

Info iconThis preview shows pages 1–4. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: MIT OpenCourseWare http://ocw.mit.edu 6.047 / 6.878 Computational Biology: Genomes, Networks, Evolution Fall 2008 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms . 6.047/6.878 Lecture 3- Rapid Sequence Alignment and Database Search September 11, 2008 Last lecture we saw how to use dynamic programming to compute sequence alignments in O ( n 2 ) time. In particular, we considered performing so-called global alignment , in which we want to match one entire sequence with another entire sequence. The goal of such alignments is to be able to infer evolutionary events such as point mutations, insertions, deletions, etc. In this lecture, we shall look at why and how we might want to do a local alignment rather than global alignment and how to transform Needleman-Wunsch algorithm for global alignment into Smith-Waterman algorithm for local alignments. We then look at O ( n ) algorithms for exact string matching followed by the BLAST algorithm and inexact matching. 1 Global alignment vs. Local alignment When finding a global alignment, we try to align two entire sequences. For example, we might match one gene against another gene. However, this may not always be what we want. Perhaps we want to align a gene against a whole cluster of genes, thus finding a similar gene within the cluster. Alternatively, a long sequence might be rearranged or otherwise only partly conserved. In practice, we shall be looking for regions of homology and similarity within the genes. Therefore, local alignment methods become handy. Formally, a local alignment of strings s and t is an alignment of a substring of s with a substring of t . 1.1 Using Dynamic Programming for local alignments In this section we will see how to find local alignments with a minor modification of Needleman- Wunsch algorithm that we discussed last time for finding global alignments. To find global alignments: 1 Figure 1: Local Alignments Initialization : F ( i, 0) = 0 0 F ( i 1 , j ) d Iteration : F ( i, j ) = max F ( i, j 1) d F ( i 1 , j 1) + s ( x i , y j ) Termination : Bottom right To find local alignments, we should be able to skip nucleotides just to get to the segment of interest. Thus, we allow the algorithm to start and stop anywhere with no penalty: Initialization : F ( i, 0) = 0 F (0 , j ) = 0 0 F ( i 1 , j ) d Iteration : F ( i, j ) = max F ( i, j 1) d F ( i 1 , j 1) + s ( x i , y j ) Termination : Anywhere Another variation of alignments is semi-global alignment. The algorithm is as following: Initialization : F ( i, 0) = 0 0 F ( i 1 , j ) d Iteration : F ( i, j ) = max F ( i, j 1) d F ( i 1 , j 1) + s ( x i , y j ) Termination : Right Column Sometimes it can be costly in both time and space to run these alignment algorithms....
View Full Document

Page1 / 9

MIT6_047f08_lec03_note03 - MIT OpenCourseWare...

This preview shows document pages 1 - 4. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online