Quick viewing(Text Mode)

Sequence Alignment Why? What Is It? What Is It? Why Do We Care?

Sequence Alignment Why? What Is It? What Is It? Why Do We Care?

Why?

gives us new sequences • Network biology gives us functional information on / • Analysis of mutants links unknown genes to diseases • Can we learn anything from other known sequences about our new gene/?

Armstrong, 2008 Armstrong, 2008

What is it?

ACCGGTATCCTAGGAC ACCTATCTTAGGAC

Are these two sequences related? How similar (or dissimilar) are they?

Armstrong, 2008 Armstrong, 2008

What is it? Why do we care?

ACCGGTATCCTAGGAC ||| |||| |||||| • DNA and Proteins are based on linear sequences ACC--TATCTTAGGAC • Information is encoded in these sequences • All at some level comes back to • Match the two sequences as closely as possible = matching sequences that might have some noise or aligned variability • Therefore, alignments need a score

Armstrong, 2008 Armstrong, 2008

1 Alignment Types Alignment Types

• Global: used to compare to similar sized • Local: used to find shared subsequences. sequences. – Search for protein domains – Compare closely related genes – Find gene regulatory elements – Search for mutations or polymorphisms – Locate a similar gene in a genome in a sequence compared to a reference. sequence.

Armstrong, 2008 Armstrong, 2008

Alignment Types How do we score alignments?

• Ends Free: used to find joins/overlaps. ACCGGTATCCTAGGAC – Align the sequences from adjacent ||| |||| |||||| sequencing primers. ACC--TATCTTAGGAC • Assign a score for each match along the sequence.

Armstrong, 2008 Armstrong, 2008

How do we score alignments? How do we score alignments?

ACCGGTATCCTAGGAC ACCGGTATCCTAGGAC ||| |||| |||||| ||| |||| |||||| ACC--TATCTTAGGAC ACC--TATCTTAGGAC • Assign a score (or penalty) for each • Assign a score (or penalty) for each substitution. insertion or deletion. • insertions/deletions otherwise known as

Armstrong, 2008 Armstrong, 2008

2 How do we score alignments? How do we score gaps?

ACCGGTATCCTAGGAC ACCGGTATCC---GAC ||| |||| |||||| ||| |||| ||| ACC--TATCTTAGGAC ACC--TATCTTAGGAC • Matches and substitutions are ‘easy’ to deal • A gap is a consecutive run of indels with. • The gap length is the number of indels. – We’ll look at substitution matrices later. • The simple example here has two gaps of • How do we score indels: gaps? length 2 and 3

Armstrong, 2008 Armstrong, 2008

How do we score gaps? Choosing Gap Penalties

ACCGGTATCC---GAC • The choice of Gap Scoring Penalty is very ||| |||| ||| sensitive to the context in which it is ACC--TATCTTAGGAC applied: • Constant: Length independent weight – introns vs exons • Affine: Open and Extend weights. – protein coding regions • Convex: Each additional gap contributes less – mis-matches in PCR primers • Arbitrary: Some arbitrary function on length

Armstrong, 2008 Armstrong, 2008

Substitution Matrices Similarity/Distance

• Substitution matrices are used to score • Distance is a measure of the cost or substitution events in alignments. replacing one residue with another. • Particularly important in Protein sequence • Similarity is a measure of how similar a alignments but relevant to DNA sequences replacement is. as well. e.g. replacing a hydrophobic residue with a hydrophilic one. • Each scoring matrix represents a particular • The logic behind both are the same and the theory of scoring matrices are interchangeable.

Armstrong, 2008 Armstrong, 2008

3 DNA Matrices Protein Substitution Matrices

Identity matrix BLAST How can we score a substitution in an aligned A C G T A C G T sequence? A 1 0 0 0 A 5 –4 –4 -4 C 0 1 0 0 C –4 5 –4 -4 G 0 0 1 0 G –4 –4 5 -4 • Identity matrix like the simple DNA one. T 0 0 0 1 T -4 –4 –4 5 • Matrix: However, some changes are more likely to occur than others (even in For this, the score is based upon the minimum number of DNA). When looking at distance, the ease of mutation is a factor. a.g. DNA base changes required to convert one into A-T and A-C replacements are rarer than A-G or C-T. the other.

Armstrong, 2008 Armstrong, 2008

Protein Substitution Matrices

How can we score a substitution in an aligned sequence?

• Amino acid property matrix Assign arbitrary values to the relatedness of different amino acids: e.g. hydrophobicity , charge, pH, shape, size

Armstrong, 2008 Armstrong, 2008

Matrices based on Probability PAM matrices

S = log (q /p p ) Dayhoff, Schwarz and Orcutt 1978 took these into ij ij i j consideration when constructing the PAM matrices: Sij is the log odds ratio of two probabilities: amino Took 71 protein families - where the sequences acids i and j are aligned by evolutionary descent differed by no more than 15% of residues (i.e. and the probability that they aligned at random. 85% identical) Aligned these proteins This is the basis for commonly used substitution Build a theoretical matrices. Predicted the most likely residues in the ancestral sequence Armstrong, 2008 Armstrong, 2008

4 PAM Matrices PAM Matrices

• Ignore evolutionary direction To increase the distance, they multiplied the • Obtained frequencies for residue X being the PAM1 matrix. substituted by residue Y over time period Z

• Based on 1572 residue changes PAM250 is one of the most commonly used. • They defined a as 1 PAM () if the expected number of substitutions was 1% of the sequence length.

Armstrong, 2008 Armstrong, 2008

PAM - notes PAM - notes

The PAM matrices are rooted in the original Biased towards conservative mutations in the DNA datasets used to create the theoretical trees sequence (rather than amino acid substitutions) that have little effect on function/structure.

They work well with closely related sequences Replacement at any site in the sequence depends only on the amino acid at that site and the Based on data where substitutions are most likely probability given by the table.This does not to occur from single base changes in codons. represent evolutionary processes correctly. Distantly related sequences usually have regions of high conservation (blocks).

Armstrong, 2008 Armstrong, 2008

PAM - notes BLOSUM matrices

