Alignement multiple de séquences. Thierry Lecroq Université de Rouen

Documents pareils
Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Objectifs. Clustering. Principe. Applications. Applications. Cartes de crédits. Remarques. Biologie, Génomique

Programmation linéaire

Programmation linéaire

Plus courts chemins, programmation dynamique

MABioVis. Bio-informatique et la

La gestion de données dans le cadre d une application de recherche d alignement de séquence : BLAST.

Cours de Recherche Opérationnelle IUT d Orsay. Nicolas M. THIÉRY. address: Nicolas.Thiery@u-psud.fr URL:

Introduction au maillage pour le calcul scientifique

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA

Résolution d équations non linéaires

Eléments de Théorie des Graphes et Programmation Linéaire

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Algorithmique et Programmation

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes

Parallélisme et Répartition

Chapitre 5 : Flot maximal dans un graphe

La classification automatique de données quantitatives

Créer et modifier un fichier d'import des coordonnées approximatives avec Excel

Cours d analyse numérique SMI-S4

Fonctions de plusieurs variables

Jean-Philippe Préaux

Pourquoi l apprentissage?

Chapitre 7. Récurrences

Introduction à la théorie des graphes. Solutions des exercices

Fonctions de plusieurs variables

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche

Une nouvelle approche de détection de communautés dans les réseaux sociaux

ARBRES BINAIRES DE RECHERCHE

VI. Tests non paramétriques sur un échantillon

Programmation Par Contraintes

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

Cours de Master Recherche

3 Approximation de solutions d équations

Programmation Linéaire - Cours 1

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : hivert

Cours d Analyse. Fonctions de plusieurs variables

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

Chapitre 2. Matrices

Optimisation Combinatoire (Méthodes approchées) II. Recherche Locale simple (Les bases)

CHAPITRE 3 LA SYNTHESE DES PROTEINES

Chapitre 3. Les distributions à deux variables

Architecture des Systèmes d Information Architecture des Systèmes d Information

Que faire lorsqu on considère plusieurs variables en même temps?


Baccalauréat ES Antilles Guyane 12 septembre 2014 Corrigé

C f tracée ci- contre est la représentation graphique d une

8.1 Généralités sur les fonctions de plusieurs variables réelles. f : R 2 R (x, y) 1 x 2 y 2

REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE MINISTERE DE LA FORMATION PROFESSIONNELLE. Microsoft. Excel XP

Géométrie Algorithmique Plan du cours

Big Data et Graphes : Quelques pistes de recherche

INTRODUCTION À L ANALYSE FACTORIELLE DES CORRESPONDANCES

L apprentissage automatique

Initiation à LabView : Les exemples d applications :

Formes quadratiques. 1 Formes quadratiques et formes polaires associées. Imen BHOURI. 1.1 Définitions

Optimisation, traitement d image et éclipse de Soleil

6. Hachage. Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses

Limites finies en un point

COORDINATION NON COOPÉRATIVE: MÉTHODES D ENCHÈRES

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,

Couples de variables aléatoires discrètes

Intégration de la dimension sémantique dans les réseaux sociaux

Big Data et Graphes : Quelques pistes de recherche

Eteindre. les. lumières MATH EN JEAN Mme BACHOC. Elèves de seconde, première et terminale scientifiques :

Feuille TD n 1 Exercices d algorithmique éléments de correction

Quantification Scalaire et Prédictive

Chaînes de Markov au lycée

Une introduction aux codes correcteurs quantiques

Cours des Méthodes de Résolution Exactes Heuristiques et Métaheuristiques

Analyse des correspondances avec colonne de référence

Introduction au Data-Mining

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

Amphi 3: Espaces complets - Applications linéaires continues

données en connaissance et en actions?

Exercices - Polynômes : corrigé. Opérations sur les polynômes

CHAPITRE IX : Les appareils de mesures électriques

Calcul intégral élémentaire en plusieurs variables

Coefficients binomiaux

Chapitre 11. Séries de Fourier. Nous supposons connues les formules donnant les coefficients de Fourier d une fonction 2 - périodique :

Sujet 4: Programmation stochastique propriétés de fonction de recours

Resolution limit in community detection

Chapitre 0 Introduction à la cinématique

Les algorithmes de base du graphisme

Ebauche Rapport finale

LE PROBLEME DU PLUS COURT CHEMIN

Cours 02 : Problème général de la programmation linéaire

Optimisation for Cloud Computing and Big Data

