199
Introduction à la bioinformatique Matthieu Basseur

Introduction à la bioinformatiquebasseur/bioinfo/bio-informatique.pdf · Introduction à la bioinformatique Notions de base Alignement 2 à 2 de séquences Introduction / Score d’un

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

  • Introduction à la bioinformatique

    Matthieu Basseur

  • 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 « biologiebiologiebiologiebiologie in silicoin silicoin silicoin 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 lagénétique, de la biochimie et de la physique, dont l'objet est lacompréhension des mécanismes de fonctionnement de la cellule au niveaumoléculaire. Le terme « biologie moléculaire », utilisé la première fois en1938 par Warren Weaver, désigne également l'ensemble des techniques demanipulation d'acides nucléiques (ADN, ARN), appelées aussi techniques degénie génétique.

    � La biologie moléculaire est apparue au XXe siècle, à la suite de l'élaborationdes lois de la génétique, la découverte des chromosomes et l'identificationde 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 parJames Watson (1928- ), Francis Crick (1916-2004), Maurice Wilkins (1916-2004) et Rosalind Franklin (1920-1958) la biologie moléculaire a connud'importants développements pour devenir un outil incontournable de labiologie 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éole2. Noyau3. Ribosome4. Vésicule5. Réticulum endoplasmique rugueux (granuleux)6. Appareil de Golgi7. Microtubule

    8. Réticulum endoplasmique lisse9. Mitochondrie10. Vacuole11. Cytoplasme12. Lysosome13. Centrosome

  • 8

    Les chromosomes

    L’ information génétique est contenuedans les chromosomes situés dans lenoyau des cellules*

    Chaque cellule d’un être humaincomporte 23 paires de chromosomes

    Un chromosome est constitué demolécules d'ADN

    * chez les eucariotes seulement. Pour les organismesprocaryotes (organismes unicellulaires), les chromosomesse 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 : Acides aminés : 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 :Codon Stop :Codon Stop :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 noyaudesquelles 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) :

    qSSAavecaawSSAw iq

    i

    i ==∑=

    ),(),,()),(( 2121

    121

    A C C G A T G A

    A C – G C T - A3 +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 A�T et G�C

    � 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 : 1Mismatch : 0Indel : 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

  • 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, leproblème d'alignement par paires consiste à déterminer unalignement 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. 48484848(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

    CCk

    n

    n

    k

    k

    knNbAlign •=∑

    =+

    0

    (É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

    022

    2

    2 11

    1

    1

    1 1

    00 0

    1 037

  • 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

    0Sim(0,0)=

    Ins(V(j))1)-jSim(0,j)Sim(0, +=

    Del(U(i))1,0)-Sim(iSim(i,0) +=

    ++

    +=

    Ins(V(j))1)-jSim(i,

    Del(U(i))j)1,-Sim(i

    V(j))Sub(U(i),1)-j1,-Sim(i

    maxj)Sim(i,

    CAGC?

    C-GC?

    CAGCT

    C-GCC

    CAGCT

    C-GC-

    CAGC-

    C-GCCou 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 entreACCG 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étionsubstitution

    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- A61

  • 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

    -A CGGATTACG

    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

    FTFTALI LLAVAV

    F-- TAL- LLA- AV

    FTFTALI LLA- 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 !

    [1..b]j [1..a],i0Sim(i,0)j)Sim(0,Sim(0,0) ∈∀∈∀===

    ++

    +

    =

    0Ins(V(j))1)-jSim(i,

    Del(U(i))j)1,-Sim(i

    V(j))Sub(U(i),1)-j1,-Sim(i

    maxj)Sim(i,

  • 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

    -A CGGATTACG

    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

    ≥⋅=

    =1

    00)(

    nsign

    nsing

    o

    ≥⋅−+=

    =1)1(

    00)(

    nsigng

    nsing

    eo

    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)))log()( nng βα +=

    oe gg

  • 74

    Exemples de modèles de gap

    Gap linéaire

    Gap affine

    Gap logarithmique

    |gap|

    na

    lité

  • 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

    ]..1[,)1(],0[],0[

    ]..1[,)1(]0,[]0,[

    0]0,0[]0,0[]0,0[]0,0[

    PjgjgjVjD

    NigigiHiD

    VHDM

    eo

    eo

    ∈∀⋅−+==∈∀⋅−+==

    ====

    +=+=

    +==

    o

    o

    gHH

    gVV

    yxsimDD

    M

    ]0,1[]1,1[

    ]1,0[]1,1[

    ),(]0,0[]1,1[

    max]1,1[11

    � 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

    +=

    +−+−+−

    =

    +−=

    =

    o

    e

    o

    o

    j

    gjVjVgjH

    gjD

    gjV

    jH

    yxsimjDjD

    jM

    ],0[],1[]1,1[

    ]1,1[

    ]1,1[

    max],1[

    ),(]1,0[],1[

    max],1[

    1

    +=

    +−+−+−

    =

    +−=

    =

    o

    o

    o

    e

    i

    giHiHgiH

    giD

    giV

    iV

    yxsimiDiD

    iM

    ]0,[]1,[]1,1[

    ]1,1[

    ]1,1[

    max]1,[

    ),(]0,1[]1,[

    max]1,[

    1

  • 78

    Alignement par paires avec gap affine

    +−+−+−

    =

    +−+−+−

    =

    +−−+−−+−−

    =

    =

    o

    o

    e

    e

    o

    o

    ji

    ji

    ji

    gjiH

    gjiD

    gjiV

    jiV

    gjiH

    gjiD

    gjiV

    jiH

    yxsimjiV

    yxsimjiH

    yxsimjiD

    jiD

    jiM

    ],1[

    ],1[

    ],1[

    max],[

    ]1,[

    ]1,[

    ]1,[

    max],[

    ),(]1,1[

    ),(]1,1[

    ),(]1,1[

    max],[

    max],[

    ),(]1][1[ ji yxsimjiM +−−=� Calcul de M[i,j] (pour tout i,j>1) :

  • 79

    Gap affine : exemple

    Matrice D Matrice V

    Matrice MMatrice 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 MMatrice 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 MMatrice 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 MMatrice 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 MMatrice 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 MMatrice 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 MMatrice 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 MMatrice 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

    ---AGCTCGATACAGCTTG-

    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)

    → Uklisakon d'heuriskques (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..LSKYMLAVRN YINLIT RQRY

    PPY_LOPAM/1-36 PED..WASYQAAVRH YVNLIT RQRY

    PAHO_BOVIN/30-65 PEQ..MAQYAAELRR YINMLTRPRY

    PAHO_CHICK/26-61 VED..LIRFYNDLQQ YLNVVTRHRY

    PAHO_ANSAN/1-36 VED..LRFYYDNLQQ YRLNVFRHRY

    NPF_HELAS/4-39 PNE..LRQYLKELNE YYAIMGRTRF

    NPF_MONEX/1-39 DNKAALRDYLRQINE YFAIIG RPRF

  • 98

    Motif protéique

    PMY_PETMA/1-36 PEE..LSKYMLAVRN YINLIT RQRY

    PPY_LOPAM/1-36 PED..WASYQAAVRH YVNLIT RQRY

    PAHO_BOVIN/30-65 PEQ..MAQYAAELRR YINMLTRPRY

    PAHO_CHICK/26-61 VED..LIRFYNDLQQ YLNVVTRHRY

    PAHO_ANSAN/1-36 VED..LRFYYDNLQQ YRLNVFRHRY

    NPF_HELAS/4-39 PNE..LRQYLKELNE YYAIMGRTRF

    NPF_MONEX/1-39 DNKAALRDYLRQINE YFAIIG RPRF

    � 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 zincYVCPFDGCNKKFAQSTNLKSHILT-- H

    YKCT--V CRKDISSSESLRTHMFKQHH

    FQCD--I CKKTFKNACSVKIHHKN-MH

    LKCSVPGCKRSFRKKRALRIHVSE-- H

    FECN--M CGYHSQDRYEFSSHITRGEH

    YKCEFADCEKAFSNASDRAKHQNR-TH

    YKCN--Q CGIIFSQNSPFIV HQIA-- H

    FRCS--E CSRSFTHNSDLTAHMRK--H

    CKCETENCNLAFTTASNMRLHFKR-AH

    YRCSYEDCQTVSPTWTALQTHLKK-- H

    FRCV--WCKQSFPTLEALTTHMKDSKH

    FRCGYKGCGRLYTTAHHLKVHERA-- H

    YRCPRENCDRTYTTKFNLKSHILT-F H

    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---GYS GCKTCTSGTTCQYSNDYYSQCL

    HYGQCGGI---GYS GPTVCASGTTCQVLNPYYSQCL

    QWGQCGGI---GYT GSTTCASPYTCHVLNPYYSQCY

    VWGQCGGQ---NWSGPTCCASGSTCVYSNDYYSQCL

    LYGQCGGA---GWT GPTTCQAPGTCKVQNQWYSQCL

    IWGQCGGN---GWT GATTCASGLKCEKINDWYYQCV

    VWGQCGGN---GWT GPTTCASGSTCVKQNDFYSQCL

    DWAQCGGN---GWT GPTTCVSPYTCTKQNDWYSQCL

    QWGQCGGQ---NYS GPTTCKSPFTCKKINDFYSQCQ

    RWQQCGGI---GFT GPTQCEEPYICTKLNDWYSQCL

    HWAQCGGI---GFS GPTTCPEPYTCAKDHDIYSQCV

    LYEQCGGI---GFD GVTCCSEGLMCMKMGPYYSQCR

    VWAQCGGQ---NWSGTPCCTSGNKCVKLNDFYSQCQ

    PYGQCGGM---NYS GKTMCSPGFKCVELNEFFSQCD

    AYYQCGGSKSAYPNGNLACATGSKCVKQNEYYSQCV

    EYAACGGE---MFM GAKCCKFGLVCYETSGKWSQCR

    � 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

    85

    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

    85

    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

    222=6

    222=6

    222=6

    222=6

    -2-20=-4

    -1-2-2=-5

    2-1-1=0

    222=6

    -12-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

    222=6

    222=6

    222=6

    222=6

    -2-20=-4

    -1-2-2=-5

    2-1-1=0

    222=6

    -12-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 AA L L A F W G P D P A A L L A F W G P D P SA L L V L W E P K P SA 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 ksé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-GTGAT--G

    A

    T

    G

    C G T G

    AG

    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 s1 s1 s1 cgatgagtcattgtgactgcgatgagtcattgtgactgcgatgagtcattgtgactgcgatgagtcattgtgactgs4 s4 s4 s4 cgatgagtcactgtgactgcgatgagtcactgtgactgcgatgagtcactgtgactgcgatgagtcactgtgactg�

    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 cgatgagtcattgtgactgs4 cgatgagtcactgtgactg

    s1 cgatgagtcattg - tgactgs3 cgacca-ttgtagctacctgs4 cgatgagtcactg - tgactg

    s1 cgatgagtcattg-tgactgs3 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-- actgs2 cga-g--ccattg-tagctactgs3 cgacca-ttgtagct - a-- cctgs4 cgatgagtcactg-t - g-- actg

    Alignement multiple

    Heuristique en étoile

    s1 cgatgagtcattg-tgactgs3 cgacca-ttgtagctacctgs4 cgatgagtcactg-tgactg

    s1 cgatgagtcattgt-g--actgs2 cga-g--ccattgtagctactg

  • 126

    Clustal

    � Higgins et Sharp [1988]. CLUSTAL: a package for performing multiple sequencealignment 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/

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

    S2S1/S4 S2 S3

    S1/

    S412.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-tgS3 cga----ccattgtagctacctg

  • 133

    → Variante de ClustalThompson JD, Higgins DG, Gibson TJ (1994) CLUSTAL W: improving the sensitivityof 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 lamatrice des distances après regroupement de 2 séquences

    � Des poids sont associés selon le nombre de séquencesconcerné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 aumilieu ambiant : un environnement changeant altèreles besoins de l'organisme vivant qui s'adapte enmodifiant son comportement

  • 140

    � L’évolution selon Darwin (1809-1882)

    � évolution par sélection naturelle : au sein d'unemême lignée, tous les individus sont différentset la nature favorise la multiplication de ceuxqui 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 reconstructiond'arbres phylogénétiques :

    � Méthodes basées sur les mesures de distances entre séquences prisesdeux à deux, c'est à dire le nombre de substitutions de nucléotides oud'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 demutations (substitutions / insertions /délétions) qui affectent chacun dessites (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)

    SeqSeqSeqSeq AAAA

    Seq CSeq CSeq CSeq C

    Seq BSeq BSeq BSeq B Seq ASeq ASeq ASeq ASeq DSeq DSeq DSeq D

    Seq BSeq BSeq BSeq B

    Seq DSeq DSeq DSeq D

    Seq CSeq CSeq CSeq C

    nœud internenœ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 ASeq ASeq ASeq A

    Seq BSeq BSeq BSeq B

    Seq DSeq DSeq DSeq D

    Seq CSeq CSeq CSeq Cracine

    SeqSeqSeqSeq AAAA Seq CSeq CSeq CSeq C

    SeqSeqSeqSeq BBBB Seq DSeq DSeq DSeq D

    SeqSeqSeqSeq AAAA

    Seq CSeq CSeq CSeq C

    SeqSeqSeqSeq BBBB Seq DSeq DSeq DSeq D

    Seq ASeq ASeq ASeq A

    Seq BSeq BSeq BSeq B

    Seq DSeq DSeq DSeq D

    Seq CSeq CSeq CSeq Cracine

    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 ASeq ASeq ASeq A SeqSeqSeqSeq CCCC

    Seq BSeq BSeq BSeq B SeqSeqSeqSeq DDDD

    1

    AAAABBBBCCCCDDDD

    AAAABBBBCCCCDDDD

    2

    BBBBAAAACCCCDDDD

    3

    CCCCDDDDAAAABBBB

    4

    DDDDCCCCAAAABBBB

    5

    1111

    2222

    3333

    4444

    5555

    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 LE 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

    ( ) ( ) ( ) =

    ==∑− sinon1

    si0,avec,,

    1

    iiii

    q

    iiiL

    yxyxdyxdVUd

    ( ) ( )( )VUdVUd LL ,min,* =

    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 C�A 1 1

    Substitutions multiples C C�A�T 1 2

    Substitutions coïncidentes C�G C�A 1 2

    Substitutions parallèles C�A C�A 0 2

    Substitutions convergentes C�A C�T�A 0 3

    Substitutions réverses C C�T�C 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

    ED

    Phylogénie

    �WPGMA

  • 153

    dist(A,B),C=(dist AC+dist BC)/2 = 4dist(A,B),D=(dist AD+dist BD)/2 = 6dist(A,B),E=(dist AE+dist BE)/2 = 6dist(A,B),F=(dist AF+dist BF)/2 = 8

    � Premier cycle :

    A

    C

    F

    B

    ED

    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 4444 0

    F 8 8 8 8 0

    � Deuxième cycle :

    dist(D,E),(A,B)=(dist D(A,B)+dist E(A,B))/2 = 6dist(D,E),C =(dist DC +dist EC )/2 = 6dist(D,E),F =(dist DF +dist EF )/2 = 8

    A

    C

    F

    B

    ED

    1

    1

    22

    Phylogénie

    �WPGMA

  • 155

    A,B C D,E F

    A,B 0

    C 4444 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 = 6dist(AB,C),F =(dist (A,B)F +dist CF )/2 = 8

    A

    C

    F

    B

    ED

    1

    1

    22

    21

    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 6666 0

    F 8 8 0

    � Quatrième cycle :

    A

    C

    F

    B

    ED

    1

    1

    22

    21

    1

    1

    Phylogénie

    �WPGMA

  • 1

    1

    1

    1

    AB

    1

    1

    C

    1

    2

    DE

    2

    2

    1

    1

    F

    1

    4

    A

    C

    F

    B

    ED

    11

    22

    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 0AD

    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.a.a.a.dist(Si,Sk)+b.b.b.b.dist(Sj,Sk))/((((a+ba+ba+ba+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)

  • 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

    AB

    1

    4

    C

    1

    2

    DE

    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

    ED

    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 :

    AC

    F

    B

    ED

    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

    � Eta