• Aucun résultat trouvé

Comparaison et alignement de séquences

N/A
N/A
Protected

Academic year: 2022

Partager "Comparaison et alignement de séquences"

Copied!
61
0
0

Texte intégral

(1)

Comparaison et alignement de

séquences

(2)

La comparaison des séquences d’ADN des être vivants:

une information sur l’évolution

Figure 1. An alignment of the 16S gene from four species of butterflies. The three South American Heliconius are more similar to each other than they are to the African Acraea, reflecting evolutionary history.

Figure 2. The phylogenetic tree of Heliconius and relatives. Using the molecular clock helps us to figure out how old species are, even without fossils. The blue bars indicate statistical error of these estimates.

Figure 3. The molecular clock – the time that passed between past events (like speciation) and today corresponds to the amount of changes accumulated in DNA (red ticks). We find that H. melpomene and H. cydno are more closely related to each other than to H. erato, and that they split about 3 million years ago .

Pourquoi comparer deux séquences ?

Détecter une relation entre les séquences + identifier les positions similaires.

•   Origine commune (horloge moléculaire)

o ADN, ARNr 16s, groupes de gènes…

•  Function commune

o Protéines similaires à homologues

o les positions conservées sont importantes pour la structure 3D

•  Assemblage de génome

homologie anatomique

homme chien oiseau baleine

(3)

Le gène eyeless

•  Régulateur de la formation de l’oeil chez la mouche

o pas de formation d’oeil sans le gène

o expression du gène induit la formation d’yeux

•  Séquence protéique conservée chez l’homme ou la souris (PAX6)

o (structures et développement différents)

sans eyeless

(4)

Comment comparer deux séquences ?

•  A la main !

PELICAN et COELECANTH!

•  Le dot plot : une méthode visuelle

•  Le problème général de l’alignement pairwise

o Score d’un alignement

o La programmation dynamique

(5)

Le Dot-Plot

■ 

Tableau indexé par les caractères des deux séquences

■ 

Identité : Non Identité:

Maizel et Lenk 1981 – Staden 1982

Les similarités (ressemblances locales) apparaissent le long des segments diagonaux

TAT ACT

(6)

Le Dot-Plot (en pratique ...)

■ 

Beaucoup de bruit en marquant seulement les nucléotides

■ 

Utiliser une fenêtre pour « lisser »

■ 

Choisir un seuil au dessus duquel la similarité dans la fenêtre génère un point

=> Trouver un compromis en faisant varier la taille de la fenêtre et le seuil

une trop grande fenêtre peut rater des hits

(7)

G A T C T A C G *

T * *

T * *

C * *

T * *

G *

C * *

A * *

Sans fenêtre

Le Dot-Plot (en pratique ...)

(8)

G A T C T A C G

T

T *

C *

T *

G C A

Fenêtre de taille 2

Le Dot-Plot (en pratique ...)

(9)

G A T C T A C G

T

T *

C *

T *

G C A

Fenêtre de taille 3

Le Dot-Plot (en pratique ...)

(10)

G A T C T A C G *

T *

T * *

C *

T *

G C A

Fenêtre de taille 3, Seuil identité >= 2/3

Le Dot-Plot (en pratique ...)

(11)

G A T C T A C G *

T *

T * *

C *

T *

G C A

Fenêtre de taille 3, Seuil identité >= 2/3

Le Dot-Plot (en pratique ...)

(12)

G A T C T A C G *

T *

T *

C * *

T *

G C A

Fenêtre de taille 3, Seuil identité >= 2/3

Le Dot-Plot (en pratique ...)

(13)

Le Dot-Plot (en pratique ...)

■ 

Autre critère de « bruit » = nature des séquences.

■ 

ADN 4 lettres => beaucoup de bruit.

■ 

Protéines 20 acides aminés => moins de bruit.

■ 

Pour les protéines, les mutations silencieuses non

visibles ne "bruitent" pas l’alignement.

(14)

Le dot-plot exemple

•  Facteur de transcription zinc-finger contre lui même

Répetitions

Source: wikipedia

Identité

(15)

E. coli K12, deux lignées

lig né e W 31 10

lignée DH10B

Inversion

Duplication segmentale Insertion

Généré avec CoGe: genomevolution.org/CoGe/

(16)

Homme (x) vs

Chimpanzé (y)

Généré avec CoGe

(17)

Hémoglobines humaines

•  chaînes alpha et beta

(18)

Avantages et inconvénients du Dot-Plot

■ 

Simple et rapide, graphique

■ 

Pratique pour des comparaison “gros grain” de génomes complets proches phylogénétiquement