Echantillonnage Non uniforme

Ordonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1

Programmation Visual Basic. Visite guidée d'un programme Visual Basic 6.0

Transcription:

Alignement multiple de séquences Thierry Lecroq Université de Rouen

Problème Aligner k séquences x 0, x 1,, x k-1 de manière optimale. 2

Interêts biologiques Inférer des relations d évolution d entre espèces Déduire des similarités s de fonction ou de structure entre des séquences s de nucléotides ou d acides aminés Trouver des caractéristiques ristiques communes à une famille de protéines ou de séquences s d ARN. d 3

Représentation de familles de séquences Séquence consensus : séquence s de longueur n contenant, à chaque position, le symbole le plus fréquent à la même m me position dans l alignementl Matrice consensus : matrice card A n contenant la fréquence d apparition d de chaque symbole à chaque position de l alignementl Motif : expression rationnelle décrivant d l ensemblel des séquences s ou une partie particulièrement rement conservée 4

Matrice consensus alignement a c g t a c a c t a g g c g c c g a c g C 0 0,75 0 0,25 C 1 0 0,75 0,25 C 2 0,25 0 0,5 C 3 0 0,75 0 C 4 0 0 0,25 t 0 0 0 0 0,5-0 0 0,25 0,25 0,25 5

Alignement d une séquence avec une matrice consensus Généralisation de l alignement l de 2 séquencess Exemple a a c - c g C 0 - C 1 C 2 C 3 C 4 6

Soient Sub une matrice de substitution et M une matrice consensus. Le score de l appariement l entre le symbole x[i] de la séquence s x et de la colonne C j de la matrice M est : score(x[i], ],C j ) = Σ Sub(x[i], ],a) M(a,C j ) a 7

La valeur d un d alignement est alors égal à la somme des scores des appariements : T(x,M) ) = Σ score(x[i], ],C j ) i,j 8

Exemple Sub a c g t - M C 0 C 1 C 2 C 3 C 4 a 2-3 -1-3 -1 a 0.75 0 0,25 0 0 c -3 2-3 -1-1 c 0 0,75 0 0,75 0 g -1-3 2-3 -1 g 0,25 0,25 0,5 0 0,25 t -3-1 -3 2-1 t 0 0 0 0 0,5 - -1-1 -1-1 0-0 0 0,25 0,25 0,25 9

a a c - c g C 0 - C 1 C 2 C 3 C 4 10

Programmation dynamique T(i,j) ) = valeur de l alignement l optimal entre x[0.. [0..i]] et C[0.. [0..j]] : T(i,-1) = Σ score(x[k], ],-) T(-1, (-1,j)) = Σ score(-,c k ) T(i-1, -1,j-1)-1) + score(x[i], ],C j ) T(i,j) ) = max T(i-1, -1,j)) + score(x[i], ],-) T(i,j-1) + score(-,c j ) 11

Complexité calcul d une d case de la table de programmation dynamique (hors initialisations marginales) : O(card A) calcul de la table : O(card A x n) 12

Score SP Étant donné un alignement multiple A, l alignement induit pour deux séquences s x i et x j est la restriction de l alignement l à ces 2 séquences. Les appariements de 2 sont ignorés. 13

Fonction de score SP SP : sum of pairs Le score d un d alignement A est la somme des scores des alignements induits pour toutes les paires de séquences. s 14

Exemple x 1 x 2 x 3 a a g a a a a t a a t g c t g g g En considérant la distance d édition d dition : d(x 1,x 2 ) = 4, d(x 1,x 3 ) = 5, d(x 2,x 3 ) = 5 donc SP(A) ) = 14 15

Complexité Pb : étant donné k séquences, trouver un alignement multiple avec un score SP minimal. Il a été prouvé que ce problème est NP-dur. Généralisation de l algorithme l de programmation dynamique pour l alignement l de 2 séquences s : avec k séquences de longueur commune n,, algorithme en O(n k ) : inapplicable dès d s que k > 5 et n 100. 16

Heuristique pour l alignement multiple avec score SP But : produire un «bon» alignement multiple en temps polynomial. Bon alignement : indiquer le taux d erreur d avec un alignement optimal. 17

