efficient primer design algorithms 第三組 (1/23) copyright 2002 csie ntu. r90922034 許英修...

53
Efficient primer design algorithms 第第第 (1/23) Copyright 2002 CSIE NTU. R90922034 第第第 R90922044 第第第 R9092 2068 第第第 R90922078 第第第 P89922002 第第第

Upload: lindsay-ryan

Post on 26-Dec-2015

249 views

Category:

Documents


1 download

TRANSCRIPT

  • Slide 1
  • Efficient primer design algorithms (1/23) Copyright 2002 CSIE NTU. R90922034 R90922044 R90922068 R90922078 P89922002
  • Slide 2
  • DNA Primer : PCR (polymerase chain reaction) primers DNA DNA A T G C A,T,G,C PCR DNA Copyright 1996-99 Dale Carnegie & Associates, Inc.
  • Slide 3
  • What is DNA primer A short sequence of nucleotides. initiates the copying of a fragment of DNA. ( DNA )
  • Slide 4
  • PCR
  • Slide 5
  • Slide 6
  • Primer : String-base alignment scores Melting temperature Primer length GC content Copyright 1996-99 Dale Carnegie & Associates, Inc.
  • Slide 7
  • Melting temperature Melting temperature are specified by nearest neighbor thermodynamic ex:p=GCAT with (GGAT)= H(GG)+ H(GA)+ H(AT) = 11.0 + 5.6 + 8.6 = 25.2(kcal/mol) Copyright 1996-99 Dale Carnegie & Associates, Inc.
  • Slide 8
  • Ordinary PCR : Copyright 1996-99 Dale Carnegie & Associates, Inc. GC: GC content Tm: Melting temperature sa: Self annealing sea: self-end annealing pa: pair annealing pea: pair-end annealing
  • Slide 9
  • s(x i,y i )= 2, if { x i, y j } = { A, T } 4, if { x i, y j } = { C, G } 0, else sa(p) =S( ~ p,p) sea(p)=S( ~ p,p) K=-4 K=-1 K=2 K=-3 K=0 K=3 K=-2 K=1 K=4
  • Slide 10
  • Original Simple Example Y = A T T A G X=GATT G A T T G A T T G A T T G A T T G A T T K=3 S=0 K=2 S=0 K=1 S=0 K=0 S=4 K=-1 S=4 K=-2 S=0 K=-3 S=2 K=-4 S=2 A T T T T T G GA GAT
  • Slide 11
  • pa(p,q) =S( ~ p,q) pea(p,q)=S( ~ p,q) p = GGATTGATAATGTAATAGG |p|=19 q = CATTATGGGTGGTATGTTGG |q|=20 pa(p,q)=16 pea(p,q)=16 sa(p)=12 sea(p)=0
  • Slide 12
  • Slide 13
  • l 1 -Distance: || sc(p,q) (sc ideal )||= 12 i=1 | sc(p,q) i (sc ideal ) i | Weight distance: || sc(p,q) (sc ideal )|| k = 12 i=1 k i | sc(p,q) i (sc ideal ) i | Ordinary PCR ( ) sc ideal =(length f,length r,GC f,GC r,T mf, T mr,0, 0,0,0,0,0) T All ideal annealing T mf = T mr, as well as GC f =,GC r set to zero
  • Slide 14
  • Ordinary PCR ( ): Deviation from ideal length, length f =length r 1 = 2 =0.5 Deviation from ideal GC content,GC f =GC r 3 = 4 =1 Deviation from ideal temperature, T mf =T mr 5 = 6 =1 Deviation from ideal self annealing value 0 7 = 8 =0 1 Deviation from ideal self-end annealing value 0 9 = 10 =0 2 Deviation from ideal pair annealing value 0 11 =0 1 Deviation from ideal pair-end annealing value 0 12 =0 2 sa(p)=O(n 2 )= sea(p) sa(q)=O(m 2 )= sea(q) pa(p,q)=O(nm)= pea(p,q) l 1 -Distance or Weight distance:O(n 2 +m 2 +nm)=O((n+m) 2 )
  • Slide 15
  • PCR primer computation Copyright 1996-99 Dale Carnegie & Associates, Inc. Given two windows w=(w 1,.,w N ) and v = (v 1,.,v M ) p=(p 1,.,p n ) = (w i,.,w i+n-1 ) and q= (q 1,.,q m ) = (v j,.,v j+m-1 ) 53 w1w1 wNwN p1p1 pnpn 5 vMvM v1v1 q1q1 qmqm p1p1 pnpn qmqm q1q1
  • Slide 16
  • PCR primer computation Copyright 1996-99 Dale Carnegie & Associates, Inc.
  • Slide 17
  • PCR primer computation: |Sub(w)|=N(N-1)/2 ; Sub(V)|=M(M-1)/2 Complexity for candidate pairs O(N 2 M 2 ) Each of the candidate require O((N+M) 2 ) effort to count sa,sea, pa, pea. Results in O((N 2 M+M 2 N) 2 ) overall computation 53 w1w1 wNwN p1p1 pnpn 5 vMvM v1v1 q1q1 qmqm
  • Slide 18
  • Dynamic Programming requisties X--> n Y--> m s(A,T)=2 s(C,G)=4 Define: // S(x,y) S(x +,y) S(x +,y) for x + =(x 1,,x n+1 ) S k (x, y)= n i=1 s(x i, y i+k ) for k=-n+1,,m-1 then
  • Slide 19
  • Y= GAT =(Y 1,Y 2, Y m ) ; X= CC =(X 1,X 2,..X n ) X + =CCG=(X 1,X 2,..X n+1 ) GAT K CCG 2= m-1 CCG 1 CCG 0 CCG -1 = -(n-1) CCG -2 = -n Thus, O(n+m) instead of O(nm)
  • Slide 20
  • DYNSA 1.(Initialization) Computation of sa(w 1,w 2 ) = S((w 2,w 1 ),(w 1,w 2 )) = max{ s(w 1,w 1 ), s(w 1,w 2 ) + s(w 2,w 1 ), s(w 2,w 2 ) } 2.(Iteration) For n = 2 to N-1 do (a) Computation of sa(w n,w n+1 ) as the initialization. (b) For i = 1 to n-1 do Computation of sa(w n-i,,w n+1 ) = S( (w n-1,,w n-i ), (w n-i,,w n+1 ) ) from values of S k and update of these values as in Section Dynamic programming requisites. w 2 w 1 w 1 w 2
  • Slide 21
  • DYNSA 1.Initial sa(w 1,w 2 ) 2.n=2 (a) sa(w 1,w 2 ) (b) i=1 sa(w 1,w 2,w 3 ) 3.n=3 (a) sa(w 3,w 4 ) (b) i=1 sa(w 2,w 4 ) i=2 sa(w 1,w 2,w 3,w 4 ) w1w2w1w2 w1w2w1w2 w2w3w2w3 w1w2w1w2 w2w3w2w3 w1w2w1w2 w2w3w2w3 w3w4w3w4 w1w2w1w2 w2w3w2w3 w3w4w3w4 w1w2w1w2 w2w3w2w3 w3w4w3w4
  • Slide 22
  • DYNSA 4.n=4 (a) sa(w 4,w 5 ) (b) i=1 sa(w 3,w 4,w 5 ) i=2 sa(w 2,w 3,w 4,w 5 ) i=3 sa(w 1,w 2,w 3,w 4,w 5 ) w1w2w1w2 w2w3w2w3 w3w4w3w4 w4w5w4w5 w1w2w1w2 w2w3w2w3 w3w4w3w4 w4w5w4w5 w3w4w5w3w4w5 w1w2w1w2 w2w3w2w3 w3w4w3w4 w4w5w4w5 w2w3w4w5w2w3w4w5 w1w2w1w2 w2w3w2w3 w3w4w3w4 w4w5w4w5 w1w2w3w4w5w1w2w3w4w5
  • Slide 23
  • O(2 2 )+O(3 2 )++O(N 2 )=O(N 3 ) w1w2w3w4w1w2w3w4 w1w2w3w1w2w3 w3w4w3w4 w2w3w4w2w3w4 O(3 2 ) w1w2w1w2 w2w3w2w3 O(2 2 ) w 2 w 3 w n w n-1 w n w n w n+1 w 1 w 2 w 3...w n+1 w n-2 w n-1 w n w n-1 w n w n+1 w n-2 w n-1 w n w n+1 w 2 w 3 w n+1 O(n 2 ) DYNSA
  • Slide 24
  • DYNPA 1.(Initialization) Computation of pa((w 1,w 2 ), (v 1,v 2 )) = S((w 2,w 1 ),(v 1,v 2 )) = max{ s(w 1, v 1 ), s(w 1, v 2 )+s(w 2, v), s(w 2, v 2 ) } 2.(Iteration) For k = 2 to max{ N, M } -1 do (a) If k N-1 then for i = 0 to k-1 do Computation of pa( (w k-i,,w k+1 ), q ) q Sub(v 1,,v min{k,M} ) (b) If k M-1 then for i = 0 to k-1 do Computation of pa( p, (v k-i,,v k+1 ) ) p Sub(w 1,,w min{k+1,N} )
  • Slide 25
  • W 1 w 2 w 3 w n+1 W n w n+1 w n-1 w n w n+1 pa(p,q) for (p,q) Sub(w) x Sub(v) Update computation for the transition from p to p + n (m-1) m/2 O(N+M) v1v2v1v2 v m-1 v m v1v2v1v2 v 1. v m v1v2v1v2 v m-1 v m v 1. v m
  • Slide 26
  • DYNPA Overall: O ((N+M)N 2 M 2 ) Appears to be optimal since sub(w) sub(v) has cardinality (N 2 M 2 ) p p + n (m-1) m/2 O(N+M) All updates for subsequences of w: N = n=2 n(m-1)m/2 O(N+M) ( ) N (M-1)M/2 O(N+M) n=2 n = O ((N+M)N 2 M 2 )
  • Slide 27
  • Dynamic programming for approximation Enumeration for restricted primer lengths w and v bounded by N w and M v,forward and reverse primers meet the condition w f, v r (i)To reduce the computation effort (ii)Increase the fidelity of the PCR reaction (iii)Lower synthesis costs The primer candidate sets : sub(w, w ) = { p | p Sub(w), |p| w } has cardinalities (2N- w )( w -1) = ((N- w ) w ) sub(v, v ) = { q | q Sub(v), |q| v } has cardinalities (2M- v )( v -1) = ((M- v ) v )
  • Slide 28
  • Dynamic programming for approximation w1w2w1w2 W 1 ..W w W N-1 W N W N- w + 1 ..W N Trapezoidal Hasse diagram of sub(w, w ) cardinalities (2N- w )( w -1) = ((N- w ) w ) N- w w -1 N
  • Slide 29
  • DYNSA-APP 1.(Initialization) Computation of sa(w 1,w 2 ) = S((w 2,w 1 ),(w 1,w 2 )) = max{ s(w 1,w 1 ), s(w 1,w 2 )+s(w 2,w 1 ), s(w 2,w 2 ) } 2.(Iteration) For n = 2 to N-1 do (a) Computation of sa(w n,w n+1 ) (b) For i = 1 to min{ n-1, w -2 } do Computation of sa(w n-i,,w n+1 ) = S( (w n-1,,w n-i ), (w n-i,,w n+1 ) ) from values of S k and update of these values as in Section Dynamic programming requisites. O( w 2 ) O(N w 2 )
  • Slide 30
  • Dynamic programming for approximation Enumeration for restricted primer lengths w and v bounded by N w and M v,forward and reverse primers meet the condition w f, v r (i)To reduce the computation effort (ii)Increase the fidelity of the PCR reaction (iii)Lower synthesis costs The primer candidate sets : sub(w, w ) = { p | p Sub(w), |p| w } has cardinalities (2N- w )( w -1) = ((N- w ) w ) sub(v, v ) = { q | q Sub(v), |q| v } has cardinalities (2M- v )( v -1) = ((M- v ) v )
  • Slide 31
  • Dynamic programming for approximation w1w2w1w2 W 1 ..W w W N-1 W N W N- w + 1 ..W N Trapezoidal Hasse diagram of sub(w, w ) N- w +1 w -1 N-1
  • Slide 32
  • O( w 2 ) + O( w 2 ) ++ O( w 2 ) =O(N w 2 ) DYNSA-APP W 1 ..W w w1w2w1w2 W N- w+1 ..W N W N-1 W N O( w 2 ) N-1 (N-1)- (N- w+1) = w-2
  • Slide 33
  • DYNSA-APP 1.(Initialization) Computation of sa(w 1,w 2 ) = S((w 2,w 1 ),(w 1,w 2 )) = max{ s(w 1,w 1 ), s(w 1,w 2 )+s(w 2,w 1 ), s(w 2,w 2 ) } 2.(Iteration) For n = 2 to N-1 do (a) Computation of sa(w n,w n+1 ) (b) For i = 1 to min{ n-1, w -2 } do Computation of sa(w n-i,,w n+1 ) = S( (w n-1,,w n-i ), (w n-i,,w n+1 ) ) from values of S k and update of these values as in Section Dynamic programming requisites. O( w 2 ) O(N w 2 )
  • Slide 34
  • DYNPA-APP 1.(Initialization) Computation of pa ((w 1,w 2 ),(v 1,v 2 )) = max{ s(w 1, v 1 ), s(w 1, v 2 )+s(w 2, v 1 ), s(w 2, v 2 ) } 2.(Iteration) For k = 2 to max{ N, M } -1 do (a) If k N-1 then for i = 0 to min{ k-1, w -2 } do Computation of pa( (w k-i,,w k+1 ), q ) q Sub(v 1,,v min{k,M}, v ) (b) If k M-1 then for i = 0 to min{ k-1, v -2 } do Computation of pa( p, (v k-i,,v k+1 ) ) p Sub(w 1,,w min{k+1,N}, w )
  • Slide 35
  • DYNPA-APP The complexity for update min{k, w }( v -1) v / 2 O( w + v ) All updates for subsequences of w: N = k=2 min{k, w }( v -1) v / 2 O( w + v ) ( ) N = O(( v + w ) v 2 N w ) Overall: O(( w + v ) ( v 2 N w + w 2 M v )) = O(( w + v ) w v ( v N+ w M)) = O((max{ w, v }) 4 (N+M)) DYNPA : each pair n (m-1) m/2 O(N+M) overall O(N 2 M 2 (N+M))
  • Slide 36
  • l |p|,|q| u GC l GC(p), GC(q) GC u T m, l T m (p), T m (q) T m, u 0 sa(p),sa(q) sa u 0 sea(p),sea(q) sea u 0 pa(p,q) pa u 0 pea(p,q) pea u Primer candidate are restricted to lie in sets Sub(w, l, 1, u, 1 ) = { p | p Sub(w), l, 1 |p| u, 1 } The size of such a set is (( u, 1 - l, 1 ) N) Simplicity all bounds
  • Slide 37
  • BOUND 1.Computation of the inividual feasibility sets (w)= { p | p Sub(w)| l |p| u,,GC l GC(p) GC u,T m, l T m (p), T m, u,0sa(p) sa u,0sea(p) sea u } and (v)= { q | q Sub(v)| l |q| u,,GC l GC(q) GC u,T m, l T m (q), T m, u,0sa(q) sa u,0sea(q) sea u } 2. Computation of the conjoint feasibility set (w,v) ={ (p,q) (w)X (v) | 0 pa(p,q) pa u, 0pea(p,q) pea u } 3. Computation of best primer pair (p 1,q 1 )=argmin (p,q) (w,v) || sc(p,q) sc ideal || k
  • Slide 38
  • BOUND 1.Step 1 DYNSA-APP AND DYNSEA-APP in O((N u 2 +M u 2 ) = O((N+M) u 2 ) 2. Step 2 (a) if ad-hoc applied take effort O(|(w)||(v)| u 2 ) (b)bound from step 1 reduce the product set (w)X (v) to the conjoint set from step 2 (c) reducing the product set (w)X (v) to the conjoint set (w,v) 3. Step 3 Obviously O(|(w,v)| )
  • Slide 39
  • MULTIPLEX PRIMER ASSESSMENT Multiplex PCR is assumed here to operate in a single wet container. Figure All ideal temperatures are equal T m =T m1f =T m1f = =T m1r =T mur 3`5` 3`5` w1w1 v1v1 target1 wuwu vuvu target u
  • Slide 40
  • MULTIPLEX PRIMER ASSESSMENT Multiplex primer tuple M M=((p 1,q 1 ), ,(p u,q u )) p i Sub(w i ) q i Sub(v i ) for i = 1, ,u tentative scoring vector sc(M) ten =(sc(p 1,q 1 ) T, ,sc(p u,q u ) T ) T R 12u u individually ideal scoring vector sc u ten ideal = (sc 1 ideal, , sc u ideal ) =(length 1,f,length 1,r,GC 1,f,GC 1,r,T m,1,f,T m,1,r,0,0,0,0,0,0,, , length u,f,length u,r,GC u,f,GC u,r,T m,u,f,T m,u,r,0,0,0,0,0,0)
  • Slide 41
  • MULTIPLEX PRIMER ASSESSMENT Final scoring vector sc(M)=(sc(p 1,q 1 ), ,sc(p u,q u ), pa(p 1,p 2 ),pea(p 1,p 2 ),pa(p 1,p 3 ),pea(p 1,p 3 ), ,(pa(p u-1,p u ),pea(p u-1,p u ), pa(p 1,q 2 ),pea(p 1,q 2 ),pa(p 1,q 3 ),pea(p 1,q 3 ), ,(pa(p u-1,q u ),pea(p u-1,q u ), pa(q 1,p 2 ),pea(q 1,p 2 ),pa(q 1,p 3 ),pea(q 1,p 3 ), ,(pa(q u-1,p u ),pea(q u-1,p u ), pa(q 1,q 2 ),pea(q 1,q 2 ),pa(q 1,q 3 ),pea(q 1,q 3 ), ,(pa(q u-1,q u ),pea(q u-1,q u )) T R 12u+4u(u-1) =R 4u 2 +8u
  • Slide 42
  • MULTIPLEX PRIMER ASSESSMENT Min ||sc(M)-sc u ideal || k M Sub(w 1 )xSub(v 1 )x xSub(w u )xSub(v u ) || || k is the l 1 -norn in R 4u 2 +8u
  • Slide 43
  • Slide 44
  • It grows exponentially in the number of targets,since w 4 > 1,thus only approximation rather than complete enumeration is investigated. All criteria involving only a single primer or primers from one window are supposed to be bounded as in Section Approximation for bounded criteria vectors.
  • Slide 45
  • Slide 46
  • ... .. . (w 1,v 1 ) Score (w 2,v 2 ) (w ,v )
  • Slide 47
  • Slide 48
  • Implementation S(x,y)->S(x +,y)->S(x +,y + ) x = (x 1,..., x n ) ~ x = (x n,..., x 1 ) x+ = (x 1,..., x n +1 ) sa(x +) = max k =-n,...,n S k ( ~x +, x +) No window size x3x2x1 x1x2x3 -2 x1x2x3 -1 x1x2x3 0 x1x2x3 1 x1x2x3 2 x2x1 x1x2 -1 x1x2 0 x1x2 1 x=(x1,x2) ; ~ x=(x2,x1) ; x + =(x1,x2,x3) ; ~ x + =(x3,x2,x1) Ex:
  • Slide 49
  • The computational update scheme for all sa values of primer candidates from a given string w 1,..., w N, results in the final iteration scheme Not used by approximation i = 1,.., n -1 for unbounded sequences Used by approximation i = 1,..,w -1 for bounded primer lengths. three initial values are explicitly computed as S 1 (w n,w n+1 ) = s(w n,w n ), S 0 (w n,w n+1 ) = 2s(w n,wn+1 ), and S 1 (w n,w n+1 ) = s(w n+1,w n+1 ). then With window size Implementation of pa() & pea()
  • Slide 50
  • pa values are computed along so-called central alignments. The scoring value for w = (w 1,..., w n ) and v = (v 1,..., v m ) : The substrings w(k) of w and v(k) of v denote the proper overlay for shift k. The proper overlay is given for -(n-1) k 0 : Case1 S 0 ( ~w(k), v(k)) = S 0 ((w n+k,..., w 1 ), (v 1,...,v n+k )) which is n + k m S 0 ( ~w(k), v(k)) = S 0 ((w n+k,..., w n+k -m+1 ),(v 1,..., v m )) which is n + k < m. Implementation of pa() & pea()
  • Slide 51
  • Case2 For 0 k m-1 the proper overlays are given by S 0 ( ~w(k), v(k)) = S 0 ((w n,..., w n-m+k+1 ),(v 1+k,..., v m )) which is k + n > m S 0 ( ~w(k), v(k)) = S 0 ((w n,..., w 1 ),(v k+1,..., v k+n )) which is k +n m. This makes it possible to compute scores for central alignments efficiently for each primer pair in time proportional to their length. Conclusion Implementation of pa() & pea()
  • Slide 52
  • Following procedure considering the upper bounds w and v on the lengths of the forward and reverse primers respectively. l = 2,..,, i = 1,..,N -l, j = 1,.., M -l. = min{w, v}. (central alignments) slide step1. step2. Step 1 requires O(NM) time and space. each pair in step 2 require time O(n + m) = O(v +w) whenever S0 values can be accessed in O(1). //By D.P. The complexity of computing all pair annealing values is O( 3 NM). = O(|sub(w)||sub(v)|(v +w)) +O(NM) =O(Nw Mv (v +w)) + O(NM) // = max{v,w)} Implementation of pa() & pea() with approximation
  • Slide 53
  • Computation times for self annealing values and self end annealing values Primer length l.. u 18 2115 26 Windows length N353001000353001000 No. of primers |Sub (w, l, u )| 6611263926186336611766 Straightforward computations of sa [in ms]2714631161628001538053938 Computation by DYNSA-APP [in ms]462 209 684 292 Relative savings67.7574.777.3133.3183.1184.7 Straightforward computations of sea[in ms]274401550801371485.2 Computation by DYNSEA-APP [in ms]445 156 464 224 Relative savings6.759.79.92021.421.6 Pentium 200 MHz, 32MB Linux 2.0.32 (ReadHat 5.0) Jdk-1.1.5 ( JAVA development kid without JIT).