36 residue pairs were not observed in the dataset Henikoff and Henikoff 1991 used to create the original PAM matrix Took sets of aligned ungapped regions from protein families from the BLOCKS database. A new version of PAM was created in 1992 using 59190 substitutions: Jones, Taylor and Thornton 1992 CAMBIOS 8 pp 275 The BLOCKS database contain short protein sequences of high similarity clustered together. These are found by applying the MOTIF algorithm to the SWISS-PROT and other databases. The current release has 8656 Blocks. Armstrong, 2008 Armstrong, 2008

5 BLOSUM matrices BLOSUM matrices

Sequences were clustered whenever the %identify Resulted in the fraction of observed substitutions exceeded some percentage level. between any two residues over all observed substitutions.

Calculated the of any two residues being The resulting matrices are numbered inversely from aligned in one cluster also being aligned in another the PAM matrices so the BLOSUM50 matrix was based on clusters of sequence over 50% identity, Correcting for the size of each cluster. and BLOSUM62 where the clusters were at least 62% identical.

Armstrong, 2008 Armstrong, 2008

BLOSUM 62 Matrix Summary so far…

• Gaps – operations – Gap scoring methods

• Substitution matrices – DNA largely simple matrices – Protein matrices are based on probability – PAM and BLOSUM

Armstrong, 2008 Armstrong, 2008

How do we do it? Working Parameters

• Like everything else there are several • For proteins, using the affine methods and choices of parameters rule and a substitution matrix: • The choice depends on the question being Query Length Matrix Gap (open/extend) asked <35 PAM-30 9,1 – What kind of alignment? 35-50 PAM-70 10,1 – Which substitution matrix is appropriate? 50-85 BLOSUM-80 10,1 – What gap-penalty rules are appropriate? >85 BLOSUM-62 11,1 – Is a heuristic method good enough?

Armstrong, 2008 Armstrong, 2008

6 Alignment Types Global Alignment

• Global: used to compare to similar sized • Two sequences of similar length sequences. • Finds the best alignment of the two sequences • Local: used to find similar subsequences. • Finds the score of that alignment • Includes ALL bases from both sequences in the alignment and the score. • Ends Free: used to find joins/overlaps. • Needleman-Wunsch algorithm

Armstrong, 2008 Armstrong, 2008

Needleman-Wunsch algorithm Needleman-Wunsch algorithm

• Gaps are inserted into, or at the ends of each • Consider 2 sequences S and T sequence. • Sequence S has n elements • The sequence length (bases+gaps) are • Sequence T has m elements identical for each sequence • Every base or gap in each sequence is • Gap penalty ? aligned with a base or a gap in the other sequence

Armstrong, 2008 Armstrong, 2008

How do we score gaps? Needleman-Wunsch algorithm

ACCGGTATCC---GAC • Consider 2 sequences S and T ||| |||| ||| • Sequence S has n elements ACC--TATCTTAGGAC • Sequence T has m elements • Constant: Length independent weight • Gap penalty –1 per base (arbitrary gap penalty) • Affine: Open and Extend weights. • An alignment between base i in S and a gap in T is • Convex: Each additional gap contributes less represented: (Si,-) • The score for this is represented : (S ,-) = -1 • Arbitrary: Some arbitrary function on length σ i – Lets score each gap as –1 times length

Armstrong, 2008 Armstrong, 2008

7 Needleman-Wunsch algorithm Needleman-Wunsch algorithm

• Substitution/Match matrix for a simple alignment • Substitution/Match matrix for a simple alignment • Several models based on probability…. • Simple identify matrix (2 for match, -1 for mismatch) A C G T • An alignment between base i in S and base j in T is A 2 -1 -1 -1 represented: (Si,Tj) C -1 2 -1 -1 • The score for this occurring is represented: σ(Si,Tj) G -1 -1 2 -1 T -1 -1 -1 2

Armstrong, 2008 Armstrong, 2008

Needleman-Wunsch algorithm Needleman-Wunsch algorithm

• Set up a array V of size n+1 by m+1 – lets start by trying out a simple example • Row 0 and Column 0 represent the cost of adding alignment: gaps to either sequence at the start of the alignment • Calculate the rest of the cells row by row by S = ACCGGTAT finding the optimal route from the surrounding T = ACCTATC cells that represent a gap or match/mismatch – This is easier to demonstrate than to explain

Armstrong, 2008 Armstrong, 2008

Needleman-Wunsch algorithm Create array m+1 by n+1 (i.e. 9 by 8) – Get lengths

S = ACCGGTAT T = ACCTATC Length of S = m = 8 Length of T = n = 7 (lengths approx equal so OK for Global Alignment)

Armstrong, 2008 Armstrong, 2008

8 Represent scores for gaps in row/ Add on bases from each sequence col 0 A C C G G T A T (S) A C C G G T A T (S) 0 -1 -2 A A C C C C T T A A T T C C (T) (T)

Armstrong, 2008 Armstrong, 2008

Represent scores for gaps in row/ For each cell consider the ‘best’ col 0 path A C C G G T A T (S) A C C G G T A T (S) 0 -1 -2 -3 -4 -5 -6 -7 -8 0 -1 -2 -3 -4 -5 -6 -7 -8 A -1 A -1 C -2 C -2 C -3 C -3 T -4 T -4 A -5 A -5 T -6 T -6 C -7 C -7 (T) (T)

Armstrong, 2008 Armstrong, 2008

For each cell consider the ‘best’ For each cell consider the ‘best’ path path A C C G G T A T (S) A C C G G T A T (S) 0 -1 -2 -3 0 -1 -2 -3 A -1 A -1 C C (S1,T0) & σ(-,T1) = -1 (S1,T0) & σ(-,T1) = -1 C Running total (-1+-1)=-2 C Running total (-1+-1)=-2 T T A A T T C C (S0, T1) & σ(S1,-) = -1 (T) (T) Running total (-1+-1)=-2

Armstrong, 2008 Armstrong, 2008

9 For each cell consider the ‘best’ Choose and record ‘best’ path path A C C G G T A T (S) A C C G G T A T (S) 0 -1 -2 -3 0 -1 -2 -3 A -1 A -1 2 C C (S1,T0) & σ(-,T1) = -1 C Running total (-1+-1)=-2 C T T (S0,T0) & σ(S1,T1) = 2 A Running total (0+2)=2 A T T C C (S0, T1) & σ(S1,-) = -1 (T) Running total (-1+-1)=-2 (T)

Armstrong, 2008 Armstrong, 2008

