Chapter 9 Double Dynamic Programming Is it possible
Chapter 9 Double Dynamic Programming Is it possible to perform the superposition and the dynamic programming ”simultaneously”? • Want to calculate a position dependent scoring matrix that reflect this • Must construct such a scoring matrix for each pair of structures wich are to be aligned • Such a scoring matrix is called the high level scoring matrix Chapter 9 Double Dynamic Programming 1
The principle for DDP Look at each residue pair (ai, bj) 1. Determine how likely it is that the pair (ai, bj) is in the optimal alignment • • Add this likelihood measure to the high level matrix Use the high level matrix for the final dynamic programming 2. Look at the pair (ai, bj) • • • Define a scoring matrix ij. S (low level scoring matrix) ij. S : how good are a and b fitted when we know that a is aligned with kl k l i bj Use ij. S to calculate the best alignment under the constraint that ai is aligned with bj (Low level dynamic programming) Add scoring values in ij. S from the found best path to the high level scoring matrix Chapter 9 Double Dynamic Programming 2
DDP Example • • Note High value in (i, j) to force the path through this cell It is the values in the scoring matrices at the pathes that are added Chapter 9 Double Dynamic Programming 3
DDP Algorithm Chapter 9 Double Dynamic Programming 4
The low level scoring matrices ij. S kl: how good are ak and bl fitted when we know that ai is aligned with bj • We can look at the local environment around ai and bj and ”place those over each other” Then see how good ak are fitted to bl ij. S kl can be a function of the distance (ak, bl ) Chapter 9 Double Dynamic Programming 5
A more compehensive low level scoring • A direction component, the difference in the vectors (ai, ak) and (bj, bl) • An orientation component • A sequence distance component • A spatial distance component Want high contributions from residues which are near in space but not near in sequence Chapter 9 Double Dynamic Programming 6
Combining and normalising the components • • • ij. S is then a function F(k 1, k 2, . . . , kv) How to combine them (the function)? The components can have different ranges and variances Therefore try to normalise to values in the interval [0, 1] A Gaussian transformation is often used G(x, y)=exp(-x 2/10 y) – x is measured value – y is a constant used for the slope of G kl Chapter 9 Double Dynamic Programming 7
Iterated Double Dynamic Programming • It is time consuming to calculate low level matrices for all pairs, and many of them will not have any effect for finding the best overall path • Try rather to first choose some pairs (seeds) that we expect to be in the best alignment, and then iterate to find other ”good” pairs, and possible remove others Chapter 9 Double Dynamic Programming 8
Algorithm for Iterated DDP Two high level scoring matrices • HS as before, one new for each cycle • Q is updated in each cycle Qp+1=F(Qp, HSp+1) Chapter 9 Double Dynamic Programming 9
Refinement of the algorithm 1. How is Q initialised, and the seed selected 2. How many residue pairs should be selected in each cycle, and how? 3. How should Q be updated? 4. Should the high-level scoring matrix contribute to the low-level matrices? 5. What is the termination criterion? Chapter 9 Double Dynamic Programming 10
Similarity of the two main approaches Chapter 9 Double Dynamic Programming 11
- Slides: 11