1 / 30

Linear-Space Alignment

Linear-Space Alignment. Linear-space alignment. Using 2 columns of space, we can compute for k = 1…M, F(M/2, k), F r (M/2, N – k) PLUS the backpointers. x 1. …. x M/2. x M. x 1. …. x M/2+1. x M. y 1. y 1. …. …. y N. y N. Linear-space alignment.

selina
Télécharger la présentation

Linear-Space Alignment

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Linear-Space Alignment

  2. Linear-space alignment • Using 2 columns of space, we can compute for k = 1…M, F(M/2, k), Fr(M/2, N – k) PLUS the backpointers x1 … xM/2 xM x1 … xM/2+1 xM y1 y1 … … yN yN

  3. Linear-space alignment • Now, we can find k* maximizing F(M/2, k) + Fr(M/2, N-k) • Also, we can trace the path exiting column M/2 from k* 0 1 …… M/2 M/2+1 …… M M+1 k* k*+1

  4. Linear-space alignment • Iterate this procedure to the left and right! k* N-k* M/2 M/2

  5. Linear-space alignment Hirschberg’s Linear-space algorithm: MEMALIGN(l, l’, r, r’): (aligns xl…xl’ with yr…yr’) • Let h = (l’-l)/2 • Find (in Time O((l’ – l)  (r’ – r)), Space O(r’ – r)) the optimal path, Lh, entering column h – 1, exiting column h Let k1 = pos’n at column h – 2 where Lh enters k2 = pos’n at column h + 1 where Lh exits 3. MEMALIGN(l, h – 2, r, k1) 4. Output Lh • MEMALIGN(h + 1, l’, k2, r’) Top level call: MEMALIGN(1, M, 1, N)

  6. Linear-space alignment Time, Space analysis of Hirschberg’s algorithm: To compute optimal path at middle column, For box of size M  N, Space: 2N Time: cMN, for some constant c Then, left, right calls cost c( M/2  k* + M/2  (N – k*) ) = cMN/2 All recursive calls cost Total Time: cMN + cMN/2 + cMN/4 + ….. = 2cMN = O(MN) Total Space: O(N) for computation, O(N + M) to store the optimal alignment

  7. Heuristic Local Alignerers • The basic indexing & extension technique • Indexing: techniques to improve sensitivity • Pairs of Words, Patterns • Systems for local alignment

  8. Indexing-based local alignment …… Dictionary: All words of length k (~10) Alignment initiated between words of alignment score  T (typically T = k) Alignment: Ungapped extensions until score below statistical threshold Output: All local alignments with score > statistical threshold query …… scan DB query

  9. Indexing-based local alignment—Extensions A C G A A G T A A G G T C C A G T Gapped extensions until threshold • Extensions with gaps until score < C below best score so far Output: GTAAGGTCCAGT GTTAGGTC-AGT C T G A T C C T G G A T T G C G A

  10. Sensitivity-Speed Tradeoff X% Sens. Speed Kent WJ, Genome Research 2002

  11. Sensitivity-Speed Tradeoff Methods to improve sensitivity/speed • Using pairs of words • Using inexact words • Patterns—non consecutive positions ……ATAACGGACGACTGATTACACTGATTCTTAC…… ……GGCACGGACCAGTGACTACTCTGATTCCCAG…… ……ATAACGGACGACTGATTACACTGATTCTTAC…… ……GGCGCCGACGAGTGATTACACAGATTGCCAG…… TTTGATTACACAGAT T G TT CAC G

  12. Measured improvement Kent WJ, Genome Research 2002

  13. Non-consecutive words—Patterns Patterns increase the likelihood of at least one match within a long conserved region Consecutive Positions Non-Consecutive Positions 6 common 5 common 7 common 3 common On a 100-long 70% conserved region: ConsecutiveNon-consecutive Expected # hits: 1.07 0.97 Prob[at least one hit]: 0.30 0.47

  14. Advantage of Patterns 11 positions 11 positions 10 positions

  15. Multiple patterns TTTGATTACACAGAT T G TT CAC G T G T C CAG TTGATT A G • K patterns • Takes K times longer to scan • Patterns can complement one another • Computational problem: • Given: a model (prob distribution) for homology between two regions • Find: best set of K patterns that maximizes Prob(at least one match) How long does it take to search the query? Buhler et al. RECOMB 2003 Sun & Buhler RECOMB 2004

  16. Variants of BLAST • NCBI BLAST: search the universe http://www.ncbi.nlm.nih.gov/BLAST/ • MEGABLAST: http://genopole.toulouse.inra.fr/blast/megablast.html • Optimized to align very similar sequences • Works best when k = 4i  16 • Linear gap penalty • WU-BLAST: (Wash U BLAST) http://blast.wustl.edu/ • Very good optimizations • Good set of features & command line arguments • BLAT http://genome.ucsc.edu/cgi-bin/hgBlat • Faster, less sensitive than BLAST • Good for aligning huge numbers of queries • CHAOS http://www.cs.berkeley.edu/~brudno/chaos • Uses inexact k-mers, sensitive • PatternHunter http://www.bioinformaticssolutions.com/products/ph/index.php • Uses patterns instead of k-mers • BlastZ http://www.psc.edu/general/software/packages/blastz/ • Uses patterns, good for finding genes • Typhon http://typhon.stanford.edu • Uses multiple alignments to improve sensitivity/speed tradeoff

  17. 1 2 2 1 1 1 1 … 2 2 2 2 … K … … … … x1 K K K K x2 x3 xK … Hidden Markov Models

  18. Outline for our next topic • Hidden Markov models – the theory • Probabilistic interpretation of alignments using HMMs Later in the course: • Applications of HMMs to biological sequence modeling and discovery of features such as genes

  19. Example: The Dishonest Casino A casino has two dice: • Fair die P(1) = P(2) = P(3) = P(5) = P(6) = 1/6 • Loaded die P(1) = P(2) = P(3) = P(5) = 1/10 P(6) = 1/2 Casino player switches back-&-forth between fair and loaded die once every 20 turns Game: • You bet $1 • You roll (always with a fair die) • Casino player rolls (maybe with fair die, maybe with loaded die) • Highest number wins $2

  20. Question # 1 – Evaluation GIVEN A sequence of rolls by the casino player 1245526462146146136136661664661636616366163616515615115146123562344 QUESTION How likely is this sequence, given our model of how the casino works? This is the EVALUATION problem in HMMs Prob = 1.3 x 10-35

  21. Question # 2 – Decoding GIVEN A sequence of rolls by the casino player 1245526462146146136136661664661636616366163616515615115146123562344 QUESTION What portion of the sequence was generated with the fair die, and what portion with the loaded die? This is the DECODING question in HMMs FAIR LOADED FAIR

  22. Question # 3 – Learning GIVEN A sequence of rolls by the casino player 1245526462146146136136661664661636616366163616515615115146123562344 QUESTION How “loaded” is the loaded die? How “fair” is the fair die? How often does the casino player change from fair to loaded, and back? This is the LEARNING question in HMMs Prob(6) = 64%

  23. The dishonest casino model 0.05 0.95 0.95 FAIR LOADED P(1|F) = 1/6 P(2|F) = 1/6 P(3|F) = 1/6 P(4|F) = 1/6 P(5|F) = 1/6 P(6|F) = 1/6 P(1|L) = 1/10 P(2|L) = 1/10 P(3|L) = 1/10 P(4|L) = 1/10 P(5|L) = 1/10 P(6|L) = 1/2 0.05

  24. The dishonest casino model 0.05 0.95 0.95 FAIR LOADED P(1|F) = 1/6 P(2|F) = 1/6 P(3|F) = 1/6 P(4|F) = 1/6 P(5|F) = 1/6 P(6|F) = 1/6 P(1|L) = 1/10 P(2|L) = 1/10 P(3|L) = 1/10 P(4|L) = 1/10 P(5|L) = 1/10 P(6|L) = 1/2 0.05

  25. A HMM is memory-less At each time step t, the only thing that affects future states is the current state t 1 2 K …

  26. Definition of a hidden Markov model Definition: A hidden Markov model (HMM) • Alphabet = { b1, b2, …, bM } • Set of states Q = { 1, ..., K } • Transition probabilities between any two states aij = transition prob from state i to state j ai1 + … + aiK = 1, for all states i = 1…K • Start probabilities a0i a01 + … + a0K = 1 • Emission probabilities within each state ei(b) = P( xi = b | i = k) ei(b1) + … + ei(bM) = 1, for all states i = 1…K 1 2 End Probabilities ai0 in Durbin; not needed K …

  27. A HMM is memory-less At each time step t, the only thing that affects future states is the current state t P(t+1 = k | “whatever happened so far”) = P(t+1 = k | 1, 2, …, t, x1, x2, …, xt) = P(t+1 = k | t) 1 2 K …

  28. A HMM is memory-less At each time step t, the only thing that affects xt is the current state t P(xt = b | “whatever happened so far”) = P(xt = b | 1, 2, …, t, x1, x2, …, xt-1) = P(xt = b | t) 1 2 K …

  29. 1 1 1 1 … 2 2 2 2 … … … … … K K K K … A parse of a sequence Given a sequence x = x1……xN, A parse of x is a sequence of states  = 1, ……, N 1 2 2 K x1 x2 x3 xK

  30. 1 1 1 1 … 2 2 2 2 … … … … … K K K K … Generating a sequence by the model Given a HMM, we can generate a sequence of length n as follows: • Start at state 1 according to prob a01 • Emit letter x1 according to prob e1(x1) • Go to state 2 according to prob a12 • … until emitting xn 1 a02 2 2 0 K e2(x1) x1 x2 x3 xn

More Related