Soit X un ensemble de séquences s et T un arbre dont chaque nœud n est étiqueté par une séquences de X. Un alignement A de X est dit consistant avec T si, pour tout couple de séquences s (x( i,x j ) reliées es par une arête de T,, l alignement l induit pour (x( i,x j ) a un score optimal. 18

Alignement consistant avec un arbre La notion d alignement d consistant est très s liée à l arbre considéré. Deux séquences s non adjacentes ont, en général, g un score induit supérieur à d(x i,x j ). Théor orème Un alignement A de X consistant avec un arbre T peut être produit en temps polynomial. 19

Méthode Étape 0 Choisir 2 séquences s quelconques adjacentes dans l arbre et former un alignement de score d(x i,x j ). Étape 1 Choisir une séquence s x non encore alignée, adjacente à une séquence s x i déjà alignée. Soit x i la séquence s correspondant à x i dans l alignement (avec des -). 20

Étape 1 (suite) Former un alignement optimal entre x et x i, avec la règle r supplémentaire qu un un appariement formé de deux trous a un score nul. Soit x la séquence s correspondant à x dans l alignement de x avec x i. 21

Étape 1 (suite) Si aucun nouveau trou n est n inséré dans x i alors rajouter x à l alignement déjà d existant. Si un ou plusieurs trous ont été rajoutés s aux positions j dans x i alors rajouter des trous aux positions j dans toutes les séquences s de l alignement. l Répéter l étape l 1 jusqu à ce que l alignement l contienne toutes les séquences s de X. 22

Complexité On calcule k-1 alignements optimaux de 2 séquences. Si les séquences s sont de longueur m : O(km²) 23

Alignement SP par la méthode de «l étoile centrale» Séquence centrale Une séquence s x c X est dite centrale si la valeur M = Σ i d(x c,x i ) est minimale parmi toutes les séquences de X. 24

Arbre étoile (center star) Arbre T c de k nœuds, chaque nœud n est étiqueté par une séquence s distincte de X,, la racine de l arbre est x c, et toutes les arêtes de T c sont adjacentes à x c. x 1 x 0 x 3 Exemple X = { x 0, x 1, x 2, x 3, x 4, x 5 } x 2 x 4 x 5 25

Notations A c : alignement consistant avec T c s(x i,x j ) : valeur de l alignement l de x i et x j induit par l alignement A c (s(x i,x j ) d(x i,x j ) et s(x c,x i ) = d(x c,x i )) s(a) ) : valeur de l alignement l A (s(a c ) = Σs(x i,x j )) A* * : un alignement optimal de X d*( *(x i,x j ) : valeur de l alignement l de x i et x j induit par l alignement A* * (d(a*)( = Σd (x i,x j )) On suppose que d vérifie l inl inégalité triangulaire 26

On veut montrer que s(a c ) est inférieur au double de la valeur d un d alignement optimal : s(a c ) 2s(A*) 27

Lemme 1 s(x i,x j ) s(x i,x c ) + s(x c,x j ). Preuve s(x i,x j ) s(x i,x c ) + s(x c,x j ) = d(x i,x c ) + d(x c,x j ) d(x i,x j ) par l inl inégalité triangulaire. 28

Théor orème 2 s(a c )/s(a*) 2(k-1)/ -1)/k < 2. Pour k = 3 : s(a c ) 4/3 s(a*) Pour k = 6 : s(a c ) 1,666 s(a*) 29

Complexité Trouver la séquence s centrale : O(k²m²) Produire un alignement A c consistant avec T c : O(km²) 30

Programmation dynamique avec scrutage en avant Pour l alignement l de 2 séquencess : dès d s que T(i,j) ) est calculé,, les valeurs de T(i,j+1), T(i+1,j) ) et T(i+1,j+1) sont mises à jour. Graphe d éditiond dition : les sommets du graphe sont toutes les paires (i,j( i,j). Les arcs relient (i,j( i,j) à (i,j+1), (i+1,( +1,j) ) et (i+1,j+1). Le poids p(v,w) ) d un d arc (v,w)( ) est le coût t de l opération d édition d dition (insertion, suppression ou substitution) qui fait passer de v à w. 31

Notons r(w) ) la valeur provisoire de T(w). Après s le calcul de T(v) ) on met à jour r(w) ) avec min{ r(w), T(v) ) + p(v,w) ) }. La valeur T(w) ) est la valeur r(w) ) obtenue après que tous les voisins de w aient été considérés. s. 32

