traceback and local alignment prof. william stafford noble department of genome sciences department...

43
Traceback and local alignment Prof. William Stafford Noble Department of Genome Sciences Department of Computer Science and Engineering University of Washington [email protected]

Upload: andrea-marshall

Post on 25-Dec-2015

222 views

Category:

Documents


2 download

TRANSCRIPT

Traceback and local alignment

Prof. William Stafford NobleDepartment of Genome Sciences

Department of Computer Science and EngineeringUniversity of Washington

[email protected]

Outline

• Responses from last class• Sequence alignment– Motivation– Scoring alignments

• Python

One-minute responses• Thank you for doing the one-minute

responses and the revisions.• Liked that you let us solve the DP.• Liked going to lab in second half of

lecture.• More slowly with Python

programming.• Please explain more about string

handling in Python, especially sys.argv.

• sys.argv is now more clear.• Need more practical problems using

sys.• I know how to compute the DP score

but not how to get the alignment.

• I still do not get how sequence alignment works.

• Can we go over DP again?• Please don’t give us a test because

our essay phase has begun already.• Please limit the number of

questions in class.• Moving too slow with previous

work and too fast with current work.

• I understood about 95% of the lecture.

• Can you give us some Python documentation or some interesting web site to improve and learn?

Revision

• What two things are needed to score a pairwise alignment?– A substitution matrix and a gap penalty.

• What does entry (i,j) in the DP matrix store?– The score of the best-scoring alignment up to

those positions.• What are the three valid moves when filling in

the DP matrix?– Horizontal and vertical, corresponding to gaps.

Diagonal, corresponding to a substitution.

A small exampleA C G T

A 2 -7 -5 -7

C -7 2 -7 -5

G -5 -7 2 -7

T -7 -5 -7 2

A A G

A

G

C 1,1 jiF

jiF , jiF ,1

1, jiF

d

d ji yxs ,

Find the optimal alignment of AAG and AGC.Use a gap penalty of d=-5.

A simple exampleA C G T

A 2 -7 -5 -7

C -7 2 -7 -5

G -5 -7 2 -7

T -7 -5 -7 2

A A G

0 -5 -10 -15

A -5

G -10

C -15 1,1 jiF

jiF , jiF ,1

1, jiF

d

d ji yxs ,

Find the optimal alignment of AAG and AGC.Use a gap penalty of d=-5.

A simple exampleA C G T

A 2 -7 -5 -7

C -7 2 -7 -5

G -5 -7 2 -7

T -7 -5 -7 2

A A G

0 -5 -10 -15

A -5 2 -3 -8

G -10 -3 -3 -1

C -15 -8 -8 -6 1,1 jiF

jiF , jiF ,1

1, jiF

d

d ji yxs ,

Find the optimal alignment of AAG and AGC.Use a gap penalty of d=-5.

Traceback

• Start from the lower right corner and trace back to the upper left.

• Each arrow introduces one character at the end of each aligned sequence.

• A horizontal move puts a gap in the left sequence.• A vertical move puts a gap in the top sequence.• A diagonal move uses one character from each

sequence.

• Start from the lower right corner and trace back to the upper left.

• Each arrow introduces one character at the end of each aligned sequence.

• A horizontal move puts a gap in the left sequence.

• A vertical move puts a gap in the top sequence.

• A diagonal move uses one character from each sequence.

A simple example

A A G

0 -5

A 2 -3

G -1

C -6

Find the optimal alignment of AAG and AGC.Use a gap penalty of d=-5.

• Start from the lower right corner and trace back to the upper left.

• Each arrow introduces one character at the end of each aligned sequence.

• A horizontal move puts a gap in the left sequence.

• A vertical move puts a gap in the top sequence.

• A diagonal move uses one character from each sequence.

A simple example

A A G

0 -5

A 2 -3

G -1

C -6

Find the optimal alignment of AAG and AGC.Use a gap penalty of d=-5.

AAG- AAG--AGC A-GC

DP matrix

G A A T C

0 -4 -8 -12 -16 -20

C -4 -5 -9 -13 -12 -6

A -8 -4 5 1 -3 -7

T -12 -8 1 0 11 7

A -16 -12 2 11 7 6

C -20 -16 -2 7 11 17

GA-ATCCATA-C

DP matrix

G A A T C

0 -4 -8 -12 -16 -20

C -4 -5 -9 -13 -12 -6

A -8 -4 5 1 -3 -7

T -12 -8 1 0 11 7

A -16 -12 2 11 7 6

C -20 -16 -2 7 11 17

GAAT-CCA-TAC

DP matrix

G A A T C

0 -4 -8 -12 -16 -20

C -4 -5 -9 -13 -12 -6

A -8 -4 5 1 -3 -7

T -12 -8 1 0 11 7

