SlideShare une entreprise Scribd logo
1  sur  36
Télécharger pour lire hors ligne
Algorithmes de comparaison de s´equences
H´el`ene Touzet
´Equipe Bioinfo — LIFL — USTL
Master recherche informatique
www.lifl.fr/~touzet/masterrecherche.html
Pourquoi comparer des s´equences ?
Puisque c’est la structure qui prime
pour la fonction
(cf cours de Maude Pupin)
Pourquoi comparer des s´equences ?
Les programmes de s´equen¸cage fournissent des s´equences qu’il faut
annoter
“Public Collections of DNA and RNA Sequence Reach 100 Gigabases”
(aoˆut 2005)
Recherche d’homologie
La similitude syntaxique est un signe de proximit´e fonctionnelle.
Recherche de fonction commune
Les r´egions conserv´ees correspondent `a des r´egions fonctionnellement
importantes.
Pr´ediction de g`enes
Structure des prot´eines
Structure Structure Structure Structure
primaire secondaire tertiaire quaternaire
Swissprot:163235 s´equences PDB : 243 structures
TrEMBL:1449374 s´equences
Structure des prot´eines
Les structures 3D des prot´eines sont longues et coˆuteuses `a
d´eterminer
Cristallographie, r´esonance magn´etique nucl´eaire
Dans PDB, toutes les prot´eines avec plus de 25 % d’identit´e
partagent la mˆeme structure
PDB: Protein Data Bank -
banque de structures de prot´eines r´esolues exp´erimentalement
Exemple : l’insuline
´el´ephant FVNQHLCGSHLVEALYLVCGERGFFYTPKTGIVEQCCTGVCSLYQLENYCN
||||||||||||||||||||||||||||| ||| |||| |||||||||||
hamster FVNQHLCGSHLVEALYLVCGERGFFYTPKSGIVDQCCTSICSLYQLENYCN
´el´ephant FVNQHLCGSHLVEALYLVCGERGFFYTPKTGIVEQCCTGVCSLYQLENYCN
||||||||||||||||||||||||||||| ||||||| |||||||||||
baleine FVNQHLCGSHLVEALYLVCGERGFFYTPKAGIVEQCCASTCSLYQLENYCN
´el´ephant FVNQHLCGSHLVEALYLVCGERGFFYTPKTGIVEQCCTGVCSLYQLENYCN
|| ||||||| ||||||||||||| || ||||||| |||||||||||
alligator AANQRLCGSHLVDALYLVCGERGFFYSPKGGIVEQCCHNTCSLYQLENYCN
horizontalement : ADN codant pour la chaˆıne α de l’h´emoglobine humaine
verticalement : ADN codant pour la chaˆıne β de l’h´emoglobine humaine
Deux enzymes avec un domaine catalytique commun
sp|P13368|7L (horizontal) vs. sp|P03949|AB (vertical)
0 500 1000 1500 2000 2500
0
200
400
600
800
1000
Sequence (horizontal) vs. xlacacr.seq (vertical)
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500 6000 6500 7000 7500 8000 8500
0
500
1000
Alignement
Mise en correspondance de deux s´equences (ADN ou prot´eines)
R D I S L V - - - K N A G I
| | | | | | | |
R N I - L V S D A K N V G I
3 ´ev´enements mutationnels ´el´ementaires
• substitution
• insertion
• d´el´etion
indel
Score d’une op´eration
• substitution : score de similitude
• indel : p´enalit´e
Le score de l’alignement est la somme des scores ´el´ementaires
2 s´equences → plusieurs alignements possibles
R D I S L V - - - K N A G I R D I - - S L V K N A - - - G I
| | | | | | | | | | | | | |
R N I - L V S D A K N V G I R N I L V S - - - D A K N V G I
R D I - - S L V K N A G I
| | | | | | |
R N I L V S D A K N V G I
Scores : 19, -11 et 25 respectivement
Bon/mauvais alignement? matrices de substitutions
Mismatch : Match : Indel :
DN : 1
AV, LD : 0
G, N : 6
R, K : 5
A, I, L, S, V : 4
−5
2 s´equences → plusieurs alignements possibles
R D I S L V - - - K N A G I R D I - - S L V K N A - - - G I
| | | | | | | | | | | | | |
R N I - L V S D A K N V G I R N I L V S - - - D A K N V G I
R D I - - S L V K N A G I
| | | | | | |
R N I L V S D A K N V G I
Scores : 19, -11 et 25 respectivement
Bon/mauvais alignement? matrices de substitutions
Mismatch : Match : Indel :
DN : 1
AV, LD : 0
G, N : 6
R, K : 5
A, I, L, S, V : 4
−5
Alignement global
Needleman & Wunsch - 1970
´Evaluation d’une ressemblance globale entre deux s´equences
Donn´ees
deux s´equences (nucl´eotides ou acides amin´es),
des scores de similitude et des p´enalit´es.
Probl`eme
Quel est l’alignement de score maximal ?
Algorithme
Aligner les s´equences ACGGCTAT et ACTGTAC avec les scores match = 2,
mismatch = -1 et indel= -2.
Que peut-il se passer pour la derni`ere op´eration?
Substitution de T en C
ACGGCTA T
? ? ? |
ACTGTA C
score de
ACGGCTA
ACTGTA
−1
D´el´etion de T
ACGGCTA T
? ? ?
ACTGTAC -
score de
ACGGCTA
ACTGTAC
−2
Insertion de C
ACGGCTAT -
? ? ?
ACTGTA C
score de
ACGGCTAT
ACTGTA
−2
Sim(i, j) : score optimal entre U(1..i) et V (1..j)
Formule de r´ecurrence :
Sim(0, 0) = 0
Sim(0, j) = Sim(0, j − 1) + Ins(V (j))
Sim(i, 0) = Sim(i − 1, 0) + Del(U(i))
Sim(i, j) = max