algo Carillo-Lipman(x,m,y,n x,m,y,n) f ENFILER(f,, (0,0)) tantque f faire (i,j) DÉFILER( FILER(f) T(i,j) r(i,j) si j+1 < n alors ENFILER(f,, (i,j( i,j+1)) r(i,j+1) min { r(i,j+1), T(i,j) ) + Ins(y[j]) } si i+1 < m alors ENFILER(f,, (i+1( +1,j)) r(i+1,j) min { r(i+1,j), T(i,j) ) + Sup(x[i]) } si i+1 < m et j+1 < n alors ENFILER(f,, (i+1( +1,j+1)) r(i+1,j+1) min { r(i+1,j+1), T(i,j) ) + Sub(x[i], ],y[j])]) } 33

Pour 3 séquences s x, y et z de longueur n,, le graphe d édition dition a n 3 sommets et 7n7 3 arcs. On veut éviter un certain nombre d opd opérations par case, et surtout, éviter de considérer toutes les cases. On note d xy (i,j)) la valeur de l alignement l optimal de x[i....n-1] et y[j....n-1]. On définit d de façon analogue d xz (i, i,l) ) et d yz (j,l). Toutes ces valeurs peuvent être calculées en O(n²). 34

Le score SP pour les séquences s x[i....n-1], y[j....n-1] et z[l....n-1] est inférieur à d xy (i,j)+d xz (i, i,l)+ )+d yz (j, j,l). Supposons que l on l connaisse la valeur t d un alignement multiple «suffisamment bon» (par exemple, l alignement A c consistant avec l arbre l étoile). Observation clef : pour une case (i,j,( i,j,l), si T(i,j, i,j,l)+ )+d xy (i,j)+d xz (i, i,l)+ )+d yz (j, j,l) ) > t alors (i,j,( i,j,l) ) ne peut appartenir à aucun chemin optimal. 35

Aucun scrutage en avant n est n nécessaire n pour une telle case. Plus important, certaines cases ne sont jamais introduites dans la file f,, et ne sont donc jamais considérées. Cet algorithme réduit r considérablement le nombre de cases à considérer. 36

Séquences consensus Mot de Steiner Étant donné un ensemble X de k séquences et une autre séquence s y (appartenant ou non à X), l erreur consensus de y relativement à X est la valeur E X (y)) = Σ i d(x i,y). Un mot de Steiner est un mot s* qui minimise la valeur E X (s* s*). 37

Un mot de Steiner reflète les caractéristiques ristiques communes aux séquences s de X : séquences consensus. Il n y n y a pas de méthode m exacte de calcul du mot de Steiner mais il existe des méthodesm d approximation. 38

Lemme 2 Il existe x X tel que E(x)/ )/E(s*) 2 2/k < 2. Théor orème 3 E(x c )/E(s*) 2-2/k. Preuve Lemme 2 et E(x c ) = Σ d(x c,x i ) E(y) ) par définition de x c. 39

Étant donné un alignement A de X,, le caractère re consensus de A à la colonne j est le caractère re a qui minimise la somme des distances de a à chaque caractère re de la colonne. On note g(j) cette somme minimale à la colonne j. La séquence s consensus de A est la séquence s x A obtenue en concaténant nant les caractères res consensus de chaque colonne de A. 40

Pour la distance d édition, d dition, le caractère re consensus est le caractère re le plus fréquent de la colonne (peut être un trou). Une façon naturelle d évaluer d la pertinence d und alignement A est de considérer sa séquences consensus x A et de calculer l erreur l consensus Σ i d(x A,x i ). Erreur d alignement d de x A = Σ j g(j). 41

Alignement multiple optimal relativement à la séquence consensus : alignement A dont la séquence consensus présente une erreur d alignement minimale. 42

Méthode itérative À chaque étape, on rajoute de nouvelles séquences à l alignement courant : on crée e un nouvel alignement en fusionnant 2 alignements de sous-ensembles X 1 et X 2 de X. La différence entre les méthodes m dépend d de l ordre d insertion d des séquences, s et de la façon d effectuer l alignement. l 43

Exemple Calculer tous les alignements 2 à 2 Choisir l alignement l formé des 2 séquencess dont la distance d édition d dition est minimale À chaque étape, choisir la séquence s (non encore alignée) dont la distance d édition d dition avec une des séquences s de l alignement l courant est minimale Rajouter cette séquence s à l alignement 44

Cette méthode m peut être vue comme un alignement consistant avec un arbre de recouvrement minimal (minimal spanning tree,, arbre formé du sous-ensemble d arcs le moins coûteux maintenant une seule composante connexe). Il y a plusieurs arbres de recouvrement possibles donc plusieurs alignements. Prim ou Kruskal 45

