sequence alignment cont’d. needleman-wunsch with affine gaps initialization:v(i, 0) = d + (i –...
Post on 20-Dec-2015
218 views
TRANSCRIPT
Sequence AlignmentCont’d
Needleman-Wunsch with affine gaps
Initialization: V(i, 0) = d + (i – 1)eV(0, j) = d + (j – 1)e
Iteration:V(i, j) = max{ F(i, j), G(i, j), H(i, j) }
F(i, j) = V(i – 1, j – 1) + s(xi, yj)
V(i – 1, j) – d G(i, j) = max
G(i – 1, j) – e
V(i, j – 1) – d H(i, j) = max
H(i, j – 1) – e
Termination: similar
HINT: With similar idea we can do arbitrary (non-convex) gaps
Linear-space alignment
• Iterate this procedure to the left and right!
N-k*
M/2M/2
k*
The Four-Russian Algorithm
t t t
Heuristic Local Alignerers
1. The basic indexing & extension technique
2. Indexing: techniques to improve sensitivityPairs of Words, Patterns
3. Systems for local alignment
State of biological databases
http://www.genome.gov/10005141
http://www.cbs.dtu.dk/databases/DOGS/
State of biological databases
• Number of genes in these genomes:
Mammals: ~25,000 Insects: ~14,000 Worms: ~17,000 Fungi: ~6,000-10,000
Small organisms: 100s-1,000s
• Each known or predicted gene has one or more associated protein sequences
• >1,000,000 known / predicted protein sequences
Some useful applications of alignments
• Given a newly discovered gene, Does it occur in other species? How fast does it evolve?
• Assume we try Smith-Waterman:
The entire genomic database
Our new gene
104
1010 - 1012
Some useful applications of alignments
• Given a newly sequenced organism,• Which subregions align with other organisms?
Potential genes Other biological characteristics
• Assume we try Smith-Waterman:
The entire genomic database
Our newly sequenced mammal
3109
1010 - 1012
Indexing-based local alignment
(BLAST- Basic Local Alignment Search Tool)
Main idea:
1. Construct a dictionary of all the words in the query
2. Initiate a local alignment for each word match between query and DB
Running Time: O(MN)
However, orders of magnitude faster than Smith-Waterman
query
DB
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
DB
query
scan
Indexing-based local alignment—Extensions
A C G A A G T A A G G T C C A G T
C
C
C
T
T
C C
T
G
G
A T
T
G
C
G
A
Example:
k = 4
The matching word GGTC initiates an alignment
Extension to the left and right with no gaps until alignment falls < T below best so far
Output:
GTAAGGTCC
GTTAGGTCC
Indexing-based local alignment—Extensions
A C G A A G T A A G G T C C A G T
C
T
G
A
T
C C
T
G
G
A
T
T
G C
G
A
Gapped extensions
• Extensions with gaps in a band around anchor
Output:
GTAAGGTCCAGTGTTAGGTC-AGT
Indexing-based local alignment—Extensions
A C G A A G T A A G G T C C A G T
C
T
G
A
T
C C
T
G
G
A
T
T
G C
G
A
Gapped extensions until threshold
• Extensions with gaps until score < T below best score so far
Output:
GTAAGGTCCAGTGTTAGGTC-AGT
Indexing-based local alignment—The index
• Sensitivity/speed tradeofflong words
(k = 15)
short words
(k = 7)
Sensitivity
Speed
Kent WJ, Genome Research 2002
Sens.
Speed
Indexing-based local alignment—The index
Methods to improve sensitivity/speed
1. Using pairs of words
2. Using inexact words
3. Patterns—non consecutive positions
……ATAACGGACGACTGATTACACTGATTCTTAC……
……GGCACGGACCAGTGACTACTCTGATTCCCAG……
……ATAACGGACGACTGATTACACTGATTCTTAC……
……GGCGCCGACGAGTGATTACACAGATTGCCAG……
TTTGATTACACAGAT T G TT CAC G
Measured improvement
Kent WJ, Genome Research 2002
Non-consecutive words—Patterns
Patterns increase the likelihood of at least one match within a long conserved region
3 common
5 common
7 common
Consecutive Positions Non-Consecutive Positions
6 common
On a 100-long 70% conserved region: Consecutive Non-consecutive
Expected # hits: 1.07 0.97Prob[at least one hit]: 0.30 0.47
Advantage of Patterns
11 positions
11 positions
10 positions
Multiple patterns
• 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)
TTTGATTACACAGAT T G TT CAC G T G T C CAG TTGATT A G
Buhler et al. RECOMB 2003Sun & Buhler RECOMB 2004
How long does it take to search the query?
Variants of BLAST
• NCBI BLAST: search the universe http://www.ncbi.nlm.nih.gov/BLAST/• MEGABLAST:
Optimized to align very similar sequences• Works best when k = 4i 16• Linear gap penalty
• WU-BLAST: (Wash U BLAST) Very good optimizations Good set of features & command line arguments
• BLAT Faster, less sensitive than BLAST Good for aligning huge numbers of queries
• CHAOS Uses inexact k-mers, sensitive
• PatternHunter Uses patterns instead of k-mers
• BlastZ Uses patterns, good for finding genes
Example
Query: gattacaccccgattacaccccgattaca (29 letters) [2 mins]
Database: All GenBank+EMBL+DDBJ+PDB sequences (but no EST, STS, GSS, or phase 0, 1 or 2 HTGS sequences) 1,726,556 sequences; 8,074,398,388 total letters
>gi|28570323|gb|AC108906.9| Oryza sativa chromosome 3 BAC OSJNBa0087C10 genomic sequence, complete sequence Length = 144487 Score = 34.2 bits (17), Expect = 4.5 Identities = 20/21 (95%) Strand = Plus / Plus
Query: 4 tacaccccgattacaccccga 24 ||||||| |||||||||||||
Sbjct: 125138 tacacccagattacaccccga 125158
Score = 34.2 bits (17),
Expect = 4.5 Identities = 20/21 (95%) Strand = Plus / Plus
Query: 4 tacaccccgattacaccccga 24 ||||||| |||||||||||||
Sbjct: 125104 tacacccagattacaccccga 125124
>gi|28173089|gb|AC104321.7| Oryza sativa chromosome 3 BAC OSJNBa0052F07 genomic sequence, complete sequence Length = 139823 Score = 34.2 bits (17), Expect = 4.5 Identities = 20/21 (95%) Strand = Plus / Plus
Query: 4 tacaccccgattacaccccga 24 ||||||| |||||||||||||
Sbjct: 3891 tacacccagattacaccccga 3911
Example
Query: Human atoh enhancer, 179 letters [1.5 min]
Result: 57 blast hits1. gi|7677270|gb|AF218259.1|AF218259 Homo sapiens ATOH1 enhanc... 355 1e-95 2. gi|22779500|gb|AC091158.11| Mus musculus Strain C57BL6/J ch... 264 4e-68 3. gi|7677269|gb|AF218258.1|AF218258 Mus musculus Atoh1 enhanc... 256 9e-66 4. gi|28875397|gb|AF467292.1| Gallus gallus CATH1 (CATH1) gene... 78 5e-12 5. gi|27550980|emb|AL807792.6| Zebrafish DNA sequence from clo... 54 7e-05 6. gi|22002129|gb|AC092389.4| Oryza sativa chromosome 10 BAC O... 44 0.068 7. gi|22094122|ref|NM_013676.1| Mus musculus suppressor of Ty ... 42 0.27 8. gi|13938031|gb|BC007132.1| Mus musculus, Similar to suppres... 42 0.27
gi|7677269|gb|AF218258.1|AF218258 Mus musculus Atoh1 enhancer sequence Length = 1517 Score = 256 bits (129), Expect = 9e-66 Identities = 167/177 (94%),
Gaps = 2/177 (1%) Strand = Plus / Plus Query: 3 tgacaatagagggtctggcagaggctcctggccgcggtgcggagcgtctggagcggagca 62 ||||||||||||| ||||||||||||||||||| |||||||||||||||||||||||||| Sbjct: 1144 tgacaatagaggggctggcagaggctcctggccccggtgcggagcgtctggagcggagca 1203
Query: 63 cgcgctgtcagctggtgagcgcactctcctttcaggcagctccccggggagctgtgcggc 122 |||||||||||||||||||||||||| ||||||||| |||||||||||||||| ||||| Sbjct: 1204 cgcgctgtcagctggtgagcgcactc-gctttcaggccgctccccggggagctgagcggc 1262
Query: 123 cacatttaacaccatcatcacccctccccggcctcctcaacctcggcctcctcctcg 179 ||||||||||||| || ||| |||||||||||||||||||| |||||||||||||||
Sbjct: 1263 cacatttaacaccgtcgtca-ccctccccggcctcctcaacatcggcctcctcctcg 1318
Hidden Markov Models
1
2
K
…
1
2
K
…
1
2
K
…
…
…
…
1
2
K
…
x1 x2 x3 xK
2
1
K
2
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
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/10P(6) = 1/2
Casino player switches back-&-forth between fair and loaded die once every 20 turns
Game:1. You bet $12. You roll (always with a fair die)3. Casino player rolls (maybe with fair die,
maybe with loaded die)4. Highest number wins $2
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
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
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
The dishonest casino model
FAIR LOADED
0.05
0.05
0.950.95
P(1|F) = 1/6P(2|F) = 1/6P(3|F) = 1/6P(4|F) = 1/6P(5|F) = 1/6P(6|F) = 1/6
P(1|L) = 1/10P(2|L) = 1/10P(3|L) = 1/10P(4|L) = 1/10P(5|L) = 1/10P(6|L) = 1/2
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
K
1
…
2
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)
K
1
…
2
A parse of a sequence
Given a sequence x = x1……xN,
A parse of x is a sequence of states = 1, ……, N
1
2
K
…
1
2
K
…
1
2
K
…
…
…
…
1
2
K
…
x1 x2 x3 xK
2
1
K
2
Likelihood of a parse
Given a sequence x = x1……xN
and a parse = 1, ……, N,
To find how likely is the parse:
(given our HMM)
P(x, ) = P(x1, …, xN, 1, ……, N) =
P(xN, N | N-1) P(xN-1, N-1 | N-2)……P(x2, 2 | 1) P(x1, 1) =
P(xN | N) P(N | N-1) ……P(x2 | 2) P(2 | 1) P(x1 | 1) P(1) =
a01 a12……aN-1N e1(x1)……eN(xN)
1
2
K
…
1
2
K
…
1
2
K
…
…
…
…
1
2
K
…
x1
x2 x3 xK
2
1
K
2
Example: the dishonest casino
Let the sequence of rolls be:
x = 1, 2, 1, 5, 6, 2, 1, 6, 2, 4
Then, what is the likelihood of
= Fair, Fair, Fair, Fair, Fair, Fair, Fair, Fair, Fair, Fair?
(say initial probs a0Fair = ½, aoLoaded = ½)
½ P(1 | Fair) P(Fair | Fair) P(2 | Fair) P(Fair | Fair) … P(4 | Fair) =
½ (1/6)10 (0.95)9 = .00000000521158647211 = 0.5 10-9
Example: the dishonest casino
So, the likelihood the die is fair in all this run
is just 0.521 10-9
OK, but what is the likelihood of
= Loaded, Loaded, Loaded, Loaded, Loaded, Loaded, Loaded, Loaded, Loaded, Loaded?
½ P(1 | Loaded) P(Loaded, Loaded) … P(4 | Loaded) =
½ (1/10)8 (1/2)2 (0.95)9 = .00000000078781176215 = 0.79 10-9
Therefore, it somewhat more likely that the die is fair all the way, than that it is loaded all the way
Example: the dishonest casino
Let the sequence of rolls be:
x = 1, 6, 6, 5, 6, 2, 6, 6, 3, 6
Now, what is the likelihood = F, F, …, F?
½ (1/6)10 (0.95)9 = 0.5 10-9, same as before
What is the likelihood
= L, L, …, L?
½ (1/10)4 (1/2)6 (0.95)9 = .00000049238235134735 = 0.5 10-7
So, it is 100 times more likely the die is loaded
The three main questions on HMMs
1. Evaluation
GIVEN a HMM M, and a sequence x,FIND Prob[ x | M ]
2. Decoding
GIVEN a HMM M, and a sequence x,FIND the sequence of states that maximizes P[ x, | M ]
3. Learning
GIVEN a HMM M, with unspecified transition/emission probs.,and a sequence x,
FIND parameters = (ei(.), aij) that maximize P[ x | ]
Let’s not be confused by notation
P[ x | M ]: The probability that sequence x was generated by the model
The model is: architecture (#states, etc)
+ parameters = aij, ei(.)
So, P[x | M] is the same with P[ x | ], and P[ x ], when the architecture, and the parameters, respectively, are implied
Similarly, P[ x, | M ], P[ x, | ] and P[ x, ] are the same when the architecture, and the parameters, are implied
In the LEARNING problem we always write P[ x | ] to emphasize that we are seeking the * that maximizes P[ x | ]