Sim(i − 1, j − 1) + Sub(U(i), V (j))
Sim(i − 1, j) + Del(U(i))
Sim(i, j − 1) + Ins(V (j))
M´ethode : programmation dynamique
Programmation dynamique
Un algorithme de programmation dynamique proc`ede en r´eduisant le
probl`eme `a plusieurs instances plus petites, elle-mˆemes r´esolues par
d´ecomposition.
Les r´esultats des calculs interm´ediaires sont stock´es dans une table.
La solution est ensuite construite `a partir de la table, en remontant
celle-ci.
Ici :
calculs interm´ediaires
=
scores d’alignements entre pr´efixes
´Etape 1: cr´eation d’une table index´ee par les deux s´equences.
A C G G C T A T
0 −2 −4 −6 −8 −10 −12 −14 −16
A −2 2 0 −2 −4 −6 −8 −10 −12
C −4 0 4 2 0 −2 −4 −6 −8
T −6 −2 2 3 1 −1 0 −2 −4
G −8 −4 0 4 5 3 1 −1 −3
T −10 −6 −2 2 3 4 5 3 1
A −12 −8 −4 0 1 2 3 7 5
T −14 −10 −6 −2 −1 0 4 5 9
Case (i, j) : score entre les i premi`eres bases de ACGGCTAT et les j
premi`eres bases de ACTGTAT.
Cas de base - initialisation
´Etape 1: cr´eation d’une table index´ee par les deux s´equences.
A C G G C T A T
0 −2 −4 −6 −8 −10 −12 −14 −16
A −2 2 0 −2 −4 −6 −8 −10 −12
C −4 0 4 2 0 −2 −4 −6 −8
T −6 −2 2 3 1 −1 0 −2 −4
G −8 −4 0 4 5 3 1 −1 −3
T −10 −6 −2 2 3 4 5 3 1
A −12 −8 −4 0 1 2 3 7 5
T −14 −10 −6 −2 −1 0 4 5 9
Cas de base - initialisation
aa
´Etape 1: cr´eation d’une table index´ee par les deux s´equences.
A C G G C T A T
0 −2 −4 −6 −8 −10 −12 −14 −16
A −2 2 0 −2 −4 −6 −8 −10 −12
C −4 0 4 2 0 −2 −4 −6 −8
T −6 −2 2 3 1 −1 0 −2 −4
G −8 −4 0 4 5 3 1 −1 −3
T −10 −6 −2 2 3 4 5 3 1
A −12 −8 −4 0 1 2 3 7 5
T −14 −10 −6 −2 −1 0 4 5 9
Remplissage ligne par ligne
aa
´Etape 1: cr´eation d’une table index´ee par les deux s´equences.
A C G G C T A T
0 −2 −4 −6 −8 −10 −12 −14 −16
A −2 2 0 −2 −4 −6 −8 −10 −12
C −4 0 4 2 0 −2 −4 −6 −8
T −6 −2 2 3 1 −1 0 −2 −4
G −8 −4 0 4 5 3 1 −1 −3
T −10 −6 −2 2 3 4 5 3 1
A −12 −8 −4 0 1 2 3 7 5
T −14 −10 −6 −2 −1 0 4 5 9
Remplissage ligne par ligne
aa
´Etape 2 : recherche du chemin des scores maximaux dans la matrice.
A C G G C T A T
0 −2 −4 −6 −8 −10 −12 −14 −16
A −2 2 0 −2 −4 −6 −8 −10 −12
C −4 0 4 2 0 −2 −4 −6 −8
T −6 −2 2 3 1 −1 0 −2 −4
G −8 −4 0 4 5 3 1 −1 −3
T −10 −6 −2 2 3 4 5 3 1
A −12 −8 −4 0 1 2 3 7 5
T −14 −10 −6 −2 −1 0 4 5 9
´Etape 3 : construction de l’alignement
Sur le chemin des scores maximaux, on regarde quelle est l’op´eration
correspondante.
insertion d´el´etion
substitution
ou
identit´e
R´esultat
A C G G C T A T
| | | | | |
A C T G - T A T
Graphe d’´edition pour l’alignement de s´equences
Le probl`eme peut ´egalement ˆetre vu comme la recherche d’un chemin
optimal dans un graphe.
Grille `a deux dimensions
Trois types d’arc : d´el´etion, insertion et substitution
C A T G G A
C
T
G
G
A
C
Graphe d’´edition pour l’alignement de s´equences
Le probl`eme peut ´egalement ˆetre vu comme la recherche d’un chemin
optimal dans un graphe.
Grille `a deux dimensions
Trois types d’arc : d´el´etion, insertion et substitution
C A T G G A
C
T
G
G
A
C
C A T G G A -
| | | | |
C - T G G A C
Complexit´e de l’algorithme
Pour le calcul du score d’alignement : (´etape 1)
O(n × m) en temps
O(min{n, m}) en espace
Pour la construction de l’alignement : (´etapes 1, 2 et 3)
O(n × m) en temps et en espace
Optimisation pour la construction de l’alignement avec espace lin´eaire
(en O(n)). (Myers & Millers - 1988)
Calcul de l’alignement avec espace lin´eaire
Diviser pour r´egner
S, s´equence de longueur m, T s´equence de longueur n
A: alignement optimal entre deux s´equences
Que peut-il se passer pour S(i) ?
Cas 1. S(i) est align´e avec un certain T(j) (j ∈ [1..n])
A
„
S(1..i − 1)
T(1..j − 1)
«
&
„
S(i)
T(j)
«
& A
„
S(i + 1..m)
T(j + 1..n)
«
Cas 2. S(i) est supprim´e: S(i) est align´e avec un -, situ´e entre T(j) et
T(j + 1) (j ∈ [0..n])
A
„
S(1..i − 1)
T(1..j − 1)
«
&
„
S(i)
−
«
& A
„
S(i + 1..m)
T(j..n)
«
Comment d´eterminer le cas (1 ou 2) ?
Comment d´eterminer la bonne valeur de j ?
Similitude entre S(1..i − 1) et tous les pr´efixes de T
Calculable en espace lin´eaire
Similitude entre S(i + 1..m) et tous les suffixes de T
Probl`eme sym´etrique au pr´ec´edent - calculable en espace lin´eaire
Fonction Score
Entr´ee : les deux s´equences S et T, l’indice I dans S
Sortie : l’indice J dans T et le Cas, 1 ou 2 (Bool´een)
Cas : Vrai, si l’alignement optimal correspond au cas 1
(substitution de S(i))
Faux, s’il correspond au cas 2 (d´el´etion de S(i))
J : indice correspondant dans T
Complexit´e de Score ?
R´ecapitulation
Division du probl`eme d’alignement entre S et T en deux
sous-alignements, coup´es en S(i) et T(j)
i est fix´e et j est d´etermin´e en fonction de i
Conclusion avec deux appels r´ecursifs
Quel indice choisir pour i ?
function Align(S,T:Sequence) return Alignement is
M:Natural:= longueur de S;
N:Natural:= longueur de T;
begin
if M=0 then
return (1..N =>’-’, T);
elsif N=0 then
return (S, 1..M =>’-’);
else
Score(S, T, M/2, J, Cas);
if Cas then -- cas 1: substitution de S(i)
return Align(S(1..M/2-1),T(1..J-1)) &(S(M/2), T(J))
&Align(S(M/2+1..M),T(J+1..N));
else -- cas 2: deletion de S(i)
return Align(S(1..M/2-1),T(1..J)) &(S(M/2), ’-’)
&Align(S(M/2+1..M),T(J+1..N));
end if;
end if;
end Align;
Complexit´e ?
Alignement local
Smith & Waterman -1981
Donn´ees
deux s´equences (nucl´eotides ou acides amin´es),
des scores de similitude.
Probl`eme
Quelles sont les r´egions de forte similarit´e entre les deux s´equences ?
Exemple : GGCTGACCACCTTGTA et GATCACTTCCATGGCAGTA
Alignement global :
1 G G C T G A C C A C C - T T G T A - - - 16
| | | | | | | | |
1 G A - T C A C T T C C A T G G C A G T A 19
Les s´equences pr´esentent une similarit´e que l’alignement global ne
r´ev`ele pas.
Exemple : GGCTGACCACCTTGTA et GATCACTTCCATGGCAGTA
Alignement global :
1 G G C T G A C C A C C - T T G T A - - - 16
| | | | | | | | |
1 G A - T C A C T T C C A T G G C A G T A 19
Les s´equences pr´esentent une similarit´e que l’alignement global ne
r´ev`ele pas.
Alignement local :
5 G A C C A C C T T 13 14 G T A 16
| | | | | | | | | |
1 G A T C A C - T T 8 17 G T A 19
Loc(i, j) : score optimal entre un suffixe de U(1..i) et un suffixe V (1..j).
Formule de r´ecurrence :
Loc(0, 0) = 0
Loc(0, j) = 0
Loc(i, 0) = 0
Loc(i, j) = max



Loc(i − 1, j − 1) + Sub(U(i), V (j))
Loc(i − 1, j) + Del(U(i))
Loc(i, j − 1) + Ins(V (j))
0
Impl´ementation, complexit´e : cf alignement global (programmation
dynamique)
Recherche du r´esultat
G G C T G A C C A C C T T
G 2 1 0 0 2 1 0 0 0 0 0 0 0
A 1 1 0 0 0 4 3 2 2 1 0 0 0
T 0 0 0 2 1 0 3 2 1 0 0 2 2
C 0 0 2 1 1 0 2 5 4 3 2 1 1
A 0 0 1 1 0 3 2 4 7 6 5 4 3
C 0 0 2 1 0 2 5 4 6 9 8 7 6
T 0 0 1 4 3 2 4 4 5 8 8 10 9
T 0 0 0 3 3 2 3 3 4 7 7 10 12
C 0 0 2 2 2 2 4 5 4 6 6 9 11
C 0 0 2 1 1 1 4 6 4 6 8 8 10
A 0 0 1 1 0 3 3 5 8 7 7 7 9
T 0 0 0 3 2 2 2 4 7 7 6 9 11
G 2 2 1 2 5 4 3 3 6 6 6 8 10
La zone de plus forte similarit´e : score maximal
Les zones de similarit´es au del`a d’un seuil
Plus difficile: les zones de forte similarit´e compatibles entre elles
Les zones de forte similarit´e compatibles
5
4
4
4
4
11
8
7
5
Les zones de forte similarit´e compatibles
5
4
4
4
4
11
8
7
5
Deux alignements sont compatibles si :
ils ne cr´eent pas de croisement
ils ne se chevauchent pas
Recherche du chemin de poids maximal dans un graphe