A -16 -12 2 11 7 6

C -20 -16 -2 7 11 17

GAAT-CC-ATAC

DP matrix

G A A T C

0 -4 -8 -12 -16 -20

C -4 -5 -9 -13 -12 -6

A -8 -4 5 1 -3 -7

T -12 -8 1 0 11 7

A -16 -12 2 11 7 6

C -20 -16 -2 7 11 17

GAAT-C-CATAC

Multiple solutions

• When a program returns a sequence alignment, it may not be the only best alignment.

GA-ATCCATA-C

GAAT-CCA-TAC

GAAT-CC-ATAC

GAAT-C-CATAC

Traceback problem #1

G A A T C

0 -4 -8 -12 -16 -20

C -4 -5 -9 -13 -12 -6

A -8 -4 5 1 -3 -7

T -12 -8 1 0 11 7

A -16 -12 2 11 7 6

C -20 -16 -2 7 11 17

Write down the alignment corresponding to the circled score.

Solution #1

G A A T C

0 -4 -8 -12 -16 -20

C -4 -5 -9 -13 -12 -6

A -8 -4 5 1 -3 -7

T -12 -8 1 0 11 7

A -16 -12 2 11 7 6

C -20 -16 -2 7 11 17

Write down the alignment corresponding to the circled score.

GACA

Traceback problem #2

G A A T C

0 -4 -8 -12 -16 -20

C -4 -5 -9 -13 -12 -6

A -8 -4 5 1 -3 -7

T -12 -8 1 0 11 7

A -16 -12 2 11 7 6

C -20 -16 -2 7 11 17

Write down three alignments corresponding to the circled score.

G A A T C

0 -4 -8 -12 -16 -20

C -4 -5 -9 -13 -12 -6

A -8 -4 5 1 -3 -7

T -12 -8 1 0 11 7

A -16 -12 2 11 7 6

C -20 -16 -2 7 11 17

GAATCCA---Solution #2

Write down three alignments corresponding to the circled score.

G A A T C

0 -4 -8 -12 -16 -20

C -4 -5 -9 -13 -12 -6

A -8 -4 5 1 -3 -7

T -12 -8 1 0 11 7

A -16 -12 2 11 7 6

C -20 -16 -2 7 11 17

GAATCCA---

GAATCC-A--Solution #2

Write down three alignments corresponding to the circled score.

Solution #2

G A A T C

0 -4 -8 -12 -16 -20

C -4 -5 -9 -13 -12 -6

A -8 -4 5 1 -3 -7

T -12 -8 1 0 11 7

A -16 -12 2 11 7 6

C -20 -16 -2 7 11 17

GAATCCA---

GAATCC-A--

GAATC-CA--

Write down three alignments corresponding to the circled score.

Local alignment

• A protein may be homologous to a region within a second protein.

• Usually, an alignment that spans the complete length of both sequences is not required.

BLAST allows local alignments

Global alignment

Local alignment

Global alignment DP

• Align sequence x and y.• F is the DP matrix; s is the substitution matrix;

d is the linear gap penalty.

djiF

djiF

yxsjiF

jiF

F

ji

1,

,1

,1,1

max,

00,0

Local alignment DP

• Align sequence x and y.• F is the DP matrix; s is the substitution matrix;

d is the linear gap penalty.

0

1,,1

,1,1

max,

00,0

djiFdjiF

yxsjiF

jiF

F

ji

Local DP in equation form

1,1 jiF

jiF , jiF ,1

1, jiF

d

d ji yxs ,

0

A simple exampleA C G T

A 2 -7 -5 -7

C -7 2 -7 -5

G -5 -7 2 -7

T -7 -5 -7 2

A A G

A

G

C 1,1 jiF

jiF , jiF ,1

1, jiF

d

d ji yxs ,

Find the optimal local alignment of AAG and AGC.Use a gap penalty of d=-5.

0

A simple exampleA C G T

A 2 -7 -5 -7

C -7 2 -7 -5

G -5 -7 2 -7

T -7 -5 -7 2

A A G

0 0 0 0

A 0

G 0

C 0 1,1 jiF

jiF , jiF ,1

1, jiF

d

d ji yxs ,

Find the optimal local alignment of AAG and AGC.Use a gap penalty of d=-5.

0

A simple exampleA C G T

A 2 -7 -5 -7

C -7 2 -7 -5

G -5 -7 2 -7

T -7 -5 -7 2

A A G

0 0 0 0

A 0

G 0

C 0 1,1 jiF

jiF , jiF ,1

1, jiF

d

d ji yxs ,

Find the optimal local alignment of AAG and AGC.Use a gap penalty of d=-5.

0

0 -50-5

2

A simple exampleA C G T

A 2 -7 -5 -7

