Top Banner
. Class 2: Basic Sequence Alignment
38

. Class 2: Basic Sequence Alignment. Sequence Comparison Much of bioinformatics involves sequences u DNA sequences u RNA sequences u Protein sequences.

Dec 22, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: . Class 2: Basic Sequence Alignment. Sequence Comparison Much of bioinformatics involves sequences u DNA sequences u RNA sequences u Protein sequences.

.

Class 2: Basic Sequence Alignment

Page 2: . Class 2: Basic Sequence Alignment. Sequence Comparison Much of bioinformatics involves sequences u DNA sequences u RNA sequences u Protein sequences.

Sequence Comparison

Much of bioinformatics involves sequences DNA sequences RNA sequences Protein sequences

We can think of these sequences as strings of letters DNA & RNA: alphabet of 4 letters Protein: alphabet of 20 letters

Page 3: . Class 2: Basic Sequence Alignment. Sequence Comparison Much of bioinformatics involves sequences u DNA sequences u RNA sequences u Protein sequences.

Sequence Comparison (cont)

Finding similarity between sequences is important for many biological questions

For example: Find genes/proteins with common origin

Allows to predict function & structure Locate common subsequences in genes/proteins

Identify common “motifs” Locate sequences that might overlap

Help in sequence assembly

Page 4: . Class 2: Basic Sequence Alignment. Sequence Comparison Much of bioinformatics involves sequences u DNA sequences u RNA sequences u Protein sequences.

Sequence Alignment

Input: two sequences over the same alphabet

Output: an alignment of the two sequences

Example: GCGCATGGATTGAGCGA TGCGCCATTGATGACCA

A possible alignment:

-GCGC-ATGGATTGAGCGA

TGCGCCATTGAT-GACC-A

Page 5: . Class 2: Basic Sequence Alignment. Sequence Comparison Much of bioinformatics involves sequences u DNA sequences u RNA sequences u Protein sequences.

Alignments

-GCGC-ATGGATTGAGCGA

TGCGCCATTGAT-GACC-A

Three elements: Perfect matches Mismatches Insertions & deletions (indel)

Page 6: . Class 2: Basic Sequence Alignment. Sequence Comparison Much of bioinformatics involves sequences u DNA sequences u RNA sequences u Protein sequences.

Choosing Alignments

There are many possible alignments

For example, compare:

-GCGC-ATGGATTGAGCGA

TGCGCCATTGAT-GACC-A

to

------GCGCATGGATTGAGCGA

TGCGCC----ATTGATGACCA--

Which one is better?

Page 7: . Class 2: Basic Sequence Alignment. Sequence Comparison Much of bioinformatics involves sequences u DNA sequences u RNA sequences u Protein sequences.

Scoring Alignments

Rough intuition: Similar sequences evolved from a common

ancestor Evolution changed the sequences from this

ancestral sequence by mutations: Replacements: one letter replaced by another Deletion: deletion of a letter Insertion: insertion of a letter

Scoring of sequence similarity should examine how many operations took place

Page 8: . Class 2: Basic Sequence Alignment. Sequence Comparison Much of bioinformatics involves sequences u DNA sequences u RNA sequences u Protein sequences.

Simple Scoring Rule

Score each position independently: Match: +1 Mismatch : -1 Indel -2

Score of an alignment is sum of positional scores

Page 9: . Class 2: Basic Sequence Alignment. Sequence Comparison Much of bioinformatics involves sequences u DNA sequences u RNA sequences u Protein sequences.

Example

Example:

-GCGC-ATGGATTGAGCGA

TGCGCCATTGAT-GACC-A

Score: (+1x13) + (-1x2) + (-2x4) = 3

------GCGCATGGATTGAGCGA

TGCGCC----ATTGATGACCA--

Score: (+1x5) + (-1x6) + (-2x11) = -23

Page 10: . Class 2: Basic Sequence Alignment. Sequence Comparison Much of bioinformatics involves sequences u DNA sequences u RNA sequences u Protein sequences.

More General Scores

The choice of +1,-1, and -2 scores was quite arbitrary

Depending on the context, some changes are more plausible than others Exchange of an amino-acid by one with similar

properties (size, charge, etc.)

vs. Exchange of an amino-acid by one with opposite

properties

