Alignement de séquences Principes et méthodes

Post on 15-Oct-2021

12 views 0 download

Transcript of Alignement de séquences Principes et méthodes

1

Alignement de séquencesPrincipes et méthodes

Karim MezhoudIr. agronome

PhD. Toxicologie, Protéomique, Bioinformatique

Centre national des Sciences et Technologies NucléairesSidi Thabet – Tunis

2

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.

Pourquoi analyser des séquences?

3

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

4

Qu'est ce qu'une séquence

>gi|15805103|ref|NP_293788.1| ABC transporter, ATP­binding protein [Deinococcus radiodurans R1]MTAAAPALSLRGLSKAFGAVQAVGDVSLEVQAGETLALLGPSGCGKSTVLRSVAGLERPDAGQVLVGGRDVTALPPEARHLGLVFQDYALFPHLSVLDNVAYGPRRRGSSRPDAAQQAREALALVGLSEHERRLPAQLSGGQQQRVALARALATRSPLLLLDEPLSNLDEKLRSELRHDLRGLFGQLGAGVLLVTHDQREALALAHRVAVMRAGHVVQEGAAADLFARPATAWVAEFLGWTNVFAHPQVSGQALLVPESAVQLGAGGELLRVLSRQRSETGETVTLAHPLGPLTLSLSPREAAAASGDELRLTVPSAALLQVPDDREG

http://www.ncbi.nlm.nih.gov/

5

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: Substitution3.L'une des position est un espace: Insertion/ délétion

Identité Substitution Insertion DélétionIndel 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 .)

6

Analyse de séquences: Quels domaines d'application?

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

7

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.

Homologies de séquences = Homologies fonctionnelles ?

8

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

9

Matrice de comparaisonPremiè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...

10

Matrice de comparaisonDeuxiè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

11

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

Matrice PAM250: Probability of Acceptable Mutations

there is a 13% probability that a position containing Ala in the first sequence will contain Ala in the second

12

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)

13

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)]

14

BLOSUM62

Calculer à partir de 2000 blocs identiques à plus de 62%

15

Évaluer un alignement d'AA

16

É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 le cœur du repliement

17

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.

18

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.

19

Types d'alignement

Global alignments cannot end in gaps.)

20

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

Score d'homologie Score de distance

Identité +1 0

Mismatch -1 +1

Indel -2 +2

Exemple de systèmes de scores (ADN)

21

Programmation dynamique

Création d’une table indexée par les deux séquencesCase (i, j) : score alignement entre les j premères bases de ACT GT AAT G et

les i premères bases de ACGGCT AT C

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

22

Programmation dynamiqueDéfinitions : comment remplir le tableau des scores

23

Programmation dynamique

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

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

24

Programmation dynamique

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

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

25

Programmation dynamique

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

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

26

Programmation dynamique

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

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

27

Programmation dynamique

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

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

28

Programmation dynamique

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

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

29

Programmation dynamique

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

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

30

Programmation dynamique

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

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

31

Programmation dynamique

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

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

32

Programmation dynamique

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

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

33

Programmation dynamique

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

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

34

Programmation dynamique

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

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

35

Programmation dynamique

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

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

36

Programmation dynamique

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

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

37

Programmation dynamique

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

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

38

Programmation dynamique

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

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

39

Programmation dynamique

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

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

40

Programmation dynamique

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

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

41

Programmation dynamique

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

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

42

Programmation dynamique

Coûts : s(a,b) = -1 avec a ≠ b et 2 sinon ; g = -1Case (9,9) : score de l'alignement global entre les deux séquences

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

43

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.

44

Programmation dynamique0 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

C

45

Programmation dynamique0 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|  T C

46

Programmation dynamique0 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| |  A T C

47

Programmation dynamique0 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  | |  ­ A T C

48

Programmation dynamique0 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|   | |  T ­ A T C

49

Programmation dynamique0 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  |   | |  C T ­ A T C

50

Programmation dynamique0 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|   |   | |  G C T ­ A T C

51

Programmation dynamique0 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 G G C T ­ A T C

52

Programmation dynamique0 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 8A C T G ­ T A A T G| |   |   |   | |  A C G G C T ­ A T C

      2  2 ­1  2 ­1  2 ­1  2 2  ­1  = 8

A C T ­ G ­ T A A T G|       |   |   | |  A ­ C G G C T ­ A T C

 4 =   2 ­1 ­1 ­1 2 ­1  2 ­1  2 2  ­1  

53

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: AGGTTGCY: AGGTC Alignement global

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)

Le coût d'un alignement avec un gap est de -1

+1 si id.0 si sub.

(-1)

(-1)

54

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.

55

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é.

56

Les méthodes Heuristiques rapidesutilisé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.

Dot-plot de deux séquencesPar la méthode heuristique

FASTA

http://www.ncbi.nlm.nih.gov/guide/

57

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

58

BLAST output

59

E-Value

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

Score = 4084 E-value = 5On 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.

60

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 les séquences. Mais, il ne faut jamais se fier uniquement à la E-Value

61

BLAST: Basic Local Alignment Search Tool

62

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

63

Procédure de la recherche

64

PSSM & PSI-BLAST

65

Multiple sequences Alignment (MSA)

66

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.

Multiple sequences Alignment (MSA)

a(S1, S2 )

a(S2, S3)

a(S1, S3)

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

(-,-) = 0

67

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

68

ClustalW

69

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