Choose and record ‘best’ path Continue…. A C C G G T A T (S) A C C G G T A T (S) 0 -1 -2 -3 0 -1 -2 -3 -4 -5 -6 -7 -8 A -1 2 1 A -1 2 1 0 -1 -2 -3 -4 C C -2 (S2,T0) & σ(-,T1) C Running total (-2+-1)=-3 C -3 T T -4 (S ,T ) & (S ,T ) A 1 0 σ 2 1 A -5 Running total (-1+-1)=-2 T T -6

C (S1,T1) & σ(S2,-) C -7 (T) Running total (2+-1)=1 (T)

Armstrong, 2008 Armstrong, 2008

Continue…. Continue…. A C C G G T A T (S) A C C G G T A T (S) 0 -1 -2 -3 -4 -5 -6 -7 -8 0 -1 -2 -3 -4 -5 -6 -7 -8 A -1 2 1 0 -1 -2 -3 -4 -5 A -1 2 1 0 -1 -2 -3 -4 -5 C -2 1 4 3 2 1 0 -1 -2 C -2 1 4 3 2 1 0 -1 -2 C -3 C -3 0 3 6 5 4 3 2 1 T -4 T -4 A -5 A -5 T -6 T -6 C -7 C -7 (T) (T)

Armstrong, 2008 Armstrong, 2008

10 Continue…. Continue…. A C C G G T A T (S) A C C G G T A T (S) 0 -1 -2 -3 -4 -5 -6 -7 -8 0 -1 -2 -3 -4 -5 -6 -7 -8 A -1 2 1 0 -1 -2 -3 -4 -5 A -1 2 1 0 -1 -2 -3 -4 -5 C -2 1 4 3 2 1 0 -1 -2 C -2 1 4 3 2 1 0 -1 -2 C -3 0 3 6 5 4 3 2 1 C -3 0 3 6 5 4 3 2 1 T -4 -1 2 5 4 4 6 5 4 T -4 -1 2 5 4 4 6 5 4 A -5 A -5 -2 1 4 4 3 5 8 7 T -6 T -6 C -7 C -7 (T) (T)

Armstrong, 2008 Armstrong, 2008

Continue…. Finally. A C C G G T A T (S) A C C G G T A T (S) 0 -1 -2 -3 -4 -5 -6 -7 -8 0 -1 -2 -3 -4 -5 -6 -7 -8 A -1 2 1 0 -1 -2 -3 -4 -5 A -1 2 1 0 -1 -2 -3 -4 -5 C -2 1 4 3 2 1 0 -1 -2 C -2 1 4 3 2 1 0 -1 -2 C -3 0 3 6 5 4 3 2 1 C -3 0 3 6 5 4 3 2 1 T -4 -1 2 5 4 4 6 5 4 T -4 -1 2 5 4 4 6 5 4 A -5 -2 1 4 4 3 5 8 7 A -5 -2 1 4 4 3 5 8 7 T -6 -3 0 3 3 3 5 7 10 T -6 -3 0 3 3 3 5 7 10 C -7 C -7 -4 -1 2 2 2 4 6 9 = Score (T) (T)

Armstrong, 2008 Armstrong, 2008

We recreate the alignment using by following the Finally. pointers back through the array to the origin A C C G G T A T (S) A C C G G T A T (S) 0 -1 -2 -3 -4 -5 -6 -7 -8 0 -1 -2 -3 -4 -5 -6 -7 -8 A -1 2 1 0 -1 -2 -3 -4 -5 A -1 2 1 0 -1 -2 -3 -4 -5 C -2 1 4 3 2 1 0 -1 -2 C -2 1 4 3 2 1 0 -1 -2 C -3 0 3 6 5 4 3 2 1 C -3 0 3 6 5 4 3 2 1 T -4 -1 2 5 4 4 6 5 4 T -4 -1 2 5 4 4 6 5 4 A -5 -2 1 4 4 3 5 8 7 A -5 -2 1 4 4 3 5 8 7 T -6 -3 0 3 3 3 5 7 10 T -6 -3 0 3 3 3 5 7 10 C -7 -4 -1 2 2 2 4 6 9 C -7 -4 -1 2 2 2 4 6 9 (T) (T)

Armstrong, 2008 Armstrong, 2008

11 - (S) T- (S) | A C C G G TC A( T T) (S) A C C G G TCT A( T T) (S) 0 -1 -2 -3 -4 -5 -6 -7 -8 0 -1 -2 -3 -4 -5 -6 -7 -8 A -1 2 1 0 -1 -2 -3 -4 -5 A -1 2 1 0 -1 -2 -3 -4 -5 C -2 1 4 3 2 1 0 -1 -2 C -2 1 4 3 2 1 0 -1 -2 C -3 0 3 6 5 4 3 2 1 C -3 0 3 6 5 4 3 2 1 T -4 -1 2 5 4 4 6 5 4 T -4 -1 2 5 4 4 6 5 4 A -5 -2 1 4 4 3 5 8 7 A -5 -2 1 4 4 3 5 8 7 T -6 -3 0 3 3 3 5 7 10 T -6 -3 0 3 3 3 5 7 10 C -7 -4 -1 2 2 2 4 6 9 C -7 -4 -1 2 2 2 4 6 9 (T) (T)

Armstrong, 2008 Armstrong, 2008

AT- (S) TAT- (S) || ||| A C C G G ATC T A( T T) (S) A C C G TATCG T A( T T) (S) 0 -1 -2 -3 -4 -5 -6 -7 -8 0 -1 -2 -3 -4 -5 -6 -7 -8 A -1 2 1 0 -1 -2 -3 -4 -5 A -1 2 1 0 -1 -2 -3 -4 -5 C -2 1 4 3 2 1 0 -1 -2 C -2 1 4 3 2 1 0 -1 -2 C -3 0 3 6 5 4 3 2 1 C -3 0 3 6 5 4 3 2 1 T -4 -1 2 5 4 4 6 5 4 T -4 -1 2 5 4 4 6 5 4 A -5 -2 1 4 4 3 5 8 7 A -5 -2 1 4 4 3 5 8 7 T -6 -3 0 3 3 3 5 7 10 T -6 -3 0 3 3 3 5 7 10 C -7 -4 -1 2 2 2 4 6 9 C -7 -4 -1 2 2 2 4 6 9 (T) (T)