Clustering Cette méthode m d alignement d multiple est très s liée à la façon de choisir les alignements à fusionner. Dans quel ordre choisir les sous-alignements pour former des alignements plus grands? Les méthodes classiques de clustering sont toutes utiles pour résoudre r un tel problème. La méthodem à utiliser dépend d des données biologiques. 46

Variantes Plutôt t que de se baser sur l alignement l de 2 séquences, considérer la distance d éditiond dition «moyenne» avec toutes les séquences s des alignements. Par exemple, aligner deux matrices consensus. Si plus de temps de calcul est permis, commencer par calculer les distances 2 à 2 entre tous les alignements déjà d obtenus et garder le meilleur. 47

CLUSTALW (Thompson, Higgins & Gibson 1994) Calcul des scores d alignement d de chaque paire de séquences. s Convertir les scores d alignement d en distance d évolution d en utilisant le modèle de Kimura. Construire un arbre par une méthode m de distance «Neighbour-Joining». Utiliser cet arbre pour choisir les séquences s à incorporer dans l alignement multiple. Choisir les plus petites distances à chaque étape. L algorithme L effectue trois types différents d alignement : entre 2 séquences, s entre une séquence s et une matrice consensus ou entre 2 matrices consensus. 48

La matrice de substitution est choisie en fonction de la similarité entre les séquences s comparées : séquences très s proches : BLOSUM80 séquences éloignées : BLOSUM50 Différents scores pour les brèches, selon le type des résidus r supprimés s et la position des brèches. 49

Algorithme de Barton-Stenberg Problème des méthodes m décritesd : l alignementl produit est directement lié aux séquencess choisies. Les alignements partiels obtenus ne sont jamais modifiés. Amélioration : après s avoir obtenu un premier alignement multiple, retirer certaines séquencess de l alignement l et les réaligner r avec la matrice consensus de l alignement l multiple restant. 50

L algorithme Calculer tous les alignements 2 à 2 Choisir l alignement l de score maximal. Considérer la matrice consensus de l alignement l obtenu. À chaque étape, choisir une paire de séquences s x i et x j de score maximal, où o une seule des 2 séquences s est dans l alignement l courant. Aligner la nouvelle séquence avec la matrice consensus de l alignementl courant. Mettre à jour la matrice consensus. Recommencer cette étape jusqu à ce que toutes les séquences soient dans l alignement. l 51

L algorithme (suite) Retirer la séquence s x 0 et la réaligner r avec la matrice consensus de l alignement l restant. Recommencer cette étape avec toutes les autres séquences s x 1,x 2,,x k-1. Répéter le processus un nombre fixé de fois ou jusqu à ce que le score de l alignementl converge. 52

Calcul des scores Pour chaque paire de séquences, s les symboles sont permutés s aléatoirement, atoirement, les séquences s ainsi obtenues sont alignées, et le score (similarité) ) d alignement d est calculé. Effectuer le processus précédant une centaine de fois par paire de séquences s et calculer moyenne et déviation. Score sd(x i,x j ) : score d alignement d des 2 séquencess divisé par la déviation d calculée e pour les 2 séquences. s 53

Intuitivement, si x i et x j contiennent des structures non-aléatoires atoires liées à la fonction de la protéine, alors le score d alignement d de x i et x j doit être beaucoup plus grand que celui des permutations de x i et x j. Il a été empiriquement démontrd montré que ce score est une bonne mesure de la qualité de l alignement. l 54

Alignement par points d ancrage Basée e sur la recherche de motifs communs aux séquences. 55

Rechercher un motif commun à l ensemble ou une partie des séquences s (suffisamment long et fréquent) Décaler les séquences s de telle sorte à aligner les occurrences du motif Le problème est alors subdivisé en 2 sous-problèmes : aligner l ensemble l des préfixes des séquences s à gauche du motif d un d côté c et l ensemble l des suffixes des séquences s à droite du motif 56

Recommencer récursivement r avec chacun des 2 sous- problèmes Les séquences s ne contenant pas le motif sont alignées sépars parément, par une méthode m utilisant le score SP et les 2 alignements ainsi obtenus sont ensuite fusionnés Lorsque les séquences s ne contiennent plus de «bons» motifs, elles sont alignées par une méthodem utilisant le score SP. 57

Plusieurs méthodes m existent pour la recherche (extraction) exacte ou approchée e de motifs. L utilisation des arbres de suffixes est fréquente. 58