■ 

L’interprétation visuelle rend impossible l’utilisation du Dot-Plot dans le cadre d’une « comparaison

massive »

■  la banque UniProtKB qui contient environ 21 millions de protéines (02-Avril-12)

ça fait beaucoup de Dot Plot pour comparer une protéine “!

■  Plusieurs milliers de génomes disponibles

(19)

Alignement de séquences 2 à 2

(nucléotides ou acides aminés)

(20)

Alignement

■  Mise en correspondance de deux séquences (ADN ou

protéines) pour faire apparaître les similarités, i.e., segments communs

AAAATTTTTTGGCCTTTAA et AAAAGCCCAA AAAATTTTTTGGCCTTTAA

AAAAGCCCAA

AAAATTTTTTGGCCTTTAA AAAA GCCC AA

gaps

(21)

Alignement

■ 

Mise en correspondance de deux séquences (ADN ou protéines)

■ 

Aligner deux séquences globalement c’est les réécrire :

o On rajoute des caractères de gap “-”

o Elles font la même longueur

o On ne met pas de gap en face l’un de l’autre

ACGGCTAT!

||x| |||!

ACTG-TAT!

ACGGCTAT ! ACTGTAT!

ACGGCTAT!

||x|xxx!

ACTGTAT-!

A--CGGCT--AT!

| | |||!

ACT-G--TAT--!

...!

(22)

Score d’un alignement

•  Il y a un nombre exponentiel d’alignements possibles

•  On doit ordonner les qualité avec un Score

o On somme 3 événements élémentaires le long de l’alignement -  Même lettre : match

-  Lettre différente : mismatch

-  Insertion/Deletion (indel)

C! C!

C! G!

C! -!

-! C!

ou

(23)

Score d’un alignement

•  Exemple sur

ACGGCTAT ACTGTAT

avec le score :

o Correspondance/Match : +2

o Substitution/Mismatch : -1

o Indel : -2

ACGGCTAT

|| | |||

ACTG-TAT ACGGCTAT

|| |

ACTGTAT-

Score = 2+2-1+2-1-1-1-2 = 0 Score = 2+2-1+2-2+2+2+2 = 9

(24)

Alignement Global

■ 

But : Evaluation de la ressemblance globale entre deux séquences, cad sur toute la longueur

■ 

Problème :

❑ 

Quel est l’alignement global avec le score maximal ?

Needleman & Wunsch - 1970

(25)

Complexité de l’alignement global

•  Problème : il y a un nombre exponentiel d’alignements possibles.

o Algorithme naïf : on énumère tout les alignements après avoir fixé le nombre de nt de chevauchement

o Exemple:

LEO et LIE!

match=0 mismatch=-1 indel = -1

11 alignements possibles !

Valentine GILBART LBM1

Introduction à l'Algorithmique et la Programmation : feuille de Projet Alignement de Séquence

Les commentaires qui expliquent le fonctionnement des programmes se trouvent dans le fichier python, ils sont précédés du caractère "#" et sont en bleus.

Exercice 1 : Mise en route

1. Il existe 3 types de coût :

- le match : Ϭmatch=Ϭ(a,a) qui est généralement supérieur ou égal à 0 - le mismatch : Ϭmismatch=Ϭ(a,b) (a≠b) qui est généralement inférieur à 0 - le gap : Ϭgap=Ϭ(-,a)=Ϭ(a,-) qui est généralement inférieur à 0

L'alignement optimal est celui qui donne le meilleur score, c'est-à-dire le score le plus élevé.

A partir de deux séquences S1 et S2, on trouve des séquences Ŝ1 et Ŝ2 modifiées dont on peut calculer le score de l'alignement : score(Ŝ12)=∑ Ϭ(Ŝ1i2i) pour i allant de 1 à la taille de la séquence S1. C'est-à-dire que l'on additionne le coût Ϭ de l'alignement de chaque lettre. Le coût de Nmatch (le nombre de match) est Nmatchmatch (et de même pour Ngap et Nmismatch). On obtient donc : score(Ŝ12)=Nmatchmatch+Nmismatchmismatch+Ngapgap

Exercice 2 : Combinatoire d'un alignement

1.

i=0 LEO---

---LIE

i=1

LEO--

L--IE -LEO-

LI--E --LEO

LIE-- LE--O

-LIE-

-LEO- L-I-E

--LEO LI-E- LEO--

--LIE

LE-O- --LIE

LE--O --LIE

i=2

LEO- LI-E

-LEO LIE-

L-EO LIE- LEO-

-LIE

-LEO L-IE

LE-O -LIE LEO-

L-IE