Contenu connexe

Tendances

Assembly and finishing
Assembly and finishingAssembly and finishing
Assembly and finishingNikolay Vyahhi
 
Functional genomics, and tools
Functional genomics, and toolsFunctional genomics, and tools
Functional genomics, and toolsKAUSHAL SAHU
 
Assembly and gene_prediction
Assembly and gene_predictionAssembly and gene_prediction
Assembly and gene_predictionBas van Breukelen
 
Introduction to Linux for bioinformatics
Introduction to Linux for bioinformaticsIntroduction to Linux for bioinformatics
Introduction to Linux for bioinformaticsBITS
 
Introduction to Data Mining / Bioinformatics
Introduction to Data Mining / BioinformaticsIntroduction to Data Mining / Bioinformatics
Introduction to Data Mining / BioinformaticsGerald Lushington
 
The Smith Waterman algorithm
The Smith Waterman algorithmThe Smith Waterman algorithm
The Smith Waterman algorithmavrilcoghlan
 
Comparative genomics and proteomics
Comparative genomics and proteomicsComparative genomics and proteomics
Comparative genomics and proteomicsNikhil Aggarwal
 
PDF secrets - hiding & revealing secrets in PDF documents
PDF secrets - hiding & revealing secrets in PDF documentsPDF secrets - hiding & revealing secrets in PDF documents
PDF secrets - hiding & revealing secrets in PDF documentsAnge Albertini
 
