Vous êtes sur la page 1sur 69

Alignement de séquences

Principes et méthodes

Karim Mezhoud
Ir. agronome
PhD. Toxicologie, Protéomique, Bioinformatique

Centre national des Sciences et Technologies Nucléaires


Sidi Thabet – Tunis

1
Pourquoi analyser des séquences?
Une séquence est une collection ordonnée d'alphabets.

Une séquence contient les informations sur le rôle biologique d’une


macromolécule:
- fonction, relation avec les autres molécules …

Une séquence reflète les contraintes physico-chimiques imposées


par la fonction, l’environnement (aqueux, lipidiques, intra- ou extra-
cellulaire), l’évolution moléculaire

Objectif: Prédire des informations pertinentes sur la fonction d’une


macromolécule à partir seulement de sa séquence.

2
Pourquoi rechercher des séquences dans les
banques?

● Identifier des protéines homologues:


● Orthologue: organisme différents
● Paralogue: organisme identiques
● Déterminer si des séquences ont une fonction similaire ou proche.
● Déterminer des familles des protéines ayant un domaine conservé.
● Localiser des régions codantes et non codantes (aligner des séquences
génomiques ADN et des séquences exprimées (cDNA, EST)
● Établir des relations entre les séquences

3
Qu'est ce qu'une séquence
http://www.ncbi.nlm.nih.gov/

>gi|15805103|ref|NP_293788.1| ABC transporter, ATP­binding 
protein [Deinococcus radiodurans R1]
MTAAAPALSLRGLSKAFGAVQAVGDVSLEVQAGETLALLGPSGCGKSTVLRSVAGLERP
DAGQVLVGGRDVTALPPEARHLGLVFQDYALFPHLSVLDNVAYGPRRRGSSRPDAAQQA
REALALVGLSEHERRLPAQLSGGQQQRVALARALATRSPLLLLDEPLSNLDEKLRSELR
HDLRGLFGQLGAGVLLVTHDQREALALAHRVAVMRAGHVVQEGAAADLFARPATAWVAE
FLGWTNVFAHPQVSGQALLVPESAVQLGAGGELLRVLSRQRSETGETVTLAHPLGPLTL
SLSPREAAAASGDELRLTVPSAALLQVPDDREG

4
Qu'est ce qu'un alignement
Trois Situations sont possibles pour une position donnée de l'alignement:
1.Les caractères sont les mêmes: Identité
2.Les caractères ne sont pas les mêmes: Substitution
3.L'une des position est un espace: Insertion/ délétion

Identité Substitution Insertion Délétion


Indel ou Gap

Identité ou Match ( | ou * ou C)
Substitution non conservative ou Mismatch (néant)
Substitution conservative (+ ou : ou .)
Indel ou Gap ( néant, - ou .)
5
Analyse de séquences: Quels domaines d'application?

Le « dogme central » de la bioinformatique: La déduction par homologie 6


Homologies de séquences =
Homologies fonctionnelles ?

Les séquences de deux protéines de fonctions


apparentées vont en général présenter des
ressemblances

Réciproquement, deux protéines dont les


séquences présentent des ressemblances ont
probablement des fonctions apparentées.

7
Homologue ≠ Similaire

Similaire (%) = Présence d'un ensemble de


position identiques et conservatives dans deux
séquences

Homologues = fait référence à une parenté


évolutive entre séquences

8
Matrice de comparaison
Première approche:
Compter le nombre de résidus identiques dans les deux
séquences alignées. On obtient alors un pourcentage
d'identité (%).
Cette méthode est adaptée pour les séquences d'ADN car les
4 bases A,T,C,G jouent des rôles équivalents dans la
structure et la fonction de la molécule.

Cette approche ne peut pas être appliquer aux séquences de


protéines car:
● La fréquence des AA sont différentes

●alanine A, leucine V sont abondants

●Tryptophane W et cystéine C sont rares

→ la conservation d'une V est statistiquement moins


significative que celle de W.
● Propriétés chimiques différentes ou très proche

●Acide, basique, aromatique, neutre... 9


Matrice de comparaison
Deuxième Approche: Matrice de comparaison
Cette approche attribut un score pour chaque résidu
identique (càd A en face A un score de 4 attribué).
Le score est calculé à partir d'alignements de séquences de
protéines de fonctions identiques chez différentes espèces
apparentées:
Compter le nombre de substitution de A par G entre
espèce 1 (E1) et espèce 2 (E2)
Connaissant la distance évolutive entre E1 et E2: temps
→ déduire une probabilité de mutation p(A---> G)/temps.

On définit le Coeff M(A,G) = log [p(A ---> G) / p(A) p(G)]

Si nous avons 20 AA alors on peut avoir une matrice:

M = 20 X 20 10
Le Coeff M(A,G) = log [p(A ---> G) / p(A) p(G)]

there is a 13% probability that a position containing Ala in the first


sequence will contain Ala in the second

Matrice PAM250: Probability of Acceptable Mutations 11


Matrice BLOSUM
(BLOcks SUbstitutions Matrices)
La matrice PAM souffre du choix restringent des familles de protéines
pour calculer les probabilités p(A--->G)

Ces matrices ont été remplacées par des matrices basé sur des
alignements en « BLOcs » (sans trous) de séquences très conservées
repérés dans les bases de données.
A partir de ces blocs contigus, on peut repérer les AA qui ont permis la
conservation de la fonction de la protéine et aussi sa structure 3D. Les
substitutions du reste des AA vont indiquées les remplacements
admissibles (qui ne modifient pas ni la structure, ni la fonction de la
protéine)

12
Matrice BLOSUM

On calcule par la suite les p (A-->B):

Si p(A,B) > p(A) p(B), la substitution (A,B) est sur-


représentée: A et B sont facilement interchangeable et
donc probablement de même catégorie (acide/base). Le
Coeff M(A,B) sera alors positifs.

Si M(A,B) = 0: la substitution de A,B est neutre

Si M(A,B) < 0: la substitution est défavorable


M(A,G) = log2 [p(A ---> G) / p(A) p(G)] 13
BLOSUM62

Calculer à partir de 2000


blocs identiques à plus de
62%

14
Évaluer un alignement d'AA

15
Évaluer un alignement de nucléotides

Le score de l'alignement est la somme de toutes les positions 2 à 2

La pénalité de brèche (gap) due à


une insertion ou délétion

Effet de la Brèche au niveau de la protéine:


Dans les séquences de protéines (ou ADN), ces insertions et
délétions sont observées en général dans des boucles localisées en
surface de la protéine. Dans ces régions exposées au solvant
aqueux, la modification de la longueur de la chaîne peptidique n'a
que peu de conséquence sur l'agencement de la structure 3D, par
opposition avec les insertions ou délétions qui se produiraient dans 16
le cœur du repliement
Alignement de deux séquences protéiques
Quelle matrice doit-on utiliser ?

Les matrices BLOSUM sont le plus souvent proposées comme matrices


par défaut car les fréquences de substitution sont directement calculées
à partir de l’alignement.

La BLOSUM62 (ou PAM120) est utilisée comme matrice par défaut car
elle offre un bon compromis quand les distances évolutives entre les
séquences qui ne sont pas connues.

La BLOSUM80 (ou PAM40) donnera de meilleurs résultats pour des


séquences proches dans l’évolution. Elle tend à trouver des alignements
courts fortement similaires.

La BLOSUM30 (ou PAM350) donnera de meilleurs résultats pour des


séquences éloignées dans l’évolution. Elle trouvera de plus longs
alignements locaux de faible conservation.
17
Algorithme de programmation dynamique
Principe:
La programmation dynamique s'appuie sur une relation entre la solution
optimale du problème et celles d'un nombre fini de sous-problèmes.
Concrètement, cela signifie que l'on va pouvoir déduire la solution optimale d'un
problème à partir d'une solution optimale d'un sous problème. (wikipédia)
Trois types d'algorithmes d'alignement de deux séquences:
●Alignement global (proposé en premier par Needleman and Wunsch). Les

séquences vont être alignées sur toutes leurs longueurs. Utilisé quand les
séquences ont à peu près la même longueur.

●Alignement semi-global (pas de pénalités des gaps au extrémités). Utilisé


quand une séquence est plus courte que l'autre ou quand on recherche des
chevauchement aux extrémités.

●Alignement local (connu comme l'algorithme de Smith and Waterman).


L'algorithme recherche les deux sous-régions les plus conservées entre les
deux séquences. Seulement ces deux régions seront alignées. 18
Types d'alignement

Global alignments cannot end in


gaps.)

19
Algorithme de programmation dynamique

Deux types de score en fonction des algorithmes:


●Score d'homologie: La valeur du score diminue avec le nombre de différences

observées entre les deux séquences.

●Score de distance: La valeur du score augmente avec le nombre de différences


observées entre les deux séquences

Exemple de systèmes de scores (ADN)


Score d'homologie Score de distance
Identité +1 0
Mismatch -1 +1
Indel -2 +2

20
Programmation dynamique
i 0 1 2 3 4 5 6 7 8 9
j A C G G C T A T C
0
1 A
2 C
3 T
4 G
5 T
6 A
7 A
8 T
9 G

Création d’une table indexée par les deux séquences


Case (i, j) : score alignement entre les j premères bases de ACT GT AAT G et21
les i premères bases de ACGGCT AT C
Programmation dynamique
Définitions : comment remplir le tableau des scores

22
Programmation dynamique
i 0 1 2 3 4 5 6 7 8 9
j A C G G C T A T C
0 0 -1
1 A
2 C
3 T
4 G
5 T
6 A
7 A
8 T
9 G

Coûts : s(a,b) = -1 si a ≠ b et 2 si a=b ; g = -1 23


Programmation dynamique
0 1 2 3 4 5 6 7 8 9
A C G G C T A T C
0 0 -1 -2
1 A
2 C
3 T
4 G
5 T
6 A
7 A
8 T
9 G

Coûts : s(a,b) = -1 avec a ≠ b et 2 sinon ; g = -1 24


Programmation dynamique
0 1 2 3 4 5 6 7 8 9
A C G G C T A T C
0 0 -1 -2 -3
1 A
2 C
3 T
4 G
5 T
6 A
7 A
8 T
9 G

Coûts : s(a,b) = -1 avec a ≠ b et 2 sinon ; g = -1 25


Programmation dynamique
0 1 2 3 4 5 6 7 8 9
A C G G C T A T C
0 0 -1 -2 -3 -4 -5 -6 -7 -8 -9
1 A
2 C
3 T
4 G
5 T
6 A
7 A
8 T
9 G

Coûts : s(a,b) = -1 avec a ≠ b et 2 sinon ; g = -1 26


Programmation dynamique
0 1 2 3 4 5 6 7 8 9
A C G G C T A T C
0 0 -1 -2 -3 -4 -5 -6 -7 -8 -9
1 A -1
2 C
3 T
4 G
5 T
6 A
7 A
8 T
9 G

Coûts : s(a,b) = -1 avec a ≠ b et 2 sinon ; g = -1 27


Programmation dynamique
0 1 2 3 4 5 6 7 8 9
A C G G C T A T C
0 0 -1 -2 -3 -4 -5 -6 -7 -8 -9
1 A -1
2 C -2
3 T
4 G
5 T
6 A
7 A
8 T
9 G

Coûts : s(a,b) = -1 avec a ≠ b et 2 sinon ; g = -1 28


Programmation dynamique
0 1 2 3 4 5 6 7 8 9
A C G G C T A T C
0 0 -1 -2 -3 -4 -5 -6 -7 -8 -9
1 A -1
2 C -2
3 T -3
4 G
5 T
6 A
7 A
8 T
9 G

Coûts : s(a,b) = -1 avec a ≠ b et 2 sinon ; g = -1 29


Programmation dynamique
0 1 2 3 4 5 6 7 8 9
A C G G C T A T C
0 0 -1 -2 -3 -4 -5 -6 -7 -8 -9
1 A -1
2 C -2
3 T -3
4 G -4
5 T -5
6 A -6
7 A -7
8 T -8
9 G -9

Coûts : s(a,b) = -1 avec a ≠ b et 2 sinon ; g = -1 30


Programmation dynamique
0 1 2 3 4 5 6 7 8 9
A C G G C T A T C
0 0 -1 -2 -3 -4 -5 -6 -7 -8 -9
1 A -1 2
2 C -2
3 T -3
4 G -4
5 T -5
6 A -6
7 A -7
8 T -8
9 G -9

Coûts : s(a,b) = -1 avec a ≠ b et 2 sinon ; g = -1 31


Programmation dynamique
0 1 2 3 4 5 6 7 8 9
A C G G C T A T C
0 0 -1 -2 -3 -4 -5 -6 -7 -8 -9
1 A -1 2 1
2 C -2
3 T -3
4 G -4
5 T -5
6 A -6
7 A -7
8 T -8
9 G -9

Coûts : s(a,b) = -1 avec a ≠ b et 2 sinon ; g = -1 32


Programmation dynamique
0 1 2 3 4 5 6 7 8 9
A C G G C T A T C
0 0 -1 -2 -3 -4 -5 -6 -7 -8 -9
1 A -1 2 1 0 -1 -2 -3 -4 -5 -6
2 C -2
3 T -3
4 G -4
5 T -5
6 A -6
7 A -7
8 T -8
9 G -9

Coûts : s(a,b) = -1 avec a ≠ b et 2 sinon ; g = -1 33


Programmation dynamique
0 1 2 3 4 5 6 7 8 9
A C G G C T A T C
0 0 -1 -2 -3 -4 -5 -6 -7 -8 -9
1 A -1 2 1 0 -1 -2 -3 -4 -5 -6
2 C -2 1
3 T -3
4 G -4
5 T -5
6 A -6
7 A -7
8 T -8
9 G -9

Coûts : s(a,b) = -1 avec a ≠ b et 2 sinon ; g = -1 34


Programmation dynamique
0 1 2 3 4 5 6 7 8 9
A C G G C T A T C
0 0 -1 -2 -3 -4 -5 -6 -7 -8 -9
1 A -1 2 1 0 -1 -2 -3 -4 -5 -6
2 C -2 1 4
3 T -3
4 G -4
5 T -5
6 A -6
7 A -7
8 T -8
9 G -9

Coûts : s(a,b) = -1 avec a ≠ b et 2 sinon ; g = -1 35


Programmation dynamique
0 1 2 3 4 5 6 7 8 9
A C G G C T A T C
0 0 -1 -2 -3 -4 -5 -6 -7 -8 -9
1 A -1 2 1 0 -1 -2 -3 -4 -5 -6
2 C -2 1 4 3 2 1 0 -1 -2 -3
3 T -3
4 G -4
5 T -5
6 A -6
7 A -7
8 T -8
9 G -9

Coûts : s(a,b) = -1 avec a ≠ b et 2 sinon ; g = -1 36


Programmation dynamique
0 1 2 3 4 5 6 7 8 9
A C G G C T A T C
0 0 -1 -2 -3 -4 -5 -6 -7 -8 -9
1 A -1 2 1 0 -1 -2 -3 -4 -5 -6
2 C -2 1 4 3 2 1 0 -1 -2 -3
3 T -3 0 3
4 G -4
5 T -5
6 A -6
7 A -7
8 T -8
9 G -9

Coûts : s(a,b) = -1 avec a ≠ b et 2 sinon ; g = -1 37


Programmation dynamique
0 1 2 3 4 5 6 7 8 9
A C G G C T A T C
0 0 -1 -2 -3 -4 -5 -6 -7 -8 -9
1 A -1 2 1 0 -1 -2 -3 -4 -5 -6
2 C -2 1 4 3 2 1 0 -1 -2 -3
3 T -3 0 3 3
4 G -4
5 T -5
6 A -6
7 A -7
8 T -8
9 G -9

Coûts : s(a,b) = -1 avec a ≠ b et 2 sinon ; g = -1 38


Programmation dynamique
0 1 2 3 4 5 6 7 8 9
A C G G C T A T C
0 0 -1 -2 -3 -4 -5 -6 -7 -8 -9
1 A -1 2 1 0 -1 -2 -3 -4 -5 -6
2 C -2 1 4 3 2 1 0 -1 -2 -3
3 T -3 0 3 3 2 1
4 G -4
5 T -5
6 A -6
7 A -7
8 T -8
9 G -9

Coûts : s(a,b) = -1 avec a ≠ b et 2 sinon ; g = -1 39


Programmation dynamique
0 1 2 3 4 5 6 7 8 9
A C G G C T A T C
0 0 -1 -2 -3 -4 -5 -6 -7 -8 -9
1 A -1 2 1 0 -1 -2 -3 -4 -5 -6
2 C -2 1 4 3 2 1 0 -1 -2 -3
3 T -3 0 3 3 2 1 3
4 G -4
5 T -5
6 A -6
7 A -7
8 T -8
9 G -9

Coûts : s(a,b) = -1 avec a ≠ b et 2 sinon ; g = -1 40


Programmation dynamique
0 1 2 3 4 5 6 7 8 9
A C G G C T A T C
0 0 -1 -2 -3 -4 -5 -6 -7 -8 -9
1 A -1 2 1 0 -1 -2 -3 -4 -5 -6
2 C -2 1 4 3 2 1 0 -1 -2 -3
3 T -3 0 3 3 2 1 3 2 1 0
4 G -4 -1 2 5 5 4 3 2 1 0
5 T -5 -2 1 4 4 4 6 5 4 3
6 A -6 -3 0 3 3 3 5 8 7 6
7 A -7 -4 -1 2 2 2 4 7 7 6
8 T -8 -5 -2 1 1 1 4 6 9 8
9 G -9 -6 -3 0 3 2 3 5 8 8

Coûts : s(a,b) = -1 avec a ≠ b et 2 sinon ; g = -1 41


Programmation dynamique
0 1 2 3 4 5 6 7 8 9
A C G G C T A T C
0 0 -1 -2 -3 -4 -5 -6 -7 -8 -9
1 A -1 2 1 0 -1 -2 -3 -4 -5 -6
2 C -2 1 4 3 2 1 0 -1 -2 -3
3 T -3 0 3 3 2 1 3 2 1 0
4 G -4 -1 2 5 5 4 3 2 1 0
5 T -5 -2 1 4 4 4 6 5 4 3
6 A -6 -3 0 3 3 3 5 8 7 6
7 A -7 -4 -1 2 2 2 4 7 7 6
8 T -8 -5 -2 1 1 1 4 6 9 8
9 G -9 -6 -3 0 3 2 3 5 8 8

Coûts : s(a,b) = -1 avec a ≠ b et 2 sinon ; g = -1


Case (9,9) : score de l'alignement global entre les deux séquences 42
Back Tracking : Procédure qui permet de trouver
l’alignement en fonction de la matrice

Fonctionnement :
A partir de la cellule d'arrivée,remonter vers la(les) cellule(s)
voisine(s) de score maximal jusqu’à arriver à la cellule initiale.

Remarque : Si en une cellule, on peut revenir vers plusieurs cellules


voisines, alors il existe plusieurs chemins optimaux.

43
Programmation dynamique
0 1 2 3 4 5 6 7 8 9
A C G G C T A T C
0 0 -1 -2 -3 -4 -5 -6 -7 -8 -9
1 A -1 2 1 0 -1 -2 -3 -4 -5 -6
2 C -2 1 4 3 2 1 0 -1 -2 -3
3 T -3 0 3 3 2 1 3 2 1 0
4 G -4 -1 2 5 5 4 3 2 1 0
5 T -5 -2 1 4 4 4 6 5 4 3
6 A -6 -3 0 3 3 3 5 8 7 6
7 A -7 -4 -1 2 2 2 4 7 7 6
8 T -8 -5 -2 1 1 1 4 6 9 8
9 G -9 -6 -3 0 3 2 3 5 8 8

G
44
C
Programmation dynamique
0 1 2 3 4 5 6 7 8 9
A C G G C T A T C
0 0 -1 -2 -3 -4 -5 -6 -7 -8 -9
1 A -1 2 1 0 -1 -2 -3 -4 -5 -6
2 C -2 1 4 3 2 1 0 -1 -2 -3
3 T -3 0 3 3 2 1 3 2 1 0
4 G -4 -1 2 5 5 4 3 2 1 0
5 T -5 -2 1 4 4 4 6 5 4 3
6 A -6 -3 0 3 3 3 5 8 7 6
7 A -7 -4 -1 2 2 2 4 7 7 6
8 T -8 -5 -2 1 1 1 4 6 9 8
9 G -9 -6 -3 0 3 2 3 5 8 8

T G
|   45
T C
Programmation dynamique
0 1 2 3 4 5 6 7 8 9
A C G G C T A T C
0 0 -1 -2 -3 -4 -5 -6 -7 -8 -9
1 A -1 2 1 0 -1 -2 -3 -4 -5 -6
2 C -2 1 4 3 2 1 0 -1 -2 -3
3 T -3 0 3 3 2 1 3 2 1 0
4 G -4 -1 2 5 5 4 3 2 1 0
5 T -5 -2 1 4 4 4 6 5 4 3
6 A -6 -3 0 3 3 3 5 8 7 6
7 A -7 -4 -1 2 2 2 4 7 7 6
8 T -8 -5 -2 1 1 1 4 6 9 8
9 G -9 -6 -3 0 3 2 3 5 8 8

A T G
| |   46
A T C
Programmation dynamique
0 1 2 3 4 5 6 7 8 9
A C G G C T A T C
0 0 -1 -2 -3 -4 -5 -6 -7 -8 -9
1 A -1 2 1 0 -1 -2 -3 -4 -5 -6
2 C -2 1 4 3 2 1 0 -1 -2 -3
3 T -3 0 3 3 2 1 3 2 1 0
4 G -4 -1 2 5 5 4 3 2 1 0
5 T -5 -2 1 4 4 4 6 5 4 3
6 A -6 -3 0 3 3 3 5 8 7 6
7 A -7 -4 -1 2 2 2 4 7 7 6
8 T -8 -5 -2 1 1 1 4 6 9 8
9 G -9 -6 -3 0 3 2 3 5 8 8

A A T G
  | |   47
­ A T C
Programmation dynamique
0 1 2 3 4 5 6 7 8 9
A C G G C T A T C
0 0 -1 -2 -3 -4 -5 -6 -7 -8 -9
1 A -1 2 1 0 -1 -2 -3 -4 -5 -6
2 C -2 1 4 3 2 1 0 -1 -2 -3
3 T -3 0 3 3 2 1 3 2 1 0
4 G -4 -1 2 5 5 4 3 2 1 0
5 T -5 -2 1 4 4 4 6 5 4 3
6 A -6 -3 0 3 3 3 5 8 7 6
7 A -7 -4 -1 2 2 2 4 7 7 6
8 T -8 -5 -2 1 1 1 4 6 9 8
9 G -9 -6 -3 0 3 2 3 5 8 8

T A A T G
|   | |   48
T ­ A T C
Programmation dynamique
0 1 2 3 4 5 6 7 8 9
A C G G C T A T C
0 0 -1 -2 -3 -4 -5 -6 -7 -8 -9
1 A -1 2 1 0 -1 -2 -3 -4 -5 -6
2 C -2 1 4 3 2 1 0 -1 -2 -3
3 T -3 0 3 3 2 1 3 2 1 0
4 G -4 -1 2 5 5 4 3 2 1 0
5 T -5 -2 1 4 4 4 6 5 4 3
6 A -6 -3 0 3 3 3 5 8 7 6
7 A -7 -4 -1 2 2 2 4 7 7 6
8 T -8 -5 -2 1 1 1 4 6 9 8
9 G -9 -6 -3 0 3 2 3 5 8 8

­ T A A T G
  |   | |   49
C T ­ A T C
Programmation dynamique
0 1 2 3 4 5 6 7 8 9
A C G G C T A T C
0 0 -1 -2 -3 -4 -5 -6 -7 -8 -9
1 A -1 2 1 0 -1 -2 -3 -4 -5 -6
2 C -2 1 4 3 2 1 0 -1 -2 -3
3 T -3 0 3 3 2 1 3 2 1 0
4 G -4 -1 2 5 5 4 3 2 1 0
5 T -5 -2 1 4 4 4 6 5 4 3
6 A -6 -3 0 3 3 3 5 8 7 6
7 A -7 -4 -1 2 2 2 4 7 7 6
8 T -8 -5 -2 1 1 1 4 6 9 8
9 G -9 -6 -3 0 3 2 3 5 8 8

G ­ T A A T G
|   |   | |   50
G C T ­ A T C
Programmation dynamique
0 1 2 3 4 5 6 7 8 9
A C G G C T A T C
0 0 -1 -2 -3 -4 -5 -6 -7 -8 -9
1 A -1 2 1 0 -1 -2 -3 -4 -5 -6
2 C -2 1 4 3 2 1 0 -1 -2 -3
3 T -3 0 3 3 2 1 3 2 1 0
4 G -4 -1 2 5 5 4 3 2 1 0
5 T -5 -2 1 4 4 4 6 5 4 3
6 A -6 -3 0 3 3 3 5 8 7 6
7 A -7 -4 -1 2 2 2 4 7 7 6
8 T -8 -5 -2 1 1 1 4 6 9 8
9 G -9 -6 -3 0 3 2 3 5 8 8

A C T G ­ T A A T G
| |   |   |   | |   51
A C G G C T ­ A T C
Programmation dynamique
0 1 2 3 4 5 6 7 8 9
A C G G C T A T C
0 0 -1 -2 -3 -4 -5 -6 -7 -8 -9
1 A -1 2 1 0 -1 -2 -3 -4 -5 -6
2 C -2 1 4 3 2 1 0 -1 -2 -3
3 T -3 0 3 3 2 1 3 2 1 0
4 G -4 -1 2 5 5 4 3 2 1 0
5 T -5 -2 1 4 4 4 6 5 4 3
6 A -6 -3 0 3 3 3 5 8 7 6
7 A -7 -4 -1 2 2 2 4 7 7 6
8 T -8 -5 -2 1 1 1 4 6 9 8
9 G -9 -6 -3 0 3 2 3 5 8 8
A C T ­ G ­ T A A T G A C T G ­ T A A T G
|       |   |   | |   | |   |   |   | |  
A ­ C G G C T ­ A T C A C G G C T ­ A T C
      2  2 ­1  2 ­1  2 ­1  2 2  ­1  = 8
 4 =   2 ­1 ­1 ­1 2 ­1  2 ­1  2 2  ­1   52
Algorithme de programmation dynamique

Comment marche la méthode Needleman and Wunsch ? BACK TRACING

Prenons comme exemple deux séquences X et Y de longueur M et N:


X: AGGTTGC
Y: AGGTC Alignement global
Le coût d'un alignement avec un gap est de -1

+1 si id.
0 si sub.
(-1)

(-1)

Il y a trois façons d'aligner Xi avec Yj:


●Les deux résidus s'alignent (identité ou substitution)

●Le résidu Xi est aligné avec un gap (insertion dans

la séquence X)
●Les résidu Yj est aligné avec un gap (insertion dans

la séquence Y) 53
Algorithme de programmation dynamique
Intérêt de l'alignement local

La méthode de Needlman & Wunsch cherche à aligner les séquences de


manière globale. Elle tente de construire un parcours alignant au mieux les
deux séquences sur la totalité de leur longueur. Cette approche est justifiée
lorsque deux protéines sont homologues sur l'ensemble de leur séquence.

Très souvent, l'homologie peut être locale. Elle se limite seulement sur les
domaines responsables de la fonction (exemple de programme FASTA et
BLAST).
Pour détecter ce type de similitudes localisées entre deux séquences,
l'algorithme de Needlman n'est pas adapté. Les scores obtenus seront
pénalisés par « les non-homologies » en dehors de la région conservée.

54
Algorithme de programmation dynamique
De la méthode Needleman and Wunsch à la méthode Smith-Waterman= De
l'alignement global à l'alignement local

Cet algorithme (SW) est identique à celui


de Needlemen et Wunsch à l'exception
d'un choix additionnel qui est permis lors
de la traversé de la matrice: Si le score
cumulé intermédiaire est négatif pour une
position donnée, l'alignement construit
localement peut être interrompu (zéro) et
un nouvel alignement peut commencer
plus loin.
L'alignement peut commencer à n'importe quelles positions, pas forcément les
premières

L'algorithme va utiliser un score d'homologie et seule l'identité recevra un poids positif.


Quand la valeur du score d'une cellule devient négatif, il est remplacé par zéro. Il vaut
mieux recommencer un nouvel alignement que de le prolonger. Donc une cellule
contenant un zéro indique le début d'un alignement.
Quand on reconstruit l'alignement par la procédure de « retour en arrière », au lieu de
partir de la dernière cellule, on choisira celle qui a le score le plus élevé. 55
Les méthodes Heuristiques rapides
utilisées dans les bases de données
Les deux variantes de la programmation dynamique que nous venons d'exposer
sont efficaces et optimales, mais ont coût considérable en temps et mémoire.
Ceci est très raisonnable lorsqu'on compare deux séquences mais devient lourd
lorsqu'on désire effectuer une recherche systématique dans les banques de
séquences.
EMBOSS Pairwise Alignment Algorithms:(programme d'alignement dynamique)
http://www.ebi.ac.uk/Tools/emboss/align/
Les deux programmes heuristiques les plus utilisés:
FASTA – Fast Alignment (Pearson et Lipman, 1988)
BLAST – Basic Local Alignment Search Tool
(Altschul, 1990)

→ Ils doivent être utilisés essentiellement comme


logiciel permettant de repérer les séquences de la
banque susceptibles d'avoir des ressemblances
biologiques avec la séquence requête.
→ logiciels non optimisés pour comparer deux
séquences entre elles.

http://www.ncbi.nlm.nih.gov/guide/ Dot-plot de deux séquences


56
Par la méthode heuristique
FASTA
Différence entre BLAST ET FASTA

FASTA commence à chercher des mots exacts alors que BLAST autorise
les substitutions conservatives.

FASTA retrouve 1 seul alignement par paire requête/séquence. Alors que


BLAST autorise plusieurs possibilités rangées par score (High-scoring
Segment Pair – HSP)

FASTA utilise un alignement local plus rigoureux, donc ses alignements


finaux sont plus fiables.

BLAST est plus rapide que FASTA

57
BLAST output

58
E-Value

Attention: La E-Value ne représente pas une mesure de la similitude


entre deux séquences

Score = 4084 E-value = 5


On s 'attend à trouver 5 séquences par hasard dans la banque qui ont un
score > 4084

Score = 4084 E-value = 10-3


On s'attend à trouver 10-3 séquences par hasard dans la banque qui ont
un score > 4084 <=> il faudrait que la banque soit 1000X plus grande
pour trouver une séquence par hasard qui ait un score > 4084.

59
Quelques règles d'interprétations des résultats de BLAST

Comparer une séquence à toutes les séquences d'une base de données:


● Obtention d'une liste classée par score

But: Trouver des séquences similaires avec une signification biologique:


● Les meilleurs scores signifient-ils une parenté fonctionnelle?
● Les mauvais scores signifient-ils une absence de similarité
biologique?
Il faut garder à l'esprit que la signification statistique ne reflète pas
forcément la signification biologique et inversement.
En générale, lorsque l'alignement est fait sur au moins 70% de la
séquence:

●On peut déjà parler de séquence homologues au delà de 70% de similarité, mais cela
reste à confirmer par d'autres hypothèses: présence de motifs communs.....
●Si la E-value est très faible (<10-20), c'est probablement le signe d'une similarité entre

60
les séquences. Mais, il ne faut jamais se fier uniquement à la E-Value
BLAST: Basic Local Alignment Search Tool

61
Les données

Requête : ADN, ARN, Proteine, Motifs

Banque de données
● Nucléique: EMBL, GenBank....

●Protéique: SwissProt, trEMBL, nrProt....

Recherche de similitude:
●Globale ou locale

●Plus ou moins significative

62
Procédure de la recherche

63
PSSM & PSI-BLAST

64
Multiple sequences Alignment (MSA)

65
Multiple sequences Alignment (MSA)
L'alignement multiple permet de détecter les régions qui ont été
conservées au travers de l'évolution Très souvent ces régions
correspondent à des domaines associés à une fonction clef de la
molécules.
Les AA strictement conservés, comme ceux qui apparaissent en vert,
jouent souvent un rôle direct dans sa fonction.

Principe:
La méthode par la programmation dynamique (Needlman & Wunsch ou
Smith & Waterman) est généralisée sur les N séquences.

a(S1, S2 )

a(S2, S3)
SP Total Score = Σi < j score[ a(Si, Sj ) ]

a(S1, S3) (-,-) = 0 66


Exemple de la programmation dynamique
appliquée sur 3 séquences

67
ClustalW

68
Recherche d'homologie dans les bases de données
http://blast.ncbi.nlm.nih.gov/

69

Vous aimerez peut-être aussi