-LEO LI-E

LE-O L-IE

i=3 LEO

LIE Légende :

: score de l'alignement

: alignements ayant le meilleur score

Le meilleur score est de -2, il est atteint par les alignements L-EO LIE- et LEO LIE.

- 1 -

-5

-4 -5

-4

-3 -4 -3

-4 -3 -5

-5 -5 -5

-5 -6

-2 -4

-4 -2

-3

-5

(26)

Diminuer la complexité: Programmation

dynamique

Needleman & Wunsch - 1970 un chemin dans la matrice à un alignement

On construit la matrice des meilleurs scores de tous les alignements partiels

Nous cherchons l’alignement avec le meilleur score

Source : Aix-Marseille Université - LUMINV

(27)

Alignement Global: Programmation dynamique

Needleman & Wunsch - 1970 Diviser pour mieux aligner

Source : Aix-Marseille Université - LUMINV

(28)

Alignement Global: Programmation dynamique

Needleman & Wunsch - 1970

Source : Aix-Marseille Université - LUMINV

(29)

Alignement Global: Programmation dynamique

Needleman & Wunsch - 1970

Source : Aix-Marseille Université - LUMINV

Gap penality -4

(30)

Alignement Global: Programmation dynamique

Needleman & Wunsch - 1970

Source : Aix-Marseille Université - LUMINV

(31)

Alignement Global: Programmation dynamique

Needleman & Wunsch - 1970

Source : Aix-Marseille Université - LUMINV

(32)

Alignement Global: Programmation dynamique

Needleman & Wunsch - 1970

Source : Aix-Marseille Université - LUMINV

(33)

Alignement Global: Programmation dynamique

Needleman & Wunsch - 1970

Source : Aix-Marseille Université - LUMINV

(34)

Alignement Global: Programmation dynamique

Needleman & Wunsch - 1970

Source : Aix-Marseille Université - LUMINV

(35)

Alignement Global: Programmation dynamique

Needleman & Wunsch - 1970

Source : Aix-Marseille Université - LUMINV

(36)

Algorithme de programmation dynamique

■  2 séquences A = (a1,...,an) et B=(b1,...,bm)

■  Si,j = score maximum entre 2 séquences alignées du début jusqu'aux résidus ai et bj.

■  Initialisation :

■  Récurrence :

i-1,j-1 i-1,j i,j-1 i,j Si,j = max

8>

<

>:

Si 1,j 1 + (ai, bj) Si 1,j +g

Si,j 1 +g

(ai, bj) =

