Introduction à la bioinformatique - univ-angers.fr · 2017. 5. 16. · Introduction à la...

196
Introduction à la bioinformatique Cours de Matthieu Basseur Modifié par Marc Legeay

Transcript of Introduction à la bioinformatique - univ-angers.fr · 2017. 5. 16. · Introduction à la...

  • Introduction à la bioinformatique

    Cours de Matthieu Basseur

    Modifié par Marc Legeay

  • 2

    Sommaire

    Introduction à la bioinformatique

    Notions de base

    Alignement 2 à 2 de séquences

    Alignement multiple de séquences

    Phylogénie

  • 3

    Sommaire

    Introduction à la bioinformatique

    Bio-informatique?

    Notions de biologie moléculaire

    Notions de base

    Alignement 2 à 2 de séquences

    Alignement multiple de séquences

    Phylogénie

  • 4

    Bioinformatique ?

    Champ de recherche multi-disciplinaire

    où travaillent de concert biologistes, informaticiens, mathématiciens, physiciens, chimistes…

    objectif : résoudre un problème scientifique posé par la biologie.

    Décrit également (par abus de langage) toutes les applications

    informatiques résultant de ces recherches.

    l'analyse du génome

    modélisation de l'évolution d'une population animale,

    modélisation moléculaire,

    analyse d'image,

    séquençage du génome,

    reconstruction d'arbres phylogénétiques (phylogénie)…

    Cette discipline constitue la « biologie in silico », par analogie

    avec in vitro ou in vivo.

  • 5

    Biologie moléculaire (cf. wikipedia) ?

    La biologie moléculaire est une discipline scientifique au croisement de la génétique, de la biochimie et de la physique, dont l'objet est la compréhension des mécanismes de fonctionnement de la cellule au niveau moléculaire. Le terme « biologie moléculaire », utilisé la première fois en 1938 par Warren Weaver, désigne également l'ensemble des techniques de manipulation d'acides nucléiques (ADN, ARN), appelées aussi techniques de génie génétique.

    La biologie moléculaire est apparue au XXe siècle, à la suite de l'élaboration des lois de la génétique, la découverte des chromosomes et l'identification de l'ADN comme support chimique de l'information génétique.

    Après la découverte de la structure en double hélice de l'ADN en 1953 par James Watson (1928- ), Francis Crick (1916-2004), Maurice Wilkins (1916-2004) et Rosalind Franklin (1920-1958) la biologie moléculaire a connu d'importants développements pour devenir un outil incontournable de la biologie moderne à partir des années 1970.

  • 6

    Corps – cellules - atomes

    Chaque diagramme représente une image grossie d’un facteur 10 de la précédente :

    Un doigt La peau Cellules de la peau Structure des cellules Structure d’une mitochondrie Structure d’un ribosome Structure de 2 protéines Les protéines sont constituées d’atomes

  • 7

    La cellule

    1. Nucléole 2. Noyau 3. Ribosome 4. Vésicule 5. Réticulum endoplasmique rugueux (granuleux) 6. Appareil de Golgi 7. Microtubule

    8. Réticulum endoplasmique lisse 9. Mitochondrie 10. Vacuole 11. Cytoplasme 12. Lysosome 13. Centrosome

  • 8

    Les chromosomes

    L’ information génétique est contenue dans les chromosomes situés dans le noyau des cellules* Chaque cellule d’un être humain comporte 23 paires de chromosomes Un chromosome est constitué de molécules d'ADN

    * chez les eucariotes seulement. Pour les organismes procaryotes (organismes unicellulaires), les chromosomes se trouvent dans le cytoplasme.

  • 9

    ADN

    ADN est l'abréviation d'acide désoxyribonucléique : contient sous forme codée toutes les informations relatives à la vie d'un

    organisme vivant, du plus simple au plus complexe, animal, végétal, bactérien, viral.

    La fonction de l'ADN est de fabriquer les protéines dont l'organisme a besoin. Les protéines ainsi formées ont différentes fonctions que l'on peut simplifier en les ramenant à deux essentielles :

    l'autonomie de l'organisme (sa croissance, sa défense)

    sa reproduction

    L'ADN contient donc toutes les informations susceptibles de créer et de faire vivre un organisme. Si le contenu de la molécule d’ADN humaine était mise sous forme d'une

    encyclopédie, il faudrait à peu près 500 volumes de 800 pages chacun.

    Si on étend entièrement l’ADN humain, il mesure + de 1,2 mètre

  • 10

    ADN : Taille des génomes

    Mycoplasma genitalium : 0,6 Mb

    Escherichia coli : 4,7 Mb

    Saccharomyces. cerevisiae : 13,5 Mb

    C. elegans : 100 Mb

    Amoeba dubia : 700 000 Mb

    Fugu rubripes : 400 Mb

    Homo sapiens : 3400 Mb

    Amphibiens : 100 000 Mb

    Procaryotes

    Eucaryotes

  • 11

    ADN

    Une molécule d'ADN se présente sous la forme d'une double hélice enroulée

    macromolécule de millions/milliards d'atomes. C'est un motif identique tout le temps répété contenant :

    des phosphates

    des sucres (désoxyribose)

    des bases azotées

    Cas du corps humain

    Dans l'ensemble des 23 paires de chromosomes, on compte à peu près trois milliards de bases azotées

    L’ADN humain est composée de 150 milliards d’atomes

  • 12

    ADN

    Différenciation des motifs : nature de la base azotée

    Le sucre et le phosphate ne sont pas variables

    4 bases azotées :

    Adénine (A) A C G T

    Cytosine (C)

    Guanine (G)

    Tyrosine(T)

    Propriétés :

    Support de l'hérédité (par réplication)

    Peut subir des modifications (mutations)

    Naturelles, ou via des facteurs mutagènes (radioactivité, UVs...)

    Recombinaisons génétiques (reproduction sexuée, transformation génétique de bactéries ou artificiellement - OGMs)

  • 13

    ADN → Protéines

    Par interaction avec l'environnement, l'ADN se transforme en

    protéines :

    La transcription, transfert de l'ADN vers une autre molécule, l'ARN

    La traduction, transfert depuis l'ARN vers des protéines

    L'activité des protéines détermine l'activité des cellules

    qui vont ensuite déterminer le fonctionnement des organes et de l'organisme

    Traduction de l’ADN en protéine :

    Les quatre lettres A, C, G et T s'associent en mots de trois lettres (GGA,

    CTA...) pour former un codon. Des ribosomes décodent ces codons en

    acides aminés combinées pour former des protéines

  • 14

    ADN → Protéines

  • 15

    ADN → Acides aminés

    20 Acides aminés : Acide aspartique Acide glutamique Alanine Arginine Asparagine Cystéine Glutamine Glycine Histidine Isoleucine Leucine Lysine Phénylalanine Proline Sérine Thréonine Tryptophane Tyrosine Valine Méthionine/Start

    Stop

  • 16

    ADN → Acides aminés

    Acides aminés : codes à 1 et 3 lettres

    Acide aspartique (D, Asp)

    Acide glutamique (E, Glu)

    Alanine (A, Ala)

    Arginine (R, Arg)

    Asparagine (N,Asn)

    Cystéine (C, Cys)

    Glutamine (Q, Gln)

    Glycine (G, Gly)

    Histidine (H, His)

    Isoleucine (I, Ile)

    Codon Stop : marque la fin de la traduction d'un gène en protéine. Il n'est en général

    jamais traduit car il n'existe pas d'ARN de transfert correspondant (il existe 2 acides

    aminés supplémentaires, la sélénocystéine et la pyrrolysine qui sont insérés lorsqu'un

    codon STOP particulier est rencontré).

    Leucine (L, Leu)

    Lysine (K, Lys)

    Méthionine (M, Met)

    Phénylalanine (F, Phe)

    Proline (P, Pro)

    Sérine (S, Ser)

    Thréonine (T, Thr)

    Tryptophane (W, Trp)

    Tyrosine (Y, Tyr)

    Valine (V, Val)

  • 17

    Structure des protéines

    La structure des protéines est la composition en acides aminés et la

    conformation en trois dimensions des protéines. Elle décrit la position relative

    des différents atomes qui composent une protéine donnée.

    Structure primaire : succession linéaire des acides aminés la constituant

    Structure secondaire : décrit le repliement local de la chaîne principale d'une

    protéine. 2 structures principales : hélice alpha et feuillet beta.

    Gly-Ile-Val-Glu-Gln-Cys-Cys-Ala-Ser-Val-Cys-Ser

    Helice

  • 18

    Structure des protéines

    Structure tertiaire : correspond au repliement de la chaîne

    polypeptidique dans l'espace (structure 3D).

    La structure 3D d'une protéine est

    intimement liée à sa fonction : lorsque

    cette structure est cassée, la protéine

    perd sa fonction (elle est dénaturée)

    Structure quaternaire : regroupe l'association

    d'au moins deux chaînes polypeptidiques

    (structure 3D + liens internes).

  • 19

    Séquençage de l’ADN

    Séquençage de l’ADN :

    Consiste à déterminer l'ordre d'enchaînement des nucléotides d’un fragment d’ADN donné

    Techniques de séquençage apparues fin des années 70 (séquenceurs automatiques : années 90)

    Méthodes de Sanger et de Gilbert Prix nobel de chimie en 1980

    Sanger (UK) : Synthèse enzymatique sélective

    Gilbert (USA) : Dégradation chimique sélective

    Méthode de Sanger souvent utilisée actuellement

    méthode de Gilbert : limites de taille, toxicité, difficile à mettre en œuvre

    premier organisme séquencé en 1977 : virus bactériophage X174

  • 20

    Séquençage de l’ADN

    Séquencage d’un génome complet : Séquencage de fragments

    Reconstitution du génome complet par alignement des séquences

    Séquençage du génome humain : Décidé en 1980, initié en 1987 avec 400 marqueurs connus, soit 1/10

    Mb

    Réalisé chromosome par chromosome Chromosome 22 publié en 1999

    Chromosome 21 publié en 2000

    Ébauche du génome humain en Juin 2000

    Séquence complète publiée en avril 2003

    Actuellement Séquençage d’autres espèces (souris, chimpanzé…)

    Bactéries, microbes, végétaux etc…

  • 21

    Sommaire

    Introduction à la bioinformatique

    Notions de base

    Alignement 2 à 2 de séquences

    Alignement multiple de séquences

    Phylogénie

  • 22

    Vocabulaire - récapitulatif

    Les êtres humains sont composés de cellules dans le noyau desquelles se trouvent les chromosomes constitués d'ADN - cet ADN défini des gènes

    L'information de l'ADN est contenue dans une suite de bases azotées (composée de quatre lettres A, T, C et G)

    Un codon est composé de 3 bases azotées

    Un codon peut être traduit en un acide aminé

    En assemblant plusieurs acides aminés, on obtient des protéines

    Les gènes représente l'ADN qui spécifie une unité d'information génétique (≠protéines)

    Les chromosomes sont constitués de gènes

    L'ensemble des chromosomes d'un individu est le génome

  • 23

    Définitions - Alphabet

    Alphabet

    Définition : un alphabet Σ est un ensemble fini de symboles distincts {a0,

    a1, …, an}. Dans le cas de séquences d'ADN ou d'acides aminés on définit

    a0 comme étant le symbole vide ou gap et est représenté par le

    caractère « - »

    Alphabet de l’ADN (bases azotées)

    L’alphabet des molécules d’ADN est composé de 5 symboles: ΣADN =

    {−,A,C,G,T}

    {−,A,C,G,T} représentent respectivement un gap, l’Adénine, la Cytosine,

    la Guanine et la Thymine

    Alphabet des Acides aminés

    L’alphabet des acides aminés est composé de 21 symboles

    ΣAA ={−,A,C,D,E,F,G,H,I,K,L,M,N,P,Q,R,S,T,V,W,Y} qui représentent les

    différents acides aminés

  • 24

    Définitions - Séquences

    Séquence : On appelle séquence S une suite ordonnée de

    caractères S = pris dans un alphabet

    On note |S| = n la longueur de la séquence

    Sous-séquence : Soit S une séquence de longueur n. On appelle

    sous-séquence de S toute partie de S composée d’un ensemble

    de caractères consécutifs de S

    On notera S[i..j] avec 1 ≤ i ≤ j ≤ n, la sous-séquence

    . En particulier S[i..i] = S[i] =

    Préfixe d’une séquence : Soit S une séquence de longueur n. On

    appelle préfixe de S toute sous-séquence S[1..p] de longueur p

    telle que 1 ≤ p < n

  • 25

    Généralités – événement mutationnel

    On part du postulat que l’ensemble des espèces actuelles se

    sont différenciées au fil du temps grâce à des événements

    mutationnels

    3 événements mutationnels élémentaires

    substitution

    insertion

    délétion

    La réalité est sensiblement plus complexe :

    Substitution/insertion/délétion par bloc

    probabilités différentes pour chaque événement mutationnel

    Taux de mutation sensible aux conditions extérieures…

    AGACT AGATT

    AGACT AGACAT

    AGACT AGAT

  • 26

    Sommaire

    Introduction à la bioinformatique

    Notions de base

    Alignement 2 à 2 de séquences

    Introduction / Score d’un alignement

    Formulation / Résolution exacte

    Alignement global : Needlemann-Wunsch

    Alignement local : Smith-Waterman

    Modèles de gaps : autres alignements 2 à 2

    Alignement multiple de séquences

    Phylogénie

  • 27

    Alignement de séquences

    Alignement de séquences d'ADN (ou d’acides aminés) :

    opération de base en bio-informatique qui a pour but d'identifier des

    zones conservées entre séquences.

    Utilité de l'alignement :

    identifier des sites fonctionnels

    prédire la ou les fonctions d'une protéine

    prédire la structure secondaire (voire tertiaire ou quaternaire) d'une

    protéine

    établir une phylogénie (évolution: parenté entre les organismes)

    CAGCA-CTTGGATTCT-GG

    CAGC---TTG--TACTCGG

  • 28

    Alignement de séquences

    On distingue 2 types d'alignements qui diffèrent suivant leur complexité :

    l'alignement par paires : consiste à aligner 2 séquences peut être réalisé grâce à

    un algorithme de complexité polynomiale. Il est possible de réaliser un

    alignement :

    global, c'est à dire entre les 2 séquences sur toutes leurs longueurs

    local entre une séquence et une partie de l'autre séquence

    l'alignement multiple, qui est un alignement global : consiste à aligner plus de 2

    séquences et nécessite un temps de calcul et un espace de stockage exponentiel

    en fonction de la taille des données

    Alignement de genres différents :

    Alignement de séquences d’ADN

    Alignement de séquences

    d’acides aminés

    CAGCACTTGGATTCT-GG---

    CAGC--TTG--TACTCGGATT

    RDI--SLVKNA---GIVNADI

    RNILVS---DAKNVGIVN-DI

  • 29

    Alignement de séquences

    Alignement = Mise en correspondance de deux séquences (ADN

    ou protéines)

    3 événements mutationnels élémentaires

    substitution

    insertion

    délétion

    Score d'une opération

    substitution : score de similarité

    indel : pénalité

    Le score de l'alignement est la somme des scores élémentaires

    indel

    AGACT AGATT

    AGACT AGACAT

    AGACT AGAT

  • 30

    A C C G A T G A

    A C – G C T - A

    Somme des paires

    Le score d'un alignement par paires A(S1,S2) est donné par une formule w de somme des paires :

    Exemple (Mismatch: -1, Match: 3, Indel: -2) :

    A C C G A T G A

    A C – G C T - A

    3 +3 -2 +3 -1 +3 -2 +3 = 10

  • 31

    A G T T G T T C

    T G – G G T A C

    A G T T G T T C

    T G – G G T A C

    -1 +5 -4 -2 +5 +7 -1 +5 = 14

    Somme des paires

    Exemple (Mismatch: -1, Match: 2, Indel: -4) :

    Exemple (matrice de substitution) :

    Favorise les mutations AT et GC

    Favorise le match du nucléotide T

    A G T T G T T C

    T G – G G T A C

    A G T T G T T C

    T G – G G T A C

    -1 +2 -4 -1 +2 +2 -1 +2 = 1

    - A C G T

    - -4 -4 -4 -4

    A -4 5 -2 -2 -1

    C -4 -2 5 -1 -2

    G -4 -2 -1 5 -2

    T -4 -1 -2 -2 7

  • 32

    Alignement de séquences

    2 séquences plusieurs alignements possibles

    Bon/mauvais alignement ? matrices de substitutions

    Exemple :

    Mismatch : -1

    Match : 2

    Indel : -2

    CAGC----ACTTGGATTCTGG

    CAGCTTGTACTCGGATT----

    CAGCACTTGGATTCT-GG---

    CAGC--TTG--TACTCGGATT

    CAGCACTTGGATTCTGG---

    CAGC--TTGTACTC-GGATT

    7 7

    10

    - A C G T

    - -2 -2 -2 -2

    A -2 2 -1 -1 -1

    C -2 -1 2 -1 -1

    G -2 -1 -1 2 -1

    T -2 -1 -1 -1 2

  • 33

    Matrices de substitution

    Matrices nucléiques

    Il existe peu de matrices pour les acides nucléiques car il n'y a que 5 lettres pour leur alphabet

    La plus fréquemment utilisée est la matrice dite unitaire (ou matrice identité) où toutes les bases sont considérées comme équivalentes

    Matrices des acides aminés : beaucoup plus complexe !

    Pam [1978], Blosum [1992], Gonnet [1992]…

    Basées sur: nombres de mutation nécessaires pour changer d’acide aminé, propriétés physico-chimiques, évolution…

    Page d'Emmanuel Jaspard sur les matrices de substitution

    Match : 1 Mismatch : 0 Indel : 0

    - A C G T

    - 0 0 0 0

    A 0 1 0 0 0

    C 0 0 1 0 0

    G 0 0 0 1 0

    T 0 0 0 0 1

    http://ead.univ-angers.fr/~jaspard/Page2/BIOINFORMATIQUE/7ModuleBioInfoJMGE/99Matrice/1Matrice.htm

  • 34

    Formulation

    ■ Définition : Alignement par paire

    – Soit un alphabet Σ

    – Soit S = {S1, S2} 2 séquences de caractères de Σ

    – Un alignement de S, noté A(S1, S2) est une matrice 2*q

    • Chaque élément au,v de la matrice a est défini dans Σ

    • q est plus grand que la plus grande des séquences et plus petit que la somme des tailles des séquences

    • Les séquences {a1,1, a1,2,..., a1,q} et {a2,1, a2,2,..., a2,q} dans laquelle on supprime les gaps correspondent à S1 et S2

    ■ Formulation : Problème d'alignement par paire

    – Soient deux séquences S1 et S2 et une matrice de score w, le problème d'alignement par paires consiste à déterminer un alignement de coût optimal selon w

  • 35

    Résolution exacte

    Alignement de deux séquences de longueur n :

    Algorithme de Needleman-Wunsch 1970 : A general method applicable to the search for similarities in the amino

    acid sequence of two proteins, J Mol Biol. 48(3):443-453

    effectue un alignement global de deux séquences, de manière optimale

    première application de la programmation dynamique pour la comparaison de séquences biologiques

    (Énumération exhaustive rapidement impossible)

    Longueur des séquences 1 2 3 4 5 6

    # alignements 3 13 63 321 1683 8527

  • 36

    Programmation dynamique - exemple

    Suite de Fibonacci :

    – La suite de Fibonacci est donnée par la formule récurrente :

    • Fib(0) = 0

    • Fib(1) = 1

    • Fib(n) = Fib(n-1) + Fib(n-2)

    – Pour calculer Fib(n) on peut définir naturellement un algorithme récursif :

    fonction Fib(n : entier) : entier

    debut

    si n

  • Programmation dynamique - exemple

    24 appels récursifs pour Fib(6) – 40 pour 7, 66 pour 8…

    Calculs redondants (exponentiels en fonction de n) Il faut stocker les résultats intermédiaires

    6

    5 4

    4 3 3

    3 2

    1

    0 2 2

    2

    2 1 1

    1

    1

    1 1

    0 0 0

    1 0 37

  • 38

    Programmation dynamique - exemple

    On enregistre les valeurs de Fib(n) une fois calculées

    – il suffit d'évaluer les Fib(n) dans l'ordre croissant des n

    fonction Fib(n : entier) : entier

    debut

    tab[0] = 0;

    tab[1] = 1;

    pour i = 2 à n faire

    tab[i] = tab[i-1] + tab[i-2];

    fpour

    retour tab[n];

    fin

    → Calcul de Fib(n) en temps linéaire !

  • 39

    Algorithme de Needleman-Wunsch

    Méthode : Programmation dynamique

    Un algorithme de programmation dynamique procède en réduisant le problème en plusieurs instances plus petites, elles-mêmes résolues par décomposition

    Les résultats des calculs intermédiaires sont stockés dans une table

    La solution est ensuite construite à partir de la table, en remontant celle-ci

    Ici :

    calculs intermédiaires = scores d'alignements entre préfixes des séquences

  • 40

    Algorithme de Needleman-Wunsch

    Recherche de Sim(i,j), alignement de score optimal entre les séquences U(1..i) et V(1..j)

    Formule de récurrence :

    Exemple : aligner CAGCTTA avec CGCCTAA CAGC?

    C-GC?

    CAGCT

    C-GCC

    CAGCT

    C-GC-

    CAGC-

    C-GCC ou ou

  • 41

    Algorithme de Needleman-Wunsch

    - A C C G A T G A

    -

    A

    C

    G

    C

    T

    A

    Étape 1 : création d’une table indexée par deux séquences

    Case(i,j) : score maximal entre les i premières bases de ACCGATGA et les j premières bases de ACGCTA

    Score maximal entre ACCG et AC

  • 42

    Algorithme de Needleman-Wunsch

    - A C C G A T G A

    - 0 0 0 0 0 0 0 0 0

    A 0

    C 0

    G 0

    C 0

    T 0

    A 0

    Initialisation (utilisation de la matrice de substitution identité)

    Étape 2 : première ligne / première colonne triviales

  • 43

    Algorithme de Needleman-Wunsch

    - A C C G A T G A

    - 0 0 0 0 0 0 0 0 0

    A 0 1 1 1 1 1 1 1 1

    C 0

    G 0

    C 0

    T 0

    A 0

    Remplissage ligne par ligne (formule de récurrence)

    Étape 3 : on rempli grâce aux formules de récurrence

  • 44

    Algorithme de Needleman-Wunsch

    - A C C G A T G A

    - 0 0 0 0 0 0 0 0 0

    A 0 1 1 1 1 1 1 1 1

    C 0 1 2 2 2 2 2 2 2

    G 0

    C 0

    T 0

    A 0

    Remplissage ligne par ligne (formule de récurrence)

    Étape 3 : on rempli grâce aux formules de récurrence

  • 45

    Algorithme de Needleman-Wunsch

    - A C C G A T G A

    - 0 0 0 0 0 0 0 0 0

    A 0 1 1 1 1 1 1 1 1

    C 0 1 2 2 2 2 2 2 2

    G 0 1 2 2 3

    C 0

    T 0

    A 0

    Remplissage ligne par ligne (formule de récurrence)

    Étape 3 : on rempli grâce aux formules de récurrence

    2+indel

    3+indel

    2+match

  • 46

    Algorithme de Needleman-Wunsch

    - A C C G A T G A

    - 0 0 0 0 0 0 0 0 0

    A 0 1 1 1 1 1 1 1 1

    C 0 1 2 2 2 2 2 2 2

    G 0 1 2 2 3 3

    C 0

    T 0

    A 0

    Remplissage ligne par ligne (formule de récurrence)

    Étape 3 : on rempli grâce aux formules de récurrence

    2+0

    3+0

    2+0

  • 47

    Algorithme de Needleman-Wunsch

    - A C C G A T G A

    - 0 0 0 0 0 0 0 0 0

    A 0 1 1 1 1 1 1 1 1

    C 0 1 2 2 2 2 2 2 2

    G 0 1 2 2 3 3 3 3 3

    C 0

    T 0

    A 0

    Remplissage ligne par ligne (formule de récurrence)

    Étape 3 : on rempli grâce aux formules de récurrence

  • 48

    Algorithme de Needleman-Wunsch

    - A C C G A T G A

    - 0 0 0 0 0 0 0 0 0

    A 0 1 1 1 1 1 1 1 1

    C 0 1 2 2 2 2 2 2 2

    G 0 1 2 2 3 3 3 3 3

    C 0 1 2 3 3 3 3 3 3

    T 0 1 2 3 3 3 4 4 4

    A 0 1 2 3 3 4 4 4 5

    Remplissage ligne par ligne (formule de récurrence)

    Étape 3 : on rempli grâce aux formules de récurrence

  • 49

    Algorithme de Needleman-Wunsch

    Résultat : AC-CGATGA

    ACGC--T-A

    ACCGATGA

    AC-GCT-A

    Étape 4 : recherche d'un chemin des scores correspondant

    - A C C G A T G A

    - 0 0 0 0 0 0 0 0 0

    A 0 1 1 1 1 1 1 1 1

    C 0 1 2 2 2 2 2 2 2

    G 0 1 2 2 3 3 3 3 3

    C 0 1 2 3 3 3 3 3 3

    T 0 1 2 3 3 3 4 4 4

    A 0 1 2 3 3 4 4 4 5

  • 50

    Algorithme de Needleman-Wunsch

    Résultat : AC-CGATGA

    ACGC--T-A

    ACCGATGA

    AC-GCT-A

    Étape 4 : recherche d'un chemin des scores correspondant

    - A C C G A T G A

    - 0 0 0 0 0 0 0 0 0

    A 0 1 1 1 1 1 1 1 1

    C 0 1 2 2 2 2 2 2 2

    G 0 1 2 2 3 3 3 3 3

    C 0 1 2 3 3 3 3 3 3

    T 0 1 2 3 3 3 4 4 4

    A 0 1 2 3 3 4 4 4 5

  • 51

    Algorithme de Needleman-Wunsch

    Étape 4 : construction de l’alignement

    Sur le chemin des score construit, on regarde quelle opération correspond

    Remarques :

    En général plusieurs chemins sont possibles

    On peut construire un chemin en ‘descendant’ le tableau (mais pas tous)

    insertion délétion substitution

    ou identité

  • 52

    Algorithme de Needleman-Wunsch

    Complexité de l’algorithme

    Pour le calcul du score d'alignement (étape 1) :

    O(n * m) en temps

    O(min(n,m)) en espace

    Pour la construction de l'alignement (étapes 1, 2 et 3) :

    O(n * m) en temps et en espace

    (il existe un algorithme pour optimiser la construction de

    l'alignement, avec espace en O(n). [Myers&Millers – 1988])

  • 53

    Algorithme de Needleman-Wunsch

    Sensibilité aux paramètres

    Exemple 1 : match 2, mismatch -1, indel –1

    Exemple 2 : match 1, mistmatch -1, indel -2

    L'alignement optimal dépend de la matrice de similarité et des pénalités pour les indels

    ACGGCT-ATC

    ACTG-TAATG

    ACGGCTATC

    ACTGTAATG

    alignement optimal

    alignement optimal

  • 54

    Exemple 2

    Calcul de l’alignement optimal entre la séquence ACCGATGA et la séquence ACGCTA :

    Même séquences que pour le premier exemple

    Matrice de substitution, pénalités

    Le fonctionnement de l’algorithme ne change pas !

    Match : 2 Mismatch : -1 Indel : -2

    - A C G T

    - -2 -2 -2 -2

    A -2 2 -1 -1 -1

    C -2 -1 2 -1 -1

    G -2 -1 -1 2 -1

    T -2 -1 -1 -1 2

  • 55

    Exemple 2

    - A C C G A T G A

    - 0 -2 -4 -6 -8 -10 -12 -14 -16

    A -2

    C -4

    G -6

    C -8

    T -10

    A -12

    Initialisation

  • 56

    Exemple 2

    Remplissage ligne par ligne (formule de récurrence)

    - A C C G A T G A

    - 0 -2 -4 -6 -8 -10 -12 -14 -16

    A -2 2 0 -2 -4 -6 -8 -10 -12

    C -4

    G -6

    C -8

    T -10

    A -12

    Étape 3 : on rempli grâce aux formules de récurrence

  • 57

    Exemple 2

    Remplissage ligne par ligne (formule de récurrence)

    - A C C G A T G A

    - 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

    G -6 -2 2 3 4 2 0 -2 -4

    C -8 -4 0 4 2 3 1 -1 -3

    T -10 -6 -2 2 3 1 5 3 1

    A -12 -8 -4 0 1 5 3 4

    Étape 3 : on rempli grâce aux formules de récurrence

    1+indel

    4+indel

    3+match

  • 58

    Exemple 2

    Remplissage ligne par ligne (formule de récurrence)

    - A C C G A T G A

    - 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

    G -6 -2 2 3 4 2 0 -2 -4

    C -8 -4 0 4 2 3 1 -1 -3

    T -10 -6 -2 2 3 1 5 3 1

    A -12 -8 -4 0 1 5 3 4 5

    Étape 3 : on rempli grâce aux formules de récurrence

    1-2

    4-2

    3+2

  • 59

    Exemple 2

    Remplissage ligne par ligne (formule de récurrence)

    - A C C G A T G A

    - 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

    G -6 -2 2 3 4 2 0 -2 -4

    C -8 -4 0 4 2 3 1 -1 -3

    T -10 -6 -2 2 3 1 5 3 1

    A -12 -8 -4 0 1 5 3 4 5

    Étape 3 : on rempli grâce aux formules de récurrence

  • 60

    Exemple 2

    - A C C G A T G A

    - 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

    G -6 -2 2 3 4 2 0 -2 -4

    C -8 -4 0 4 2 3 1 -1 -3

    T -10 -6 -2 2 3 1 5 3 1

    A -12 -8 -4 0 1 5 3 4 5

    Résultat : ACCGATGA

    AC-GCT-A

    ACCGATGA

    A-CGCT-A

    Étape 4 : on cherche un chemin

  • - A C C G A T G A

    -

    A

    C

    G

    C

    T

    A

    Exemple 2

    Étape 4 : calcul préalable d’une matrice de direction

    Résultat : ACCGATGA

    AC-GCT-A

    ACCGATGA

    A-CGCT-A

    61

  • 62

    Calcul de la matrice des directions Dir est obtenue par les formules suivantes :

    – Initialisation :

    • Dir[0,0] = x

    • Dir[i,0] = pour tout i de 1 à N

    • Dir[0,j] = pour tout j de 1 à P

    – Calcul des directions :

    • Dir[i,j] = Union

    – si M[i,j] = M[i-1,j-1] + w(xi,yj)

    – si M[i,j] = M[i-1,j] + w(xi,-)

    – si M[i,j] = M[i,j-1] + w(-,yj)

    Exemple 2

  • 63

    Alignement d’acides aminés

    Matrices de substitution des acides aminés

    Pam [1978], Blosum [1992]…

    Basées sur : nombres de mutation nécessaires pour changer d’acide aminé, propriétés physico-chimiques, évolution…

    Exemple : BLOSUM62 (indel : -4)

  • 64

    Exercice

    Séquences ADN :

    Aligner les séquences ADN suivantes :

    ACGGATTACG

    CGCGTATTG

    Match 2, Mismatch -2, Indel -3

    Séquences protéiques :

    Aligner les séquences protéiques suivantes :

    STRLPTF

    SRAGDVPY

    Matrice BLOSUM62 (Indel -4)

  • 65

    Exercice : correction

    - A C G G A T T A C G

    - 0 -3 -6 -9 -12 -15 -18 -21 -24 -27 -30

    C -3 -2 -1 -4 -7 -10 -13 -16 -19 -22 -25

    G -6 -5 -4 1 -2 -5 -8 -11 -14 -17 -20

    C -9 -8 -3 -2 -1 -4 -7 -10 -13 -12 -15

    G -12 -11 -6 -1 0 -3 -6 -9 -12 -15 -10

    T -15 -14 -9 -4 -3 -2 -1 -4 -7 -10 -13

    A -18 -13 -12 -7 -6 -1 -4 -7 -2 -5 -8

    T -21 -16 -15 -10 -9 -4 1 -2 -5 -8 -11

    T -24 -19 -18 -13 -12 -7 -2 3 0 -3 -6

    G -27 -22 -21 -16 -11 -10 -5 0 1 -2 -1

    -ACGGATTACG

    CGCGTATT--G

    A-CGGATTACG

    CGCGTATT--G

    ACG-G-ATTACG

    -CGCGTATT--G

  • 66

    Exercice : correction

    - S T R L P T F

    - 0 -4 -8 -12 -16 -20 -24 -28

    S -4 4 0 -4 -8 -12 -16 -20

    R -8 0 3 5 1 -3 -7 -11

    A -12 -4 -1 2 4 0 -4 -8

    G -16 -8 -3 -2 0 2 1 -3

    D -20 -12 -7 -5 -4 -1 3 -1

    V -24 -16 -11 -9 -4 -5 -1 2

    P -28 -20 -15 -13 -8 3 -1 -2

    Y -32 -24 -19 -17 -12 -1 1 2

    S--TRLPTF

    SRAGDVP-Y

    Alignement optimal :

  • 67

    Alignement global/local

    Les alignements globaux sont plus souvent utilisés quand les

    séquences mises en jeu sont similaires et de taille égale

    Alignement global :

    Les alignements locaux sont plus souvent utilisés quand deux

    séquences dissemblables sont soupçonnées de posséder des

    motifs semblables malgré l'environnement

    Alignement local :

    Remarque : Avec des séquences suffisamment identiques, il n'y

    aucune différence dans les résultats

    FTFTALILLAVAV

    F--TAL-LLA-AV

    FTFTALILLA-VAV

    --FTAL-LLAAV--

  • 68

    Algorithme de Smith et Waterman (1981)

    Cas particulier de l’alignement global : aligner un segment d’une séquence U avec un segment d’une séquence Recherche de Sim(i,j), alignement de score optimal entre les séquences

    U(a0..a1) et V(b0..b1)

    Algorithme presque inchangé ! (il suffit de remplacer les scores négatifs par 0)

    Formule de récurrence :

    Reconstruction d’un chemin optimal : Chercher la valeur maximale (d’indice minimal), puis remonter les chemins

    possible jusqu’à aboutir à 0 !

  • 69

    - T A T G C A C T A

    - 0 0 0 0 0 0 0 0 0 0

    T 0 1 1 1 1 1 1 1 1 1

    G 0 1 1 1 2 2 2 2 2 2

    A 0 1 2 2 2 2 3 3 3 3

    - T A T G C A C T A

    - X X X X X X X X X X

    T X

    G X

    A X

    TATGCACTA

    TG-A

    Alignement local : exemple

    Matrice de substitution identité :

  • 70

    Alignement local : exemple

    Matrice de substitution : match=2, mismatch=-1, indel=-3

    - A A T C C A C T G A

    - 0 0 0 0 0 0 0 0 0 0 0

    A 0 2 2 0 0 0 2 0 0 0 2

    C 0 0 1 1 2 2 0 4 1 0 0

    G 0 0 0 0 0 1 1 0 3 3 0

    A 0 2 2 0 0 0 3 0 0 2 5

    C 0 0 1 1 2 2 0 5 2 0 2

    C 0 0 0 0 3 4 1 2 4 1 0

    G 0 0 0 0 0 2 3 0 1 6 3

    T 0 0 0 2 0 0 1 2 2 3 5

    T 0 0 0 2 1 0 0 0 4 1 2

    AAT CCACTG A

    A CGACCG TT

  • 71

    Alignement local : variantes

    Beaucoup de variantes possibles : Alignement préfixes / Alignement suffixes

    Alignement préfixe+suffixe

    Alignement d’une sous séquence

    Algorithmes semblables mais différents pour chaque cas

    -ACGGATTACG

    CGCGTATT--GATTCCTACC

    GACCGGCTACCAGGATTACC

    TACCAGTATTG-C

    ACCCTTCCAGGATTG

    GTATTGAGCCTCATAA

    ACCCTTCCAGGATTGAGCCTCATAA

    GTATTG

  • 72

    Alignement par paires : Modèles de gap

    Définition : Un modèle de gap est une application de ℕℝ qui attribue un score généralement négatif (pénalité) à un ensemble de gaps consécutifs

    2 modèles traditionnels :

    Gap linéaire

    Gap affine

    n : nombre de caractères consécutifs de gap go

  • 73

    Alignement par paires : Modèles de gap

    Remarques :

    Modèle linéaire : modèle de base, vu précédemment

    Modèle affine : plus proche de la réalité, mais plus complexe à calculer

    Complexité de l’algorithme « naif » en O(n3)

    Complexité ramenée en O(n²) en utilisant des matrices stockant les résultats intermédiaires

    Gap linéaire = cas particulier du gap affine (go=ge)

    Gap Affine : ouverture de gap fortement pénalisée

    Existence de modèles plus complexes

    , algorithme en O(N²log(N))

    oe gg

  • 74

    Exemples de modèles de gap

    Gap linéaire Gap affine

    Gap logarithmique

    |gap|

    pén

    alit

    é

  • 75

    Alignement par paires avec gap affine

    En général, considérer que l'insertion d'un gap possède un coût constant ne correspond pas à un modèle réaliste

    On préfère un modèle pour lequel un gap de longueur k est plus probable que k gaps de longueur 1

    On utilise le modèle de gap affine car il n'augmente pas la complexité du problème d'alignement (O(N²))

    On utilise 4 matrices pour le calcul du meilleur alignement

    M la matrice des coûts des meilleurs alignements qui dépend des 3 autres matrices suivantes

    D la matrice des coûts des meilleurs alignements entre xi et yj,

    V la matrice des coûts des meilleurs alignements entre xi et un gap

    H la matrice des coûts des meilleurs alignements entre yj et un gap

  • 76

    Alignement par paires avec gap affine

    Initialisation :

    Calcul de M[1,1] :

  • 77

    Calcul de M[i,1] (pour tout i>1) :

    Calcul de M[1,j] (pour tout j>1) :

    Alignement par paires avec gap affine

  • 78

    Alignement par paires avec gap affine

    Calcul de M[i,j] (pour tout i,j>1) :

  • 79

    Gap affine : exemple

    Matrice D Matrice V

    Matrice M Matrice H

    - C T G A C A T

    -

    C

    T

    A

    - C T G A C A T

    -

    C

    T

    A

    - C T G A C A T

    -

    C

    T

    A

    - C T G A C A T

    -

    C

    T

    A

  • 80

    Gap affine : exemple

    Matrice D Matrice V

    Matrice M Matrice H

    - C T G A C A T

    - 0

    C

    T

    A

    - C T G A C A T

    - 0

    C

    T

    A

    - C T G A C A T

    - 0

    C

    T

    A

    - C T G A C A T

    - 0

    C

    T

    A

  • 81

    Gap affine : exemple

    Matrice D Matrice V

    Matrice M Matrice H

    - C T G A C A T

    - 0 X X X X X X X

    C X

    T X

    A X

    - C T G A C A T

    - 0 -3 -4 -5 -6 -7 -8 -9

    C X

    T X

    A X

    - C T G A C A T

    - 0 -3 -4 -5 -6 -7 -8 -9

    C -3

    T -4

    A -5

    - C T G A C A T

    - 0 X X X X X X X

    C -3

    T -4

    A -5

  • 82

    Gap affine : exemple

    Matrice D Matrice V

    Matrice M Matrice H

    - C T G A C A T

    - 0 -3 -4 -5 -6 -7 -8 -9

    C -3 4

    T -4

    A -5

    - C T G A C A T

    - 0 -3 -4 -5 -6 -7 -8 -9

    C X -6

    T X

    A X

    - C T G A C A T

    - 0 -3 -4 -5 -6 -7 -8 -9

    C -3 4

    T -4

    A -5

    - C T G A C A T

    - 0 X X X X X X X

    C -3 -6

    T -4

    A -5

  • 83

    Gap affine : exemple

    Matrice D Matrice V

    Matrice M Matrice H

    - C T G A C A T

    - 0 X X X X X X X

    C X 4 -4 -5 -6 -2 -8 -9

    T X

    A X

    - C T G A C A T

    - 0 -3 -4 -5 -6 -7 -8 -9

    C X -6 1 0 -1 -2 -3 -4

    T X

    A X

    - C T G A C A T

    - 0 -3 -4 -5 -6 -7 -8 -9

    C -3 4 1 0 -1 -2 -3 -4

    T -4

    A -5

    - C T G A C A T

    - 0 X X X X X X X

    C -3 -6 -7 -8 -9 -10 -11 -12

    T -4

    A -5

  • 84

    Gap affine : exemple

    Matrice D Matrice V

    Matrice M Matrice H

    - C T G A C A T

    - 0 -3 -4 -5 -6 -7 -8 -9

    C -3 4 -4 -5 -6 -2 -8 -9

    T -4 -4 8 0 -1 -2 -3 -4

    A -5 -5 0 7 9 3 7 1

    - C T G A C A T

    - 0 -3 -4 -5 -6 -7 -8 -9

    C X -6 1 0 -1 -2 -3 -4

    T X -7 -2 5 4 3 2 1

    A X -8 -3 2 4 6 5 4

    - C T G A C A T

    - 0 -3 -4 -5 -6 -7 -8 -9

    C -3 4 1 0 -1 -2 -3 -4

    T -4 1 8 5 4 3 2 1

    A -5 0 5 7 9 6 5 4

    - C T G A C A T

    - 0 X X X X X X X

    C -3 -6 -7 -8 -9 -10 -11 -12

    T -4 1 -2 -3 -4 -5 -6 -7

    A -5 0 5 2 1 0 -1 -2

  • 85

    Gap affine : exemple

    Matrice D Matrice V

    Matrice M Matrice H

    - C T G A C A T

    - 0 -3 -4 -5 -6 -7 -8 -9

    C -3 4 -4 -5 -6 -2 -8 -9

    T -4 -4 8 0 -1 -2 -3 -4

    A -5 -5 0 7 9 3 7 1

    - C T G A C A T

    - 0 -3 -4 -5 -6 -7 -8 -9

    C X -6 1 0 -1 -2 -3 -4

    T X -7 -2 5 4 3 2 1

    A X -8 -3 2 4 6 5 4

    - C T G A C A T

    - 0 -3 -4 -5 -6 -7 -8 -9

    C -3 4 1 0 -1 -2 -3 -4

    T -4 1 8 5 4 3 2 1

    A -5 0 5 7 9 6 7 4

    - C T G A C A T

    - 0 X X X X X X X

    C -3 -6 -7 -8 -9 -10 -11 -12

    T -4 1 -2 -3 -4 -5 -6 -7

    A -5 0 5 2 1 0 -1 -2

  • 86

    Gap affine : exemple

    Matrice D Matrice V

    Matrice M Matrice H

    - C T G A C A T

    - 0 -3 -4 -5 -6 -7 -8 -9

    C -3 4 -4 -5 -6 -2 -8 -9

    T -4 -4 8 0 -1 -2 -3 -4

    A -5 -5 0 7 9 3 7 1

    - C T G A C A T

    - 0 -3 -4 -5 -6 -7 -8 -9

    C X -6 1 0 -1 -2 -3 -4

    T X -7 -2 5 4 3 2 1

    A X -8 -3 2 4 6 5 4

    - C T G A C A T

    - 0 -3 -4 -5 -6 -7 -8 -9

    C -3 4 1 0 -1 -2 -3 -4

    T -4 1 8 5 4 3 2 1

    A -5 0 5 7 9 6 7 4

    - C T G A C A T

    - 0 X X X X X X X

    C -3 -6 -7 -8 -9 -10 -11 -12

    T -4 1 -2 -3 -4 -5 -6 -7

    A -5 0 5 2 1 0 -1 -2

  • 87

    Gap affine : exemple

    Calculer l’alignement optimal pour les séquences suivantes :

    AGCTCGA

    TACAGCTTG

    Modèle de gap affine :

    Ouverture de gap : -3

    Extension de gap : -1

    Match : 2

    Mismatch : -2

  • 88

    - A G C T C G A

    - 0 X X X X X X X

    T X

    A X

    C X

    A X

    G X

    C X

    T X

    T X

    G X

    - A G C T C G A

    - 0 X X X X X X X

    T -3

    A -4

    C -5

    A -6

    G -7

    C -8

    T -9

    T -10

    G -11

    - A G C T C G A

    - 0 -3 -4 -5 -6 -7 -8 -9

    T X

    A X

    C X

    A X

    G X

    C X

    T X

    T X

    G X

    - A G C T C G A

    - 0 -3 -4 -5 -6 -7 -8 -9

    T -3

    A -4

    C -5

    A -6

    G -7

    C -8

    T -9

    T -10

    G -11

    Gap affine : exemple

  • 89

    - A G C T C G A

    - 0 X X X X X X X

    T X -2 -5 -6 -3 -8 -9 -10

    A X -1 -4 -7 -8 -5 -8 -5

    C X -6 -3 -2 -7 -4 -7 -10

    A X -3 -6 -5 -4 -7 -6 -5

    G X -8 -1 -8 -7 -6 -5 -8

    C X -9 -8 1 -6 -3 -8 -7

    T X -10 -9 -6 3 -4 -5 -6

    T X -11 -10 -7 0 1 -2 -3

    G X -12 -7 -8 -5 -2 3 -4

    - A G C T C G A

    - 0 -3 -4 -5 -6 -7 -8 -9

    T X -6 -5 -6 -7 -6 -7 -8

    A X -7 -4 -5 -6 -7 -8 -9

    C X -8 -7 -6 -5 -6 -7 -8

    A X -9 -6 -7 -8 -7 -8 -9

    G X -10 -9 -4 -5 -6 -7 -8

    C X -11 -10 -7 -2 -3 -4 -5

    T X -12 -11 -8 -5 0 -1 -2

    T X -13 -12 -9 -6 -3 -2 -3

    G X -14 -13 -10 -7 -4 -5 0

    - A G C T C G A

    - 0 X X X X X X X

    T -3 -6 -7 -8 -9 -10 -11 -12

    A -4 -5 -8 -9 -6 -9 -10 -11

    C -5 -4 -7 -8 -7 -8 -11 -8

    A -6 -5 -6 -5 -8 -7 -10 -9

    G -7 -6 -7 -6 -7 -8 -9 -8

    C -8 -7 -4 -7 -8 -9 -8 -9

    T -9 -8 -5 -2 -5 -6 -7 -8

    T -10 -9 -6 -3 0 -3 -4 -5

    G -11 -10 -7 -4 -1 -2 -5 -6

    - A G C T C G A

    - 0 -3 -4 -5 -6 -7 -8 -9

    T -3 -2 -5 -6 -3 -6 -7 -8

    A -4 -1 -4 -5 -6 -5 -8 -5

    C -5 -4 -3 -2 -5 -4 -7 -8

    A -6 -3 -6 -5 -4 -7 -6 -5

    G -7 -6 -1 -4 -5 -6 -5 -8

    C -8 -7 -4 1 -2 -3 -4 -5

    T -9 -8 -5 -2 3 0 -1 -2

    T -10 -9 -6 -3 0 1 -2 -3

    G -11 -10 -7 -4 -1 -2 3 0

    Gap affine : exemple

  • 90

    - A G C T C G A

    - 0 X X X X X X X

    T X -2 -5 -6 -3 -8 -9 -10

    A X -1 -4 -7 -8 -5 -8 -5

    C X -6 -3 -2 -7 -4 -7 -10

    A X -3 -6 -5 -4 -7 -6 -5

    G X -8 -1 -8 -7 -6 -5 -8

    C X -9 -8 1 -6 -3 -8 -7

    T X -10 -9 -6 3 -4 -5 -6

    T X -11 -10 -7 0 1 -2 -3

    G X -12 -7 -8 -5 -2 3 -4

    - A G C T C G A

    - 0 -3 -4 -5 -6 -7 -8 -9

    T X -6 -5 -6 -7 -6 -7 -8

    A X -7 -4 -5 -6 -7 -8 -9

    C X -8 -7 -6 -5 -6 -7 -8

    A X -9 -6 -7 -8 -7 -8 -9

    G X -10 -9 -4 -5 -6 -7 -8

    C X -11 -10 -7 -2 -3 -4 -5

    T X -12 -11 -8 -5 0 -1 -2

    T X -13 -12 -9 -6 -3 -2 -3

    G X -14 -13 -10 -7 -4 -5 0

    - A G C T C G A

    - 0 X X X X X X X

    T -3 -6 -7 -8 -9 -10 -11 -12

    A -4 -5 -8 -9 -6 -9 -10 -11

    C -5 -4 -7 -8 -7 -8 -11 -8

    A -6 -5 -6 -5 -8 -7 -10 -9

    G -7 -6 -7 -6 -7 -8 -9 -8

    C -8 -7 -4 -7 -8 -9 -8 -9

    T -9 -8 -5 -2 -5 -6 -7 -8

    T -10 -9 -6 -3 0 -3 -4 -5

    G -11 -10 -7 -4 -1 -2 -5 -6

    - A G C T C G A

    - 0 -3 -4 -5 -6 -7 -8 -9

    T -3 -2 -5 -6 -3 -6 -7 -8

    A -4 -1 -4 -5 -6 -5 -8 -5

    C -5 -4 -3 -2 -5 -4 -7 -8

    A -6 -3 -6 -5 -4 -7 -6 -5

    G -7 -6 -1 -4 -5 -6 -5 -8

    C -8 -7 -4 1 -2 -3 -4 -5

    T -9 -8 -5 -2 3 0 -1 -2

    T -10 -9 -6 -3 0 1 -2 -3

    G -11 -10 -7 -4 -1 -2 3 0

    Gap affine : exemple

  • 91

    ---AGCTCGA

    TACAGCTTG-

    Alignement optimal : (gap affine)

    - A G C T C G A

    - 0 -3 -4 -5 -6 -7 -8 -9

    T -3 -2 -5 -6 -3 -6 -7 -8

    A -4 -1 -4 -5 -6 -5 -8 -5

    C -5 -4 -3 -2 -5 -4 -7 -8

    A -6 -3 -6 -5 -4 -7 -6 -5

    G -7 -6 -1 -4 -5 -6 -5 -8

    C -8 -7 -4 1 -2 -3 -4 -5

    T -9 -8 -5 -2 3 0 -1 -2

    T -10 -9 -6 -3 0 1 -2 -3

    G -11 -10 -7 -4 -1 -2 3 0

    Gap affine : exemple

  • 92

    Problème lié au gap affine

    Dans certains cas, le résultat trouvé ne semble pas entièrement approprié

    Exemple :

    Ouverture de gap : -3

    Extension de gap : -1

    Match : 4

    Mismatch : -2

    A - - - - - - T G T

    A C C T G A T T G T

    4-3-1-1-1-1-1+4+4+4=8

    - - - - - A - T G T

    A C C T G A T T G T

    -3-1-1-1-1+4-3+4+4+4=6

    A - - - - - - T G T

    A C C T G A T T G T

    - - - - - A - T G T

    A C C T G A T T G T

    Solution : changer le modèle, en ne pénalisant pas les gaps en début de séquence (alignement local affine !)

  • 93

    Conclusion

    → L'alignement de séquences par paires est généralement solvable en un temps raisonnable (quadratique)

    → De nombreuses variantes selon le résultat recherché

    • Matrices de substitution

    • Modèles de gap

    • Alignements local/global

    • …

    Remarque : dans certains cas, l'algorithme est trop coûteux

    • Très grandes séquences (génome)

    • Recherche de similarité entre une séquence et une banque de séquences (ex : GenBank)

    → Utilisation d'heuristiques (ex : Basic Local Alignment Search Tool)

  • 94

    Conclusion

    BLAST : • Recherche heuristique permettant de trouver les régions similaires entre deux ou

    plusieurs séquences de nucléotides ou d'acides aminés.

    • Permet de retrouver rapidement dans des bases de données, les séquences ayant des zones de similitude avec une séquence donnée (introduite par l'utilisateur).

    • Utilisé pour trouver des relations fonctionnelles ou évolutives entre les séquences et peut aider à identifier les membres d'une même famille de gènes.

    • Le terme blast peut être modifié en fonction de la nature de la séquence d'entrée, et de la base de donnée utilisée : blast de nucléotides (séquence nucléotidique vs. BD de séquences nucléotidiques) ; blast de protéines (séq prot. Vs BD prot.) ; blastx (nuc. vs BD prot) ; tblastn (prot. Vs BD nuc.) ; tblastx (nuc.prot. Vs nuc. prot.).

    • Différentes versions de l'algorithme : BlastN (séquences nucléotidiques, lent donc pas applicable à toute la BD) ; BlastP (protéines, lent) ; Megablast (rapide, séquences similaires) ; PSI-Blast (position-specific iterated BLAST), Blast relancé plusieurs fois par itération. PHI-BLAST (pattern hit initiated Blast), utilisant un motif utilisé comme point de départ des recherches.

  • 95

    Sommaire

    Introduction à la bioinformatique

    Notions de base

    Alignement 2 à 2 de séquences

    Alignement multiple de séquences

    Introduction / Motif protéique

    Alignement multiple optimal

    Heuristiques pour l’alignement multiple

    Phylogénie

  • 96

    Alignement multiple

    Alignement 2 à 2 :

    Deux séquences quelconques

    Recherche d’une certaine similarité syntaxique

    Fonction commune ?

    Alignement multiple :

    Famille de séquences partageant une même fonction

    Quelle est la conservation syntaxique ? Notion de motif protéique

  • 97

    un motif protéique est une séquence de nucléotides "particulière" qui a une signification biologique.

    Exemple : hormone pancréatique

    Motif protéique

    PMY_PETMA/1-36 PEE..LSKYMLAVRNYINLITRQRY

    PPY_LOPAM/1-36 PED..WASYQAAVRHYVNLITRQRY

    PAHO_BOVIN/30-65 PEQ..MAQYAAELRRYINMLTRPRY

    PAHO_CHICK/26-61 VED..LIRFYNDLQQYLNVVTRHRY

    PAHO_ANSAN/1-36 VED..LRFYYDNLQQYRLNVFRHRY

    NPF_HELAS/4-39 PNE..LRQYLKELNEYYAIMGRTRF

    NPF_MONEX/1-39 DNKAALRDYLRQINEYFAIIGRPRF

  • 98

    Motif protéique

    PMY_PETMA/1-36 PEE..LSKYMLAVRNYINLITRQRY

    PPY_LOPAM/1-36 PED..WASYQAAVRHYVNLITRQRY

    PAHO_BOVIN/30-65 PEQ..MAQYAAELRRYINMLTRPRY

    PAHO_CHICK/26-61 VED..LIRFYNDLQQYLNVVTRHRY

    PAHO_ANSAN/1-36 VED..LRFYYDNLQQYRLNVFRHRY

    NPF_HELAS/4-39 PNE..LRQYLKELNEYYAIMGRTRF

    NPF_MONEX/1-39 DNKAALRDYLRQINEYFAIIGRPRF

    Exemple : hormone pancréatique

    Expression Prosite

    [FY]-x(3)-[LIVM]-x(2)-Y-x(3)-[LIVMFY]-x-R-x-R-[YF]

    Syntaxe

    - : séparation des éléments

    x : n’importe quel acide aminé

    (3,5) : nombre d’occurrences (entre 3 et 5)

    [FY] : alternative (F ou Y) – fixer une limite pour le nombre d’alternatives

  • 99

    Motif protéique

    Exemple 2 : doigt de zinc YVCPFDGCNKKFAQSTNLKSHILT--H

    YKCT--VCRKDISSSESLRTHMFKQHH

    FQCD--ICKKTFKNACSVKIHHKN-MH

    LKCSVPGCKRSFRKKRALRIHVSE--H

    FECN--MCGYHSQDRYEFSSHITRGEH

    YKCEFADCEKAFSNASDRAKHQNR-TH

    YKCN--QCGIIFSQNSPFIVHQIA--H

    FRCS--ECSRSFTHNSDLTAHMRK--H

    CKCETENCNLAFTTASNMRLHFKR-AH

    YRCSYEDCQTVSPTWTALQTHLKK--H

    FRCV--WCKQSFPTLEALTTHMKDSKH

    FRCGYKGCGRLYTTAHHLKVHERA--H

    YRCPRENCDRTYTTKFNLKSHILT-FH

    YTCPEPHCGRGFTSATNYKNHVRI--H

    Expression Prosite

    C-x(2,4)-C-x(3)-[LIVMFYWCS]-x(8)-H-x(3,5)-H

    Influe sur le repliement de la protéine

  • 100

    HWGQCGGI---GYSGCKTCTSGTTCQYSNDYYSQCL

    HYGQCGGI---GYSGPTVCASGTTCQVLNPYYSQCL

    QWGQCGGI---GYTGSTTCASPYTCHVLNPYYSQCY

    VWGQCGGQ---NWSGPTCCASGSTCVYSNDYYSQCL

    LYGQCGGA---GWTGPTTCQAPGTCKVQNQWYSQCL

    IWGQCGGN---GWTGATTCASGLKCEKINDWYYQCV

    VWGQCGGN---GWTGPTTCASGSTCVKQNDFYSQCL

    DWAQCGGN---GWTGPTTCVSPYTCTKQNDWYSQCL

    QWGQCGGQ---NYSGPTTCKSPFTCKKINDFYSQCQ

    RWQQCGGI---GFTGPTQCEEPYICTKLNDWYSQCL

    HWAQCGGI---GFSGPTTCPEPYTCAKDHDIYSQCV

    LYEQCGGI---GFDGVTCCSEGLMCMKMGPYYSQCR

    VWAQCGGQ---NWSGTPCCTSGNKCVKLNDFYSQCQ

    PYGQCGGM---NYSGKTMCSPGFKCVELNEFFSQCD

    AYYQCGGSKSAYPNGNLACATGSKCVKQNEYYSQCV

    EYAACGGE---MFMGAKCCKFGLVCYETSGKWSQCR

    Motif protéique

    HWGQCGGI---GYSGCKTCTSGTTCQYSNDYYSQCL

    HYGQCGGI---GYSGPTVCASGTTCQVLNPYYSQCL

    QWGQCGGI---GYTGSTTCASPYTCHVLNPYYSQCY

    VWGQCGGQ---NWSGPTCCASGSTCVYSNDYYSQCL

    LYGQCGGA---GWTGPTTCQAPGTCKVQNQWYSQCL

    IWGQCGGN---GWTGATTCASGLKCEKINDWYYQCV

    VWGQCGGN---GWTGPTTCASGSTCVKQNDFYSQCL

    DWAQCGGN---GWTGPTTCVSPYTCTKQNDWYSQCL

    QWGQCGGQ---NYSGPTTCKSPFTCKKINDFYSQCQ

    RWQQCGGI---GFTGPTQCEEPYICTKLNDWYSQCL

    HWAQCGGI---GFSGPTTCPEPYTCAKDHDIYSQCV

    LYEQCGGI---GFDGVTCCSEGLMCMKMGPYYSQCR

    VWAQCGGQ---NWSGTPCCTSGNKCVKLNDFYSQCQ

    PYGQCGGM---NYSGKTMCSPGFKCVELNEFFSQCD

    AYYQCGGSKSAYPNGNLACATGSKCVKQNEYYSQCV

    EYAACGGE---MFMGAKCCKFGLVCYETSGKWSQCR

    Exemple 3 : Site de fixation de la cellulose

    C-G-G-x(4,7)-G-x(3)-C-x(5)-C-x(3,5)-[NHG]-x-[FYWM]- x(2)-Q-C

  • 101

    Alignement multiple

    Entrée : k séquences (nucléiques ou acides aminés)

    Sortie : un tableau contenant les k séquences avec des indels

    *******************

    *********************

    **********************

    ******************

    *********************

    *--********---********--**

    *******--*********-*****--

    ****-----*****************

    ***********--------*******

    *--*************---*******

  • 102

    Alignement multiple

    Comment scorer un alignement multiple ?

    Score SP - sum of pairs : somme des scores de ses colonnes

    Comment scorer une colonne ? adaptable à un nombre quelconque de lignes

    indépendant de l'ordre

    reflète la similarité

  • 103

    Alignement multiple : score

    A A C G T A C G A T A

    A - C G T A - A A T G

    G T C G T A - - T T A

    Exemple :

    Identité : +2

    Substitution : -1

    Indel : -2

  • 104

    Alignement multiple : score

    A A C G T A C G A T A

    A - C G T A - A A T G

    G T C G T A - - T T A

    Exemple :

    Identité : +2

    Substitution : -1

    Indel : -2

    8

  • 105

    Alignement multiple : score

    A A C G T A C G A T A

    A - C G T A - A A T G

    G T C G T A - - T T A

    Exemple :

    Identité : +2

    Substitution : -1

    Indel : -2

    8 5

    3

  • 106

    Alignement multiple : score

    A A C G T A C G A T A

    A - C G T A - A A T G

    G T C G T A - - T T A

    Exemple :

    Identité : +2

    Substitution : -1

    Indel : -2

    Score de l’alignement multiple : 8+5+3=16

    8 5

    3

  • 107

    A A C G T A C G A T A

    A - C G T A - A A T G

    G T C G T A - - T T A

    Exemple :

    Identité : +2

    Substitution : -1

    Indel : -2

    Alignement multiple : score

  • 108

    A A C G T A C G A T A

    A - C G T A - A A T G

    G T C G T A - - T T A

    Exemple :

    Identité : +2

    Substitution : -1

    Indel : -2

    2 -1 -1 = 0

    Alignement multiple : score

  • 109

    A A C G T A C G A T A

    A - C G T A - A A T G

    G T C G T A - - T T A

    Exemple :

    Identité : +2

    Substitution : -1

    Indel : -2

    2 -1 -1 = 0

    -2 -1 -2 = -5

    2 2 2 = 6

    2 2 2 = 6

    2 2 2 = 6

    2 2 2 = 6

    -2 -2 0 = -4

    -1 -2 -2 = -5

    2 -1 -1 = 0

    2 2 2 = 6

    -1 2 -1 = 0

    Alignement multiple : score

  • 110

    A A C G T A C G A T A

    A - C G T A - A A T G

    G T C G T A - - T T A

    Exemple :

    Identité : +2

    Substitution : -1

    Indel : -2

    Score de l’alignement multiple : 0-5+6+6+6+6-4-5+0+6+0=16

    2 -1 -1 = 0

    -2 -1 -2 = -5

    2 2 2 = 6

    2 2 2 = 6

    2 2 2 = 6

    2 2 2 = 6

    -2 -2 0 = -4

    -1 -2 -2 = -5

    2 -1 -1 = 0

    2 2 2 = 6

    -1 2 -1 = 0

    Alignement multiple : score

  • Score : Visualisation (align. d'acides aminés)

    Notations usuelles :

    * → correspondance

    : → substitution conservative (acides aminés de même groupe et de scores ≥ 0)

    . → substitution semi-conservative (acides aminés de même groupe)

    A L L A L W G P D P A

    A L L A F W G P D P A

    A L L A F W G P D P S

    A L L V L W E P K P S

    A L L V F S G P G T S

    * * * . : * . :

    111

  • 112

    Formulation

    Définition : Alignement

    Soit un alphabet Σ.

    Soit S = { S1, S2, ..., Sk } un ensemble de k séquences.

    Un alignement de S, noté A(S1, S2, ..., Sk) est une matrice k*q

    Chaque élément au,v de la matrice a est défini dans Σ.

    q est plus grand que la plus grande des séquences, et plus petit que la somme des tailles des séquences.

    Pour tout u tel que q 1≤u ≤ k, la séquence {au,1, au,2,..., au,q} dans laquelle on supprime les gaps correspond à Su

    Formulation : Problème d'alignement multiple

    Soient k séquences S1,…,Sk et une matrice de score w, le problème d'alignement multiple consiste à déterminer un alignement de coût optimal selon w.

  • 113

    Alignement multiple : approche exacte

    Quelques chiffres concernant le nombre de configurations pour l’alignement multiple.

    nombre de configurations différentes pour un alignement de k séquences de longueur n.

    k n

    2 3 4 5

    2 13 63 321 1683

    3 409 16081 699121 3.2e7

    4 23917 1.1e7 … …

  • Alignement multiple : approche exacte

    Problème algorithmique

    Trouver l'alignement multiple de score SP maximal

    Approche exacte : programmation dynamique

    Alignement deux à deux : chemin dans une matrice de dimension 2

    Alignement multiple : chemin dans une matrice de dimension supérieure k séquences à aligner, matrice de dimension k

    -G-A-

    C-GTG

    AT--G

    A T G

    C G T G

    A G

    114

  • 115

    Alignement multiple : approche exacte

    Exemple pour trois séquences (U, V et W)

    Matrice en dimension trois

    Sim(i , j , k) : score optimal entre U(1..i ), V(1..j) et W(1..k)

    Formules de récurrence :

  • 116

    Alignement multiple : approche exacte

    Problème de complexité

    Explosion combinatoire quand le nombre de séquences augmente

  • 117

    Alignement multiple : approche exacte

    Complexité

    s1,…,sk : séquences de taille n

    T(i1,…,ik) : score optimal entre les k préfixes s1(1,…,i1) , … , sk(1,…,ik)

    O(nk2kk2)

    Table de taille nk

    Temps de calcul d'une case : dépend de 2k-1 cases précédentes

    Temps de calcul de chaque scoreSP : k(k-1)/2

    Problème de décision NP-Complet

  • 118

    Alignement multiple

    Recours à des approches heuristiques

    Réduire le temps de calcul

    Maximiser le score du résultat

    Pas de garantie d’optimalité !

    Quelques exemples d’algorithmes

    En étoile (basique)

    Clustal (le plus populaire)

    Dialign2 (complémentaire à Clustal)

    T-coffee, Pima, Multalin, Plasma…

    + méthodes heuristiques, métaheuristiques

    Autant d'alignements que de programmes…

  • 119

    Alignement multiple progressif

    Les séquences homologues sont reliées d’un point de vue évolutif

    Idée : construire progressivement un alignement, à partir de séries de séquences (ou de groupes de séquences) alignées deux à deux, suivant un ordre de branchement donné par un arbre d’évolution

    Alignement des séquences les plus proches d’un point de vue phylogénétique (évolution)

    Intégration progressive des séquences un peu plus éloignées

    Approche suffisamment rapide pour permettre la construction d’alignements contenant un grand nombre de séquences

  • 120

    Heuristique en étoile

    Heuristique en étoile

    Sélection d'une séquence centrale

    Construction de l'alignement multiple, en partant de la séquence centrale, puis en incorporant une à une les autres séquences

    Exemple :

    indel : -2, substitution : -1, identite : 1

    S1 cgatgagtcattgtgactg

    S2 cgagccattgtagctactg

    S3 cgaccattgtagctacctg

    S4 cgatgagtcactgtgactg

  • 121

    Heuristique en étoile

    Etape 1 : Alignements globaux de toutes les séquences deux par deux

    S1 cgatgagtcattgt-g--actg S2 cgagccattgtagcta-ctg

    ||| | |||||| | |||| ||| |||||||||||| |||

    S2 cga-g--ccattgtagctactg S3 cga-ccattgtagctacctg

    S1 cgatgagtcattg-tgactg S2 cga-g--ccattgtagctactg

    ||| | | | | | ||| ||| | || ||| | ||||

    S3 cgacca-ttgtagctacctg S4 cgatgagtcactgt-g--actg

    S1 cgatgagtcattgtgactg S3 cgaccattgtagctacctg

    |||||||||| |||||||| ||| | | | |||

    S4 cgatgagtcactgtgactg S4 cgatgagtcactgtgactg

    S1 S2 S3 S4

    S1 2 0 17

    S2 2 14 0

    S3 0 14 -1

    S4 17 0 -1

    Tableau des scores

    k séquences k(k-1)/2 alignements

  • 122

    Heuristique en étoile

    Etape 2 : sélection de la séquence centrale à partir du tableau des scores séquence qui maximise la somme des similarités avec l'ensemble

    des autres séquences

    But : Aligner selon la séquence la plus représentative de l’ensemble (centre de gravité)

    S1 S2 S3 S4

    S1 2 0 17

    S2 2 14 0

    S3 0 14 -1

    S4 17 0 -1

    19

    16

    13

    16

  • Etape 3 : construction de l'alignement multiple par juxtaposition des alignements deux à deux avec la séquence centrale

    L'intégration d'une nouvelle séquence se fait en prenant la séquence centrale comme guide

    Possible en étirant les gaps de l'alignement multiple courant.

    S1 cgatgagtcattgt-g--actg

    ||| | |||||| | ||||

    S2 cga-g--ccattgtagctactg

    S1 cgatgagtcattg-tgactg

    ||| | | | | | |||

    S3 cgacca-ttgtagctacctg

    S1 cgatgagtcattgtgactg

    |||||||||| ||||||||

    S4 cgatgagtcactgtgactg

    s1 cgatgagtcattgtgactg s4 cgatgagtcactgtgactg

    Alignement multiple

    Heuristique en étoile

  • Etape 3 : construction de l'alignement multiple par juxtaposition des alignements deux à deux avec la séquence centrale

    L'intégration d'une nouvelle séquence se fait en prenant la séquence centrale comme guide

    Possible en étirant les gaps de l'alignement multiple courant.

    S1 cgatgagtcattgt-g--actg

    ||| | |||||| | ||||

    S2 cga-g--ccattgtagctactg

    S1 cgatgagtcattg-tgactg

    ||| | | | | | |||

    S3 cgacca-ttgtagctacctg

    S1 cgatgagtcattgtgactg

    |||||||||| ||||||||

    S4 cgatgagtcactgtgactg

    Alignement multiple

    Heuristique en étoile

    s1 cgatgagtcattgtgactg

    s4 cgatgagtcactgtgactg

    s1 cgatgagtcattg-tgactg

    s3 cgacca-ttgtagctacctg

    s4 cgatgagtcactg-tgactg

    s1 cgatgagtcattg-tgactg

    s3 cgacca-ttgtagctacctg

  • Etape 3 : construction de l'alignement multiple par juxtaposition des alignements deux à deux avec la séquence centrale

    L'intégration d'une nouvelle séquence se fait en prenant la séquence centrale comme guide

    Possible en étirant les gaps de l'alignement multiple courant.

    S1 cgatgagtcattgt-g--actg

    ||| | |||||| | ||||

    S2 cga-g--ccattgtagctactg

    S1 cgatgagtcattg-tgactg

    ||| | | | | | |||

    S3 cgacca-ttgtagctacctg

    S1 cgatgagtcattgtgactg

    |||||||||| ||||||||

    S4 cgatgagtcactgtgactg

    s1 cgatgagtcattg-t-g--actg

    s2 cga-g--ccattg-tagctactg

    s3 cgacca-ttgtagct-a--cctg

    s4 cgatgagtcactg-t-g--actg

    Alignement multiple

    Heuristique en étoile

    s1 cgatgagtcattg-tgactg

    s3 cgacca-ttgtagctacctg

    s4 cgatgagtcactg-tgactg

    s1 cgatgagtcattgt-g--actg

    s2 cga-g--ccattgtagctactg

  • 126

    Clustal

    Higgins et Sharp [1988]. CLUSTAL: a package for performing multiple sequence alignment on a microcomputer. Gene, 73, 237-244.

    Clustal = CLUSTer + ALignment

    Inspiré par la classification hiérarchique ascendante

    Regroupement progressif des séquences

    Exemple :

    indel : 2, substitution : 1, identité : 0

    Attention, on calcule une distance, d’où les scores utilisés

    S1 cgatgagtcattgtgactg

    S2 cgagccattgtagctactg

    S3 cgaccattgtagctacctg

    S4 cgatgagtcactgtgactg

  • 127

    Clustal

    Etape 1 : Alignements globaux de toutes les séquences deux par deux

    S1 S2 S3 S4

    S1 12 11 1

    S2 12 4 14

    S3 11 4 10

    S4 1 14 10

    Tableau des distances

  • 128

    Clustal

    Etape 1 : Alignements globaux de toutes les séquences deux par deux

    Les séquences sont regroupées suivant leur similarité à partir de la matrice des distances 2 à 2

    S1 S2 S3 S4

    S1 12 11 1

    S2 12 4 14

    S3 11 4 10

    S4 1 14 10

    Tableau des distances

    S1

    S4 S3

    S2

    S1 S4

  • 129

    Clustal

    Etape 1 : Alignements globaux de toutes les séquences deux par deux

    Les séquences sont regroupées suivant leur similarité à partir de la matrice des distances 2 à 2

    Nouveaux scores : Neighbour-Joigning (cf. phylogénie)

    Tableau des scores

    S1

    S4 S3

    S2

    S1 S4

    S1/S4 S2 S3

    S1/

    S4 12.5 10

    S2 12.5 4

    S3 10 4

  • 130

    Clustal

    Etape 1 : Alignements globaux de toutes les séquences deux par deux

    Les séquences sont regroupées suivant leur similarité à partir de la matrice des distances 2 à 2.

    Nouveaux scores : Neighbour-Joigning (cf. phylogénie)

    Tableau des scores

    S1

    S4 S3

    S2 S1/S4 S2 S3

    S1/

    S4 12.5 10

    S2 12.5 4

    S3 10 4

    S1 S4 S2 S3

  • 131

    Clustal

    Etape 2 : construction de l'alignement à partir de l'arbre guide

    Arbre guide : classication hiérarchique ascendante

    Alignement entre deux clusters de séquences : alignement deux à deux avec le score SP pour le score d'une colonne

    L'alignement est obtenu par extensions successives.

    « Once a gap, always a gap »

  • 132

    Clustal

    S2 cgagccattgtagctac-tg

    ||| ||||||||||||| ||

    S3 cga-ccattgtagctacctg

    S1 cgatgagtcattgtgactg

    |||||||||| ||||||||

    S4 cgatgagtcactgtgactg

    S1 cgatgagtcattgtgactg

    S4 cgagccattgtagctactg

    S3 cgaccattgtagctacctg

    S2 cgatgagtcactgtgactg

    S1 cgatgagtcattgt-g--ac-tg

    S4 cgatgagtcactgt-g--ac-tg

    S2 cga---gccattgtagctac-tg

    S3 cga----ccattgtagctacctg

  • 133

    → Variante de Clustal Thompson JD, Higgins DG, Gibson TJ (1994) CLUSTAL W: improving the sensitivity of progressive multiple sequence alignment through sequence weighting, position specific gap penalties and weight matrix choice. Nucleic Acids Res. 22(22):4673-80.

    Modification principale au niveau de la mise à jour de la matrice des distances après regroupement de 2 séquences

    Des poids sont associés selon le nombre de séquences concernées (cf. phylogénie)

    Clustal-W

  • 134

    Autres algorithmes d’alignement multiple

    Beaucoup d’algorithme dans la littérature!

    Les plus classiques/performants :

    clustal omega : nouvelle variante de clustal

    multalin : variante de clustal

    T-coffee : variante de clustal

    muscle : fonction de création de profils

    probcons : modèle de Markov

    mafft : transformée de Fourier

    dialign : recherche de chemins

    saga : algorithme génétique

    hmmer : modèle de Markov

    Voir: « Multiple sequence alignment », Robert C. Edgar and Serafim Batzoglou, dans « Current Opinion in Structural Biology », 2006, volume 16, pages 368–373.

  • 135

    Evaluation des heuristiques d’alignement

    BaliBase (Thompson, Plewniak, Poch 1999) ensemble d’alignements de référence (considérés comme étant corrects)

    utilisé pour attester de la qualité des logiciels d’alignement multiple

    Base décomposée en 5 sous-ensembles caractéristiques : set 1 : séquences équidistantes

    set 2 : une séquence orpheline

    set 3 : familles divergentes

    set 4 : longues insertions de gap aux extrémités

    set 5 : longues insertions de gap au milieu

    Actuellement : ProbCons : sets 1, 2 et 3

    MAFFT : sets 4 et 5

    D’autres candidats à tester ?

  • 136

    Sommaire

    Introduction à la bioinformatique

    Notions de base

    Alignement 2 à 2 de séquences

    Alignement multiple de séquences

    Phylogénie

    Généralités / Notions sur les arbres

    Méthodes de reconstruction phylogénétique WPGMA / UPGMA

    Neighbourg-joigning

    Parcimonie

  • 137

    Phylogénie

    La phylogénie est l'étude de la formation et

    de l'évolution des organismes vivants en vue

    d'établir leur parenté

    On représente couramment une phylogénie

    par un arbre phylogénétique. La proximité

    des branches de cet arbre représente le

    degré de parenté entre les taxons, les

    nœuds les ancêtres communs des taxons

    Dans un arbre élaboré par phénétique, la

    longueur des branches représente la

    distance génétique entre taxons

    Arbre de Haeckel (1866)

  • 138

    Phylogénie

    Depuis Darwin, il est communément admis que les êtres vivants

    descendent tous les uns des autres.

    Jusqu'aux années 1960, les seuls moyens disponibles pour

    construire des classifications d'espèces étaient :

    comparaisons entre les morphologies,

    comparaisons des comportements

    répartition géographiques des espèces…

    La découverte que des protéines homologues (ou acides

    nucléiques) avaient des séquences en acides aminés (ou en

    bases) qui variaient d'une espèce à l'autre a fourni un nouveau

    moyen d'étude : la phylogénie.

  • 139

    Phylogénie Evolution

    L’évolution selon Lamarck (1744-1829)

    l'évolution est due à une adaptation continue au milieu ambiant : un environnement changeant altère les besoins de l'organisme vivant qui s'adapte en modifiant son comportement

  • 140

    L’évolution selon Darwin (1809-1882)

    évolution par sélection naturelle : au sein d'une même lignée, tous les individus sont différents et la nature favorise la multiplication de ceux qui jouissent d'un quelconque avantage

    Phylogénie Evolution

  • 141

    Pour quoi faire ?

    Retracer l’histoire évolutive d’une famille de gènes

    Reconstruire les relations évolutives entre espèces

    ex : arbre du vivant

    Classer une nouvelle espèce ex : souche virale

    Comment ?

    Aligner correctement les séquences nucléiques ou protéiques

    Appliquer une méthode de génération d’arbres

    Évaluer statistiquement la robustesse des arbres

    Phylogénie

  • 142

    Deux grands types de méthodes permettant la reconstruction d'arbres phylogénétiques :

    Méthodes basées sur les mesures de distances entre séquences prises deux à deux, c'est à dire le nombre de substitutions de nucléotides ou d'acides aminés entre ces deux séquences.

    UPGMA

    Neighbor-Joining

    Méthodes basées sur les caractères qui s'intéressent au nombre de mutations (substitutions / insertions /délétions) qui affectent chacun des sites (positions) de la séquence.

    Parcimonie

    Maximum de vraisemblance

    Phylogénie Méthodes de reconstruction

  • 143

    Un arbre phylogénétique est caractérisé par :

    sa topologie

    la longueur de ses branches (éventuellement)

    Nœud : estimation de l’ancêtre commun des éléments appartenant à ce nœud

    Racine (root) : ancêtre commun de tous les éléments de l’arbre

    Un arbre peut avoir ou non une racine

    Phylogénie Notions de bases (arbres)

    Seq A

    Seq C

    Seq B Seq A Seq D

    Seq B

    Seq D

    Seq C

    nœud interne nœud feuille

    racine

  • Phylogénie Notions de bases (arbres)

    Notation de Newick

    Pour stocker un arbre dans un fichier texte, on peut utiliser la notation suivante

    ((A,B),C)

    On peut aussi ajouter la longueur de chaque branche ((A:1,B:1):2,C:4)

    A

    B

    1

    1

    C

    2

    4

  • 145

    Différent types d’arbres

    Arbres enracinés

    Cladogrammes (longueur des branches non significative)

    Phylogramme (longueur des branches proportionnelle au nombre de substitutions)

    Arbres non enracinés

    longueur des branches proportionnelle au nombre de substitutions

    longueur des branches non significative

    Seq A

    Seq B

    Seq D

    Seq C racine

    Seq A Seq C

    Seq B Seq D

    Seq A

    Seq C

    Seq B Seq D

    Seq A

    Seq B

    Seq D

    Seq C racine

    Phylogénie Notions de bases (arbres)

  • Racine

    Pour un arbre sans racine (unrooted), il existe plusieurs arbres avec racine Position de la racine ?

    La position de la racine est choisie généralement arbitrairement :

    « midpoint rooting » : Racine placée au milieu de la plus longue branche

    « outgroup rooting » : L’utilisateur peut définir la ou les séquences constituant l’outgroup pour enraciner l’arbre. Ces séquences doivent être éloignées des autres séquences tout en étant homologues

    Seq A Seq C

    Seq B Seq D

    1

    A B C D

    A B C D

    2

    B A C D

    3

    C D A B

    4

    D C A B

    5

    1

    2

    3

    4

    5

    Phylogénie Notions de bases (arbres)

  • Ordre des branches

    L’ordre des branches appartenant à un même nœud n’a aucune importance

    La rotation autour d’un nœud ne change rien à la topologie de l’arbre

    A B C D I J K L A B C D I J K L E F G H H G F E

    Phylogénie Notions de bases (arbres)

  • 148

    Distance d’édition

    A partir des opérations nécessaires pour obtenir un alignement, on peut calculer une distance dite distance d’édition ou de Levenshtein

    Problème de distance d’édition Consiste à trouver la distance minimum qui permet de transformer une

    séquence en une autre séquence en utilisant les opérations d’édition

    Méthode : optimiser l’alignement pour minimiser la distance

    Phylogénie Calcul des distances

    cgagccattctagctac-tg

    ||| ||||| ||||||| ||

    cga-ccattgtagctacctg

    d=3

  • 149

    Correction des distances

    Si le temps de divergence entre deux séquences augmente, la probabilité d’avoir plusieurs substitutions à un même site augmente

    Séq 1 Séq 2 Substitutions observées

    Substitutions réelles

    Substitution unique C CA 1 1

    Substitutions multiples C CAT 1 2

    Substitutions coïncidentes CG CA 1 2

    Substitutions parallèles CA CA 0 2

    Substitutions convergentes CA CTA 0 3

    Substitutions réverses C CTC 0 2

    Nombreuses méthodes tentant d’estimer la distance réelle entre séquences

    Phylogénie Calcul des distances

  • 150

    Problème : minimiser la somme des distances d’édition de l’arbre (pour maximiser la vraisemblance de l’arbre)

    WPGMA / UPGMA « Weighted Pair Group Method with Arithmetic mean »

    « Unweighted Pair Group Method with Arithmetic mean »

    méthodes utilisées pour reconstruire des arbres phylogénétiques si les séquences ne sont pas trop divergentes.

    algorithmes de clusterisation séquentiel dans lequel les relations sont identifiées dans l'ordre de leur similarité et la reconstruction de l'arbre se fait pas à pas grâce à cet ordre.

    UPGMA est utilisé pour l’alignement multiple dans l’algo. CLUSTAL

    Principe général Identification des deux séquences les plus proches

    Ces deux séquences sont ensuite traitées comme un tout

    On recherche les séquences les plus proches

    …et ainsi de suite jusqu'à ce qu'il n'y ait plus que deux groupes

    Phylogénie WPGMA / UPGMA

  • 151

    Hypothèses :

    le taux de mutation est le même dans toutes les lignées (horloge moléculaire)

    Pas de mutations multiples

    Méthode Regroupement des 2 séquences Si et Sj les plus proches

    Le noeud Sij est positionné à une distance d de chacune des séquences (Weighted PGMA)

    d = (dist(Si,Sj ))/2

    Calcul de la distance entre le nouveau groupe et les autres séquences

    dist((Si,Sj ),Sk) = (dist(Si,Sk)+dist(Sj,Sk))/2

    etc...

    Phylogénie WPGMA

  • 152

    A B C D E F

    A 0

    B 2 0

    C 4 4 0

    D 6 6 6 0

    E 6 6 6 4 0

    F 8 8 8 8 8 0

    Premier cycle :

    A

    C

    F

    B

    E D

    Phylogénie WPGMA

  • 153

    dist(A,B),C=(dist AC+dist BC)/2 = 4

    dist(A,B),D=(dist AD+dist BD)/2 = 6

    dist(A,B),E=(dist AE+dist BE)/2 = 6

    dist(A,B),F=(dist AF+dist BF)/2 = 8

    Premier cycle :

    A

    C

    F

    B

    E D

    1 1

    A B C D E F

    A 0

    B 2 0

    C 4 4 0

    D 6 6 6 0

    E 6 6 6 4 0

    F 8 8 8 8 8 0

    Phylogénie WPGMA

  • 154

    A,B C D E F

    A,B 0

    C 4 0

    D 6 6 0

    E 6 6 4 0

    F 8 8 8 8 0

    Deuxième cycle :

    dist(D,E),(A,B)=(dist D(A,B)+dist E(A,B))/2 = 6

    dist(D,E),C =(dist DC +dist EC )/2 = 6

    dist(D,E),F =(dist DF +dist EF )/2 = 8

    A

    C

    F

    B

    E D

    1 1

    2 2

    Phylogénie WPGMA

  • 155

    A,B C D,E F

    A,B 0

    C 4 0

    D,E 6 6 0

    F 8 8 8 0

    Troisième cycle :

    dist(AB,C),(D,E)=(dist (A,B)(D,E)+dist C(D,E))/2 = 6

    dist(AB,C),F =(dist (A,B)F +dist CF )/2 = 8

    A

    C

    F

    B

    E D

    1 1

    2 2

    2 1

    Phylogénie WPGMA

  • 156

    dist(ABC,DE),F=(dist (AB,C)F+dist(D,E)F)/2=8

    AB,C D,E F

    AB,C 0

    D,E 6 0

    F 8 8 0

    Quatrième cycle :

    A

    C

    F

    B

    E D

    1 1

    2 2

    2 1

    1

    1

    Phylogénie WPGMA

  • 1 1

    1

    1

    A B

    1

    1

    C

    1

    2

    D E

    2

    2

    1

    1

    F

    1

    4

    A

    C

    F

    B

    E D

    1 1

    2 2

    2

    4

    Cinquième cycle (midpoint rooting) :

    ABC,DE F

    ABC,DE 0

    F 8 0

    Phylogénie WPGMA

  • 158

    Exercice : étudier la phylogénie d’un gène commun pour 5 organismes, représentés ci-dessous

    AGGCCTTACAT

    ACCTATAATTGG

    ACGATTATCAT

    GGCTTACAA

    CGATATCCCATT

    Etapes : Calculer les scores 2 à 2, en recherchant à chaque fois l’alignement

    optimal

    En déduire la matrice des distances

    Choisir le couple des organismes les plus semblables

    Reconstruire la matrice des distances, construire l’arbre

    Itérer jusqu’à la construction complète de l’arbre

    Phylogénie WPGMA

  • A B C D E

    A 0

    B 7 0

    C 4 6 0

    D 3 8 5 0

    E 7 8 5 7 0

    A,D B C E

    A,D 0

    B 7.5 0

    C 4.5 6 0

    E 7 8 5 0

    A,D,C B E

    A,D,C 0

    B 6.75 0

    E 6 8 0

    A,D,C,E B

    A,D,C,E 0

    B 7.375 0 A D

    1.5

    1.5

    C

    0.75

    2.25

    B

    0.6875

    3.6875

    E

    0.75

    3

    159

    Phylogénie WPGMA

  • 160

    Hypothèses :

    le taux de mutation est le même dans toutes les lignées (horloge moléculaire)

    Pas de mutations multiples

    Méthode Regroupement des 2 séquences Si et Sj les plus proches

    Le noeud Sij est positionné à une distance d de chacune des séquences

    d = (dist(Si,Sj ))/2

    Calcul de la distance entre le nouveau groupe et les autres séquences (Unweighted UPGMA)

    dist((Si,Sj ),Sk) = (a.dist(Si,Sk)+b.dist(Sj,Sk))/(a+b)

    où a et b sont le nombre de séquences composant Si et Sj

    Etc

    → Exemple : http://www.soton.ac.uk/~re1u06/teaching/upgma/

    Phylogénie UPGMA (Unweighted)

    http://www.soton.ac.uk/~re1u06/teaching/upgma/

  • Phylogénie WPGMA / UPGMA

    Problème : suppose que la vitesse d'évolution est constante dans toutes les branches

    Problème majeur : si les taux de mutation diffèrent suivant les branches, la méthode UPGMA peut conduire à une topologie erronée

    A B

    1

    4

    C

    1

    2

    D E

    3

    2

    1

    1

    F

    1

    4

    A B C D E F

    A 0

    B 5 0

    C 4 7 0

    D 7 10 7 0

    E 6 9 6 5 0

    F 8 11 8 9 8 0

    Matrice des distances

    161

    Depuis que A et B ont divergé durant l’évolution, B a accumulé beaucoup plus de

    mutations que A

  • 162

    Développé par Saitou et Nei (1987)

    Tente de corriger la méthode UPGMA afin d'autoriser un taux

    de mutation différent sur les branches.

    Même principe que UPGMA :

    Point de départ : matrice des distances 2 à 2

    Une itération supprime une ligne et une colonne de la matrice (on lie

    deux nœuds)

    On itère jusqu’à ce que tout les nœuds soient reliés (matrice vide)

    Phylogénie Neighbor-Joining (NJ)

  • 163

    Les données initiales permettent de construire une matrice qui donne un arbre en étoile (cf. UPGMA) Cette matrice de distances est corrigée afin de prendre en compte la

    divergence moyenne de chacune des séquences avec les autres

    L'arbre est alors reconstruit en reliant les séquences les plus proches dans cette nouvelle matrice (cf. UPGMA) Lorsque deux séquences sont liées, le nœud représentant leur ancêtre

    commun est ajouté à l'arbre tandis que les deux feuilles sont enlevées (cf. UPGMA)

    Ce processus convertit l'ancêtre commun en un nœud terminal dans un arbre de taille réduite (cf. UPGMA)

    L’ancêtre commun est placé de telle sorte que les distances entre les deux feuilles et le reste des séquences soient respecté

    Phylogénie Neighbor-Joining (NJ)

  • 164

    Exemple La matrice de distance associée à cet arbre est la suivante :

    Etape 1 : calcul de la divergence de chaque séquence par rapport aux autres r(A) = 5+4+7+6+8 = 30

    r(B) = 42

    r(C) = 32

    r(D) = 38

    r(E) = 34

    r(F) = 44

    A B C D E F

    A 0 5 4 7 6 8

    B 0 7 10 9 11

    C 0 7 6 8

    D 0 5 9

    E 0 8

    F 0

    Phylogénie Neighbor-Joining (NJ)

  • 165

    Etape 2 : calcul de la nouvelle matrice en utilisant la formule M(i,j)= d(ij) -[r(i)+r(j)] / (N-2)

    Exemple pour la paire AB : M(AB)= 5 - [30+42]/4 = -13

    On débute par l’arbre en étoile suivant :

    A B C D E F

    A 0 -13 -11.5 -10 -10 -10.5

    B -13 0 -11.5 -10 -10 -10.5

    C -11.5 0 -10.5 -10.5 -11

    D -10 0 -13 -11.5

    E -10 0 -11.5

    F -10.5 0

    A

    C

    F

    B

    E D

    Phylogénie Neighbor-Joining (NJ)

  • 166

    Etape 3 : Choix des plus proches voisins, c'est à dire des deux séquences ayant le M(i,j) le plus petit

    soit A et B soit D et E sur l’exemple.

    On forme un nouveau nœud U avec A et B, et on calcule la longueur de la branche entre U et A ainsi qu'entre U et B : S (AU) = d (AB) / 2 + [r(A) - r(B)] / 2 (N-2)

    = 5/2 + [30-42] /2(6-2) = 1

    S (BU) = d (AB) - S(AU) = 5 - 1 = 4

    On applique à l’arbre en construction :

    A C

    F

    B

    E D

    1

    4

    U

    Phylogénie Neighbor-Joining (NJ)

  • 167

    Etape 4 : on définit les nouvelles distances entre U et les autres séquences (ou groupes de séquences)

    d (CU) = [d(AC) + d(BC) - d(AB)] /2 = 3

    d (DU) = [d(AD) + d(BD) - d(AB)] /2 = 6

    d (EU) = [d(AE) + d(BE) - d(AB)] /2 = 5

    d (DU) = [d(AF) + d(BF) - d(AB)] /2 = 7 …

    Création d'une nouvelle matrice :

    La procédure repart de l'étape 1 avec N N-1 = 5

    U C D E F

    U 0 3 6 5 7

    C 0 7 6 8

    D 0 5 9

    E 0 8

    F 0

    Phylogénie Neighbor-Joining (NJ)

  • 168

    La matrice de distance associée à cet arbre est la suivante :

    Etape 1 : calcul de la divergence de chaque séquence par rapport aux autres r(U)=21, r(C)=24, r(D)=27, r(E)=24, r(F)=32

    Etape 2 : calcul de la nouvelle matrice en utilisant la formule M(i,j)= d(ij) -[r(i)+r(j)] / (N-2)

    Etape 3 : Choix du M(i,j) le plus petit soit U et C soit D et E sur l’exemple

    On forme un nouveau nœud V avec U et C, et on calcule la longueur de la branche entre V et U ainsi qu'entre V et C : S (UV) = 1

    S (CV) = 2

    U C D E F

    U 0 3 6 5 7

    C 0 7 6 8

    D 0 5 9

    E 0 8

    F 0

    U C D E F

    U 0 -12 -10 -10 -10.6

    C 0 -10 -10 -10.6

    D 0 -12 -10.6

    E 0 -10.6

    F 0

    Phylogénie Neighbor-Joining (NJ)

  • 169

    On applique à l’arbre en construction :

    Etape 4 : on définit les nouvelles distances entre U et les autres séquences (ou groupes de séquences)

    d (DV) = 5, d (EV) = 4, d (DV) = 6

    Création d'une nouvelle matrice :

    La procédure repart de l'étape 1 avec N N-1 = 4

    V D E F

    V 0 5 4 6

    D 0 5 9

    E 0 8

    F 0

    A

    C

    F

    B

    E D

    1

    4

    2 1

    Phylogénie Neighbor-Joining (NJ)

  • 170

    La matrice de distance associée à cet arbre est la suivante :

    Etape 1 : calcul de la divergence de chaque séquence par rapport aux autres r(V)=15, r(D)=19, r(E)=17, r(F)=23

    Etape 2 : calcul de la nouvelle matrice en utilisant la formule M(i,j)= d(ij) -[r(i)+r(j)] / (N-2)

    Etape 3 : Choix du M(i,j) le plus petit soit V et F soit D et E sur l’exemple

    On forme un nouveau nœud W avec D et E, et on calcule la longueur de la branche entre W et D ainsi qu'entre W et E : S (WD) = 3

    S (WE) = 2

    V D E F

    V 0 5 4 6

    D 0 5 9

    E 0 8

    F 0

    V D E F

    V 0 -12 -12 -13

    D 0 -13 -12

    E 0 -12

    F 0

    Phylogénie Neighbor-Joining (NJ)

  • 171

    On applique à l’arbre en construction :

    Etape 4 : on définit les nouvelles distances entre W et les autres séquences (ou groupes de séquences)

    d (DW) = 5, d (EW) = 4, d (DW) = 6

    Création d'une nouvelle matrice :

    La procédure repart de l'étape 1 avec N N-1 = 3

    V W F

    V 0 2 6

    W 0 6

    F 0

    A

    C

    F

    B

    E D

    1

    4

    2 1

    2 3

    Phylogénie Neighbor-Joining (NJ)

  • 172

    La matrice de distance associée à cet arbre est la suivante :

    Etape 1 : calcul de la divergence de chaque séqu