![Page 1: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/1.jpg)
Recherche de motifs,Alignement de séquences
P. Chassignet
14 février 2014
1/14
![Page 2: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/2.jpg)
Plan
1 Recherche de motifs
2 Alignement de séquences
2/14
![Page 3: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/3.jpg)
Exemples
1 chercher le codon start ’ATG’
méthode find de string (plus lent sur séquence Biopython) :
def find_counter(motif, sequence) :count = 0pos = 0while True :
pos = sequence.find(motif, pos)if pos == -1 : breakpos += 1 # ou 3count += 1
return count
2 chercher aussi le codon start alternatif ’GTG’,en préservant l’ordre d’occurrence
plus compliqué avec find, coût en temps × 2
3/14
![Page 4: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/4.jpg)
Exemples
1 chercher le codon start ’ATG’
méthode find de string (plus lent sur séquence Biopython) :
def find_counter(motif, sequence) :count = 0pos = 0while True :
pos = sequence.find(motif, pos)if pos == -1 : breakpos += 1 # ou 3count += 1
return count
2 chercher aussi le codon start alternatif ’GTG’,en préservant l’ordre d’occurrence
plus compliqué avec find, coût en temps × 2
3/14
![Page 5: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/5.jpg)
Exemples
1 chercher le codon start ’ATG’
méthode find de string (plus lent sur séquence Biopython) :
def find_counter(motif, sequence) :count = 0pos = 0while True :
pos = sequence.find(motif, pos)if pos == -1 : breakpos += 1 # ou 3count += 1
return count
2 chercher aussi le codon start alternatif ’GTG’,en préservant l’ordre d’occurrence
plus compliqué avec find, coût en temps × 2
3/14
![Page 6: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/6.jpg)
Exemples
1 chercher le codon start ’ATG’
méthode find de string (plus lent sur séquence Biopython) :
def find_counter(motif, sequence) :count = 0pos = 0while True :
pos = sequence.find(motif, pos)if pos == -1 : breakpos += 1 # ou 3count += 1
return count
2 chercher aussi le codon start alternatif ’GTG’,en préservant l’ordre d’occurrence
plus compliqué avec find, coût en temps ?
× 2
3/14
![Page 7: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/7.jpg)
Exemples
1 chercher le codon start ’ATG’
méthode find de string (plus lent sur séquence Biopython) :
def find_counter(motif, sequence) :count = 0pos = 0while True :
pos = sequence.find(motif, pos)if pos == -1 : breakpos += 1 # ou 3count += 1
return count
2 chercher aussi le codon start alternatif ’GTG’,en préservant l’ordre d’occurrence
plus compliqué avec find, coût en temps × 2
3/14
![Page 8: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/8.jpg)
Automate pour ’ATG’ ou ’GTG’
∅
A
G
AT
GT
AG
A
G
T
A
G
T
A
G?A
G?
même temps pour 1 ou 2 motifs, mais relativement lent (Python)
4/14
![Page 9: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/9.jpg)
Automate pour ’ATG’ ou ’GTG’
∅
A
G
AT
GT
AG
A
G
T
A
G
T
A
G?A
G?
même temps pour 1 ou 2 motifs, mais relativement lent (Python)4/14
![Page 10: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/10.jpg)
Automate pour ’ATG’ ou ’GTG’
machine = {’’ : { ’N’ : (’’, 0), ’A’ : (’A’, 0), ’C’ : (’’, 0),
’G’ : (’G’, 0), ’T’ : (’’, 0) },’A’ : { ’N’ : (’’, 0), ’A’ : (’A’, 0), ’C’ : (’’, 0),
’G’ : (’G’, 0), ’T’ : (’AT’, 0) },’G’ : { ’N’ : (’’, 0), ’A’ : (’A’, 0), ’C’ : (’’, 0),
’G’ : (’G’, 0), ’T’ : (’GT’, 0) },’AT’ : { ’N’ : (’’, 0), ’A’ : (’A’, 0), ’C’ : (’’, 0),
’G’ : (’G’, 1), ’T’ : (’’, 0) },’GT’ : { ’N’ : (’’, 0), ’A’ : (’A’, 0), ’C’ : (’’, 0),
’G’ : (’G’, 1), ’T’ : (’’, 0) },}
next_state, increment = machine[state][c]
5/14
![Page 11: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/11.jpg)
Expressions régulières
import re
def regexp_counter(motif, sequence) :fsm = re.compile(motif)count = 0pos = 0while True :
result = fsm.search(sequence, pos)if result == None : break#pos = result.end()pos = result.start()+1count += 1
return count
exemples : ’ATG’ ’[AG]TG’ ’T(A[AG]|GA)’un peu plus lent que string.find et même comportement !
6/14
![Page 12: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/12.jpg)
Expressions régulières
import re
def regexp_counter(motif, sequence) :fsm = re.compile(motif)count = 0pos = 0while True :
result = fsm.search(sequence, pos)if result == None : break#pos = result.end()pos = result.start()+1count += 1
return count
exemples : ’ATG’ ’[AG]TG’ ’T(A[AG]|GA)’
un peu plus lent que string.find et même comportement !
6/14
![Page 13: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/13.jpg)
Expressions régulières
import re
def regexp_counter(motif, sequence) :fsm = re.compile(motif)count = 0pos = 0while True :
result = fsm.search(sequence, pos)if result == None : break#pos = result.end()pos = result.start()+1count += 1
return count
exemples : ’ATG’ ’[AG]TG’ ’T(A[AG]|GA)’un peu plus lent que string.find
et même comportement !
6/14
![Page 14: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/14.jpg)
Expressions régulières
import re
def regexp_counter(motif, sequence) :fsm = re.compile(motif)count = 0pos = 0while True :
result = fsm.search(sequence, pos)if result == None : break#pos = result.end()pos = result.start()+1count += 1
return count
exemples : ’ATG’ ’[AG]TG’ ’T(A[AG]|GA)’un peu plus lent que string.find et même comportement !
6/14
![Page 15: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/15.jpg)
Exercices
écrire l’expression régulière pour un cadre de lecture complet
’[AG]TG(...)*?T(A[AG]|GA)’
’[AG]TG([ACGT][ACGT][ACGT])*?T(A[AG]|GA)’
entre 100 et 1000 codons
’[AG]TG(...){100,1000}?TAA’
avec TATA box (ie. TATA[AT]A[AT])située une trentaine de bases en amont
’TATA[AT]A[AT].{25,35}?[AG]TG(...){100,1000}?TAA’
7/14
![Page 16: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/16.jpg)
Exercices
écrire l’expression régulière pour un cadre de lecture complet
’[AG]TG(...)*?T(A[AG]|GA)’
’[AG]TG([ACGT][ACGT][ACGT])*?T(A[AG]|GA)’
entre 100 et 1000 codons
’[AG]TG(...){100,1000}?TAA’
avec TATA box (ie. TATA[AT]A[AT])située une trentaine de bases en amont
’TATA[AT]A[AT].{25,35}?[AG]TG(...){100,1000}?TAA’
7/14
![Page 17: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/17.jpg)
Exercices
écrire l’expression régulière pour un cadre de lecture complet
’[AG]TG(...)*?T(A[AG]|GA)’
’[AG]TG([ACGT][ACGT][ACGT])*?T(A[AG]|GA)’
entre 100 et 1000 codons
’[AG]TG(...){100,1000}?TAA’
avec TATA box (ie. TATA[AT]A[AT])située une trentaine de bases en amont
’TATA[AT]A[AT].{25,35}?[AG]TG(...){100,1000}?TAA’
7/14
![Page 18: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/18.jpg)
Exercices
écrire l’expression régulière pour un cadre de lecture complet
’[AG]TG(...)*?T(A[AG]|GA)’
’[AG]TG([ACGT][ACGT][ACGT])*?T(A[AG]|GA)’
entre 100 et 1000 codons
’[AG]TG(...){100,1000}?TAA’
avec TATA box (ie. TATA[AT]A[AT])située une trentaine de bases en amont
’TATA[AT]A[AT].{25,35}?[AG]TG(...){100,1000}?TAA’
7/14
![Page 19: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/19.jpg)
Exercices
écrire l’expression régulière pour un cadre de lecture complet
’[AG]TG(...)*?T(A[AG]|GA)’
’[AG]TG([ACGT][ACGT][ACGT])*?T(A[AG]|GA)’
entre 100 et 1000 codons
’[AG]TG(...){100,1000}?TAA’
avec TATA box (ie. TATA[AT]A[AT])située une trentaine de bases en amont
’TATA[AT]A[AT].{25,35}?[AG]TG(...){100,1000}?TAA’
7/14
![Page 20: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/20.jpg)
Exercices
écrire l’expression régulière pour un cadre de lecture complet
’[AG]TG(...)*?T(A[AG]|GA)’
’[AG]TG([ACGT][ACGT][ACGT])*?T(A[AG]|GA)’
entre 100 et 1000 codons
’[AG]TG(...){100,1000}?TAA’
avec TATA box (ie. TATA[AT]A[AT])située une trentaine de bases en amont
’TATA[AT]A[AT].{25,35}?[AG]TG(...){100,1000}?TAA’
7/14
![Page 21: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/21.jpg)
Exercices
écrire l’expression régulière pour un cadre de lecture complet
’[AG]TG(...)*?T(A[AG]|GA)’
’[AG]TG([ACGT][ACGT][ACGT])*?T(A[AG]|GA)’
entre 100 et 1000 codons
’[AG]TG(...){100,1000}?TAA’
avec TATA box (ie. TATA[AT]A[AT])située une trentaine de bases en amont
’TATA[AT]A[AT].{25,35}?[AG]TG(...){100,1000}?TAA’
7/14
![Page 22: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/22.jpg)
Plan
1 Recherche de motifs
2 Alignement de séquences
8/14
![Page 23: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/23.jpg)
Principes
KAFAQHSS..L.K..CHY.RTHIGE ... CNQCGKAF...S..Q.HG..........YHMCQFHCRYVNNHSGE ... HNQCGKAFPTPSHLQYHERT
score additif :scores élémentaires pour chaque paire (ex. log prob.)pénalités pour les trous
notations :
Deux séquences X = (X1,X2, . . . ,Xm) et Y = (Y1,Y2, . . . ,Yn)
s(x , y) le score d’alignement de la paire (x , y)
p la pénalité (fixe) associée à un trou, avec p > 0
S(i , j) le meilleur score d’alignement entre les séquences partielles(X1, . . . ,Xi ) et (Y1, . . . ,Yj)
meilleur = maximal
9/14
![Page 24: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/24.jpg)
Principes
KAFAQHSS..L.K..CHY.RTHIGE ... CNQCGKAF...S..Q.HG..........YHMCQFHCRYVNNHSGE ... HNQCGKAFPTPSHLQYHERT
score additif :scores élémentaires pour chaque paire (ex. log prob.)pénalités pour les trous
notations :
Deux séquences X = (X1,X2, . . . ,Xm) et Y = (Y1,Y2, . . . ,Yn)
s(x , y) le score d’alignement de la paire (x , y)
p la pénalité (fixe) associée à un trou, avec p > 0
S(i , j) le meilleur score d’alignement entre les séquences partielles(X1, . . . ,Xi ) et (Y1, . . . ,Yj)
meilleur = maximal
9/14
![Page 25: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/25.jpg)
Principes
KAFAQHSS..L.K..CHY.RTHIGE ... CNQCGKAF...S..Q.HG..........YHMCQFHCRYVNNHSGE ... HNQCGKAFPTPSHLQYHERT
score additif :scores élémentaires pour chaque paire (ex. log prob.)pénalités pour les trous
notations :
Deux séquences X = (X1,X2, . . . ,Xm) et Y = (Y1,Y2, . . . ,Yn)
s(x , y) le score d’alignement de la paire (x , y)
p la pénalité (fixe) associée à un trou, avec p > 0
S(i , j) le meilleur score d’alignement entre les séquences partielles(X1, . . . ,Xi ) et (Y1, . . . ,Yj)
meilleur = maximal
9/14
![Page 26: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/26.jpg)
Principes
KAFAQHSS..L.K..CHY.RTHIGE ... CNQCGKAF...S..Q.HG..........YHMCQFHCRYVNNHSGE ... HNQCGKAFPTPSHLQYHERT
score additif :scores élémentaires pour chaque paire (ex. log prob.)pénalités pour les trous
notations :
Deux séquences X = (X1,X2, . . . ,Xm) et Y = (Y1,Y2, . . . ,Yn)
s(x , y) le score d’alignement de la paire (x , y)
p la pénalité (fixe) associée à un trou, avec p > 0
S(i , j) le meilleur score d’alignement entre les séquences partielles(X1, . . . ,Xi ) et (Y1, . . . ,Yj)
meilleur = maximal
9/14
![Page 27: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/27.jpg)
Principes
KAFAQHSS..L.K..CHY.RTHIGE ... CNQCGKAF...S..Q.HG..........YHMCQFHCRYVNNHSGE ... HNQCGKAFPTPSHLQYHERT
score additif :scores élémentaires pour chaque paire (ex. log prob.)pénalités pour les trous
notations :
Deux séquences X = (X1,X2, . . . ,Xm) et Y = (Y1,Y2, . . . ,Yn)
s(x , y) le score d’alignement de la paire (x , y)
p la pénalité (fixe) associée à un trou, avec p > 0
S(i , j) le meilleur score d’alignement entre les séquences partielles(X1, . . . ,Xi ) et (Y1, . . . ,Yj)
meilleur = maximal9/14
![Page 28: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/28.jpg)
Alignement global
∀ i , 0 ≤ i ≤ m , S(i , 0) = −i .p ,
∀ j , 0 ≤ j ≤ n , S(0, j) = −j .p ,
∀ i , j , 0 < i ≤ m , 0 < j ≤ n , S(i , j) = max {
S(i − 1, j − 1) + s(Xi ,Yj) , alignement de la paire (Xi ,Yj)
S(i − 1, j)− p , trou dans Y
S(i , j − 1)− p trou dans X
}
meilleur score d’alignement global = S(m, n).
10/14
![Page 29: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/29.jpg)
Alignement global
∀ i , 0 ≤ i ≤ m , S(i , 0) = −i .p , ABCDABCD
∀ j , 0 ≤ j ≤ n , S(0, j) = −j .p ,
∀ i , j , 0 < i ≤ m , 0 < j ≤ n , S(i , j) = max {
S(i − 1, j − 1) + s(Xi ,Yj) , alignement de la paire (Xi ,Yj)
S(i − 1, j)− p , trou dans Y
S(i , j − 1)− p trou dans X
}
meilleur score d’alignement global = S(m, n).
10/14
![Page 30: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/30.jpg)
Alignement global
∀ i , 0 ≤ i ≤ m , S(i , 0) = −i .p , ABCDABC.
∀ j , 0 ≤ j ≤ n , S(0, j) = −j .p ,
∀ i , j , 0 < i ≤ m , 0 < j ≤ n , S(i , j) = max {
S(i − 1, j − 1) + s(Xi ,Yj) , alignement de la paire (Xi ,Yj)
S(i − 1, j)− p , trou dans Y
S(i , j − 1)− p trou dans X
}
meilleur score d’alignement global = S(m, n).
10/14
![Page 31: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/31.jpg)
Alignement global
∀ i , 0 ≤ i ≤ m , S(i , 0) = −i .p , ABC.ABCD
∀ j , 0 ≤ j ≤ n , S(0, j) = −j .p ,
∀ i , j , 0 < i ≤ m , 0 < j ≤ n , S(i , j) = max {
S(i − 1, j − 1) + s(Xi ,Yj) , alignement de la paire (Xi ,Yj)
S(i − 1, j)− p , trou dans Y
S(i , j − 1)− p trou dans X
}
meilleur score d’alignement global = S(m, n).
10/14
![Page 32: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/32.jpg)
Alignement global
∀ i , 0 ≤ i ≤ m , S(i , 0) = −i .p ,
∀ j , 0 ≤ j ≤ n , S(0, j) = −j .p ,
∀ i , j , 0 < i ≤ m , 0 < j ≤ n , S(i , j) = max {
S(i − 1, j − 1) + s(Xi ,Yj) , alignement de la paire (Xi ,Yj)
S(i − 1, j)− p , trou dans Y
S(i , j − 1)− p trou dans X
}
meilleur score d’alignement global = S(m, n).
10/14
![Page 33: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/33.jpg)
L’algorithme de Needleman et Wunsch
calcul de S(m, n) par programmation dynamique,
ie. tabulation : S[i][j], ex. :
A C G TA C C T
p = 2s(x , x) = 1s(x , !x) = −5
A C C T0
← -2 ← -4 ← -6 ← -8
A
↑-2↖ 1 ← -1 ← -3 ← -5
C
↑-4
↑-1↖ 2 ← 0↖ ← -2
G
↑-6
↑-3
↑0 ← -2↑ ← -4
↑
T
↑-8
↑-5
↑-2 ← -4
↑ ↖ -1
coût en O(m × n).
T[i][j] = (i-1,j-1) | (i-1,j) | (i,j-1) : traceback
11/14
![Page 34: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/34.jpg)
L’algorithme de Needleman et Wunsch
calcul de S(m, n) par programmation dynamique,
ie. tabulation : S[i][j], ex. :
.
A
p = 2s(x , x) = 1s(x , !x) = −5
A C C T0 ← -2
← -4 ← -6 ← -8
A
↑-2↖ 1 ← -1 ← -3 ← -5
C
↑-4
↑-1↖ 2 ← 0↖ ← -2
G
↑-6
↑-3
↑0 ← -2↑ ← -4
↑
T
↑-8
↑-5
↑-2 ← -4
↑ ↖ -1
coût en O(m × n).
T[i][j] = (i-1,j-1) | (i-1,j) | (i,j-1) : traceback
11/14
![Page 35: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/35.jpg)
L’algorithme de Needleman et Wunsch
calcul de S(m, n) par programmation dynamique,
ie. tabulation : S[i][j], ex. :
. .
A C
p = 2s(x , x) = 1s(x , !x) = −5
A C C T0 ← -2 ← -4
← -6 ← -8
A
↑-2↖ 1 ← -1 ← -3 ← -5
C
↑-4
↑-1↖ 2 ← 0↖ ← -2
G
↑-6
↑-3
↑0 ← -2↑ ← -4
↑
T
↑-8
↑-5
↑-2 ← -4
↑ ↖ -1
coût en O(m × n).
T[i][j] = (i-1,j-1) | (i-1,j) | (i,j-1) : traceback
11/14
![Page 36: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/36.jpg)
L’algorithme de Needleman et Wunsch
calcul de S(m, n) par programmation dynamique,
ie. tabulation : S[i][j], ex. :
. . .
A C C
p = 2s(x , x) = 1s(x , !x) = −5
A C C T0 ← -2 ← -4 ← -6
← -8
A
↑-2↖ 1 ← -1 ← -3 ← -5
C
↑-4
↑-1↖ 2 ← 0↖ ← -2
G
↑-6
↑-3
↑0 ← -2↑ ← -4
↑
T
↑-8
↑-5
↑-2 ← -4
↑ ↖ -1
coût en O(m × n).
T[i][j] = (i-1,j-1) | (i-1,j) | (i,j-1) : traceback
11/14
![Page 37: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/37.jpg)
L’algorithme de Needleman et Wunsch
calcul de S(m, n) par programmation dynamique,
ie. tabulation : S[i][j], ex. :
. . . .
A C C T
p = 2s(x , x) = 1s(x , !x) = −5
A C C T0 ← -2 ← -4 ← -6 ← -8
A
↑-2↖ 1 ← -1 ← -3 ← -5
C
↑-4
↑-1↖ 2 ← 0↖ ← -2
G
↑-6
↑-3
↑0 ← -2↑ ← -4
↑
T
↑-8
↑-5
↑-2 ← -4
↑ ↖ -1
coût en O(m × n).
T[i][j] = (i-1,j-1) | (i-1,j) | (i,j-1) : traceback
11/14
![Page 38: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/38.jpg)
L’algorithme de Needleman et Wunsch
calcul de S(m, n) par programmation dynamique,
ie. tabulation : S[i][j], ex. :
A C G T. . . .
p = 2s(x , x) = 1s(x , !x) = −5
A C C T0 ← -2 ← -4 ← -6 ← -8
A↑-2
↖ 1 ← -1 ← -3 ← -5
C↑-4
↑-1↖ 2 ← 0↖ ← -2
G↑-6
↑-3
↑0 ← -2↑ ← -4
↑
T↑-8
↑-5
↑-2 ← -4
↑ ↖ -1
coût en O(m × n).
T[i][j] = (i-1,j-1) | (i-1,j) | (i,j-1) : traceback
11/14
![Page 39: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/39.jpg)
L’algorithme de Needleman et Wunsch
calcul de S(m, n) par programmation dynamique,
ie. tabulation : S[i][j], ex. :
AA
p = 2s(x , x) = 1s(x , !x) = −5
A C C T0 ← -2 ← -4 ← -6 ← -8
A↑-2↖ 1
← -1 ← -3 ← -5
C↑-4
↑-1↖ 2 ← 0↖ ← -2
G↑-6
↑-3
↑0 ← -2↑ ← -4
↑
T↑-8
↑-5
↑-2 ← -4
↑ ↖ -1
coût en O(m × n).
T[i][j] = (i-1,j-1) | (i-1,j) | (i,j-1) : traceback
11/14
![Page 40: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/40.jpg)
L’algorithme de Needleman et Wunsch
calcul de S(m, n) par programmation dynamique,
ie. tabulation : S[i][j], ex. :
A CA .
p = 2s(x , x) = 1s(x , !x) = −5
A C C T0 ← -2 ← -4 ← -6 ← -8
A↑-2↖ 1
← -1 ← -3 ← -5
C↑-4
↑-1
↖ 2 ← 0↖ ← -2
G↑-6
↑-3
↑0 ← -2↑ ← -4
↑
T↑-8
↑-5
↑-2 ← -4
↑ ↖ -1
coût en O(m × n).
T[i][j] = (i-1,j-1) | (i-1,j) | (i,j-1) : traceback
11/14
![Page 41: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/41.jpg)
L’algorithme de Needleman et Wunsch
calcul de S(m, n) par programmation dynamique,
ie. tabulation : S[i][j], ex. :
A C GA . .
p = 2s(x , x) = 1s(x , !x) = −5
A C C T0 ← -2 ← -4 ← -6 ← -8
A↑-2↖ 1
← -1 ← -3 ← -5
C↑-4
↑-1
↖ 2 ← 0↖ ← -2
G↑-6
↑-3
↑0 ← -2↑ ← -4
↑
T↑-8
↑-5
↑-2 ← -4
↑ ↖ -1
coût en O(m × n).
T[i][j] = (i-1,j-1) | (i-1,j) | (i,j-1) : traceback
11/14
![Page 42: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/42.jpg)
L’algorithme de Needleman et Wunsch
calcul de S(m, n) par programmation dynamique,
ie. tabulation : S[i][j], ex. :
A C G TA . . .
p = 2s(x , x) = 1s(x , !x) = −5
A C C T0 ← -2 ← -4 ← -6 ← -8
A↑-2↖ 1
← -1 ← -3 ← -5
C↑-4
↑-1
↖ 2 ← 0↖ ← -2
G↑-6
↑-3
↑0 ← -2↑ ← -4
↑
T↑-8
↑-5
↑-2 ← -4
↑ ↖ -1
coût en O(m × n).
T[i][j] = (i-1,j-1) | (i-1,j) | (i,j-1) : traceback
11/14
![Page 43: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/43.jpg)
L’algorithme de Needleman et Wunsch
calcul de S(m, n) par programmation dynamique,
ie. tabulation : S[i][j], ex. :
A .A C
p = 2s(x , x) = 1s(x , !x) = −5
A C C T0 ← -2 ← -4 ← -6 ← -8
A↑-2↖ 1 ← -1
← -3 ← -5
C↑-4
↑-1
↖ 2 ← 0↖ ← -2
G↑-6
↑-3
↑0 ← -2↑ ← -4
↑
T↑-8
↑-5
↑-2 ← -4
↑ ↖ -1
coût en O(m × n).
T[i][j] = (i-1,j-1) | (i-1,j) | (i,j-1) : traceback
11/14
![Page 44: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/44.jpg)
L’algorithme de Needleman et Wunsch
calcul de S(m, n) par programmation dynamique,
ie. tabulation : S[i][j], ex. :
A CA C
p = 2s(x , x) = 1s(x , !x) = −5
A C C T0 ← -2 ← -4 ← -6 ← -8
A↑-2↖ 1 ← -1
← -3 ← -5
C↑-4
↑-1↖ 2
← 0↖ ← -2
G↑-6
↑-3
↑0 ← -2↑ ← -4
↑
T↑-8
↑-5
↑-2 ← -4
↑ ↖ -1
coût en O(m × n).
T[i][j] = (i-1,j-1) | (i-1,j) | (i,j-1) : traceback
11/14
![Page 45: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/45.jpg)
L’algorithme de Needleman et Wunsch
calcul de S(m, n) par programmation dynamique,
ie. tabulation : S[i][j], ex. :
A C G TA C . .
p = 2s(x , x) = 1s(x , !x) = −5
A C C T0 ← -2 ← -4 ← -6 ← -8
A↑-2↖ 1 ← -1
← -3 ← -5
C↑-4
↑-1↖ 2
← 0↖ ← -2
G↑-6
↑-3
↑0
← -2↑ ← -4
↑
T↑-8
↑-5
↑-2
← -4↑ ↖ -1
coût en O(m × n).
T[i][j] = (i-1,j-1) | (i-1,j) | (i,j-1) : traceback
11/14
![Page 46: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/46.jpg)
L’algorithme de Needleman et Wunsch
calcul de S(m, n) par programmation dynamique,
ie. tabulation : S[i][j], ex. :
A . .A C C
p = 2s(x , x) = 1s(x , !x) = −5
A C C T0 ← -2 ← -4 ← -6 ← -8
A↑-2↖ 1 ← -1 ← -3
← -5
C↑-4
↑-1↖ 2
← 0↖ ← -2
G↑-6
↑-3
↑0
← -2↑ ← -4
↑
T↑-8
↑-5
↑-2
← -4↑ ↖ -1
coût en O(m × n).
T[i][j] = (i-1,j-1) | (i-1,j) | (i,j-1) : traceback
11/14
![Page 47: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/47.jpg)
L’algorithme de Needleman et Wunsch
calcul de S(m, n) par programmation dynamique,
ie. tabulation : S[i][j], ex. :
A C .A C C
p = 2s(x , x) = 1s(x , !x) = −5
A C C T0 ← -2 ← -4 ← -6 ← -8
A↑-2↖ 1 ← -1 ← -3
← -5
C↑-4
↑-1↖ 2 ← 0
↖ ← -2
G↑-6
↑-3
↑0
← -2↑ ← -4
↑
T↑-8
↑-5
↑-2
← -4↑ ↖ -1
coût en O(m × n).
T[i][j] = (i-1,j-1) | (i-1,j) | (i,j-1) : traceback
11/14
![Page 48: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/48.jpg)
L’algorithme de Needleman et Wunsch
calcul de S(m, n) par programmation dynamique,
ie. tabulation : S[i][j], ex. :
A C . A . CA C C A C C
p = 2s(x , x) = 1s(x , !x) = −5
A C C T0 ← -2 ← -4 ← -6 ← -8
A↑-2↖ 1 ← -1 ← -3
← -5
C↑-4
↑-1↖ 2 ← 0↖
← -2
G↑-6
↑-3
↑0
← -2↑ ← -4
↑
T↑-8
↑-5
↑-2
← -4↑ ↖ -1
coût en O(m × n).
T[i][j] = (i-1,j-1) | (i-1,j) | (i,j-1) : traceback
11/14
![Page 49: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/49.jpg)
L’algorithme de Needleman et Wunsch
calcul de S(m, n) par programmation dynamique,
ie. tabulation : S[i][j], ex. :
A C G .A C . C
p = 2s(x , x) = 1s(x , !x) = −5
A C C T0 ← -2 ← -4 ← -6 ← -8
A↑-2↖ 1 ← -1 ← -3
← -5
C↑-4
↑-1↖ 2 ← 0↖
← -2
G↑-6
↑-3
↑0 ← -2
↑ ← -4↑
T↑-8
↑-5
↑-2
← -4↑ ↖ -1
coût en O(m × n).
T[i][j] = (i-1,j-1) | (i-1,j) | (i,j-1) : traceback
11/14
![Page 50: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/50.jpg)
L’algorithme de Needleman et Wunsch
calcul de S(m, n) par programmation dynamique,
ie. tabulation : S[i][j], ex. :
A C G . A C . GA C . C A C C .
p = 2s(x , x) = 1s(x , !x) = −5
A C C T0 ← -2 ← -4 ← -6 ← -8
A↑-2↖ 1 ← -1 ← -3
← -5
C↑-4
↑-1↖ 2 ← 0↖
← -2
G↑-6
↑-3
↑0 ← -2↑
← -4↑
T↑-8
↑-5
↑-2
← -4↑ ↖ -1
coût en O(m × n).
T[i][j] = (i-1,j-1) | (i-1,j) | (i,j-1) : traceback
11/14
![Page 51: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/51.jpg)
L’algorithme de Needleman et Wunsch
calcul de S(m, n) par programmation dynamique,
ie. tabulation : S[i][j], ex. :
A C G . A C . G A . C GA C . C A C C . A C C .
p = 2s(x , x) = 1s(x , !x) = −5
A C C T0 ← -2 ← -4 ← -6 ← -8
A↑-2↖ 1 ← -1 ← -3
← -5
C↑-4
↑-1↖ 2 ← 0↖
← -2
G↑-6
↑-3
↑0 ← -2↑
← -4↑
T↑-8
↑-5
↑-2
← -4↑ ↖ -1
coût en O(m × n).
T[i][j] = (i-1,j-1) | (i-1,j) | (i,j-1) : traceback
11/14
![Page 52: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/52.jpg)
L’algorithme de Needleman et Wunsch
calcul de S(m, n) par programmation dynamique,
ie. tabulation : S[i][j], ex. :
A C G T .A C . . C
p = 2s(x , x) = 1s(x , !x) = −5
A C C T0 ← -2 ← -4 ← -6 ← -8
A↑-2↖ 1 ← -1 ← -3
← -5
C↑-4
↑-1↖ 2 ← 0↖
← -2
G↑-6
↑-3
↑0 ← -2↑
← -4↑
T↑-8
↑-5
↑-2 ← -4
↑ ↖ -1
coût en O(m × n).
T[i][j] = (i-1,j-1) | (i-1,j) | (i,j-1) : traceback
11/14
![Page 53: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/53.jpg)
L’algorithme de Needleman et Wunsch
calcul de S(m, n) par programmation dynamique,
ie. tabulation : S[i][j], ex. :
A C G T . A C G . T A x x G TA C . . C A C . C . A C C . .
p = 2s(x , x) = 1s(x , !x) = −5
A C C T0 ← -2 ← -4 ← -6 ← -8
A↑-2↖ 1 ← -1 ← -3
← -5
C↑-4
↑-1↖ 2 ← 0↖
← -2
G↑-6
↑-3
↑0 ← -2↑
← -4↑
T↑-8
↑-5
↑-2 ← -4
↑
↖ -1
coût en O(m × n).
T[i][j] = (i-1,j-1) | (i-1,j) | (i,j-1) : traceback
11/14
![Page 54: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/54.jpg)
L’algorithme de Needleman et Wunsch
calcul de S(m, n) par programmation dynamique,
ie. tabulation : S[i][j], ex. :
A C . . A . C .A C C T A C C T
p = 2s(x , x) = 1s(x , !x) = −5
A C C T0 ← -2 ← -4 ← -6 ← -8
A↑-2↖ 1 ← -1 ← -3 ← -5
C↑-4
↑-1↖ 2 ← 0↖ ← -2
G↑-6
↑-3
↑0 ← -2↑
← -4↑
T↑-8
↑-5
↑-2 ← -4
↑
↖ -1
coût en O(m × n).
T[i][j] = (i-1,j-1) | (i-1,j) | (i,j-1) : traceback
11/14
![Page 55: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/55.jpg)
L’algorithme de Needleman et Wunsch
calcul de S(m, n) par programmation dynamique,
ie. tabulation : S[i][j], ex. :
A C G . . A x x G . A x x . GA C . C T A C C . T A C C T .
p = 2s(x , x) = 1s(x , !x) = −5
A C C T0 ← -2 ← -4 ← -6 ← -8
A↑-2↖ 1 ← -1 ← -3 ← -5
C↑-4
↑-1↖ 2 ← 0↖ ← -2
G↑-6
↑-3
↑0 ← -2↑ ← -4
↑
T↑-8
↑-5
↑-2 ← -4
↑
↖ -1
coût en O(m × n).
T[i][j] = (i-1,j-1) | (i-1,j) | (i,j-1) : traceback
11/14
![Page 56: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/56.jpg)
L’algorithme de Needleman et Wunsch
calcul de S(m, n) par programmation dynamique,
ie. tabulation : S[i][j], ex. :
A C G . T A C . G T A . C G TA C . C T A C C . T A C C . T
p = 2s(x , x) = 1s(x , !x) = −5
A C C T0 ← -2 ← -4 ← -6 ← -8
A↑-2↖ 1 ← -1 ← -3 ← -5
C↑-4
↑-1↖ 2 ← 0↖ ← -2
G↑-6
↑-3
↑0 ← -2↑ ← -4
↑
T↑-8
↑-5
↑-2 ← -4
↑ ↖ -1
coût en O(m × n).
T[i][j] = (i-1,j-1) | (i-1,j) | (i,j-1) : traceback
11/14
![Page 57: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/57.jpg)
L’algorithme de Needleman et Wunsch
calcul de S(m, n) par programmation dynamique,
ie. tabulation : S[i][j], ex. :
A C G . T A C . G T A . C G TA C . C T A C C . T A C C . T
p = 2s(x , x) = 1s(x , !x) = −5
A C C T0 ← -2 ← -4 ← -6 ← -8
A↑-2↖ 1 ← -1 ← -3 ← -5
C↑-4
↑-1↖ 2 ← 0↖ ← -2
G↑-6
↑-3
↑0 ← -2↑ ← -4
↑
T↑-8
↑-5
↑-2 ← -4
↑ ↖ -1
coût en O(m × n).
T[i][j] = (i-1,j-1) | (i-1,j) | (i,j-1) : traceback
11/14
![Page 58: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/58.jpg)
L’algorithme de Needleman et Wunsch
calcul de S(m, n) par programmation dynamique,
ie. tabulation : S[i][j], ex. :
A C G . T A C . G T A . C G TA C . C T A C C . T A C C . T
p = 2s(x , x) = 1s(x , !x) = −5
A C C T0 ← -2 ← -4 ← -6 ← -8
A↑-2↖ 1 ← -1 ← -3 ← -5
C↑-4
↑-1↖ 2 ← 0↖ ← -2
G↑-6
↑-3
↑0 ← -2↑ ← -4
↑
T↑-8
↑-5
↑-2 ← -4
↑ ↖ -1
coût en O(m × n).
T[i][j] = (i-1,j-1) | (i-1,j) | (i,j-1)
: traceback
11/14
![Page 59: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/59.jpg)
L’algorithme de Needleman et Wunsch
calcul de S(m, n) par programmation dynamique,
ie. tabulation : S[i][j], ex. :
A C G . TA C . C T
p = 2s(x , x) = 1s(x , !x) = −5
A C C T0 ← -2 ← -4 ← -6 ← -8
A↑-2↖ 1 ← -1 ← -3 ← -5
C↑-4
↑-1↖ 2 ← 0
↖
← -2G↑-6
↑-3
↑0 ← -2
↑
← -4
↑
T↑-8
↑-5
↑-2 ← -4
↑
↖ -1
coût en O(m × n).
T[i][j] = (i-1,j-1) | (i-1,j) | (i,j-1)
: traceback
11/14
![Page 60: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/60.jpg)
L’algorithme de Needleman et Wunsch
calcul de S(m, n) par programmation dynamique,
ie. tabulation : S[i][j], ex. :
A C G . TA C . C T
p = 2s(x , x) = 1s(x , !x) = −5
A C C T0 ← -2 ← -4 ← -6 ← -8
A↑-2↖ 1 ← -1 ← -3 ← -5
C↑-4
↑-1↖ 2 ← 0
↖
← -2G↑-6
↑-3
↑0 ← -2
↑
← -4
↑
T↑-8
↑-5
↑-2 ← -4
↑
↖ -1
coût en O(m × n).
T[i][j] = (i-1,j-1) | (i-1,j) | (i,j-1) : traceback
11/14
![Page 61: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/61.jpg)
L’algorithme de Needleman et Wunsch
calcul de S(m, n) par programmation dynamique,
ie. tabulation : S[i][j], ex. :
A C G . TA C . C T
p = 2s(x , x) = 1s(x , !x) = −5
A C C T0 ← -2 ← -4 ← -6 ← -8
A↑-2↖ 1 ← -1 ← -3 ← -5
C↑-4
↑-1↖ 2 ← 0
↖
← -2G↑-6
↑-3
↑0 ← -2
↑
← -4
↑
T↑-8
↑-5
↑-2 ← -4
↑
↖ -1
coût en O(m × n).
T[i][j] = (i-1,j-1) | (i-1,j) | (i,j-1) : traceback
11/14
![Page 62: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/62.jpg)
L’algorithme de Needleman et Wunsch
calcul de S(m, n) par programmation dynamique,
ie. tabulation : S[i][j], ex. :
A C G . TA C . C T
p = 2s(x , x) = 1s(x , !x) = −5
A C C T0 ← -2 ← -4 ← -6 ← -8
A↑-2↖ 1 ← -1 ← -3 ← -5
C↑-4
↑-1↖ 2 ← 0
↖
← -2G↑-6
↑-3
↑0 ← -2
↑
← -4
↑
T↑-8
↑-5
↑-2 ← -4
↑
↖ -1
coût en O(m × n).
T[i][j] = (i-1,j-1) | (i-1,j) | (i,j-1) : traceback
11/14
![Page 63: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/63.jpg)
L’algorithme de Needleman et Wunsch
calcul de S(m, n) par programmation dynamique,
ie. tabulation : S[i][j], ex. :
A C G . TA C . C T
p = 2s(x , x) = 1s(x , !x) = −5
A C C T0 ← -2 ← -4 ← -6 ← -8
A↑-2↖ 1 ← -1 ← -3 ← -5
C↑-4
↑-1↖ 2 ← 0
↖
← -2G↑-6
↑-3
↑0 ← -2
↑
← -4
↑
T↑-8
↑-5
↑-2 ← -4
↑
↖ -1
coût en O(m × n).
T[i][j] = (i-1,j-1) | (i-1,j) | (i,j-1) : traceback
11/14
![Page 64: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/64.jpg)
L’algorithme de Needleman et Wunsch
calcul de S(m, n) par programmation dynamique,
ie. tabulation : S[i][j], ex. :
A C G . TA C . C T
p = 2s(x , x) = 1s(x , !x) = −5
A C C T0 ← -2 ← -4 ← -6 ← -8
A↑-2↖ 1 ← -1 ← -3 ← -5
C↑-4
↑-1↖ 2 ← 0
↖
← -2G↑-6
↑-3
↑0 ← -2
↑
← -4
↑
T↑-8
↑-5
↑-2 ← -4
↑
↖ -1
coût en O(m × n).
T[i][j] = (i-1,j-1) | (i-1,j) | (i,j-1) : traceback
11/14
![Page 65: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/65.jpg)
L’algorithme de Needleman et Wunsch
calcul de S(m, n) par programmation dynamique,
ie. tabulation : S[i][j], ex. :
A C G . TA C . C T
p = 2s(x , x) = 1s(x , !x) = −5
A C C T0 ← -2 ← -4 ← -6 ← -8
A↑-2↖ 1 ← -1 ← -3 ← -5
C↑-4
↑-1↖ 2 ← 0
↖
← -2G↑-6
↑-3
↑0 ← -2
↑
← -4
↑
T↑-8
↑-5
↑-2 ← -4
↑
↖ -1
coût en O(m × n).
T[i][j] = (i-1,j-1) | (i-1,j) | (i,j-1) : traceback
11/14
![Page 66: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/66.jpg)
L’algorithme de Needleman et Wunsch
calcul de S(m, n) par programmation dynamique,
ie. tabulation : S[i][j], ex. :
A C G . TA C . C T
p = 2s(x , x) = 1s(x , !x) = −5
A C C T0 ← -2 ← -4 ← -6 ← -8
A↑-2↖ 1 ← -1 ← -3 ← -5
C↑-4
↑-1↖ 2 ← 0
↖
← -2G↑-6
↑-3
↑0 ← -2
↑
← -4
↑
T↑-8
↑-5
↑-2 ← -4
↑
↖ -1
coût en O(m × n).
T[i][j] = (i-1,j-1) | (i-1,j) | (i,j-1) : traceback
11/14
![Page 67: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/67.jpg)
Pénalité affinepénalité cumulée de k trous consécutifs :popen + (k − 1) ∗ pextend , avec popen > pextend > 0
∀ i , j , 0 < i ≤ m , 0 < j ≤ n ,
T1(i , j) = max { score avec trou face à XiS(i − 1, j)− popen , Xi−1 et Yj sont alignésT1(i − 1, j)− pextend prolonge trou face à Xi−1
} ,T2(i , j) = max { score avec trou face à Yi
S(i , j − 1)− popen , Xi et Yj−1 sont alignésT2(i , j − 1)− pextend prolonge trou face à Yj−1
} ,S(i , j) = max {
S(i − 1, j − 1) + s(Xi ,Yj) , alignement de (Xi ,Yj)T1(i , j) , trou dans YT2(i , j) trou dans X
}.
12/14
![Page 68: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/68.jpg)
Pénalité affinepénalité cumulée de k trous consécutifs :popen + (k − 1) ∗ pextend , avec popen > pextend > 0
∀ i , j , 0 < i ≤ m , 0 < j ≤ n ,T1(i , j) = max { score avec trou face à Xi
S(i − 1, j)− popen , Xi−1 et Yj sont alignésT1(i − 1, j)− pextend prolonge trou face à Xi−1
} ,T2(i , j) = max { score avec trou face à Yi
S(i , j − 1)− popen , Xi et Yj−1 sont alignésT2(i , j − 1)− pextend prolonge trou face à Yj−1
} ,S(i , j) = max {
S(i − 1, j − 1) + s(Xi ,Yj) , alignement de (Xi ,Yj)T1(i , j) , trou dans YT2(i , j) trou dans X
}.
12/14
![Page 69: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/69.jpg)
Pénalité affinepénalité cumulée de k trous consécutifs :popen + (k − 1) ∗ pextend , avec popen > pextend > 0
∀ i , j , 0 < i ≤ m , 0 < j ≤ n ,T1(i , j) = max { score avec trou face à Xi
S(i − 1, j)− popen , Xi−1 et Yj sont alignés
T1(i − 1, j)− pextend prolonge trou face à Xi−1} ,
T2(i , j) = max { score avec trou face à YiS(i , j − 1)− popen , Xi et Yj−1 sont alignésT2(i , j − 1)− pextend prolonge trou face à Yj−1
} ,S(i , j) = max {
S(i − 1, j − 1) + s(Xi ,Yj) , alignement de (Xi ,Yj)T1(i , j) , trou dans YT2(i , j) trou dans X
}.
12/14
![Page 70: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/70.jpg)
Pénalité affinepénalité cumulée de k trous consécutifs :popen + (k − 1) ∗ pextend , avec popen > pextend > 0
∀ i , j , 0 < i ≤ m , 0 < j ≤ n ,T1(i , j) = max { score avec trou face à Xi
S(i − 1, j)− popen , Xi−1 et Yj sont alignésT1(i − 1, j)− pextend prolonge trou face à Xi−1
} ,
T2(i , j) = max { score avec trou face à YiS(i , j − 1)− popen , Xi et Yj−1 sont alignésT2(i , j − 1)− pextend prolonge trou face à Yj−1
} ,S(i , j) = max {
S(i − 1, j − 1) + s(Xi ,Yj) , alignement de (Xi ,Yj)T1(i , j) , trou dans YT2(i , j) trou dans X
}.
12/14
![Page 71: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/71.jpg)
Pénalité affinepénalité cumulée de k trous consécutifs :popen + (k − 1) ∗ pextend , avec popen > pextend > 0
∀ i , j , 0 < i ≤ m , 0 < j ≤ n ,T1(i , j) = max { score avec trou face à Xi
S(i − 1, j)− popen , Xi−1 et Yj sont alignésT1(i − 1, j)− pextend prolonge trou face à Xi−1
} ,T2(i , j) = max { score avec trou face à Yi
S(i , j − 1)− popen , Xi et Yj−1 sont alignésT2(i , j − 1)− pextend prolonge trou face à Yj−1
} ,S(i , j) = max {
S(i − 1, j − 1) + s(Xi ,Yj) , alignement de (Xi ,Yj)T1(i , j) , trou dans YT2(i , j) trou dans X
}.
12/14
![Page 72: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/72.jpg)
Pénalité affinepénalité cumulée de k trous consécutifs :popen + (k − 1) ∗ pextend , avec popen > pextend > 0
∀ i , j , 0 < i ≤ m , 0 < j ≤ n ,T1(i , j) = max { score avec trou face à Xi
S(i − 1, j)− popen , Xi−1 et Yj sont alignésT1(i − 1, j)− pextend prolonge trou face à Xi−1
} ,T2(i , j) = max { score avec trou face à Yi
S(i , j − 1)− popen , Xi et Yj−1 sont alignés
T2(i , j − 1)− pextend prolonge trou face à Yj−1} ,
S(i , j) = max {S(i − 1, j − 1) + s(Xi ,Yj) , alignement de (Xi ,Yj)T1(i , j) , trou dans YT2(i , j) trou dans X
}.
12/14
![Page 73: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/73.jpg)
Pénalité affinepénalité cumulée de k trous consécutifs :popen + (k − 1) ∗ pextend , avec popen > pextend > 0
∀ i , j , 0 < i ≤ m , 0 < j ≤ n ,T1(i , j) = max { score avec trou face à Xi
S(i − 1, j)− popen , Xi−1 et Yj sont alignésT1(i − 1, j)− pextend prolonge trou face à Xi−1
} ,T2(i , j) = max { score avec trou face à Yi
S(i , j − 1)− popen , Xi et Yj−1 sont alignésT2(i , j − 1)− pextend prolonge trou face à Yj−1
} ,
S(i , j) = max {S(i − 1, j − 1) + s(Xi ,Yj) , alignement de (Xi ,Yj)T1(i , j) , trou dans YT2(i , j) trou dans X
}.
12/14
![Page 74: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/74.jpg)
Pénalité affinepénalité cumulée de k trous consécutifs :popen + (k − 1) ∗ pextend , avec popen > pextend > 0
∀ i , j , 0 < i ≤ m , 0 < j ≤ n ,T1(i , j) = max { score avec trou face à Xi
S(i − 1, j)− popen , Xi−1 et Yj sont alignésT1(i − 1, j)− pextend prolonge trou face à Xi−1
} ,T2(i , j) = max { score avec trou face à Yi
S(i , j − 1)− popen , Xi et Yj−1 sont alignésT2(i , j − 1)− pextend prolonge trou face à Yj−1
} ,S(i , j) = max {
S(i − 1, j − 1) + s(Xi ,Yj) , alignement de (Xi ,Yj)T1(i , j) , trou dans YT2(i , j) trou dans X
}.
12/14
![Page 75: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/75.jpg)
Pénalité affinepénalité cumulée de k trous consécutifs :popen + (k − 1) ∗ pextend , avec popen > pextend > 0
∀ i , j , 0 < i ≤ m , 0 < j ≤ n ,T1(i , j) = max { score avec trou face à Xi
S(i − 1, j)− popen , Xi−1 et Yj sont alignésT1(i − 1, j)− pextend prolonge trou face à Xi−1
} ,T2(i , j) = max { score avec trou face à Yi
S(i , j − 1)− popen , Xi et Yj−1 sont alignésT2(i , j − 1)− pextend prolonge trou face à Yj−1
} ,S(i , j) = max {
S(i − 1, j − 1) + s(Xi ,Yj) , alignement de (Xi ,Yj)
T1(i , j) , trou dans YT2(i , j) trou dans X
}.
12/14
![Page 76: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/76.jpg)
Pénalité affinepénalité cumulée de k trous consécutifs :popen + (k − 1) ∗ pextend , avec popen > pextend > 0
∀ i , j , 0 < i ≤ m , 0 < j ≤ n ,T1(i , j) = max { score avec trou face à Xi
S(i − 1, j)− popen , Xi−1 et Yj sont alignésT1(i − 1, j)− pextend prolonge trou face à Xi−1
} ,T2(i , j) = max { score avec trou face à Yi
S(i , j − 1)− popen , Xi et Yj−1 sont alignésT2(i , j − 1)− pextend prolonge trou face à Yj−1
} ,S(i , j) = max {
S(i − 1, j − 1) + s(Xi ,Yj) , alignement de (Xi ,Yj)T1(i , j) , trou dans Y
T2(i , j) trou dans X}.
12/14
![Page 77: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/77.jpg)
Pénalité affinepénalité cumulée de k trous consécutifs :popen + (k − 1) ∗ pextend , avec popen > pextend > 0
∀ i , j , 0 < i ≤ m , 0 < j ≤ n ,T1(i , j) = max { score avec trou face à Xi
S(i − 1, j)− popen , Xi−1 et Yj sont alignésT1(i − 1, j)− pextend prolonge trou face à Xi−1
} ,T2(i , j) = max { score avec trou face à Yi
S(i , j − 1)− popen , Xi et Yj−1 sont alignésT2(i , j − 1)− pextend prolonge trou face à Yj−1
} ,S(i , j) = max {
S(i − 1, j − 1) + s(Xi ,Yj) , alignement de (Xi ,Yj)T1(i , j) , trou dans YT2(i , j) trou dans X
}.12/14
![Page 78: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/78.jpg)
Alignement local : Smith et Watermanautoriser un décalage initial nouvelles initialisations
∀ i , 0 ≤ i ≤ m , S(i , 0) = 0 ,∀ j , 0 ≤ j ≤ n , S(0, j) = 0 .
valeurs négatives remises à zéro
max {0,...
}.
autoriser un décalage final solution
max {S(i , n) , ∀ i , 0 ≤ i ≤ m ,S(m, j) , ∀ j , 0 ≤ j ≤ n
}.
13/14
![Page 79: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/79.jpg)
Alignement local : Smith et Watermanautoriser un décalage initial nouvelles initialisations
∀ i , 0 ≤ i ≤ m , S(i , 0) = 0 ,∀ j , 0 ≤ j ≤ n , S(0, j) = 0 .
valeurs négatives remises à zéro
max {0,...
}.
autoriser un décalage final solution
max {S(i , n) , ∀ i , 0 ≤ i ≤ m ,S(m, j) , ∀ j , 0 ≤ j ≤ n
}.
13/14
![Page 80: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/80.jpg)
Alignement local : Smith et Watermanautoriser un décalage initial nouvelles initialisations
∀ i , 0 ≤ i ≤ m , S(i , 0) = 0 ,∀ j , 0 ≤ j ≤ n , S(0, j) = 0 .
valeurs négatives remises à zéro
max {0,...
}.
autoriser un décalage final solution
max {S(i , n) , ∀ i , 0 ≤ i ≤ m ,S(m, j) , ∀ j , 0 ≤ j ≤ n
}.
13/14
![Page 81: Recherche de motifs, Alignement de séquences...Exemples 1 chercherlecodonstart’ATG’ méthodefind destring (pluslentsurséquenceBiopython): def find_counter(motif, sequence) :](https://reader034.vdocuments.fr/reader034/viewer/2022051900/5feeba45e572971704666bc5/html5/thumbnails/81.jpg)
autres méthodes (heuristiques) : FASTA et BLASTdiagonales dans le dotplot screening : recherche de séquences courtes (≡ hachage)extensions par les deux boutsraccordement des diagonales
matrices de scores pour les protéines : PAM et BLOSUMstatistiques sur des mutations (séquences alignées)BLOSUM = base plus large
14/14