Dot matrix Analysis Tools (Bioinformatics)
Dot matrix Analysis Tools (Bioinformatics)Dot matrix Analysis Tools (Bioinformatics)
Dot matrix Analysis Tools (Bioinformatics)Safa Khalid
 
Sequence alignment global vs. local
Sequence alignment  global vs. localSequence alignment  global vs. local
Sequence alignment global vs. localbenazeer fathima
 
EST Clustering.ppt
EST Clustering.pptEST Clustering.ppt
EST Clustering.pptMedhavi27
 
Hidden markov model
Hidden markov modelHidden markov model
Hidden markov modelUshaYadav24
 

Tendances (20)

Analysis of gene expression
Analysis of gene expressionAnalysis of gene expression
Analysis of gene expression
 
Assembly and finishing
Assembly and finishingAssembly and finishing
Assembly and finishing
 
Functional genomics, and tools
Functional genomics, and toolsFunctional genomics, and tools
Functional genomics, and tools
 
Yeast hybrid system
Yeast hybrid systemYeast hybrid system
Yeast hybrid system
 
Assembly and gene_prediction
Assembly and gene_predictionAssembly and gene_prediction
Assembly and gene_prediction
 
Introduction to Linux for bioinformatics
Introduction to Linux for bioinformaticsIntroduction to Linux for bioinformatics
Introduction to Linux for bioinformatics
 
Introduction to Data Mining / Bioinformatics
Introduction to Data Mining / BioinformaticsIntroduction to Data Mining / Bioinformatics
Introduction to Data Mining / Bioinformatics
 
The Smith Waterman algorithm
The Smith Waterman algorithmThe Smith Waterman algorithm
The Smith Waterman algorithm
 
ProCheck
ProCheckProCheck
ProCheck
 
Comparative genomics and proteomics
Comparative genomics and proteomicsComparative genomics and proteomics
Comparative genomics and proteomics
 
SNP
SNPSNP
SNP
 
PDF secrets - hiding & revealing secrets in PDF documents
PDF secrets - hiding & revealing secrets in PDF documentsPDF secrets - hiding & revealing secrets in PDF documents
PDF secrets - hiding & revealing secrets in PDF documents
 
Dot matrix Analysis Tools (Bioinformatics)
Dot matrix Analysis Tools (Bioinformatics)Dot matrix Analysis Tools (Bioinformatics)
Dot matrix Analysis Tools (Bioinformatics)
 
Sequence alignment global vs. local
Sequence alignment  global vs. localSequence alignment  global vs. local
Sequence alignment global vs. local
 
Gene prediction strategies
Gene prediction strategies Gene prediction strategies
Gene prediction strategies
 
EST Clustering.ppt
EST Clustering.pptEST Clustering.ppt
EST Clustering.ppt
 
dot plot analysis
dot plot analysisdot plot analysis
dot plot analysis
 
Ch15
Ch15Ch15
Ch15
 
Pcr primer design
Pcr primer designPcr primer design
Pcr primer design
 
Hidden markov model
Hidden markov modelHidden markov model
Hidden markov model
 

Similaire à Alignement

Cours DEA Satisfaction et Optimisation sous Contraintes
Cours DEA Satisfaction et Optimisation sous ContraintesCours DEA Satisfaction et Optimisation sous Contraintes
Cours DEA Satisfaction et Optimisation sous Contraintesanonymousmega02
 
cours_2_alignement_2022.pptx
cours_2_alignement_2022.pptxcours_2_alignement_2022.pptx
cours_2_alignement_2022.pptxAmmr2
 
diaporama2020_cours-etude_frequentielle.pptx
diaporama2020_cours-etude_frequentielle.pptxdiaporama2020_cours-etude_frequentielle.pptx
diaporama2020_cours-etude_frequentielle.pptxYassineBenkraouda
 
