Tue Sep 18 Intro 1: Computing, statistics, Perl, Mathematica Tue Sep 25 Intro 2: Biology, comparative genomics, models & evidence, applications Tue Oct 02 DNA 1: Polymorphisms, populations, statistics, pharmacogenomics, databases Tue Oct 09 DNA 2: Dynamic programming, Blast, multi-alignment, HiddenMarkovModels Tue Oct 16 RNA 1: Microarrays, library sequencing & quantitation concepts Tue Oct 23 RNA 2: Clustering by gene or condition, DNA/RNA motifs. Tue Oct 30 Protein 1: 3D structural genomics, homology, dynamics, function & drug design Tue Nov 06 Protein 2: Mass spectrometry, modifications, quantitation of interactions Tue Nov 13 Network 1: Metabolic kinetic & flux balance optimization methods Tue Nov 20 Network 2: Molecular computing, self-assembly, genetic algorithms, neural-nets Tue Nov 27 Network 3: Cellular, developmental, social, ecological & commercial models Tue Dec 04 Project presentations Tue Dec 11 Project Presentations Tue Jan 08 Project Presentations Tue Jan 15 Project Presentations Bio 101: Genomics & Computational Biology
DNA1: Last week's take-home lessons Types of mutants Mutation, drift, selection Binomial & exponential dx/dt = kx Association studies 2 statistic Linked & causative alleles Alleles, Haplotypes, genotypes Computing the first genome, the second... New technologies Random and systematic errors
DNA2: Today's story and goals zMotivation and connection to DNA1 zComparing types of alignments & algorithms z Dynamic programming zMulti-sequence alignment zSpace-time-accuracy tradeoffs zFinding genes -- motif profiles zHidden Markov Model for CpG Islands
DNA 2 figure Intro2: Common & simple DNA1: the last 5000 generations
Applications of Dynamic Programming zTo sequence analysis yShotgun sequence assembly yMultiple alignments yDispersed & tandem repeats yBird song alignments yGene Expression time-warping zThrough HMMs yRNA gene search & structure prediction yDistant protein homologies ySpeech recognition
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
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 Hidden Markov Models (HMMER) WU
"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?
Separate Training set and Testing sets Need databases of non-redundant sets. Need evaluation criteria (programs) Sensistivity and Specificity (false negatives & positives) sensitivity (true_predicted/true) specificity (true_predicted/all_predicted) Where do training sets come from? More expensive experiments: crystallography, genetics, biochemistry Testing search & classification algorithms
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
Switch to protein searches when possible M Adjacent mRNA codons F 3’ uac 5'... aug 3’aag uuu...
A Multiple Alignment of Immunoglobulins
Scoring matrix based on large set of distantly related blocks: Blosum62
Scoring Functions and Alignments zScoring function: y (match) = +1; y (mismatch) = -1; y (indel) = -2; y (other) = 0. zAlignment score: sum of columns. zOptimal alignment: maximum score. } substitution matrix
Calculating Alignment Scores
DNA2: Today's story and goals zMotivation and connection to DNA1 zComparing types of alignments & algorithms z Dynamic programming zMulti-sequence alignment zSpace-time-accuracy tradeoffs zFinding genes -- motif profiles zHidden Markov Model for CpG Islands
What is dynamic programming? A dynamic programming algorithm solves every subsubproblem 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.
Recursion of Optimal Global Alignments
Recursion of Optimal Local Alignments
Computing Row-by-Row min =
Traceback Optimal Global Alignment
Local and Global Alignments
Time and Space Complexity of Computing Alignments
Space & Time Considerations zComparing two one-megabase genomes. zSpace: yAn entry: 4 bytes; yTable: 4 * 10^6 * 10^6 = 4 Terabytes memory (one row at a time) zTime: y1000 MHz CPU: 1M entries/second; y10^12 entries: 1M seconds = 10 days.
Time & Space Improvement for w-band Global Alignments zTwo sequences differ by at most w bps (w<<n). zw-band algorithm: O(wn) time and space. zExample: w=3.
Summary zDynamic programming zStatistical interpretation of alignments zComputing optimal global alignment zComputing optimal local alignment zTime and space complexity zImprovement of time and space zScoring functions
DNA2: Today's story and goals zMotivation and connection to DNA1 zComparing types of alignments & algorithms z Dynamic programming zMulti-sequence alignment zSpace-time-accuracy tradeoffs zFinding genes -- motif profiles zHidden Markov Model for CpG Islands
A Multiple Alignment of Immunoglobulins
A multiple alignment Dynamic programming on a hyperlattice From G. Fullen, 1996.
Multiple Alignment vs Pairwise Alignment Optimal Multiple AlignmentNon-Optimal Pairwise Alignment
Computing a Node on Hyperlattice V S A k=3 2 k –1=7
Challenges of Optimal Multiple Alignments zSpace complexity (hyperlattice size): O(n k ) for k sequences each n long. zComputing a hyperlattice node: O(2 k ). zTime complexity: O(2 k n k ). zFind the optimal solution is exponential in k (non-polynomial, NP-hard).
Methods and Heuristics for Optimal Multiple Alignments zOptimal: dynamic programming yPruning the hyperlattice (MSA) zHeuristics: ytree alignments(ClustalW) ystar alignments ysampling (Gibbs) ylocal profiling with iteration (PSI-Blast,...)
ClustalW: Progressive Multiple Alignment All Pairwise Alignments Cluster Analysis Similarity Matrix Dendrogram From Higgins(1991) and Thompson(1994).
Star Alignments Pairwise Alignment Find the Central Sequence s 1 Pairwise Alignment Multiple Alignment Combine into Multiple Alignment
DNA2: Today's story and goals zMotivation and connection to DNA1 zComparing types of alignments & algorithms z Dynamic programming zMulti-sequence alignment zSpace-time-accuracy tradeoffs zFinding genes -- motif profiles zHidden Markov Model for CpG Islands
What is distinctive ?Failure to find edges? 0. Promoters & CGs islandsVariety & combinations 1. Preferred codonsTiny proteins (& RNAs) 2. RNA splice signals Alternatives & weak motifs 3. Frame across splicesAlternatives 4. Inter-species conservationGene too close or distant 5. cDNA for splice edgesRare transcript Accurately finding genes & their edges
Annotated "Protein" Sizes in Yeast & Mycoplasma x = "Protein" size in #aa % of proteins at length x Yeast
Predicting small proteins (ORFs) min max Yeast
Mutations in domain II of 23 S rRNA facilitate translation of a 23 S rRNA-encoded pentapeptide conferring erythromycin resistance. Dam et al J Mol Biol 259:1-6 Trp (W) leader peptide, 14 codons: MKAIFVLKGWWRTS Phe (F) leader peptide, 15 codons: MKHIPFFFAFFFTFP His (H) leader peptide, 16 codons: MTRVQFKHHHHHHHPD Small coding regions STOP
Motif Matrices a a t g c a t g g a t g t g t g a c g t Align and calculate frequencies. Note: Higher order correlations lost.
Protein starts GeneMark
Motif Matrices a a t g = 12 c a t g = 12 g a t g = 12 t g t g = 10 a c g t Align and calculate frequencies. Note: Higher order correlations lost. Score test sets: a c c c = 1
DNA2: Today's story and goals zMotivation and connection to DNA1 zComparing types of alignments & algorithms z Dynamic programming zMulti-sequence alignment zSpace-time-accuracy tradeoffs zFinding genes -- motif profiles zHidden Markov Model for CpG Islands
Why probabilistic models in sequence analysis? z Recognition - Is this sequence a protein start? z Discrimination - Is this protein more like a hemoglobin or a myoglobin? z Database search - What are all of sequence in Swiss-prot that look like a serine protease?
A Basic idea Assign a number to every possible sequence such that s P(s|M) = 1 P(s|M) is a probability of sequence s given a model M.
Sequence recognition Recognition question - What is the probability that the sequence s is from the start site model M ? P(M|s) = P(M)* P(s|M) / P(s) (Bayes' theorem) P(M) and P(s) are prior probabilities and P(M|s) is posterior probability.
Database search z N = null model (random bases or AAs) z Report all sequences with logP(s|M) - logP(s|N) > logP(N) - logP(M) Example, say hydrolase fold is rare in the database, about 10 in 10,000,000. The threshold is 20 bits. If considering 0.05 as a significant level, then the threshold is = 24.4 bits.
C rare due to lack of uracil glycosylase (cytidine deamination) TT rare due to lack of UV repair enzymes. CG rare due to 5methylCG to TG transitions (cytidine deamination) AGG rare due to low abundance of the corresponding Arg-tRNA. CTAG rare in bacteria due to error-prone "repair" of CTAGG to C*CAGG. AAAA excess due to polyA pseudogenes and/or polymerase slippage. AmAcid Codon Number /1000 Fraction Arg AGG Arg AGA Arg CGG Arg CGA Arg CGT Arg CGC ftp://sanger.otago.ac.nz/pub/Transterm/Data/codons/bct/Esccol.cod Plausible sources of mono, di, tri, & tetra- nucleotide biases
C+ A+ G+ T+ P(G+|C+) > P(A+|A+) CpG Island + in a ocean of - First order Markov Model MM=16, HMM= 64 transition probabilities (adjacent bp) C- A- G- T- P(C-|A+)> Hidden
Estimate transistion probabilities -- an example Training set P(G|C) = #(CG) / N #(CN) Laplace pseudocount: Add +1 count to each observed. (p.9,108,321 Dirichlet) (p.9,108,321
Estimated transistion probabilities from 48 "known" islands Training set P(G|C) = #(CG) / N #(CN)
Viterbi: dynamic programming for HMM Recursion: v l (i+1) = e l (x i +1) max(v k (i)a kl ) s i = Most probable path k=2 states
DNA2: Today's story and goals zMotivation and connection to DNA1 zComparing types of alignments & algorithms z Dynamic programming zMulti-sequence alignment zSpace-time-accuracy tradeoffs zFinding genes -- motif profiles zHidden Markov Model for CpG Islands