(score de match si ai = bj

score de mismatch sinon g = score de gap

Si,0 = i g S0,j = j g

(37)

Récurrence

A T T G T C

A A C G G C T A T

a b

c ?

? = MAX a + Subs. ou Corresp.

b + Insertion c + deletion

(38)

Exemple

A C G G C T A T

A

C

T

G

T

A

T

(39)

Exemple : Initialisation

T A T G

-14 -12 -10 -8 -6 T

-4 C

-2 A

-16 -14

-12 -10

-8 -6

-4 -2

0

T A

T C

G G

C A

Indel = -2 Indel = -2

(40)

Exemple : Remplissage ligne par ligne

-14 T

-12 A

-10 T

-8 G

-6 T

-4 C

-12 -10

-8 -6

-4 -2

0 2

-2 A

-16 -14

-12 -10

-8 -6

-4 -2

T A

T C

G G

C A

max [

0+2 = 2

]

0

Correspondance=2 ou substitution=-1 -2-2= -4

Indel=-2 -2-2= -4

Indel=-2

(41)

Exemple : Remplissage ligne par ligne

9 5

4 0

-1 -2

-6 -10

-14 T

5 7

3 2

1 0

-4 -8

-12 A

1 3

5 4

3 2

-2 -6

-10 T

-3 -1

1 3

5 4

0 -4

-8 G

-4 -2

0 -1

1 3

2 -2

-6 T

-8 -6

-4 -2

0 2

4 0

-4 C

-12 -10

-8 -6

-4 -2

0 2

-2 A

-16 -14

-12 -10

-8 -6

-4 -2

0

T A

T C

G G

C A

Correspondance=2 ou substitution=-1 Indel=-2 Indel=-2

(42)

Exemple : Recherche du chemin des scores maximaux

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

ACGGCTAT

|| | |||

ACTG-TAT

Correspondance=2 ou substitution=-1 Indel=-2 Indel=-2

(43)

Sensibilité au score

ACGGCT-ATC

|| | | ||

ACTG-TAATG

Correspondance : +2 Substitution : -1

Indel : -1 ACGGCTATC

|| | ||

ACTGTAATG

Correspondance : +1 Substitution : -1

Indel : -2

L’alignement optimal dépend du score :

•  coût des matchs/mismatchs

•  pénalités pour les indels.

(44)

Amélioration du modèle : les gaps

■ 

Gap : succession d’indels

■ 

Pénalités :

❑ 

Pénalité fixe (exemple -5)

❑ 

Pénalité linéaire :

■  Pénalité d’ouverture de gap (exemple -5)

■  Pénalité d’extension de gap (exemple -0.5)

RDISLV---KNAGI

| | || || ||

RNI-LVSDAKNVGI

Score = 5+1+4-5+4+4-5-0.5-0.5+5+6+0+6+4 = 28 Score = 5+1+4-5+4+4-5-5-5+5+6+0+6+4

= 19

(45)

Amélioration du modèle : les gaps

Problème de l’assemblage de génomes

•   On veut aligner les séquences en chevauchement

suffixe/préfixe (pas de pénalité de gaps aux extrémités)

(46)

Algorithme global « End Gap Free » ou « Bestfit »

■ 

On reprend NWS sans pénaliser les gaps aux extrémités des séquences.

■ 

L’initialisation devient :

■ 

La récurrence ne change pas :

Si,0 = 0 S0,j = 0

Si,j = max 8>

<

>:

Si 1,j 1 + (ai, bj) Si 1,j +g

Si,j 1 +g

(47)

Alignement Local

■ 

Problème :

❑ 

Quelles sont les régions de forte similarité entre les 2 séquences ?

à 

Quel est le segment de séquence de score maximal ?

(le score doit être négatif pour des séquences aléatoires)

(48)

Alignement Local

■ 

Deux séquences :

GGCTGACCACCTT et GATCACTTCCATG

■ 

Alignement global :

■ 

Alignement local :

1 GGCTGACCACC-TT 13 | | || || |

1 GA-TCACTTCCATG 13 5 GACCACCTT 13

|| ||| ||

1 GATCAC-TT 8

Corresp.: 2, Substi.: -1, Indel: -2

Score = 5

Score = 11

(49)

Alignement Local: Smith & Waterman

■  L ’algorithme d’alignement local de Smith & Waterman (1981) est basé sur l’algorithme introduit par Needleman & Wunsch

■  Score max avec possibilité de remise à zéro

■  Traceback à partir du meilleur score dans toute la matrice Si,j = max

8>

>>

<

>>

>:

Si 1,j 1 + (ai, bj) Si 1,j +g

Si,j 1 +g 0

Si,0 = 0 S0,j = 0

(50)

A C G G C T A T 0 0 0 0 0 0 0 0 0 A 0 2 0 0 0 0 0 2 1 G 0 0 1 2 2 0 0 0 1 C 0 0 2 0 1 4 2 0 0 T 0 0 0 1 0 2 6 4 2 T 0 0 0 0 0 0 4 5 6 T 0 0 0 0 0 0 2 3 7 C 0 0 2 0 0 2 0 1 5

max [ ]

Local : Remplissage ligne par ligne

0+2 = 2

0-2= -2 0-2= -2 0

M=2 MM=-1

Indel=-2 Indel=-2

(51)

A C G G C T A T 0 0 0 0 0 0 0 0 0 A 0 2 0 0 0 0 0 2 1 G 0 0 1 2 2 0 0 0 1 C 0 0 2 0 1 4 2 0 0 T 0 0 0 1 0 2 6 4 2 T 0 0 0 0 0 0 4 5 6 T 0 0 0 0 0 0 2 3 7 C 0 0 2 0 0 2 0 1 5

max [ ]

Local : Remontée

0+2 = 2

-2-2= -4 -2-2= -4 0

M=2 MM=-1

Indel=-2 Indel=-2

GCTAT

||| | GCTTT

Score = 2+2+2-1+2=7

(52)

Score d'un alignement

§ 

Score alignement = Σ scores événements élémentaires (Match, Mismatch, Indel)

§ 

Améliorations du modèle :

Ø  matrices de substitution (= Mismatch)

=> toutes les substitutions ne sont pas équivalentes et donc pénalisées différemment

Ø  pénalité linéaire de gaps (gap open et gap extend)

(53)

Les matrices de substitution des acides nucléiques

■ 

Alphabet à 4 lettres : A,C,G,T

■ 

Matrice identité

•  => pas d'amélioration du modèle,

non adapté à l'évolution des séq nucléiques

■ 

Matrice transitions/transvertions

•  => pénalise davantage les

transversions (purines <=> pyrimidines) que les transitions (pur <=> pur, pyr <=> pyr)

A C G T A 1 0 0 0 C 0 1 0 0 G 0 0 1 0 T 0 0 0 1

A C G T A 3 0 1 0 C 0 3 0 1 G 1 0 3 0 T 0 1 0 3

(54)

Les matrices de substitution des acides aminés

■ 

Au cours de l’évolution:

❑ 

Des acides aminés sont remplacés « préférentiellement » par d’autres

❑  Ils possèdent par exemple des propriétés physico-chimiques proches

❑ 

Des acides aminés sont plus conservés que d’autres

❑  Ils sont par exemple essentiels dans la structure 3D des protéines (comme Tryptophane/W/Trp)

(55)

Les matrices de substitution des acides aminés

■ 

Matrices basées sur les propriétés physico-chimique des aa

omatrices d'hydrophobicité

omatrices des structures secondaires

omatrices basées sur comparaisons de protéines paratgeant la même structure 3-D

■ 

Matrices basées sur les substitutions entre aa au cours de l'évolution

•  Les « log odds » : Sij = log [ qij / (pi.pj) ]

•  qij = fréquence de la substitution i vers j

•  pi = probabilité normalisée d’apparition du résidu i

•  pi . pj = probabilité que les résidus i et j soient alignés par hasard

(56)

Les matrices de substitution des acides aminés

■ 

Matrices basées sur les substitutions entre aa au cours de l'évolution

•  Les « log odds » : Sij = log [ qij / (pi.pj) ]

•  qij = fréquence de la substitution i vers j

•  pi = probabilité normalisée d’apparition du résidu i

•  pi . pj = probabilité que les résidus i et j soient alignés par hasard

•  Pénalités des Substitutions :

• Sij > 0 <=> remplacement considéré fréquent

• Sij < 0 <=> remplacement rare, peu probable entre protéines homologues

(57)

Les matrices de substitution des acides aminés

■ 

Matrices de Substitution construites à partir de l'observation des fréquences de substitution entre séquences « apparentées »

■  Matrices PAM = Point Accepted Mutation (Dayhoff 1979)

■  Matrices BLOSUM = BLOcks SUbstitution Matrix (Henikoff &

Henikoff 1992)

(58)

Les matrices BLOSUM

■ 

A partir de Blocs = alignement multiple local sans insertion- délétion pour une famille de protéines

■ 

Calcul des scores S

ij

= log [ q

ij

/ (p

i

.p

j

) ]

• qij nombre de substitutions i <=> j / nombre total de paires • pi fréquence d’apparition du résidu i

(=nombre d’apparition de i / nombre total de résidus) • pj fréquence d’apparition de j

~2000 blocs, 500 familles de protéines

(59)

Les matrices BLOSUM

■ 

Regroupement des séquences au sein de leur bloc

•  – Regroupement en fonction d’un seuil d’identité

•  • Seuil = 80% <=> BLOSUM80

•  • Seuil = 60% <=> BLOSUM60

■ 

Calcul des scores par cluster

• 

=>

diminue la redondance liée au nombre de paires identiques (sur-représentation de certaines séquences par exemple)

(60)

BLOSUM 62

(61)

RDISLV---KNAGI

| | || || ||

RNI-LVSDAKNVGI

Score = 5+1+4-5+4+4-5-5-5+5+6+0+6+4 = 19

■ 

Alignement des deux séquences protéiques

RDISLVKNAGI et RNILVSDAKNVGI avec

« BLOSUM 62 »

Correspondance et Substitution: cf. BLOSUM, Indel: -5

Références

Documents relatifs

En notant str1 = prefixe1L et str2 = prefixe2L, une plus longue sous-chaine commune aux deux mots s’obtient en prenant une plus longue sous-chaine commune aux deux préfixes prefixe1

• Un alignement de séquences réalisé par ClustalW entre deux protéines

• Calculer la valeur d’une solution optimale du plus petit au plus grand sous-problème.. • Construire une solution optimale à partir des informations

– Optimisation en temps: calculer la table autour d’une bande.. Temps et espace O(kn) où k est

• La plus grande valeur V(i,j) est le score du meilleur alignement local.. Alignement

• Alignement local: Plus long chemin entre n’importe quelles arêtes (i,j) et (i’, j’) du graphe d’édition.. • Quelle mesure

global, c'est-à-dire entre les deux séquences sur toute leur longueur local, entre une séquence et une partie d’une autre séquence.. Similarité global

En bioinformatique, la comparaison de séquences ADN deux à deux doit permettre de trouver des homologies c’est-à-dire comment les séquences ont muté à travers les espèces