Page 11: . Class 2: Basic Sequence Alignment. Sequence Comparison Much of bioinformatics involves sequences u DNA sequences u RNA sequences u Protein sequences.

Additive Scoring Rules

We define a scoring function by specifying a function

(x,y) is the score of replacing x by y (x,-) is the score of deleting x (-,x) is the score of inserting x

The score of an alignment is the sum of position scores

}){(}){(:

Page 12: . Class 2: Basic Sequence Alignment. Sequence Comparison Much of bioinformatics involves sequences u DNA sequences u RNA sequences u Protein sequences.

Edit Distance

The edit distance between two sequences is the “cost” of the “cheapest” set of edit operations needed to transform one sequence into the other

Computing edit distance between two sequences almost equivalent to finding the alignment that minimizes the distance

nment)score(aligmax),d( & of alignment 21 ss21 ss

Page 13: . Class 2: Basic Sequence Alignment. Sequence Comparison Much of bioinformatics involves sequences u DNA sequences u RNA sequences u Protein sequences.

Computing Edit Distance

How can we compute the edit distance?? If |s| = n and |t| = m, there are more than

alignments

The additive form of the score allows to perform dynamic programming to compute edit distance efficiently

m

nm

Page 14: . Class 2: Basic Sequence Alignment. Sequence Comparison Much of bioinformatics involves sequences u DNA sequences u RNA sequences u Protein sequences.

Recursive Argument

Suppose we have two sequences:s[1..i+1] and t[1..j+1]

The best alignment must be in one of three cases:

1. Last position is (s[i+1],t[j+1] )2. Last position is (s[i+1],-)3. Last position is (-, t[j +1] )

( [1.. 1], [1.. 1]) ( [1.. ], [1.. ])

( [ 1], [ 1])

d s i t j d s i t j

s i t j

Page 15: . Class 2: Basic Sequence Alignment. Sequence Comparison Much of bioinformatics involves sequences u DNA sequences u RNA sequences u Protein sequences.

Recursive Argument

Suppose we have two sequences:s[1..i+1] and t[1..j+1]

The best alignment must be in one of three cases:

1. Last position is (s[i+1],t[j +1] )2. Last position is (s[i +1],-)3. Last position is (-, t[j +1] )

( [1.. 1], [1.. 1]) ( [1.. ], [1.. 1])

( [ 1], )

d s i t j d s i t j

s i

Page 16: . Class 2: Basic Sequence Alignment. Sequence Comparison Much of bioinformatics involves sequences u DNA sequences u RNA sequences u Protein sequences.

Recursive Argument

Suppose we have two sequences:s[1..i+1] and t[1..j+1]

The best alignment must be in one of three cases:

1. Last position is (s[i+1],t[j +1] )2. Last position is (s[i +1],-)3. Last position is (-, t[j +1] )

( [1.. 1], [1.. 1]) ( [1.. 1], [1.. ])

( , [ 1])

d s i t j d s i t j

t j

Page 17: . Class 2: Basic Sequence Alignment. Sequence Comparison Much of bioinformatics involves sequences u DNA sequences u RNA sequences u Protein sequences.

Recursive Argument

Define the notation:

Using the recursive argument, we get the following recurrence for V:

])[,(],[

)],[(],[

])[],[(],[

max],[

1jtj1iV

1is1jiV

1jt1isjiV

1j1iV

])..[],..[(],[ j1ti1sdjiV

Page 18: . Class 2: Basic Sequence Alignment. Sequence Comparison Much of bioinformatics involves sequences u DNA sequences u RNA sequences u Protein sequences.

Recursive Argument

Of course, we also need to handle the base cases in the recursion:

])[,(],[],[

)],[(],[],[

],[

1jtj0V1j0V

1is0iV01iV

000V

Page 19: . Class 2: Basic Sequence Alignment. Sequence Comparison Much of bioinformatics involves sequences u DNA sequences u RNA sequences u Protein sequences.

Dynamic Programming Algorithm

We fill the matrix using the recurrence rule

0A1

G2

C3

0

A 1

A 2

A 3

C 4

Page 20: . Class 2: Basic Sequence Alignment. Sequence Comparison Much of bioinformatics involves sequences u DNA sequences u RNA sequences u Protein sequences.

Dynamic Programming Algorithm

0A1

G2

C3

0 0 -2 -4 -6

A 1 -2 1 -1 -3

A 2 -4 -1 0 -2

A 3 -6 -3 -2 -1

C 4 -8 -5 -4 -1

Conclusion: d(AAAC,AGC) = -1

Page 21: . Class 2: Basic Sequence Alignment. Sequence Comparison Much of bioinformatics involves sequences u DNA sequences u RNA sequences u Protein sequences.

Reconstructing the Best Alignment

To reconstruct the best alignment, we record which case in the recursive rule maximized the score

0A1

G2

C3

0 0 -2 -4 -6

A 1 -2 1 -1 -3

A 2 -4 -1 0 -2

A 3 -6 -3 -2 -1

C 4 -8 -5 -4 -1

Page 22: . Class 2: Basic Sequence Alignment. Sequence Comparison Much of bioinformatics involves sequences u DNA sequences u RNA sequences u Protein sequences.

Reconstructing the Best Alignment

We now trace back the path the corresponds to the best alignment

0A1

G2

C3

0 0 -2 -4 -6

A 1 -2 1 -1 -3

A 2 -4 -1 0 -2

A 3 -6 -3 -2 -1

C 4 -8 -5 -4 -1

AAACAG-C

Page 23: . Class 2: Basic Sequence Alignment. Sequence Comparison Much of bioinformatics involves sequences u DNA sequences u RNA sequences u Protein sequences.

Reconstructing the Best Alignment

Sometimes, more than one alignment has the best score

0A1

G2

C3

0 0 -2 -4 -6

A 1 -2 1 -1 -3

A 2 -4 -1 0 -2

A 3 -6 -3 -2 -1

C 4 -8 -5 -4 -1

AAACA-GC

Page 24: . Class 2: Basic Sequence Alignment. Sequence Comparison Much of bioinformatics involves sequences u DNA sequences u RNA sequences u Protein sequences.

Complexity

Space: O(mn)Time: O(mn) Filling the matrix O(mn) Backtrace O(m+n)

Page 25: . Class 2: Basic Sequence Alignment. Sequence Comparison Much of bioinformatics involves sequences u DNA sequences u RNA sequences u Protein sequences.

Space Complexity

In real-life applications, n and m can be very large The space requirements of O(mn) can be too

demanding If m = n = 1000 we need 1MB space If m = n = 10000, we need 100MB space

We can afford to perform extra computation to save space Looping over million operations takes less than

seconds on modern workstations

Can we trade off space with time?

Page 26: . Class 2: Basic Sequence Alignment. Sequence Comparison Much of bioinformatics involves sequences u DNA sequences u RNA sequences u Protein sequences.

Why Do We Need So Much Space?

To find d(s,t), need O(n) space Need to compute V[i,m] Can fill in V, column by

column, storing only two columns in memory

0

-2

-4

-6

-8

-2

1

-1

-3

-5

-4

-1

0

-2

-4

-6

-3

-2

-1

-1

0A1

G2

C3

0

A 1

A 2

A 3

C 4

Note however This “trick” fails when we

need to reconstruct the sequence

Trace back information “eats up” all the memory

Page 27: . Class 2: Basic Sequence Alignment. Sequence Comparison Much of bioinformatics involves sequences u DNA sequences u RNA sequences u Protein sequences.

Space Efficient Version: Outline

Idea: perform divide and conquer Find position (n/2, j) at which the best alignment

crosses s midpoint

s

t

Construct alignments s[1,n/2] vs t[1,j] s[n/2+1,n] vs t[j+1,m]

Page 28: . Class 2: Basic Sequence Alignment. Sequence Comparison Much of bioinformatics involves sequences u DNA sequences u RNA sequences u Protein sequences.

Finding the Midpoint

Suppose s[1,n] and t[1,m] are given

We can write the score of the best alignment that goes through j as:

d(s[1,n/2],t[1,j]) + d(s[n/2+1,n],t[j+1,m])

Thus, we need to compute these two quantities for all values of j

Page 29: . Class 2: Basic Sequence Alignment. Sequence Comparison Much of bioinformatics involves sequences u DNA sequences u RNA sequences u Protein sequences.

Finding the Midpoint (cont)

Define F[i,j] = d(s[1,i],t[1,j]) B[i,j] = d(s[i+1,n],t[j+1,m])

F[i,j] + B[i,j] = score of best alignment through (i,j)

We compute F[i,j] as we did before We compute B[i,j] in exactly the same manner,

going “backward” from B[n,m]

Page 30: . Class 2: Basic Sequence Alignment. Sequence Comparison Much of bioinformatics involves sequences u DNA sequences u RNA sequences u Protein sequences.

Time Complexity Analysis

Finding mid-point: cmn (c - a constant) Recursive sub-problems of sizes

(n/2,j) and (n/2,m-j-1)

T(m,n) = cmn + T(j,n/2) + T(m-j-1, n/2)

Lemma: T(m,n) 2cmn

Time complexity is linear in size of the problem At worse, twice the time of regular solution.

Page 31: . Class 2: Basic Sequence Alignment. Sequence Comparison Much of bioinformatics involves sequences u DNA sequences u RNA sequences u Protein sequences.

Local Alignment

Consider now a different question: Can we find similar substring of s and t Formally, given s[1..n] and t[1..m] find i,j,k, and l

such that d(s[i..j],t[k..l]) is maximal

Page 32: . Class 2: Basic Sequence Alignment. Sequence Comparison Much of bioinformatics involves sequences u DNA sequences u RNA sequences u Protein sequences.

Local Alignment

As before, we use dynamic programming We now want to setV[i,j] to record the best

alignment of a suffix of s[1..i] and a suffix of t[1..j]

How should we change the recurrence rule?

Page 33: . Class 2: Basic Sequence Alignment. Sequence Comparison Much of bioinformatics involves sequences u DNA sequences u RNA sequences u Protein sequences.

Local Alignment

New option: We can start a new match instead of extend

previous alignment

0

1jtj1iV1is1jiV

1jt1isjiV

1j1iV])[,(],[)],[(],[

])[],[(],[

max],[

Alignment of empty suffixes

]))[,(],[,max(],[

))],[(],[,max(],[

],[

1jtj0V01j0V

1is0iV001iV

000V

Page 34: . Class 2: Basic Sequence Alignment. Sequence Comparison Much of bioinformatics involves sequences u DNA sequences u RNA sequences u Protein sequences.

Local Alignment Example

0

T 1

A 2

C 3

T 4

A 5

A 6

0

T 1

A 2

A 3

T 4

A 5

s = TAATAt = TACTAA

Page 35: . Class 2: Basic Sequence Alignment. Sequence Comparison Much of bioinformatics involves sequences u DNA sequences u RNA sequences u Protein sequences.

Local Alignment Example

0

T 1

A 2

C 3

T 4

A 5

A 6

0 0 0 0 0 0 0 0

T 1 0 1 0 0 1 0 0

A 2 0 0 2 0 0 2 1

A 3 0 0 1 1 0 1 3

T 4 0 1 0 0 2 0 1

A 5 0 0 2 0 0 3 1

s = TAATAt = TACTAA

Page 36: . Class 2: Basic Sequence Alignment. Sequence Comparison Much of bioinformatics involves sequences u DNA sequences u RNA sequences u Protein sequences.

Local Alignment Example

0

T 1

A 2

C 3

T 4

A 5

A 6

0 0 0 0 0 0 0 0

T 1 0 1 0 0 1 0 0

A 2 0 0 2 0 0 2 1

A 3 0 0 1 1 0 1 3

T 4 0 1 0 0 2 0 1

A 5 0 0 2 0 0 3 1

s = TAATAt = TACTAA

Page 37: . Class 2: Basic Sequence Alignment. Sequence Comparison Much of bioinformatics involves sequences u DNA sequences u RNA sequences u Protein sequences.

Local Alignment Example

0

T 1

A 2

C 3

T 4

A 5

A 6

0 0 0 0 0 0 0 0

T 1 0 1 0 0 1 0 0

A 2 0 0 2 0 0 2 1

A 3 0 0 1 1 0 1 3

T 4 0 1 0 0 2 0 1

A 5 0 0 2 0 0 3 1

s = TAATAt = TACTAA

Page 38: . Class 2: Basic Sequence Alignment. Sequence Comparison Much of bioinformatics involves sequences u DNA sequences u RNA sequences u Protein sequences.

Sequence Alignment

We saw two variants of sequence alignment: Global alignment Local alignment

Other variants: Finding best overlap (exercise)

All are based on the same basic idea of dynamic programming