Presentation is loading. Please wait.

Presentation is loading. Please wait.

. Class 4: Fast Sequence Alignment. Alignment in Real Life u One of the major uses of alignments is to find sequences in a “database” u Such collections.

Similar presentations

Presentation on theme: ". Class 4: Fast Sequence Alignment. Alignment in Real Life u One of the major uses of alignments is to find sequences in a “database” u Such collections."— Presentation transcript:

1 . Class 4: Fast Sequence Alignment

2 Alignment in Real Life u One of the major uses of alignments is to find sequences in a “database” u Such collections contain massive number of sequences (order of 10 6 ) u Finding homologies in these databases with the standard dynamic programming can take too long u Example:  query protein : 232 AAs  NR protein DB: 2.7 million sequences; 748 million AAs  m*n = ~ 1.7 *10 11 cells !

3 Heuristic Search u Instead, most searches rely on heuristic procedures u These are not guaranteed to find the best match u Sometimes, they will completely miss a high- scoring match u We now describe the main ideas used by some of these procedures  Actual implementations often contain additional tricks and hacks

4 Basic Intuition u The main resource consuming factor in the standard DP is decision of where the gaps are. If there were no gaps, life was easy! u Almost all heuristic search procedures are based on the observation that real-life well-matching pairs of sequences often do contain long strings with gap-less matches. u These heuristics try to find significant local gap-less matches and then extend them.

5 Banded DP  Suppose that we have two strings s[1..n] and t[1..m] such that n  m u If the optimal global alignment of s and t has few gaps, then path of the alignment will be close to the diagonal s t

6 Banded DP u To find such a path, it suffices to search in a diagonal region of the matrix  If the diagonal band has presumed width a, then the dynamic programming step takes O(an)  Much faster than O(n 2 ) of standard DP in this case s t a

7 Banded DP Problem (for local alignment):  If we know that t[i..j] matches the query s[p..q], then we can use banded DP to evaluate quality of the match u However, we do not know i,j,p,q ! u How do we select which sub-sequences to align using banded DP?

8 FASTA Overview u Main idea: Find (fast!) “good” diagonals and extend them to complete matches u Suppose that we have a relatively long gap-less local match (diagonal): …AGCGCCATGGATTGAGCGA… …TGCGACATTGATCGACCTA… u Can we find “clues” that will let us find it quickly?

9 Signature of a Match Assumption: good matches contain several “patches” of perfect matches AGCGCCATGGATTGAGCGA TGCGACATTGATCGACCTA s t

10 FASTA  Given s and t, and a parameter k u Find all pairs (i,j) such that s[i..i+k] and t[j..j+k] match perfectly  Locate sets of pairs that are on the same diagonal by sorting according to i-j thus … u Locating diagonals that contain many close pairs.  This is faster than O(nm) ! s t i i+k j j+k

11 FASTA u Extend the “best” diagonal matches to imperfect (yet ungapped) matches, compute alignment scores per diagonal. Pick the best-scoring matches. u Try to combine close diagonals to potential gapped matches, picking the best-scoring matches. u Finally, run banded DP on the regions containing these matches, resulting in several good candidate alignments.  Most applications of FASTA use very small k (2 for proteins, and 4-6 for DNA)

12 BLAST Overview u FASTA drawback is its reliance on perfect matches u BLAST (Basic Local Alignment Search Tool)uses similar intuition, but relies on high scoring matches rather than exact matches  Given parameters: length k, and threshold T  Two strings s and t of length k are a high scoring pair (HSP) if d(s,t) > T

13 High-Scoring Pair  Given a query string s, BLAST construct all words w (“neighborhood words”), such that w is an HSP with a k -substring of s.  Note: not all k-mers have an HSP in s

14 BLAST: phase 1 u Phase 1: compile a list of word pairs (k=3) u above threshold T u Example: for the following query: …FSGTWYA… (query word is in green) u A list of words (k=3) is: u FSG SGT GTW TWY WYA u YSG TGT ATW SWY WFA u FTG SVT GSW TWF WYS

15 GTW 6,5,11 22 neighborhoodASW 6,1,11 18 word hitsATW 0,5,1116 > threshold NTW 0,5,1116 GTY 6,5,213 GNW10 neighborhood GAW9 word hits below threshold (T=11) scores BLAST: phase 1

16 BLAST: phase 2 u Search the database for perfect matches with neighborhood words. Those are “hits” for further alignment. u We can locate seed words in a large database in a single pass, given the database is properly preprocessed (using hashing techniques).

17 Extending Potential Matches u Once a hit is found, BLAST attempts to find a local alignment that extends it. u Seeds on the same diagonal tend to be combined (as in FASTA) s t

18 u An improvement: look for 2 HSPs on close diagonals u Extend the alignment between them u Fewer extensions considered u There is a version of BLAST, involving gapped extensions. u Generally faster then FASTA, arguably better. Two HSP diagonal s t

19 Blast Variants u blastn (nucleotide BLAST) u blastp (protein BLAST) u tblastn (protein query, translated DB BLAST) u blastx (translated query, protein DB BLAST) u tblastx (translated query, translated DB BLAST) u bl2seq (pairwise alignment)

Download ppt ". Class 4: Fast Sequence Alignment. Alignment in Real Life u One of the major uses of alignments is to find sequences in a “database” u Such collections."

Similar presentations

Ads by Google