multiple sequence alignments - unibo.it · • find pairwise alignment • trial multiple alignment...
TRANSCRIPT
Multiple Sequence Multiple Sequence AlignmentsAlignments
Multiple alignment
• Pairwise alignment– Infer biological relationships from string
similarity
• Multiple alignment– Infer string similarity from biological
relationships
Biological Motivations
• One of the most essential tools in molecular biology – Finding highly conserved sub-regions or embedded
patterns of a set of biological sequences– Production of consensus sequence– Estimation of evolutionary distance between sequences– Prediction of protein secondary/tertiary structure– To find conserved regions
• Local multiple alignment reveals conserved regions• Conserved regions usually are key functional regions, prime targets
for drug developments
• Practically useful methods only since D. Sankoff (1987) based on phylogenetics– Before 1987 they were constructed by hand – The basic problem: no dynamic programming approach
can be used
Alignment between globins (human beta globin, horse beta globin, human alpha globin, horse alpha globin, cyanohaemoglobin,
whale myoglobin, leghaemoglobin) produced by Clustal. Boxes mark the seven alpha helices composing each globin.
.
Definition
• Given strings x1, x2 … xk a multiple (global) alignment is a matrix of k rows and A columns where each row represents a sequence and a column contains a symbol from each sequence or gaps symbols (at least one non gap)
Multiple Sequence Alignment
Matrix 3 rows 8 colums
Family representations
• Outcome of multiple alignment• Three kinds
– Profile representation• Frequencies of symbols in each column• Weight vector• Alignment to a profile
– Consensus sequence representation• Steiner string
– Signature representation• PROSITE, BLOCKS databases• Regular expression
Scoring Function
• Ideally:– Find alignment that maximizes probability that
sequences evolved from common ancestorx
yzw
v
?
Multiple Sequence Alignment
• Mult-Seq-Align allows to detect similarities which cannot be detected with Pairwise-Seq-Align methods.
• Detection of family characteristics.
Three questions:
1. Scoring
2. Computation of Mult-Seq-Align.
3. Family representation.
A fragment of multiple alignment of 7 kinases.
ClustalW program from SRS server.
Scoring: SP (sum of pairs)
SP – the sum of pairwise scores of all pairs of symbols in the column.
SP3(-,A,A) = (-,A)+(-,A)+(A,A)
SP Total Score = sum over all columns
(-,-) = 0
Induced pairwise alignment
Induced pairwise alignment or projection of a multiple alignment.
a(S1, S2 )
a(S2, S3)
a(S1, S3)
(-,-) = 0
SP Total Score = i<j score[ a(Si, Sj ) ]
Consensus
-AGGCTATCACCTGACCTCCAGGCCGA--TGCCC---TAG-CTATCAC--GACCGC--GGTCGATTTGCCCGACCAG-CTATCAC--GACCGC----TCGATTTGCTCGAC
CAG-CTATCAC--GACCGC--GGTCGATTTGCCCGAC
• Find optimal consensus string m* to maximize
S(m) = i s(m*, mi)
s(mk, ml): score of pairwise alignment (k,l)
Optimal solution
• Multidimensional Dynamic Programming
• Generalization of pair-wise alignment
• For simplicity, assume k sequences of length n
• The dynamic programming array is k-dimensional hyperlattice of length n+1 (including initial gaps)
• The entry F(i1, …, ik) represents score of optimal alignment for s1[1..i1], … sk[1..ik]
• Initialize values on the faces of the hyperlattice
Scoring Function: Sum Of Pairs
Definition: Induced pairwise alignmentA pairwise alignment induced by the multiple alignment
Example:
x: AC-GCGG-C y: AC-GC-GAG z: GCCGC-GAG
Induces:
x: ACGCGG-C; x: AC-GCGG-C; y: AC-GCGAGy: ACGC-GAC; z: GCCGC-GAG; z: GCCGCGAG
Sum Of Pairs
• The sum-of-pairs (SP) score of a multiple alignment A is the sum of the scores of all induced pairwise alignments
S(A) = i<j S(Aij)
Aij is the induced alignment of xi, xj
Dyn.Prog. Solution
s (NVNSNA )
s (NVN-NA )
V
S
A
s (N-NSNA)
s (N-NSN- )
s (NVN-N- )s (
NNN ) +δ (
−SA)
s (NVNSNA )=max {
s(NNN )+δ(
VSA )
s (NVN-N- )+δ(
−SA )
s(N-NSN- )+δ(
V−A )
s (N-N-NA )+δ(
VS−)
s (N-NSNA )+δ(
V−−)
s (NVN-NA )+δ(
−S−
)s (
NVNSN- )+δ (
−
−A)
k=3 2k –1=7
• Example: in 3D (three sequences):
• 7 neighbors/cell
F(i,j,k) = max{ F(i-1,j-1,k-1)+ S(xi,xj,xk),F(i-1,j-1,k) + S(xi,xj, -),F(i-1,j,k-1) + S(xi,-, xk),F(i-1,j, k) + S(xi,-, -),F(i,j-1,k-1) + S( -,xj,xk),F(i,j-1,k) + S( -,xj,xk),F(i,j,k-1) + S( -,-, xk) }
Multidimensional Dynamic Programming
• Space complexity: O(nk) for k sequences each n long.
• Computing at a cell: O(2k). cost of computing δ.
• Time complexity: O(2knk). cost of computing δ.
• Finding the optimal solution is exponential in k
• Proven to be NP-complete for a number of cost functions
Complexity
• Faster Dynamic Programming (SP)– Carrillo and Lipman 88 (MSA)– Pruning of hyperlattice in DP– Practical for about 6 sequences of length about 200.
• Star alignment (SP)• Progressive methods
– CLUSTALW– PILEUP
• Iterative algorithms• Sampling (Gibbs) based methods• Hidden Markov Model (HMM) based methods• Expectation Maximization Algorithm
Algorithms
• Find pairwise alignment• Trial multiple alignment produced by a tree, cost = d
• This provides a limit to the volume within which optimal alignments are found
• Specifics– Sequences x1,..,xr.
– Alignment A, cost = c(A)
– Optimal alignment A*
– Aij = induced alignment on xi,..,xj on account of A
– D(xi,xj) = cost of optimal pairwise alignment of xi,xj <= c(Aij )
Idea behind MSA algorithm
Progressive Alignment
• Multiple Alignment is NP-complete
• Most used heuristic: Progressive Alignment
Algorithm:
– Align two of the sequences xi, xj
– Fix that alignment
– Align a third sequence xk to the alignment xi,xj
– Repeat until all sequences are aligned
Running Time: O( N L2 )
Star Alignments
• Heuristic method for multiple sequence alignments
• Select a sequence c as the center of the star• For each sequence x1, …, xk such that index
i c, perform a Needleman-Wunsch global alignment
• Aggregate alignments with the principle “once a gap, always a gap.”
Star Alignments Example
s2
s1s3
s4
x1: MPEx2: MKEx3: MSKEx4: SKE
MPE
| |
MKE
MSKE
-||
MKE
SKE
||
MKE MPEMKE
-MPE-MKEMSKE
-MPE-MKEMSKE-SKE
Choosing a center
• Try them all and pick the one with the best score
• Calculate all O(k2) alignments, and pick the sequence xc that minimizes
D(xc,xi)
• D(xc,xi) = c(Aci), A is the multiple alignmenti > c
Analysis
• Assuming all sequences have length n• O(k2n2) to calculate center• Step i takes O((i.n).n) time
– two strings of length n and i.n
• O(k2n2) overall cost• Produces multiple sequence alignments
whose SP values are at most twice that of the optimal solutions, provided triangle inequality holds.
• Profile– Apply dynamic programming
– Score depends on the profile
• Consensus string– Apply dynamic programming
• Signature representations– Align to regular expressions / CFG/ …
Aligning to family representations
Progressive alignment(CLUSTALW)
• CLUSTALW is the most popular multiple protein alignment
Algorithm:1. Find all dij: alignment dist (xi, xj)
2. Construct a tree(Neighbor-joining hierarchical clustering)
3. Align nodes in order of decreasing similarity• sequence to sequence• sequence to profile• profile to profile
+ a large number of heuristics
S1
S2
S3
S4
S1 S2 S3 S4
S1 4 9 4
S2 4 7S3 4
S4
All PairwiseAlignments
S1
S3
S2
S4
Distance
Cluster Analysis
Similarity Matrix Dendrogram
Multiple Alignment Step:1. Aligning S
1 and S
32. Aligning S
2 and S
43. Aligning (S
1,S
3) with (S
2,S
4).
From Higgins(1991) and Thompson(1994).
Problems with Progressive Alignments
• Depends on pairwise alignments
• If sequences are very distantly related, much higher likelihood of errors
• Care must be made in choosing scoring matrices and penalties
Progressive Alignment: CLUSTALW
CLUSTALW: most popular multiple protein alignment
Algorithm:
• Find all dij: alignment dist (xi, xj)
• Construct a tree
(Neighbor-joining hierarchical clustering)
• Align nodes in order of decreasing similarity
+ a large number of heuristics
Iterative Refinement
One problem of progressive alignment:
• Initial alignments are “frozen” even when new evidence comes
Example:
x: GAAGTTy: GAC-TT
z: GAACTGw: GTACTG
Frozen!
Now clear correct y = GA-CTT
Iterative Refinement
Algorithm (Barton-Stenberg):
• Align most similar xi, xj
• Align xk most similar to (xixj)• Repeat 2 until (x1…xN) are aligned
• For j = 1 to N, Remove xj, and realign to x1…xj-1xj+1…xN
• Repeat 4 until convergence
Note: Guaranteed to converge
Other methods
• MEME (Expectation Maximization)
• GibbsDNA (Gibbs Sampling)
• HMMER (Hidden Markov Model)
• Random projections
• CONSENUS (greedy multiple alignment)
• WINNOWER (Clique finding in graphs)