Algebre_lineaire_GEOLOGIE-S1.pdf
Algebre_lineaire_GEOLOGIE-S1.pdfAlgebre_lineaire_GEOLOGIE-S1.pdf
Algebre_lineaire_GEOLOGIE-S1.pdfThierrySam1
 
Matlab Travaux Pratique
Matlab Travaux Pratique Matlab Travaux Pratique
Matlab Travaux Pratique Smee Kaem Chann
 
Ex determ
Ex determEx determ
Ex determbades12
 
Cours analyse-num source1
Cours analyse-num source1Cours analyse-num source1
Cours analyse-num source1Lacina Zina
 
Projet Méthodes Numériques
Projet  Méthodes Numériques Projet  Méthodes Numériques
Projet Méthodes Numériques Ramin Samadi
 
COURS LOGIQUE CATEGORIES C ET D 2022.pdf
COURS   LOGIQUE CATEGORIES  C ET D 2022.pdfCOURS   LOGIQUE CATEGORIES  C ET D 2022.pdf
COURS LOGIQUE CATEGORIES C ET D 2022.pdfalfredvivienbosson
 
2 correction des systèmes asservis
2 correction des systèmes asservis2 correction des systèmes asservis
2 correction des systèmes asservisRachid Lajouad
 
Rapport mini projet mtr1 diabang et dianté
Rapport mini projet mtr1 diabang et diantéRapport mini projet mtr1 diabang et dianté
Rapport mini projet mtr1 diabang et diantéCheikh Tidiane DIABANG
 
2.4_cylindriques_spheriques (1).pdf formulaire
2.4_cylindriques_spheriques (1).pdf formulaire2.4_cylindriques_spheriques (1).pdf formulaire
2.4_cylindriques_spheriques (1).pdf formulairemurieldubienmbackeoc
 
regression_multiple_pour_le_classement.pdf
regression_multiple_pour_le_classement.pdfregression_multiple_pour_le_classement.pdf
regression_multiple_pour_le_classement.pdfSidiAbdallah1
 

Similaire à Alignement (20)

Cours DEA Satisfaction et Optimisation sous Contraintes
Cours DEA Satisfaction et Optimisation sous ContraintesCours DEA Satisfaction et Optimisation sous Contraintes
Cours DEA Satisfaction et Optimisation sous Contraintes
 
cours_2_alignement_2022.pptx
cours_2_alignement_2022.pptxcours_2_alignement_2022.pptx
cours_2_alignement_2022.pptx
 
diaporama2020_cours-etude_frequentielle.pptx
diaporama2020_cours-etude_frequentielle.pptxdiaporama2020_cours-etude_frequentielle.pptx
diaporama2020_cours-etude_frequentielle.pptx
 
cours algorithme
cours algorithmecours algorithme
cours algorithme
 
246242769 sequence-1-pdf
246242769 sequence-1-pdf246242769 sequence-1-pdf
246242769 sequence-1-pdf
 
Algebre_lineaire_GEOLOGIE-S1.pdf
Algebre_lineaire_GEOLOGIE-S1.pdfAlgebre_lineaire_GEOLOGIE-S1.pdf
Algebre_lineaire_GEOLOGIE-S1.pdf
 
Matlab Travaux Pratique
Matlab Travaux Pratique Matlab Travaux Pratique
Matlab Travaux Pratique
 
Chap 4 déterminant
Chap 4 déterminantChap 4 déterminant
Chap 4 déterminant
 
Td psy38 x2-stats-4
Td psy38 x2-stats-4Td psy38 x2-stats-4
Td psy38 x2-stats-4
 
Ex determ
Ex determEx determ
Ex determ
 
Cours analyse-num source1
Cours analyse-num source1Cours analyse-num source1
Cours analyse-num source1
 
Projet Méthodes Numériques
Projet  Méthodes Numériques Projet  Méthodes Numériques
Projet Méthodes Numériques
 
COURS LOGIQUE CATEGORIES C ET D 2022.pdf
COURS   LOGIQUE CATEGORIES  C ET D 2022.pdfCOURS   LOGIQUE CATEGORIES  C ET D 2022.pdf
COURS LOGIQUE CATEGORIES C ET D 2022.pdf
 
2 correction des systèmes asservis
2 correction des systèmes asservis2 correction des systèmes asservis
2 correction des systèmes asservis
 
Statistiques
StatistiquesStatistiques
Statistiques
 
les matrices
les matricesles matrices
les matrices
 
Rapport mini projet mtr1 diabang et dianté
Rapport mini projet mtr1 diabang et diantéRapport mini projet mtr1 diabang et dianté
Rapport mini projet mtr1 diabang et dianté
 
2.4_cylindriques_spheriques (1).pdf formulaire
2.4_cylindriques_spheriques (1).pdf formulaire2.4_cylindriques_spheriques (1).pdf formulaire
2.4_cylindriques_spheriques (1).pdf formulaire
 
DéNombrement
DéNombrementDéNombrement
DéNombrement
 
regression_multiple_pour_le_classement.pdf
regression_multiple_pour_le_classement.pdfregression_multiple_pour_le_classement.pdf
regression_multiple_pour_le_classement.pdf
 

