Ch. 1Sequence Alignment
9/08Course introductionSlides
9/13Edit graphs, principle of optimality, introduction to the alignment algorithmSlides, Notes, Board
9/15Global alignment algorithm, scoring function, dynamic programming tableNotes, Board
9/20Runtime of global alignment, local alignment algorithmNotes, Board
9/22Runtime of local alignment, gapped alignmentNotes, Board
9/27Global alignment with linear vs. affine gapsNotes, Board
9/29Dijkstra's algorithm, example of affine gap alignmentNotes, Board, Example
10/04Markov chains, sequence homology, protein alignment, information theoryNotes
10/06Guest lecture by Professor Neil SarkarSlides
Ch. 2Combinatorial Pattern Matching
10/11Deterministic finite automata for pattern matchingNotes, Board
10/13The failure functionNotes, Board
10/18Computing the failure functionNotes, Board
10/20Regular expressions and deterministic finite automataNotes, Board
10/25More on regular expressions
11/01Introduction to suffix trees and the notion of preprocessingNotes
11/03Constructing suffix trees, space and time analysis of suffix treesNotes
11/08Linear space suffix trees, introduction to phylogenyNotes, Slides
Ch. 3Phylogenetic Trees
11/10The UPGMA algorithmNotes, Reading
11/15The neighbor joining algorithm, phylogenetic footprintingNotes, Slides
Ch. 4Hidden Markov Models (HMMs)
11/17Review of Markov chains, introduction to HMMsNotes, Reading
11/22HMMs as generative models, the evaluation problem, the forward algorithmNotes
11/29The forward algorithm for evaluation, the Viterbi algorithm for decodingNotes
Ch. 5Genome Assembly
12/01Introduction to the genome assembly problemNotes, Slides
12/06De Bruijn graphs, the Idury-Waterman algorithimNotes