Download Heuris`c)search:)FastA)and)BLAST)

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

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

Genomics 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

Sequence alignment wikipedia , lookup

Smith–Waterman algorithm 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))