C -7 2 -7 -5

G -5 -7 2 -7

T -7 -5 -7 2

A A G

0 0 0 0

A 0 2

G 0 ?

C 0 ? 1,1 jiF

jiF , jiF ,1

1, jiF

d

d ji yxs ,

Find the optimal local alignment of AAG and AGC.Use a gap penalty of d=-5.

0

A simple exampleA C G T

A 2 -7 -5 -7

C -7 2 -7 -5

G -5 -7 2 -7

T -7 -5 -7 2

A A G

0 0 0 0

A 0 2 ? ?

G 0 0 ? ?

C 0 0 ? ? 1,1 jiF

jiF , jiF ,1

1, jiF

d

d ji yxs ,

Find the optimal local alignment of AAG and AGC.Use a gap penalty of d=-5.

0

A simple exampleA C G T

A 2 -7 -5 -7

C -7 2 -7 -5

G -5 -7 2 -7

T -7 -5 -7 2

A A G

0 0 0 0

A 0 2 2 0

G 0 0 0 4

C 0 0 0 0 1,1 jiF

jiF , jiF ,1

1, jiF

d

d ji yxs ,

Find the optimal local alignment of AAG and AGC.Use a gap penalty of d=-5.

0

Local alignment

• Two differences with respect to global alignment:– No score is negative.– Traceback begins at the highest score in the matrix

and continues until you reach 0.• Global alignment algorithm: Needleman-

Wunsch.• Local alignment algorithm: Smith-Waterman.

A simple exampleA C G T

A 2 -7 -5 -7

C -7 2 -7 -5

G -5 -7 2 -7

T -7 -5 -7 2

A A G

0 0 0 0

A 0 2 2 0

G 0 0 0 4

C 0 0 0 0 1,1 jiF

jiF , jiF ,1

1, jiF

d

d ji yxs ,

Find the optimal local alignment of AAG and AGC.Use a gap penalty of d=-5.

0

AGAG

Local alignmentA C G T

A 2 -7 -5 -7

C -7 2 -7 -5

G -5 -7 2 -7

T -7 -5 -7 2

A A G

0 0 0 0

G 0

A 0

A 0

G 0

G 0

C 0

1,1 jiF

jiF , jiF ,1

1, jiF

d

d ji yxs ,

Find the optimal local alignment of AAG and GAAGGC.Use a gap penalty of d=-5.

0

Local alignmentA C G T

A 2 -7 -5 -7

C -7 2 -7 -5

G -5 -7 2 -7

T -7 -5 -7 2

A A G

0 0 0 0

G 0 0 0 2

A 0 2 2 0

A 0 2 4 0

G 0 0 0 6

G 0 0 0 2

C 0 0 0 0

1,1 jiF

jiF , jiF ,1

1, jiF

d

d ji yxs ,

Find the optimal local alignment of AAG and GAAGGC.Use a gap penalty of d=-5.

0

Local alignmentA C G T

A 2 -7 -5 -7

C -7 2 -7 -5

G -5 -7 2 -7

T -7 -5 -7 2

A A G

0 0 0 0

G 0 0 0 2

A 0 2 2 0

A 0 2 4 0

G 0 0 0 6

G 0 0 0 2

C 0 0 0 0

1,1 jiF

jiF , jiF ,1

1, jiF

d

d ji yxs ,

Find the optimal local alignment of AAG and GAAGGC.Use a gap penalty of d=-5.

0

AAGAAG

Summary

• Local alignment finds the best match between subsequences.

• Smith-Waterman local alignment algorithm:– No score is negative.– Trace back from the largest score in the matrix.

Sample problem #1

• Given:– Two letters– A substitution matrix written as three columns (letter, letter, value)A C 0A D -2

• Return:– The value associated with the two letters

• You must store the substitution matrix in memory.• You must account for the fact that the order of the letters

doesn’t matter.

Solution outline

• Read the substitution matrix into a dictionary.– Each line of the file has three values.A C 4A D -2– Each line is stored in a dictionary with the first two

entries as a tuple key and the last entry as the value.

substitionMatrix[(letter1, letter2)] = value

Sample problem #2

• Given: – A file containing two sequences of equal length (one per

line)– A substitution matrix written as three columns (letter,

letter, value)• Return:– The score of the ungapped alignment between the

sequences

• Test using input files from class web page. – Solutions: 1 = 69, 2 = 104, 3 = 153

Solution outline

• Store the substitution matrix in memory, as before.

• Check to be sure the sequences are the same length, and report an error if they are not.

• Use a for loop to traverse both sequences at once.

One-minute response

At the end of each class• Write for about one minute.• Provide feedback about the class.• Was part of the lecture unclear?• What did you like about the class?• Do you have unanswered questions?I will begin the next class by responding to the one-minute responses