SlideShare une entreprise Scribd logo
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

Approaches to cDNA Cloning and Analysis
Approaches to cDNA Cloning and AnalysisApproaches to cDNA Cloning and Analysis
Approaches to cDNA Cloning and Analysis
Matthias Harbers
 
Synthesis and cloning of c dna
Synthesis and cloning of c dnaSynthesis and cloning of c dna
Synthesis and cloning of c dna
Bharati Somannavar
 
Sequence Assembly
Sequence AssemblySequence Assembly
Sequence Assembly
Meghaj Mallick
 
Genome annotation 2013
Genome annotation 2013Genome annotation 2013
Genome annotation 2013
Karan Veer Singh
 
PAC
PACPAC
Markers and reporter genes
Markers and reporter genesMarkers and reporter genes
Markers and reporter genes
RajDip Basnet
 
Next generation sequencing
Next generation sequencingNext generation sequencing
Next generation sequencing
Swathi Prabakar
 
pET vectors
pET vectorspET vectors
pET vectors
Kaberi Nath
 
Prokaryote genome
Prokaryote genome Prokaryote genome
Prokaryote genome
YashikaSood2
 
Gene cloning
Gene cloningGene cloning
Gene cloning
Grace Arimbay
 
Zinc Finger Nuclease.
Zinc Finger Nuclease.Zinc Finger Nuclease.
Zinc Finger Nuclease.
Zeeshan Awan
 
Lecture on pUC18 vector
Lecture on pUC18 vectorLecture on pUC18 vector
Lecture on pUC18 vector
Kristu Jayanti College
 
L9. restriction endonucleases
L9. restriction endonucleasesL9. restriction endonucleases
L9. restriction endonucleases
Rishabh Jain
 
Cosmid
CosmidCosmid
Cosmid
Swati Pawar
 
Cloning and expression vectors
Cloning and expression vectorsCloning and expression vectors
Cloning and expression vectors
Promila Sheoran
 
pET Bacterial Recombinant Protein Vector
pET Bacterial Recombinant Protein VectorpET Bacterial Recombinant Protein Vector
pET Bacterial Recombinant Protein Vector
Kristu Jayanti College
 
Expression and purification of recombinant proteins in Bacterial and yeast sy...
Expression and purification of recombinant proteins in Bacterial and yeast sy...Expression and purification of recombinant proteins in Bacterial and yeast sy...
Expression and purification of recombinant proteins in Bacterial and yeast sy...
Shreya Feliz
 
Different types of PCR
Different types of  PCRDifferent types of  PCR
Different types of PCR
Microbiology
 
cDNA synthesis
cDNA synthesiscDNA synthesis
cDNA synthesis
Vijay Singh
 

Tendances (20)

Approaches to cDNA Cloning and Analysis
Approaches to cDNA Cloning and AnalysisApproaches to cDNA Cloning and Analysis
Approaches to cDNA Cloning and Analysis
 
Synthesis and cloning of c dna
Synthesis and cloning of c dnaSynthesis and cloning of c dna
Synthesis and cloning of c dna
 
Sequence Assembly
Sequence AssemblySequence Assembly
Sequence Assembly
 
Genome annotation 2013
Genome annotation 2013Genome annotation 2013
Genome annotation 2013
 
PAC
PACPAC
PAC
 
Expression vectors
Expression vectorsExpression vectors
Expression vectors
 
Markers and reporter genes
Markers and reporter genesMarkers and reporter genes
Markers and reporter genes
 
Next generation sequencing
Next generation sequencingNext generation sequencing
Next generation sequencing
 
pET vectors
pET vectorspET vectors
pET vectors
 
Prokaryote genome
Prokaryote genome Prokaryote genome
Prokaryote genome
 
Gene cloning
Gene cloningGene cloning
Gene cloning
 
Zinc Finger Nuclease.
Zinc Finger Nuclease.Zinc Finger Nuclease.
Zinc Finger Nuclease.
 
Lecture on pUC18 vector
Lecture on pUC18 vectorLecture on pUC18 vector
Lecture on pUC18 vector
 
L9. restriction endonucleases
L9. restriction endonucleasesL9. restriction endonucleases
L9. restriction endonucleases
 
Cosmid
CosmidCosmid
Cosmid
 
Cloning and expression vectors
Cloning and expression vectorsCloning and expression vectors
Cloning and expression vectors
 
pET Bacterial Recombinant Protein Vector
pET Bacterial Recombinant Protein VectorpET Bacterial Recombinant Protein Vector
pET Bacterial Recombinant Protein Vector
 
Expression and purification of recombinant proteins in Bacterial and yeast sy...
Expression and purification of recombinant proteins in Bacterial and yeast sy...Expression and purification of recombinant proteins in Bacterial and yeast sy...
Expression and purification of recombinant proteins in Bacterial and yeast sy...
 
Different types of PCR
Different types of  PCRDifferent types of  PCR
Different types of PCR
 
cDNA synthesis
cDNA synthesiscDNA synthesis
cDNA synthesis
 

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 Contraintes
anonymousmega02
 
cours_2_alignement_2022.pptx
cours_2_alignement_2022.pptxcours_2_alignement_2022.pptx
cours_2_alignement_2022.pptx
Ammr2
 
diaporama2020_cours-etude_frequentielle.pptx
diaporama2020_cours-etude_frequentielle.pptxdiaporama2020_cours-etude_frequentielle.pptx
diaporama2020_cours-etude_frequentielle.pptx
YassineBenkraouda
 
cours algorithme
cours algorithmecours algorithme
cours algorithme
mohamednacim
 
Algebre_lineaire_GEOLOGIE-S1.pdf
Algebre_lineaire_GEOLOGIE-S1.pdfAlgebre_lineaire_GEOLOGIE-S1.pdf
Algebre_lineaire_GEOLOGIE-S1.pdf
ThierrySam1
 
Matlab Travaux Pratique
Matlab Travaux Pratique Matlab Travaux Pratique
Matlab Travaux Pratique
Smee Kaem Chann
 
Td psy38 x2-stats-4
Td psy38 x2-stats-4Td psy38 x2-stats-4
Td psy38 x2-stats-4
Abdelali Chaouchaou
 
Ex determ
Ex determEx determ
Ex determbades12
 
Cours analyse-num source1
Cours analyse-num source1Cours analyse-num source1
Cours analyse-num source1
Lacina 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.pdf
alfredvivienbosson
 
2 correction des systèmes asservis
2 correction des systèmes asservis2 correction des systèmes asservis
2 correction des systèmes asservis
Rachid Lajouad
 
les matrices
les matricesles matrices
les matrices
Kha-lid Khalid
 
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 formulaire
murieldubienmbackeoc
 
regression_multiple_pour_le_classement.pdf
regression_multiple_pour_le_classement.pdfregression_multiple_pour_le_classement.pdf
regression_multiple_pour_le_classement.pdf
SidiAbdallah1
 

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