Armstrong, 2008 Armstrong, 2008

GTAT- (S) GGTAT- (S) ||| ||| A C C G -TATC G T A( T T) (S) A C C G--TATC G T A( T T) (S) 0 -1 -2 -3 -4 -5 -6 -7 -8 0 -1 -2 -3 -4 -5 -6 -7 -8 A -1 2 1 0 -1 -2 -3 -4 -5 A -1 2 1 0 -1 -2 -3 -4 -5 C -2 1 4 3 2 1 0 -1 -2 C -2 1 4 3 2 1 0 -1 -2 C -3 0 3 6 5 4 3 2 1 C -3 0 3 6 5 4 3 2 1 T -4 -1 2 5 4 4 6 5 4 T -4 -1 2 5 4 4 6 5 4 A -5 -2 1 4 4 3 5 8 7 A -5 -2 1 4 4 3 5 8 7 T -6 -3 0 3 3 3 5 7 10 T -6 -3 0 3 3 3 5 7 10 C -7 -4 -1 2 2 2 4 6 9 C -7 -4 -1 2 2 2 4 6 9 (T) (T)

Armstrong, 2008 Armstrong, 2008

12 CGGTAT- (S) CCGGTAT- (S) | ||| || ||| A C C C--TATC G G T A( T T) (S) A C C CC--TATC G G T A( T T) (S) 0 -1 -2 -3 -4 -5 -6 -7 -8 0 -1 -2 -3 -4 -5 -6 -7 -8 A -1 2 1 0 -1 -2 -3 -4 -5 A -1 2 1 0 -1 -2 -3 -4 -5 C -2 1 4 3 2 1 0 -1 -2 C -2 1 4 3 2 1 0 -1 -2 C -3 0 3 6 5 4 3 2 1 C -3 0 3 6 5 4 3 2 1 T -4 -1 2 5 4 4 6 5 4 T -4 -1 2 5 4 4 6 5 4 A -5 -2 1 4 4 3 5 8 7 A -5 -2 1 4 4 3 5 8 7 T -6 -3 0 3 3 3 5 7 10 T -6 -3 0 3 3 3 5 7 10 C -7 -4 -1 2 2 2 4 6 9 C -7 -4 -1 2 2 2 4 6 9 (T) (T)

Armstrong, 2008 Armstrong, 2008

ACCGGTAT- (S) ||| ||| Checking the result A C CACC--TATC G G T A( T T) (S) 0 -1 -2 -3 -4 -5 -6 -7 -8 ACCGGTAT- (S) ||| ||| A -1 2 1 0 -1 -2 -3 -4 -5 ACC--TATC (T) C -2 1 4 3 2 1 0 -1 -2 C -3 0 3 6 5 4 3 2 1 • Our alignment considers ALL bases in each T -4 -1 2 5 4 4 6 5 4 sequence A -5 -2 1 4 4 3 5 8 7 • 6 matches = 12 points, 3 gaps = -3 points T -6 -3 0 3 3 3 5 7 10 • Score = 9 confirmed. C -7 -4 -1 2 2 2 4 6 9 (T)

Armstrong, 2008 Armstrong, 2008

A bit more formally.. Time Complexity Base conditions: i V(i,0) = ∑ σ(Sk,-) k=0 • Each cell is dependant on three others and the two relevant characters in each sequence j V(0,j) = ∑ σ(-,Tk) • Hence each cell takes a constant time k=0 • (n+1) x (m+1) cells Recurrence relation: for 1<=i <= n, 1<=j<=m:

V(i-1,j-1) + σ(Si,Tj) V(i-1,j) + σ(S ,-) V(i,j) = max { i • Complexity is therefore O(nm) V(i,j-1) + σ(-,Tj)

Armstrong, 2008 Armstrong, 2008

13 Space Complexity Global alignment in linear space

• To calculate each row we need the current row • Hirschberg 1977 applied a ‘divide and and the row above only. conquer’ algorithm to Global Alignment to • Therefore to get the score, we need O(n+m) space solve the problem in linear space. • Divide the problem into small manageable • However, if we need the pointers as well, this chunks increases to O(nm) space • The clever bit is finding the chunks • This is a problem for very long sequences – think about the size of whole

Armstrong, 2008 Armstrong, 2008

Hirschberg’s divide and conquer dividing... (0,0) approach n th Compute matrix V(A,B) saving the values for /2 row - call this matrix F r r n th Compute matrix V(A ,B ) saving the values for /2 row - call this matrix B n /2 n Find column k so that the crossing point ( /2,k) satisfies: n n F( /2,k) + B( /2,m-k) = F(n,m)

Now we have two much smaller problems: n n (0,0) -> ( /2,k) and (n,m) -> ( /2,m-k) (m,n)

Armstrong, 2008 Armstrong, 2008

Complexity OK where are we?

• After applying Hirschberg’s divide and conquer approach • The Needleman-Wunsch algorithm finds the we get the following: optimum alignment and the best score. – Complexity O(mn) – NW is a algorithm – Space O(min(m,n)) • Space complexity is a problem with NW • For the proofs, see D.S. Hirschberg. (1977) Algorithms for • Addressed by a divide and conquer the longest common subsequence problem. J. A.C.M 24: algorithm 664-667 • What about local and ends-free alignments?

Armstrong, 2008 Armstrong, 2008

14 Smith-Waterman algorithm Smith-Waterman algorithm

• Between two sequences, find the best two • If Si matches Tj then σ(Si,Tj) >=0 subsequences and their score. • If they do not match or represent a gap then <=0 • We want to ignore badly matched sequence • Use the same types of substitution matrix • Lowest allowable value of any cell is 0 and gap penalties • Find the cell with the highest value (i,j) and extend the alignment back to the first zero value • Use a modification of the previous dynamic • The score of the alignment is the value in that cell programming approach. • A quick example if best...

Armstrong, 2008 Armstrong, 2008

min value of any cell is 0 min value of any cell is 0 A C C G G T A T (S) A C C G G T A T (S) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 T 0 T 0 0 0 0 0 0 2 1 2 T 0 T 0 0 0 0 0 0 2 1 3 G 0 G 0 T 0 T 0 A 0 A 0 T 0 T 0 C 0 C 0 (T) (T)

Armstrong, 2008 Armstrong, 2008

Find biggest cell and map alignment min value of any cell is 0 from there A C C G G T A T (S) A C C G G T A T (S) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 T 0 0 0 0 0 0 2 1 2 T 0 0 0 0 0 0 2 1 2 T 0 0 0 0 0 0 2 1 3 T 0 0 0 0 0 0 2 1 3 G 0 0 0 0 2 2 1 1 2 G 0 0 0 0 2 2 1 1 2 T 0 0 0 0 1 1 4 3 3 T 0 0 0 0 1 1 4 3 3 A 0 2 1 0 0 0 3 6 5 A 0 2 1 0 0 0 3 6 5 T 0 1 1 0 0 0 2 5 8 T 0 1 1 0 0 0 2 5 8 C 0 0 3 4 3 2 1 4 7 C 0 0 3 4 3 2 1 4 7 (T) (T)

Armstrong, 2008 Armstrong, 2008

15 GTAT(S) |||| Smith-Waterman cont’d GTAT(T) A C C G G T A T (S) 0 0 0 0 0 0 0 0 0 • Complexity T 0 0 0 0 0 0 2 1 2 – Time is O(nm) as in global alignments T 0 0 0 0 0 0 2 1 3 – Space is O(nm) as in global alignments G 0 0 0 0 2 2 1 1 2 T 0 0 0 0 1 1 4 3 3 – A mod of Hirschbergs algorithm allows O(n+m) (n +m) as two rows need to be stored at a time instead of A 0 2 1 0 0 0 3 6 5 one as in the global alignment. T 0 1 1 0 0 0 2 5 8 C 0 0 3 4 3 2 1 4 7 (T)

Armstrong, 2008 Armstrong, 2008

A bit more formally.. Ends-free alignment Base conditions: ∀i,j. V(i,0) = 0, V(0,j) = 0 • Find the overlap between two sequences such start the start of one overlaps is in the alignment and Recurrence relation: for 1<=i <= n, 1<=j<=m: the end of the other is in the alignment. 0 • Essential to DNA sequencing strategies. V(i-1,j-1) + σ(S ,T ) i j – Building genome fragments out of shorter sequencing V(i,j) = max V(i-1,j) + σ(S ,-) { i data. V(i,j-1) + σ(-,Tj) * * * * • Another variant of the Global Alignment Problem Compute i and j V(i ,j ) = max 1<=i<=n,1<=j<=m V(i,j)

Armstrong, 2008 Armstrong, 2008

Ends-free alignment min value row0 & col0 is 0 G T T A C T G T (S) • Set the initial conditions to zero weight 0 0 0 0 0 0 0 0 0 – allow indels/gaps at the ends without penalty C 0 -1 -1 -1 -1 2 1 0 -1 • Fill the array/table using the same recursion T 0 -1 1 1 0 1 4 3 2 model used in global/local alignment G 0 2 1 0 0 0 3 6 5 T 0 1 4 3 2 1 2 5 8 • Find the best alignment that ends in one row A 0 0 3 3 5 4 3 4 7 or column T 0 -1 2 5 4 4 6 5 6 – trace this back C 0 0 1 4 4 6 5 5 5 (T)

Armstrong, 2008 Armstrong, 2008

16 Find the best ‘end’ point in an end col or Trace the best route from there to the row origin and end G T T A C T G T (S) G T T A C T G T (S) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 C 0 -1 -1 -1 -1 2 1 0 -1 C 0 -1 -1 -1 -1 2 1 0 -1 T 0 -1 1 1 0 1 4 3 2 T 0 -1 1 1 0 1 4 3 2 G 0 2 1 0 0 0 3 6 5 G 0 2 1 0 0 0 3 6 5 T 0 1 4 3 2 1 2 5 8 T 0 1 4 3 2 1 2 5 8 A 0 0 3 3 5 4 3 4 7 A 0 0 3 3 5 4 3 4 7 T 0 -1 2 5 4 4 6 5 6 T 0 -1 2 5 4 4 6 5 6 C 0 0 1 4 4 6 5 5 5 C 0 0 1 4 4 6 5 5 5 (T) (T)

Armstrong, 2008 Armstrong, 2008

GTTACTGT---(S) |||| A bit more formally.. ----CTGTATC(T) G T T A C T G T (S) Base conditions: ∀i,j. V(i,0) = 0, V(0,j) = 0 0 0 0 0 0 0 0 0 0 Recurrence relation: for 1<=i <= n, 1<=j<=m: C 0 -1 -1 -1 -1 2 1 0 -1 T 0 -1 1 1 0 1 4 3 2 V(i-1,j-1) + σ(Si,Tj) V(i-1,j) + σ(S ,-) G 0 2 1 0 0 0 3 6 5 V(i,j) = max i { V(i,j-1) + σ(-,T ) T 0 1 4 3 2 1 2 5 8 j A 0 0 3 3 5 4 3 4 7 Search for i* such that: V(i*,m)=max1<=i<=n,m V(i,j) T 0 -1 2 5 4 4 6 5 6 Search for j* such that: V(n,j*)=max1<=j<=n,m V(i,j) C 0 0 1 4 4 6 5 5 5 Define alignment score V(S,T) = max V(n,j*) (T) {V( i*,m) Armstrong, 2008 Armstrong, 2008

Summary so far... Dynamic Programming Issues

• Dynamic programming algorithms can • For huge sequences, even linear space constraints solve global, local and ends-free alignment are a problem. • They give the optimum score and alignment • We used a very simple gap penalty using the parameters given • The Affine Gap penalty is most commonly used. – Cost to open a gap • Divide and conquer approaches make the – Cost to extend an open gap space complexity manageable for small- • Need to track and evaluate the ‘gap’ state in the medium sized sequences array

Armstrong, 2008 Armstrong, 2008

17 Tracking the gap state Tracking the gap state

• We can model the matches and gap • Working along the alignment process... insertions as a finite state machine:

Taken from Durbin, chapter 2.4 Taken from Durbin, chapter 2.4

Armstrong, 2008 Armstrong, 2008

Real Life Sequence Alignment Real Life Sequence Alignment

• When searching multiple genomes, the sizes still • Use a Heuristic Method get too big! – Faster than ‘exact’ algorithms • Several approaches have been tried: – Give an approximate solution • Use huge parallel hardware: – Distribute the problem over many CPUs – Software based therefore cheap – Very expensive • Implement in Hardware • Based on a number of assumptions: – Cost of specialist boards is high – Has been done for Smith-Waterman on SUN

Armstrong, 2008 Armstrong, 2008

Assumptions for Heuristic Conclusions Approaches • Even linear time complexity is a problem • Dynamic programming algorithms are for large genomes expensive but they give you the optimum • Databases can often be pre-processed to a alignment and exact score degree • Choice of GAP penalty and substitution • Substitutions more likely than gaps matrix are critically important • Homologous sequences contain a lot of • Heuristic approaches are generally required substitutions without gaps which can be used to help find start points in alignments for high throughput or very large alignments

Armstrong, 2008 Armstrong, 2008

18 Assumptions for Heuristic Heuristic Methods Approaches • FASTA • Even linear time complexity is a problem • BLAST for large genomes • Databases can often be pre-processed to a • Gapped BLAST degree • PSI-BLAST • Substitutions more likely than gaps • Homologous sequences contain a lot of substitutions without gaps which can be used to help find start points in alignments

Armstrong, 2008 Armstrong, 2008

BLAST BLAST definitions

Altschul, Gish, Miller, Myers and Lipman (1990) Basic • Given two strings S1 and S2 local alignment search tool. J Mol Biol 215:403-410 • A segment pair is a pair of equal lengths • Developed on the ideas of FASTA substrings of S1 and S2 aligned without gaps – uses short identical matches to reduce search = • A locally maximal segment is a segment whose hotspot alignment score (without gaps) cannot be • Integrates the substitution matrix in the first stage improved by extending or shortening it. • A maximum segment pair (MSP) in S and S is a of finding the hot spots 1 2 segment pair with the maximum score over all • Faster hot spot finding segment pairs.

Armstrong, 2008 Armstrong, 2008

BLAST Process BLAST Process

• Parameters: • 1. Find all the w-length substrings from the – w: word length (substrings) database with an alignment score >t – Each of these (similar to a hot spot in FASTA) is called – t: threshold for selecting interesting alignment a hit scores – Does not have to be identical – Scored using substitution matrix and score compared to the threshold t (which determines number found) – Words size can therefore be longer without losing sensitivity: AA - 3-7 and DNA ~12

Armstrong, 2008 Armstrong, 2008

19 BLAST Process (Improved) BLAST

• 2. Extend hits: Altshul, Madden, Schaffer, Zhang, Zhang, Miller & – extend each hit to a local maximal segment Lipman (1997) Gapped BLAST and PSI-BLAST:a – extension of initial w size hit may increase or decrease new generation of protein database search the score programs. Nucleic Acids Research 25:3389-3402 – terminate extension when a threshold is exceeded • Improved algorithms allowing gaps – find the best ones (HSP) – these have superceded the older version of BLAST • This first version of Blast did not allow gaps…. – two versions: Gapped and PSI BLAST

Armstrong, 2008 Armstrong, 2008

(Improved) BLAST Process (Improved) BLAST Process

• Find words or hot-spots • Allow local alignments with gaps – search each diagonal for two w length words – allow the words to merge by introducing gaps such that score >=t – each new alignment comprises two words with – future expansion is restricted to just these initial a number of gaps words – unlike FASTA does not restrict the search to a – we reduce the threshold t to allow more initial narrow band words to progress to the next stage – as only two word hits are expanded this makes the new about 3x faster

Armstrong, 2008 Armstrong, 2008

PSI-BLAST BLAST Programs

• Iterative version of BLAST for searching for • blastp compares an amino acid query sequence against a protein . protein domains • blastn compares a query sequence against a – Uses a dynamic substitution matrix nucleotide sequence database. – Start with a normal blast • blastx compares a nucleotide query sequence translated in all reading frames against a protein sequence database. – Take the results and use these to ‘tweak’ the matrix • tblastn compares a protein query sequence against a – Re-run the blast search until no new matches occur nucleotide sequence database dynamically translated in all • Good for finding distantly related sequences but reading frames. • tblastx compares the six-frame translations of a nucleotide query high frequency of false-positive hits sequence against the six-frame translations of a nucleotide sequence database. (SLOW)

Armstrong, 2008 Armstrong, 2008

20 Alignment Heuristics

• Dynamic Programming is better but too slow • BLAST (and FASTA) based on several assumptions about good alignments – substitutions more likely than gaps – good alignments have runs of identical matches • FASTA good for DNA sequences but slower • BLAST better for amino acid sequences, pretty good for DNA, fastest, now dominant.

Armstrong, 2008 Armstrong, 2008

Biological Databases

• Introduction to Sequence Databases • Overview of primary query tools and the databases they use (e.g. databases used by BLAST and FASTA) Biological Databases (sequences) • Demonstration of common queries • Interpreting the results • Overview of annotated ‘meta’ or ‘curated’ databases Armstrong, 2007 Bioinformatics 2 Armstrong, 2007 Bioinformatics 2

DNA Sequence Databases Main DNA DBs

• Raw DNA (and RNA) sequence • Genbank US • Submitted by Authors • EMBL EU • Patent, EST, Gemomic sequences • DDBJ Japan • Large degree of redundancy • Little annotation • Celera Commercial DB • Annotation and Sequence errors!

Armstrong, 2007 Bioinformatics 2 Armstrong, 2007 Bioinformatics 2

21 International Nucleotide Sequence EMBL Database Collaboration • Sources for sequence include: • Partners are EMBL, Genbank & DDBJ – Direct submission - on-line submission tools • Each collects sequence from a variety of – Genome sequencing projects sources – Scientific Literature - DB curators and editorial • New additions to any of the three databases imposed submission are shared to the others on a daily basis. – Patent applications – Other Genomic Databases, esp Genbank

Armstrong, 2007 Bioinformatics 2 Armstrong, 2007 Bioinformatics 2

Limited annotation EMBL file tags

ID - identification (begins each entry; 1 per entry) AC - accession number (>=1 per entry) SV - new sequence identifier (>=1 per entry) • Unique accession number DT - date (2 per entry) DE - description (>=1 per entry) KW - keyword (>=1 per entry) • Submitting author(s) OS - organism species (>=1 per entry) OC - organism classification (>=1 per entry) OG - organelle (0 or 1 per entry) RN - reference number (>=1 per entry) • Brief annotation if available RC - reference comment (>=0 per entry) RP - reference positions (>=1 per entry) RX - reference cross-reference (>=0 per entry) RA - reference author(s) (>=1 per entry) RT - reference title (>=1 per entry) • Source (cDNA, EST, genomic etc) RL - reference location (>=1 per entry) DR - database cross-reference (>=0 per entry) FH - feature table header (0 or 2 per entry) • Species FT - feature table data (>=0 per entry) CC - comments or notes (>=0 per entry) XX - spacer line (many per entry) SQ - sequence header (1 per entry) • Reference or Patent details bb - (blanks) sequence data (>=1 per entry) // - termination line (ends each entry; 1 per entry)

Armstrong, 2007 Bioinformatics 2 Armstrong, 2007 Bioinformatics 2

16,759,535,577 bases (27/1/02) 35,602,556,374 bases (17/1/03)

Armstrong, 2007 Bioinformatics 2 Armstrong, 2007 Bioinformatics 2

22 Jan ‘06 117,599,582,673bp 53,958,991,118 bases (24/1/04)

Armstrong, 2007 Bioinformatics 2 Armstrong, 2007 Bioinformatics 2

Bases by organism 02 Bases by organism 03

Armstrong, 2007 Bioinformatics 2 Armstrong, 2007 Bioinformatics 2

Bases by organism 04 Bases by organism 06

other

mouse

rat

http://www3.ebi.ac.uk/Services/DBStats/

Armstrong, 2007 Bioinformatics 2 Armstrong, 2007 Bioinformatics 2

23 17 Subdivisions ESTs

ESTs EST Bacteriophage PHG Fungi FUN Genome survey GSS • Expressed Sequence Tags High Throughput cDNA HTC High Throughput Genome HTG Human HUM – short mRNA samples from tissues Invertebrates INV Mus musculus MUS Organelles ORG Other Mammals MAM – cloned and sequenced Other Vertebrates VRT Plants PLN Prokaryotes PRO – single read Rodents ROD STSs STS Synthetic SYN – approx 1/3 of the database Unclassified UNC Viruses VRL

Armstrong, 2007 Bioinformatics 2 Armstrong, 2007 Bioinformatics 2

HTG Specialist DNA Databases

• High throughput genomic sequences • Usually focus on a single organism or small related group – Partial sequences obtained during genome sequencing. • Much higher degree of annotation – Around 1/3 of the database • Linked more extensively to accessory data – Species specific: • Drosophila: FlyBase, • C. elegans: AceDB – Other examples include Mitochondrial DNA, Parasite Genome DB Armstrong, 2007 Bioinformatics 2 Armstrong, 2007 Bioinformatics 2

Protein DBs .bio.indiana.edu • Includes the entire annotated genome • Primary Sequence DBs searchable by BLAST or by text queries – Swiss-Prot, TrEMBL, GenPept • Also includes a detailed ontology or • DBs standard nomenclature for Drosophila – PDB, MSD • Also provides information on all literature, • DBs researchers, mutations, genetic stocks and – InterPro, CluSTr technical resources. • Full mirror at EBI

Armstrong, 2007 Bioinformatics 2 Armstrong, 2007 Bioinformatics 2

24 UniProtKB/Swiss-Prot Swis-Prot by Species (‘03)

------• Consists of protein sequence entries Number Frequency Species ------• Contains high-quality annotation 1 8950 Homo sapiens (Human) 2 ~20% 6028 Mus musculus (Mouse) 3 4891 Saccharomyces cerevisiae (Baker's yeast) • Is non-redundant 4 4835 Escherichia coli 5 3403 Rattus norvegicus (Rat) 6 2385 Bacillus subtilis • Cross-referenced to many other databases 7 2286 Caenorhabditis elegans 8 2106 Schizosaccharomyces pombe (Fission yeast) 9 1836 (Mouse-ear cress) • 104,559 sequences in Jan 02 10 1773 Haemophilus influenzae 11 1730 Drosophila melanogaster (Fruit fly) • 120,960 sequences in Jan 03 12 ~13% 1528 Methanococcus jannaschii 13 1471 Escherichia coli O157:H7 14 1378 Bos taurus (Bovine) • 194,317 sequences in Sep 05 (latest) 15 1370 Mycobacterium tuberculosis

Armstrong, 2007 Bioinformatics 2 Armstrong, 2007 Bioinformatics 2

Swis-Prot by Species (Oct ‘05) UniProtKB/TrEMBL

------Number Frequency Species ------• Computer annotated Protein DB 1 12860 Homo sapiens (Human) 2 9933 Mus musculus (Mouse) 3 5139 Saccharomyces cerevisiae (Baker's yeast) • Translations of all coding sequences in 4 4846 Escherichia coli 5 4570 Rattus norvegicus (Rat) EMBL DNA Database 6 3609 Arabidopsis thaliana (Mouse-ear cress) 7 2840 Schizosaccharomyces pombe (Fission yeast) 8 2814 Bacillus subtilis • Remove all sequences already in Swiss-Prot 9 2667 Caenorhabditis elegans 10 2273 Drosophila melanogaster (Fruit fly) • November 01: 636,825 peptides 11 1782 Methanococcus jannaschii 12 1772 Haemophilus influenzae 13 1758 Escherichia coli O157:H7 • Jan 17th 2003: 728713 peptides 14 1653 Bos taurus (Bovine) 15 1512 Salmonella typhimurium • TrEMBL new is a weekly update

Armstrong, 2007 Bioinformatics 2 •Armstrong, GenPept 2007 is the Genbank equivalent Bioinformatics 2

SNPs dbSNP

• Biggest growth area right now is in • “The database grows at 90 SNPs per mutation databases month” • www.ncbi.nlm.nih.gov/About/primer/ • 125 versions since start in 1998 snps.html • Currently 47 million SNPs in v125 • Polymorphisms estimates at between 1:100 • 15 million added between version 124 and 1:300 base pairs (normal human variation) 125 • Databases include true SNPs (single bases) and larger variations (microsatellites, small Armstrong,indels) 2007 Bioinformatics 2 Armstrong, 2007 Bioinformatics 2

25 Database Search Methods SRS

• Text based searching of annotations and related data: SRS, Entrez • Sequence Retrieval System – Powerful search of EMBL annotation • Sequence based searching: BLAST, – Linked to over 80 other data sources FASTA, MPSearch – Also includes results from automated searches

Armstrong, 2007 Bioinformatics 2 Armstrong, 2007 Bioinformatics 2

SRS data sources Entrez

• Primary Sequence: EMBL, SwissProt • Text based searching at NCBI’s Genbank • References/Literature: Medline • Protein Homology: Prosite, Prints • Very simple and easy to use • Sequence Related: Blocks, UTR, Taxonomy • Not as flexible or extendable as SRS • : TFACTOR, TFSITE • Search Results: BLAST, FASTA, CLUSTALW • No user customisation • Protein Structure: PDB • Also, Mutations, Pathways, other specialist DBs

Armstrong, 2007 Bioinformatics 2 Armstrong, 2007 Bioinformatics 2

Sequence Based Searching Secondary Databases

• Queries: • PDB DNA query against DNA db Translated DNA query against Protein db • Translated DNA query against translated DNA db • PRINTS Translated Protein query against DNA db Protein query against Protein db • PROSITE • ProDom • BLAST & FASTA • SMART • TIGRFAMs

Armstrong, 2007 Bioinformatics 2 Armstrong, 2007 Bioinformatics 2

26 PDB Multiple Sequence Alignment

• Molecular Structure Database (EBI) • What and Why? • Contains the 3D structure coordinates of • Dynamic Programming Methods ‘solved’ protein sequences • Heuristic Methods – X-ray crystallography • A further look at Protein Domains – NMR spectra • 19749 protein structures

Armstrong, 2007 Bioinformatics 2 Armstrong, 2007 Bioinformatics 2

Multiple Alignment Multiple Alignment of DNA

• Normally applied to proteins • Take multiple sequencing runs • Can be used for DNA sequences • Find overlaps • Finds the common alignment of >2 – variation of ends-free alignment sequences. • Locate cloning or sequencing errors • Suggests a common evolutionary source • Derive a between related sequences based on • Derive a confidence degree per base similarity – Can be used to identify sequencing errors Armstrong, 2007 Bioinformatics 2 Armstrong, 2007 Bioinformatics 2

Consensus Sequences Sequence Logos • Example, from an alignment of the TATA box in yeast • Look at several aligned sequences and derive the most genes: common base for each position. – Several ways of representing consensus sequences – Many consensus sequences fail to represent the variability at each base position. – Largely replaced by Sequence Logos but the term is often mis- We now have a applied confidence level for each base at each position

Armstrong, 2007 Bioinformatics 2 Armstrong, 2007 Bioinformatics 2

27 Multiple Alignment of Proteins Protein Families

• Multiple Alignment of Proteins • Proteins are complex structures built from • Identify Protein Families functional and structural sub-units – When studying protein families it is evident • Find conserved Protein Domains that some regions are more heavily conserved • Predict evolutionary precursor sequences than others. – These regions are generally important for the • Predict evolutionary trees structure or function of the protein – Multiple alignment can be used to find these regions – These regions can form a signature to be used Armstrong, 2007 Bioinformatics 2 Armstrong,in 2007 identifying the or functionalBioinformatics 2 domain.

Protein Domains Multiple Alignment

• Evolution conserves sequence patterns due • OK we now have an idea WHY we want to to functional and structural constraints. try and do this • Different methods have been applied to the • What does a multiple alignment look like? analysis of these regions. • How could we do multiple alignments • Domains also known by a range of other • What are the practical implications names: motifs patterns prints Armstrong, 2007blocks Bioinformatics 2 Armstrong, 2007 Bioinformatics 2

Multiple alignment table Scoring Multiple Alignments

• We need to score on columns with more than 2 bases or residues:

S C A consensus character is the one that minimises the distance ColumnCost A = 24 between it and all the other characters in the column ( P ) P Conservatived or Identical residues are colour coded Multiple alignments are usually scored on cost/difference rather than similarity Armstrong, 2007 Bioinformatics 2 Armstrong, 2007 Bioinformatics 2

28 Column Costs Scoring Multiple Alignments

• Several strategies exist for calculating the • Score = (S,C)+(S,A)+(S,A)+(S,P)+(S,P)+ column cost in a multiple alignment (C,A)+ (C,P)+(C,P)+(A,P)+(A,P)+(P,P) • Simplest is to sum the pairwise costs of each base/residue pair in the column using a S matrix (e.g. PAM250). C ColumnCost A = 24 • Gap scoring rules can be applied to these as ( P ) well. P Known as the sum-of-pairs scoring method

Armstrong, 2007 Bioinformatics 2 Armstrong, 2007 Bioinformatics 2

Sum-of-pairs cost method (SP) Multiple Alignment Cost

• Score = (S,C)+(S,-)+(S,A)+(S,P)+(S,P)+ • Sum of pairs is a simple method to get a (-,A)+(-,P)+(-,P)+(A,P)+(A,P)+(P,P) score for each column in a multiple alignment S • Based on matrices and gap penalties used - for pairwise sequence alignment ColumnCost A = 24 ( P ) • The score of the alignment is the sum of P each column Still works with gaps using whatever gap penalty you want

Armstrong, 2007 Bioinformatics 2 Armstrong, 2007 Bioinformatics 2

Optimal Multiple Alignment

• The best alignment is generally the one with the lowest score (i.e. least difference) – depends on the scoring rules used. • Like pairwise cases, each alignment represents a path through a matrix • For multiple alignment, the matrix is n- dimensional – where n=number of sequences (Murata, Richardson and Sussman 1999) Armstrong, 2007 Bioinformatics 2 Armstrong, 2007 Bioinformatics 2

29 Contrasting pairwise and multiple alignments Contrasting pairwise and multiple alignments

Lets compare pairwise with three sequences. Lets compare pairwise with three sequences.

(-,-,1) (1,-,1) (0,0) (1,-) (0,0) (1,-) (0,0,0) (1,-,-) (-,1,1) (1,1,1) (-,1) (1,1) (-,1) (-,1,-) (1,1,-)

Armstrong, 2007 Bioinformatics 2 Armstrong, 2007 Bioinformatics 2

Multiple alignment table

The consensus character is the one that minimises the distance between it and all the other characters in the column

Armstrong, 2007 Bioinformatics 2

30