Alignement

  • 1. Algorithmes de comparaison de s´equences H´el`ene Touzet ´Equipe Bioinfo — LIFL — USTL Master recherche informatique www.lifl.fr/~touzet/masterrecherche.html
  • 2. Pourquoi comparer des s´equences ? Puisque c’est la structure qui prime pour la fonction (cf cours de Maude Pupin)
  • 3. Pourquoi comparer des s´equences ? Les programmes de s´equen¸cage fournissent des s´equences qu’il faut annoter “Public Collections of DNA and RNA Sequence Reach 100 Gigabases” (aoˆut 2005) Recherche d’homologie La similitude syntaxique est un signe de proximit´e fonctionnelle. Recherche de fonction commune Les r´egions conserv´ees correspondent `a des r´egions fonctionnellement importantes. Pr´ediction de g`enes
  • 4. Structure des prot´eines Structure Structure Structure Structure primaire secondaire tertiaire quaternaire Swissprot:163235 s´equences PDB : 243 structures TrEMBL:1449374 s´equences
  • 5. Structure des prot´eines Les structures 3D des prot´eines sont longues et coˆuteuses `a d´eterminer Cristallographie, r´esonance magn´etique nucl´eaire Dans PDB, toutes les prot´eines avec plus de 25 % d’identit´e partagent la mˆeme structure PDB: Protein Data Bank - banque de structures de prot´eines r´esolues exp´erimentalement
  • 6. Exemple : l’insuline ´el´ephant FVNQHLCGSHLVEALYLVCGERGFFYTPKTGIVEQCCTGVCSLYQLENYCN ||||||||||||||||||||||||||||| ||| |||| ||||||||||| hamster FVNQHLCGSHLVEALYLVCGERGFFYTPKSGIVDQCCTSICSLYQLENYCN ´el´ephant FVNQHLCGSHLVEALYLVCGERGFFYTPKTGIVEQCCTGVCSLYQLENYCN ||||||||||||||||||||||||||||| ||||||| ||||||||||| baleine FVNQHLCGSHLVEALYLVCGERGFFYTPKAGIVEQCCASTCSLYQLENYCN ´el´ephant FVNQHLCGSHLVEALYLVCGERGFFYTPKTGIVEQCCTGVCSLYQLENYCN || ||||||| ||||||||||||| || ||||||| ||||||||||| alligator AANQRLCGSHLVDALYLVCGERGFFYSPKGGIVEQCCHNTCSLYQLENYCN
  • 7. horizontalement : ADN codant pour la chaˆıne α de l’h´emoglobine humaine verticalement : ADN codant pour la chaˆıne β de l’h´emoglobine humaine
  • 8. Deux enzymes avec un domaine catalytique commun sp|P13368|7L (horizontal) vs. sp|P03949|AB (vertical) 0 500 1000 1500 2000 2500 0 200 400 600 800 1000
  • 9. Sequence (horizontal) vs. xlacacr.seq (vertical) 0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500 6000 6500 7000 7500 8000 8500 0 500 1000
  • 10. Alignement Mise en correspondance de deux s´equences (ADN ou prot´eines) R D I S L V - - - K N A G I | | | | | | | | R N I - L V S D A K N V G I 3 ´ev´enements mutationnels ´el´ementaires • substitution • insertion • d´el´etion indel Score d’une op´eration • substitution : score de similitude • indel : p´enalit´e Le score de l’alignement est la somme des scores ´el´ementaires
  • 11. 2 s´equences → plusieurs alignements possibles R D I S L V - - - K N A G I R D I - - S L V K N A - - - G I | | | | | | | | | | | | | | R N I - L V S D A K N V G I R N I L V S - - - D A K N V G I R D I - - S L V K N A G I | | | | | | | R N I L V S D A K N V G I Scores : 19, -11 et 25 respectivement Bon/mauvais alignement? matrices de substitutions Mismatch : Match : Indel : DN : 1 AV, LD : 0 G, N : 6 R, K : 5 A, I, L, S, V : 4 −5
  • 12. 2 s´equences → plusieurs alignements possibles R D I S L V - - - K N A G I R D I - - S L V K N A - - - G I | | | | | | | | | | | | | | R N I - L V S D A K N V G I R N I L V S - - - D A K N V G I R D I - - S L V K N A G I | | | | | | | R N I L V S D A K N V G I Scores : 19, -11 et 25 respectivement Bon/mauvais alignement? matrices de substitutions Mismatch : Match : Indel : DN : 1 AV, LD : 0 G, N : 6 R, K : 5 A, I, L, S, V : 4 −5
  • 13. Alignement global Needleman & Wunsch - 1970 ´Evaluation d’une ressemblance globale entre deux s´equences Donn´ees deux s´equences (nucl´eotides ou acides amin´es), des scores de similitude et des p´enalit´es. Probl`eme Quel est l’alignement de score maximal ?
  • 14. Algorithme Aligner les s´equences ACGGCTAT et ACTGTAC avec les scores match = 2, mismatch = -1 et indel= -2. Que peut-il se passer pour la derni`ere op´eration? Substitution de T en C ACGGCTA T ? ? ? | ACTGTA C score de ACGGCTA ACTGTA −1 D´el´etion de T ACGGCTA T ? ? ? ACTGTAC - score de ACGGCTA ACTGTAC −2 Insertion de C ACGGCTAT - ? ? ? ACTGTA C score de ACGGCTAT ACTGTA −2
  • 15. Sim(i, j) : score optimal entre U(1..i) et V (1..j) Formule de r´ecurrence : Sim(0, 0) = 0 Sim(0, j) = Sim(0, j − 1) + Ins(V (j)) Sim(i, 0) = Sim(i − 1, 0) + Del(U(i)) Sim(i, j) = max    Sim(i − 1, j − 1) + Sub(U(i), V (j)) Sim(i − 1, j) + Del(U(i)) Sim(i, j − 1) + Ins(V (j)) M´ethode : programmation dynamique
  • 16. Programmation dynamique Un algorithme de programmation dynamique proc`ede en r´eduisant le probl`eme `a plusieurs instances plus petites, elle-mˆemes r´esolues par d´ecomposition. Les r´esultats des calculs interm´ediaires sont stock´es dans une table. La solution est ensuite construite `a partir de la table, en remontant celle-ci. Ici : calculs interm´ediaires = scores d’alignements entre pr´efixes
  • 17. ´Etape 1: cr´eation d’une table index´ee par les deux s´equences. A C G G C T A T 0 −2 −4 −6 −8 −10 −12 −14 −16 A −2 2 0 −2 −4 −6 −8 −10 −12 C −4 0 4 2 0 −2 −4 −6 −8 T −6 −2 2 3 1 −1 0 −2 −4 G −8 −4 0 4 5 3 1 −1 −3 T −10 −6 −2 2 3 4 5 3 1 A −12 −8 −4 0 1 2 3 7 5 T −14 −10 −6 −2 −1 0 4 5 9 Case (i, j) : score entre les i premi`eres bases de ACGGCTAT et les j premi`eres bases de ACTGTAT. Cas de base - initialisation
  • 18. ´Etape 1: cr´eation d’une table index´ee par les deux s´equences. A C G G C T A T 0 −2 −4 −6 −8 −10 −12 −14 −16 A −2 2 0 −2 −4 −6 −8 −10 −12 C −4 0 4 2 0 −2 −4 −6 −8 T −6 −2 2 3 1 −1 0 −2 −4 G −8 −4 0 4 5 3 1 −1 −3 T −10 −6 −2 2 3 4 5 3 1 A −12 −8 −4 0 1 2 3 7 5 T −14 −10 −6 −2 −1 0 4 5 9 Cas de base - initialisation aa
  • 19. ´Etape 1: cr´eation d’une table index´ee par les deux s´equences. A C G G C T A T 0 −2 −4 −6 −8 −10 −12 −14 −16 A −2 2 0 −2 −4 −6 −8 −10 −12 C −4 0 4 2 0 −2 −4 −6 −8 T −6 −2 2 3 1 −1 0 −2 −4 G −8 −4 0 4 5 3 1 −1 −3 T −10 −6 −2 2 3 4 5 3 1 A −12 −8 −4 0 1 2 3 7 5 T −14 −10 −6 −2 −1 0 4 5 9 Remplissage ligne par ligne aa
  • 20. ´Etape 1: cr´eation d’une table index´ee par les deux s´equences. A C G G C T A T 0 −2 −4 −6 −8 −10 −12 −14 −16 A −2 2 0 −2 −4 −6 −8 −10 −12 C −4 0 4 2 0 −2 −4 −6 −8 T −6 −2 2 3 1 −1 0 −2 −4 G −8 −4 0 4 5 3 1 −1 −3 T −10 −6 −2 2 3 4 5 3 1 A −12 −8 −4 0 1 2 3 7 5 T −14 −10 −6 −2 −1 0 4 5 9 Remplissage ligne par ligne aa
  • 21. ´Etape 2 : recherche du chemin des scores maximaux dans la matrice. A C G G C T A T 0 −2 −4 −6 −8 −10 −12 −14 −16 A −2 2 0 −2 −4 −6 −8 −10 −12 C −4 0 4 2 0 −2 −4 −6 −8 T −6 −2 2 3 1 −1 0 −2 −4 G −8 −4 0 4 5 3 1 −1 −3 T −10 −6 −2 2 3 4 5 3 1 A −12 −8 −4 0 1 2 3 7 5 T −14 −10 −6 −2 −1 0 4 5 9
  • 22. ´Etape 3 : construction de l’alignement Sur le chemin des scores maximaux, on regarde quelle est l’op´eration correspondante. insertion d´el´etion substitution ou identit´e R´esultat A C G G C T A T | | | | | | A C T G - T A T
  • 23. Graphe d’´edition pour l’alignement de s´equences Le probl`eme peut ´egalement ˆetre vu comme la recherche d’un chemin optimal dans un graphe. Grille `a deux dimensions Trois types d’arc : d´el´etion, insertion et substitution C A T G G A C T G G A C
  • 24. Graphe d’´edition pour l’alignement de s´equences Le probl`eme peut ´egalement ˆetre vu comme la recherche d’un chemin optimal dans un graphe. Grille `a deux dimensions Trois types d’arc : d´el´etion, insertion et substitution C A T G G A C T G G A C C A T G G A - | | | | | C - T G G A C
  • 25. Complexit´e de l’algorithme Pour le calcul du score d’alignement : (´etape 1) O(n × m) en temps O(min{n, m}) en espace Pour la construction de l’alignement : (´etapes 1, 2 et 3) O(n × m) en temps et en espace Optimisation pour la construction de l’alignement avec espace lin´eaire (en O(n)). (Myers & Millers - 1988)
  • 26. Calcul de l’alignement avec espace lin´eaire Diviser pour r´egner S, s´equence de longueur m, T s´equence de longueur n A: alignement optimal entre deux s´equences Que peut-il se passer pour S(i) ? Cas 1. S(i) est align´e avec un certain T(j) (j ∈ [1..n]) A „ S(1..i − 1) T(1..j − 1) « & „ S(i) T(j) « & A „ S(i + 1..m) T(j + 1..n) « Cas 2. S(i) est supprim´e: S(i) est align´e avec un -, situ´e entre T(j) et T(j + 1) (j ∈ [0..n]) A „ S(1..i − 1) T(1..j − 1) « & „ S(i) − « & A „ S(i + 1..m) T(j..n) « Comment d´eterminer le cas (1 ou 2) ? Comment d´eterminer la bonne valeur de j ?
  • 27. Similitude entre S(1..i − 1) et tous les pr´efixes de T Calculable en espace lin´eaire Similitude entre S(i + 1..m) et tous les suffixes de T Probl`eme sym´etrique au pr´ec´edent - calculable en espace lin´eaire Fonction Score Entr´ee : les deux s´equences S et T, l’indice I dans S Sortie : l’indice J dans T et le Cas, 1 ou 2 (Bool´een) Cas : Vrai, si l’alignement optimal correspond au cas 1 (substitution de S(i)) Faux, s’il correspond au cas 2 (d´el´etion de S(i)) J : indice correspondant dans T Complexit´e de Score ?
  • 28. R´ecapitulation Division du probl`eme d’alignement entre S et T en deux sous-alignements, coup´es en S(i) et T(j) i est fix´e et j est d´etermin´e en fonction de i Conclusion avec deux appels r´ecursifs Quel indice choisir pour i ?
  • 29. function Align(S,T:Sequence) return Alignement is M:Natural:= longueur de S; N:Natural:= longueur de T; begin if M=0 then return (1..N =>’-’, T); elsif N=0 then return (S, 1..M =>’-’); else Score(S, T, M/2, J, Cas); if Cas then -- cas 1: substitution de S(i) return Align(S(1..M/2-1),T(1..J-1)) &(S(M/2), T(J)) &Align(S(M/2+1..M),T(J+1..N)); else -- cas 2: deletion de S(i) return Align(S(1..M/2-1),T(1..J)) &(S(M/2), ’-’) &Align(S(M/2+1..M),T(J+1..N)); end if; end if; end Align; Complexit´e ?
  • 30. Alignement local Smith & Waterman -1981 Donn´ees deux s´equences (nucl´eotides ou acides amin´es), des scores de similitude. Probl`eme Quelles sont les r´egions de forte similarit´e entre les deux s´equences ?
  • 31. Exemple : GGCTGACCACCTTGTA et GATCACTTCCATGGCAGTA Alignement global : 1 G G C T G A C C A C C - T T G T A - - - 16 | | | | | | | | | 1 G A - T C A C T T C C A T G G C A G T A 19 Les s´equences pr´esentent une similarit´e que l’alignement global ne r´ev`ele pas.
  • 32. Exemple : GGCTGACCACCTTGTA et GATCACTTCCATGGCAGTA Alignement global : 1 G G C T G A C C A C C - T T G T A - - - 16 | | | | | | | | | 1 G A - T C A C T T C C A T G G C A G T A 19 Les s´equences pr´esentent une similarit´e que l’alignement global ne r´ev`ele pas. Alignement local : 5 G A C C A C C T T 13 14 G T A 16 | | | | | | | | | | 1 G A T C A C - T T 8 17 G T A 19
  • 33. Loc(i, j) : score optimal entre un suffixe de U(1..i) et un suffixe V (1..j). Formule de r´ecurrence : Loc(0, 0) = 0 Loc(0, j) = 0 Loc(i, 0) = 0 Loc(i, j) = max    Loc(i − 1, j − 1) + Sub(U(i), V (j)) Loc(i − 1, j) + Del(U(i)) Loc(i, j − 1) + Ins(V (j)) 0 Impl´ementation, complexit´e : cf alignement global (programmation dynamique)
  • 34. Recherche du r´esultat G G C T G A C C A C C T T G 2 1 0 0 2 1 0 0 0 0 0 0 0 A 1 1 0 0 0 4 3 2 2 1 0 0 0 T 0 0 0 2 1 0 3 2 1 0 0 2 2 C 0 0 2 1 1 0 2 5 4 3 2 1 1 A 0 0 1 1 0 3 2 4 7 6 5 4 3 C 0 0 2 1 0 2 5 4 6 9 8 7 6 T 0 0 1 4 3 2 4 4 5 8 8 10 9 T 0 0 0 3 3 2 3 3 4 7 7 10 12 C 0 0 2 2 2 2 4 5 4 6 6 9 11 C 0 0 2 1 1 1 4 6 4 6 8 8 10 A 0 0 1 1 0 3 3 5 8 7 7 7 9 T 0 0 0 3 2 2 2 4 7 7 6 9 11 G 2 2 1 2 5 4 3 3 6 6 6 8 10 La zone de plus forte similarit´e : score maximal Les zones de similarit´es au del`a d’un seuil Plus difficile: les zones de forte similarit´e compatibles entre elles
  • 35. Les zones de forte similarit´e compatibles 5 4 4 4 4 11 8 7 5
  • 36. Les zones de forte similarit´e compatibles 5 4 4 4 4 11 8 7 5 Deux alignements sont compatibles si : ils ne cr´eent pas de croisement ils ne se chevauchent pas Recherche du chemin de poids maximal dans un graphe