* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Heuris`c)search:)FastA)and)BLAST)
Survey
Document related concepts
Genetic code wikipedia , lookup
Human genome wikipedia , lookup
Cre-Lox recombination wikipedia , lookup
DNA vaccination wikipedia , lookup
Therapeutic gene modulation wikipedia , lookup
Metagenomics wikipedia , lookup
Helitron (biology) wikipedia , lookup
Non-coding DNA wikipedia , lookup
United Kingdom National DNA Database wikipedia , lookup
Microsatellite wikipedia , lookup
Artificial gene synthesis wikipedia , lookup
Computational phylogenetics wikipedia , lookup
Point mutation wikipedia , lookup
Multiple sequence alignment wikipedia , lookup
Transcript
Heuris'c)search:)FastA)and)BLAST) COMPSCI)260)–)Spring)2016) Previous)lectures) • Global)alignment) • Local)alignment) • Dynamic)programming)algorithms:)O(mn))'me) Database)searches) • O(mn))algorithms)are)very)efficient) • But)this)is)too)slow)for)searching)large)databases)of)DNA)or) protein)sequences)) ) NCBI)genomic)data) Database)searches) • INPUT:) – Database) – Query:))RGIKW) • OUTPUT:)) – sequences)similar)to)query)) • What)does)“similar”)mean)?)) Heuris'cs) • Heuris'c)methods)can)be)used)to)perform)fast)approxima'ons)) – Tradeoff:)accuracy)of)solu'on)vs.)speed) • We)have)seen)another)tradeoff:) – Speed)vs.)space) • Popular)heuris'c)algorithms)are)the)result)of)our)willingness)for) our)solu'on)to)loose)accuracy)in)return)for)a)speedup) • Loss)of)accuracy:)false)posi'ves)or)(more)commonly))false) nega'ves.)) Heuris'cs) • False)posi'ves)represent)results)returned)by)your)algorithm) as)successful)(in)our)case,)as)high)scoring)alignments))that) really)aren’t))) • False)nega'ves)are)just)the)opposite:)really)high)scoring) alignments)that)get)overlooked)by)the)algorithm) • Trade`off:)sensi'vity)vs.)selec'vity) The)history)of)the)alignment)problem)) Global)Alignment)) Needleman`Wunsch)algorithm)(linear)gap)) 1972) Global)Alignment) Affine)gap)(Gotoh’s)solu'on)in)quadra'c)'me)) 1980) Exact)Local)Alignment) Smith`Waterman)algorithm) Heuris'c)Local) Alignment) Heuris'c)Local) Alignment) Heuris'c)Local) Alignment) 1981) FastN)+)FastP)=)FastA) 1985)) BLAST)1.0:)Basic)Local)Alignment)Search)Tool)) 1990) BLAST)2.0:)Gapped)BLAST)) 1997) run much faster, at the expense of possibly missing some significant hits (i.e. getting false negatives) due to the heuristics employed Heuris'c)local)alignment)) • Heuris'c)local)alignment)algorithms)are)usually)seed$and$extend) approaches:)small)exact)matches)are)found,)which)are)then) extended)to)obtain)long)inexact)matches) ) • Preprocessing:)for)every)W`mer)) (e.g.)W=3),)list)every)loca'on)in)) the)database)where)it)occurs) – W`mer:)a)string)of)length)W) • Query:)) – Generate)W`mers)and)look)) them)up)in)the)database)) – Process)the)results)to)obtain) longer,)inexact)matches)) FastA) • FastA)(which)stands)for)Fast`All))is)a)combina'on)of)FastN) (nucleo'de))and)FastP)(protein))) • It)was)the)first)good)heuris'c)local)alignment)program,)and)it) was)capable)of)finding) – DNA:DNA) – DNA:protein)(by)inferring)transla'on))and)) – protein:protein)alignments) • The)original)paper:) )David)J.)Lipman)and)William)R.)Pearson)“Rapid)and)sensi've) protein)similarity)searches”)(Science'1985)))) FastA)paper)`)Abstract) An algorithm was developed which facilitates the search for similarities between newly determined amino acid sequences and sequences already available in databases. Because of the algorithm's efficiency on many microcomputers, sensitive protein database searches may now become a routine procedure for molecular biologists. The method efficiently identifies regions of similar sequence and then scores the aligned identical and differing residues in those regions by means of an amino acid replaceability matrix. This matrix increases sensitivity by giving high scores to those amino acid replacements which occur frequently in evolution. The algorithm has been implemented in a computer program designed to search protein databases very rapidly. For example, comparison of a 200-amino-acid sequence to the 500,000 residues in the National Biomedical Research Foundation library would take less than 2 minutes on a minicomputer, and less than 10 minutes on a microcomputer (IBM PC). FastA) • General)idea:) – Choose)regions)of)the)two)sequences)that)look)promising) (have)some)degree)of)similarity))) – Compute)local)alignment)using)dynamic)programming)in) these)regions)) • Assump'on:)a)good)alignment)probably)has)some)exact) matches.)) • The)algorithm)treats)these)exact)matches)as)anchors)or)seeds) of)a)larger)alignment)with)some)gaps)) FastA) • Assump'on:)a)good)alignment)probably)has)some)exact) matches.)) • Is)this)true?) • Two)sequences)of)9)aa)each,)with)7)iden''es)) )There)must)be)a)stretch)of)3)aa)perfectly)conserved)) • Two)sequences)of)9)aa)with)at)most)1)mismatch) )There)must)be)a)stretch)of)4)aa)perfectly)conserved)) • More)generally:)pigeonhole)principle)) )If)you)have)2)pigeons)and)3)holes,)there)) must)be)at)least)one)hole)with)no)pigeon)) ) FastA)–)Step)1) • The)algorithm)begins)by)looking)for)occurrences)of)exact) matches)of)length)k)between)the)two)sequences) • These)are)referred)to)as)k>tuples)and)their)length)is)set)by)the) FastA)parameter)ktup)) • This)search)is)a)rela'vely)fast)one)) FastA)–)Step)2) • Score)diagonals)with)k`word)matches,)to)iden'fy)the)10)best) diagonals)) • Construct)an)(m)×)n))grid)and)place)a)dot)at)every)(i,)j))that) begins)a)k`tuple) • The)end)result)will)be)a)table)with)some)runs)of)diagonal)dots)) • This)table)is)called)a)dot)matrix) k=2 • Why)diagonal?)) – Consider)the)case)where)k)=)2)and)we)have)a)match)of)5)characters)in)a) row)star'ng)at)posi'on)(i,)j).)Not)only)will)there)be)a)dot)in)the)(i,)j)) posi'on,)but)also)in)the)(i)+)1,)j)+)1),)(i + 2, j + 2) and)(i + 3, j + 3) posi'ons.)This)will)results)in)a)run)of)4)diagonal)dots.) Dot)matrix,)k=1)(DNA)sequences)of)size)1875)and)2013)bp)) Dot)matrix,)k=4)(DNA)sequences)of)size)1875)and)2013)bp)) Dot)matrix,)k=8)(DNA)sequences)of)size)1875)and)2013)bp)) Dot)matrix,)k=16)(DNA)sequences)of)size)1875)and)2013)bp)) FastA)–)Step)2) • Score)diagonals)with)k`word)matches,)to)iden'fy)the)10)best) diagonals)) • Construct)an)(m)×)n))grid)and)place)a)dot)at)every)(i,)j))that) begins)a)k`tuple) k=2 • The)con'guous)diagonal)runs)of)dots)in)the)dot)plot)represent) exact)matches,)so)we)want)to)find)long)diagonal)runs) • We)want)to)this)very)efficiently)('me)and)space)) • It)can)be)done)without)genera'ng)the)en're)matrix) FastA)–)Outline) 1. Iden'fy)common)k`words)between)X)and)Y)) 2. Score)diagonals)with)k`word)matches,)to)iden'fy)the)10)best) diagonals)) 3. Rescore)ini'al)regions)with)a)subs'tu'on)matrix)) – Each)of)the)ten)diagonal)runs)with)highest)scores) (iden'fied)in)step)2))are)further)processed) – Within)each)of)these)diagonal)runs,)an)op'mal)local) alignment)is)computed)using)a)subs'tu'on)matrix) – These)alignments)are)called)) ini(al'regions)) – The)score)of)the)best)sub`alignment)is)found)in)this)phase) is)reported)as)init1)) FastA)–)Outline) 1. Iden'fy)common)k`words)between)X)and)Y)) 2. Score)diagonals)with)k`word)matches,)to)iden'fy)the)10)best) diagonals)) 3. Rescore)ini'al)regions)with)a)subs'tu'on)matrix)) 4. Join)ini'al)regions)using)gaps) FastA)–)Step)4:)Join)ini'al)regions)using)gaps)) • Two)offset)diagonals)can)be)joined)with)a)gap,)if)the)resul'ng) alignment)has)a)higher)score)) – – – – Separate)gap)open)and)extension)are)used)(affine)gap)) Idea:)find)the)best`scoring)combina'on)of)diagonals) The)score)of)this)alignment)is)reported)as)initn)) initn)is)used)to)rank)the)library)sequences) FastA)–)Outline) 1. Iden'fy)common)k`words)between)X)and)Y)) 2. Score)diagonals)with)k`word)matches,)to)iden'fy)the)10)best) diagonals)) 3. Rescore)ini'al)regions)with)a)subs'tu'on)score)matrix)) 4. Join)ini'al)regions)using)gaps) 5. Perform)dynamic)programming)to)find)the)final)alignments)) FastA)–)Step)5:)Local)alignment)in)the)highest`scoring)region)) • Last)step)of)FastA:)perform)local)alignment)using)dynamic) programming)around)the)highest`scoring)region) highest`scoring)region) • Do)we)fill)in)the)en're)DP)matrix?)(Smith`Waterman)) • NO,)we)can)apply)banded'Smith`Waterman)) ) FastA)–)Step)5:)Local)alignment)in)the)highest`scoring)region)) • Banded'Smith`Waterman)) • Idea:)A)high)quality)alignment)will)stay)close)to)the)diagonal) – If)we)are)only)interested)in)high)quality)alignments,)we)can) skip)filling)in)cells)that)can't)possibly)lead)to)a)high)quality) alignment) • Region)to)be)aligned)covers)±w)) characters)from)the)highest`)scoring) diagonals)) • With)long)sequences,)this)region)is)) typically)very)small)compared)to)the)) whole)n)x)m)matrix) • The)score)of)the)resul'ng)alignment)) is)reported)as)opt' Dynamic)programming)matrix) is)filled)only)for)the)green)region)) Proper'es)of)FastA)) • Fast)compared)to)local)alignment) using)dynamic)programming)only)) – Only)a)narrow)region)of)the)full) matrix)is)aligned) • For)DNA)sequence)comparisons,) the)ktup'parameter)can)range)from) 1)to)6) • Increasing)ktup)decreases)the) number)of)hits)) – increases)specificity)(the) method)does)not)produce)many) incorrect)results)) – decreases)sensi'vity)(produces) fewer)of)the)correct)results)) Proper'es)of)FastA)) • FastA)looks)for)ini'al)exact) matches)to)the)query)sequence) – But)two)proteins)can)have)very) different)amino)acid)sequences) and)s'll)be)biologically)similar)) – This)may)lead)to)a)lack)of) sensi'vity)for)diverged) sequences) • FastA)determines)a)highest)) scoring)region,)not'all)high)scoring) alignments)between)two) sequences.)Hence,)it)may)miss) instances)of)repeats)or)mul'ple) domains)shared)by)two)proteins) The)history)of)the)alignment)problem)) Global)Alignment)) Needleman`Wunsch)algorithm)(linear)gap)) 1972) Global)Alignment) Affine)gap)(Gotoh’s)solu'on)in)quadra'c)'me)) 1980) Exact)Local)Alignment) Smith`Waterman)algorithm) Heuris'c)Local) Alignment) Heuris'c)Local) Alignment) Heuris'c)Local) Alignment) 1981) FastN)+)FastP)=)FastA) 1985)) BLAST)1.0:)Basic)Local)Alignment)Search)Tool)) 1990) BLAST)2.0:)Gapped)BLAST)) 1997) run much faster, at the expense of possibly missing some significant hits (i.e. getting false negatives) due to the heuristics employed BLAST)`)Basic)Local)Alignment)Search)Tool)) • Altschul)SF,)Gish)W,)Miller)W),Myers)EW,)Lipman)DJ,)“Basic)local) alignment)search)tool”)(J'of'Molecular'Biology,)1990)) • Perhaps)the)most)widely)used)bioinforma'cs)tool) • It)is)an)alignment)heuris'c)that)determines)local)alignments) between)a)query)and)a)database) • It)uses)an)approxima'on)of)the)Smith`Waterman)algorithm)) • BLAST)consists)of)two)components:)) – search)algorithm)) – computa'on)of)the)sta's'cal)significance)of)solu'ons) • Speed)is)achieved)by)using)a)procedure)that)typically)finds)“most”) matches)with)scores)>)S) ) BLAST paper is the most cited paper of its decade, with more than 20,000 citations. BLAST)`)Basic)Local)Alignment)Search)Tool)) • BLAST)1.0)only)reports)ungapped)alignments) • Assump'ons:) – all)the)user)was)probably)interested)in)were)ungapped) alignments) – if)the)user)wanted)to)find)an)alignment)with)gaps,)the) whole)alignment)could)be)s'tched)together)using)pieces)of) the)ungapped)alignments)returned)by)BLAST)1.0) • However,)we)know)that)it)is)perfectly)valid)to)want)the) algorithm)to)return)gapped)alignments)) • It)is)osen)not)feasible)to)reconstruct)a)gapped)alignment) from)a)series)of)ungapped)alignments) • Thus,)BLAST)2.0)was)introduced)in)a)paper)co`authored)by) many)of)the)original)BLAST)1.0)authors) Idea:)Seed)and)Extend)) • Homologous)sequences)are)likely)to)contain)a)short)high) scoring)word)pair,)or)seed) • BLAST)finds)high)scoring)seeds)and)tries)to)extend)them)to) compute)maximal)high)scoring)segment)pairs)(HSPs)) BLAST)–)Step)1:)Preprocess)query) • Split)query)into)overlapping)words)of)length)W)) – The)length)of)the)query)word,)W,)is)3)for)protein)sequences) • Find)the)neighborhood)for)each)word,)for)a)similarity)threshold)T) What are these scores? The)threshold)T)is)based)on)a)subs'tu'on)matrix) BLOSUM62 PQG) PMG))) 7+0+6=13) BLAST)–)Step)1:)Preprocess)query) • Split)query)into)overlapping)words)of)length)W)) – The)length)of)the)query)word,)W,)is)3)for)protein)sequences) • Find)the)neighborhood)for)each)word,)for)a)similarity)threshold)T) What are these scores? BLAST)–)Step2:)Construct)query)word)hash)table) BLAST)–)Step)3:)Database)scanning) • Iden'fy)all)exact)matches)of)W`mers)with)DB)sequences) • A)segment>pair)(s,t))(or)hit))consists)of)two)segments,)one)in) the)query)and)one)in)the)database,)of)the)same)length) THE BLAST SEARCH ALGORITHM BLAST)–)Step)3:)Database)scanning) Query word (W =3) Query: GSVEDTTGSQSLAALLNKCKTPQGQRLVNQWIKQPLMDKNRIEERLNLVEAFVEDAELRQTLQEDL PQG PEG PRG PKG PNG PDG PHG PMG PSQ PQA PQN etc... Neighborhood words Query: Neighborhood score threshold (T=13) X 325 SLAALLNKCKTPQGQRLVNQWIKQPLMDKNRIEERLNLVEA 365 +LA++L+ Sbjct: 18 15 14 14 13 13 13 13 13 12 12 TP G R++ +W+ P+ D + ER + A 290 TLASVLDCTVTPMGSRMLKRWLHMPVRDTRVLLERQQTIGA 330 High-scoring Segment Pair (HSP) Segment pair, or seed (s, t) Adapted from: Baxevanis, Andy. "Nucleotide and Protein Sequence Analysis I." Lecture presentation, National Human Genome Research BLAST)–)Step)4:)Extend)seeds)to)HSP) • Each)such)seed)(s,)t'))is)extended)in)both)direc'ons)un'l)its) score)cannot)be)increased)) • All)extensions)with)score)≥)S)are)reported)) • These)are)called)high`scoring)segment)pairs)(HSPs)) • Originally)(in)BLAST1.0))the)extension)did)not)include)gaps.) The)BLAST2.0)algorithm)allows)inser'on)of)gaps)) BLAST)–)Step)5:)Evalua'on) • Evaluate)the)alignment)sta's'cally) • E>value:))the)number)of)HSPs)having)score)S)(or)higher)) expected)to)occur)by)chance)(given)the)database))) • Smaller)E`value)means)more)significant)score) • Big)E`value)corresponds)to)random)alignments) • P>value:)the)probability)that)an)HSP)with)score)S)(or)higher))is) generated)by)chance) Assessing)the)significance)of)sequence)alignment) • We)want))to)evaluate)the)probability)that)a)score)between) random)(unrelated))sequences)will)reach)the)score)found) between)the)two)sequences)on)interest) • What)is)the)distribu'on)of)scores)between)2)random) sequences?) Assessing)the)significance)of)sequence)alignment) • Karlin)and)Altschul)observed)that)in)the)framework)of)local) alignments)without)gaps,)the)distribu'on)of)random) sequence)alignment)scores)follows)an)extreme)value) distribu'on) Parameters that depend on the length and composition of the sequences, and on the scoring function Assessing)the)significance)of)sequence)alignment) Score A - significant Score B – not significant P`value)=)the)probability)of)) obtaining)a)score)equal)to)or)) greater)than)x)by)chance) Assessing)the)significance)of)sequence)alignment) • P`value:)) – Probability)that)an)alignment)with)this)score)occurs)by) chance)in)a)database)of)size)N) – The)closer)the)P`value)is)towards)0,)the)beuer)the) alignment)) • E`value:)) – Number)of)matches)with)this)score)one)can)expect)to)find) by)chance)in)a)database)of)size)N) – The)closer)the)E`value)is)towards)0,)the)beuer)the) alignment)) • In)a)database)of)size)N:)P)x)N)=)E) Assessing)the)significance)of)sequence)alignment) • Local)alignment)without)gaps:) – Extreme)Value)Distribu'on) – Theore'cal)work)of)Karlin)and)Altschul) • Local)alignments)with)gaps:) – Extreme)Value)Distribu'on)derived)from)empirical)studies) BLAST)parameters)) • Larger)values)of)W)increases)the)number)of)neighborhood) words,)but)decreases)the)number)of)chance)matches)in)the) database) – In)prac'ce,)W'=)12)for)DNA,)3)for)protein)sequences) • Larger)values)of)T)decrease)the)overall)execu'on)'me,)but) increase)the)chance)of)missing)a)MSP)having)score)≥)S)) • Larger)values)of)S)increase)the)specificity.)The)value)of)S)is) affected)by)changes)in)the)expecta'on)value)parameter) BLAST)parameters)) • The)more)filtering)we)do)the)less)work)we)end)up)having) to)do)in)later)steps)of)the)algorithm) • However,)the)more)filtering)we)do)the)greater)our) chances)of)having)false)nega'ves) • The)less)filtering)we)do)the)more)sequences)we)are) forced)to)analyze)aser)the)filtering)step,)but)the)fewer) false)nega'ves)we)encounter)) Very)similar)sequences)) Quite)similar)sequences)) Not)similar)sequences)) Blast)versions)) Program Database Query BLASTN Nucleotide Nucleotide BLASTP Protein Protein BLASTX Protein Nucleotide translated in to protein TBLASTN Nucleotide translated into protein Protein TBLASTX Nucleotide translated Nucleotide translated into into protein protein NCBI)Blast))