Cours 8: Quelques algorithmes en bioinformatique

Documents pareils
Plus courts chemins, programmation dynamique

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

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 ://

Jean-Philippe Préaux

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

Optimisation for Cloud Computing and Big Data

Chapitre 5 : Flot maximal dans un graphe

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

Cours de Master Recherche

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

Durée de L épreuve : 2 heures. Barème : Exercice n 4 : 1 ) 1 point 2 ) 2 points 3 ) 1 point

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

Programmation Linéaire - Cours 1

Résolution d équations non linéaires

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

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.

Programmation linéaire

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

Chapitre 7. Récurrences

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

OPTIMISATION À UNE VARIABLE

Programmation linéaire et Optimisation. Didier Smets

LES MÉTHODES DE POINT INTÉRIEUR 1

Limitations of the Playstation 3 for High Performance Cluster Computing

Université Paris-Dauphine DUMI2E 1ère année, Applications

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

Algorithmes de recherche

Optimisation Discrète

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

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

Chapitre 3. Les distributions à deux variables

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

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

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

Modélisation et Simulation

Enoncé et corrigé du brevet des collèges dans les académies d Aix- Marseille, Montpellier, Nice Corse et Toulouse en Énoncé.

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

Cours Optimisation Partie Optimisation Combinatoire. Année scolaire Gérard Verfaillie ONERA/DCSD/CD, Toulouse

Les arbres binaires de recherche

Echantillonnage Non uniforme

Lagrange, où λ 1 est pour la contrainte sur µ p ).

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

Quelques tests de primalité

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

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

Annexe 6. Notions d ordonnancement.

Nombres premiers. Comment reconnaître un nombre premier? Mais...

Le théorème de Thalès et sa réciproque

Utilisation des tableaux sémantiques dans les logiques de description

Items étudiés dans le CHAPITRE N5. 7 et 9 p 129 D14 Déterminer par le calcul l'antécédent d'un nombre par une fonction linéaire

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme

Quelques algorithmes simples dont l analyse n est pas si simple

L ANALYSE EN COMPOSANTES PRINCIPALES (A.C.P.) Pierre-Louis GONZALEZ

Parallélisme et Répartition

Model checking temporisé

VI. Tests non paramétriques sur un échantillon

Problème 1 : applications du plan affine

Programmation linéaire

Algorithmique et Programmation

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

Commun à tous les candidats

Arbres binaires de décision

L exclusion mutuelle distribuée

FIMA, 7 juillet 2005

Tests d indépendance en analyse multivariée et tests de normalité dans les modèles ARMA

INFO-F-425 Modèles mathématiques et algorithmes pour l ordonnancement. Bernard Fortz

AC AB. A B C x 1. x + 1. d où. Avec un calcul vu au lycée, on démontre que cette solution admet deux solutions dont une seule nous intéresse : x =

Stratégie de recherche adaptative en programmation par contrainte

Peut-on imiter le hasard?

Raisonnements standard et non-standard pour les systèmes décentralisés de gestion de données et de connaissances

PROBLEME(12) Première partie : Peinture des murs et du plafond.

Chapitre 6. Fonction réelle d une variable réelle

Soit la fonction affine qui, pour représentant le nombre de mois écoulés, renvoie la somme économisée.

Resolution limit in community detection

Chapitre 7. Circuits Magnétiques et Inductance. 7.1 Introduction Production d un champ magnétique

Comment démontrer des formules sans effort? exposé de maîtrise

Méthodes de quadrature. Polytech Paris-UPMC. - p. 1/48

Calcul différentiel sur R n Première partie

Fonctions homographiques

Rapport de stage de première année de Master Optimisation de cache d instructions

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

LA PHYSIQUE DES MATERIAUX. Chapitre 1 LES RESEAUX DIRECT ET RECIPROQUE

Compression et Transmission des Signaux. Samson LASAULCE Laboratoire des Signaux et Systèmes, Gif/Yvette

TP 7 : oscillateur de torsion

Objets Combinatoires élementaires

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

Équations non linéaires

Construction d un cercle tangent à deux cercles donnés.

Limites finies en un point

Analyse fonctionnelle Théorie des représentations du groupe quantique compact libre O(n) Teodor Banica Résumé - On trouve, pour chaque n 2, la classe

Surveillance et maintenance prédictive : évaluation de la latence de fautes. Zineb SIMEU-ABAZI Univ. Joseph Fourier, LAG)

Fondements de l informatique Logique, modèles, et calculs

Approximations variationelles des EDP Notes du Cours de M2

MESURE ET PRECISION. Il est clair que si le voltmètre mesure bien la tension U aux bornes de R, l ampèremètre, lui, mesure. R mes. mes. .

Chapitre 5. Équilibre concurrentiel et bien-être

Mathématiques appliquées à l'économie et à la Gestion

t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre :

Quelques Algorithmes simples

Trouver un vecteur le plus court dans un réseau euclidien

Transcription:

Cours 8: Quelques algorithmes en bioinformatique Alignement de 2 séquences, programmation dynamique Alignement de k séquences, NP-complétude Alignement de k séquences, algorithme approché Construction d arbres d évolution 1-1

Distance d édition et alignement de séquences Données: Deux mots u, v sur un alphabet A (par ex. {A, C, G, T }) et une fonction de dissimilarité des lettres δ : (A { }) 2 R +. Problème: trouver l alignement (U, V ) qui minimise P i δ(u i, V i ). u = GAT GCAT v = T AGCAT δ A T C G A 0 1 3 3 5 T 1 0 3 3 5 C 3 3 0 1 5 G 3 3 1 0 5 5 5 5 5 0 U G A T G C A T V T A C G A T δ(u, V ) = 5 + 1 + 1 + 5 + 0 + 5 + 0 + 0 où la fonction δ a été étendue aux couples de mots de même longueur Hypothèse: δ(x, y) d autant plus petit que x et y se ressemblent: la valeur d alignement optimale d(u, v) est vue comme distance sur les mots. Distance d édition: en informatique on travaille souvent avec la distance d édition: nombre d opérations de type insertion, effacement, mutation pour passer d un mot à l autre. C est un cas particulier du modèle ci-dessus. 2-1

Alignement de séquences et programmation dynamique Récurrence: pour S i,j = meilleur alignement de u 1... u i avec v 1... v j. On calcule S u, v à partir de S 0,0 = 0 et de la récurrence 8 < S i 1,j 1 + δ(u i, v j ) si i > 0 et j > 0 S i,j = min S i 1,j + δ(u i, ) si i > 0 : S i,j 1 + δ(, v j ) si j > 0 Si u = m, v = n, table de taille O(nm) calculée en temps O(nm). Une fois la table calculée on retrouve l alignement en temps linéaire: on construit un chemin de (m, n) à (0, 0) dans la table en retrouvant à chaque étape à la case qui a donné le min. Dans certains contextes la limitation est la taille de la mémoire. Pour calculer les (S i,j ) 0 i m pour j donné, on a besoin que des (S i,j 1 ) 0 i m on peut se contenter d un espace linéaire. Mais dans ce cas on ne retrouve plus facilement l alignement. 3-1

Alignement de séquences en espace linéaire On peut trouver le meilleur alignement en espace linéaire par une approche diviser pour régner. Soit i 0 = m/2, on calcule le score a j = S i0,j pour tout j ainsi que b j = S i 0,j score du meilleur alignement de la 2ème moitié de u avec v j+1... v n pour tout j: espace linéaire. On choisit k = argmin j (a j 1 + b j+1 + δ(u i0, v j ), a j 1 + b j + δ(u i0, )) on aligne a i0 avec b k (ou un espace) et on recommence dans les 2 parties. Complexité: on veut montrer que cela ne coute que 2 fois plus cher en temps que l algo direct: C(m, n) 2mn. C(m, n) mn/2 + mn/2 + C(m/2, k) + C(m/2, n k) C(m, n) mn/2 + mn/2 + mk + m(n k) = 2mn 4-1

Alignement de k séquences Données: k mots u 1,..., u k sur un alphabet A et une fonction de dissimilarité des lettres δ : (A { }) 2 R +. Problème Alignement-Multiple: trouver l alignement (U 1,.. X., U k ) qui minimise δ(u i, U j ). 1 i<j k Programmation dynamique: par programmation dynamique on doit aligner des préfixes de chacuns des k mots table en O(n k )... exponentiel avec k. 5-1

Alignement de k séquences: NP-complétude Théorème: Le problème de décision de l existence d un alignement multiple de valeur au plus S pour des séquences u 1,..., u k et une fonction de dissimilarité δ est NP-complet. Le problème Alignement-multiple est clairement dans NP: le calcul de la valeur d un alignement se fait en temps O(k 2 n). Preuve: réduction de Vertex-cover à Alignement multiple. 6-1

7-1 Alignement de k séquences: NP-complétude Preuve: réduction de Vertex-cover à Alignement multiple. Considérons une instance de VertexCover: G un graphe à n sommets, m arêtes, et k l objectif. Existe-t-il un ensemble d au plus k sommets qui couvrent toutes les arêtes? On y associe une instance de AlignementMultiple: à l arête {x i, x j }, i < j, on associe le mot de longueur 3n + 3 u ij = a 3i ba 3(j i) 2 ba 3(n j)+3 avec des b en positions 3i + 1 et 3j. on ajoute p copies du mot t = c(001) n 00c de longueur 3n + 4 et q copies de v = cd k c de longueur k + 2. Coûts: si x y, dans {a, b, 0, 1}, δ(x, y) = 1 sauf δ(0, 1) = 2 si y {c, d}, δ(x, y) = 2 sauf δ(a, c)=δ(, c)=δ(1, d)=δ(b, d)=1. On peut aligner un b de chaque u ij avec des d ssi G possède une couverture avec k sommets, et ce cas donne l alignement min.

Alignement de k séquences: algorithme approché Données: k mots u 1,..., u k sur un alphabet A et une fonction de dissimilarité des lettres δ : (A { }) 2 R +. On suppose que δ est une distance: δ(i, j) δ(i, l) + δ(l, j), alors d l est aussi. Algorithme: calculer d(u i, u j ) pour tout i, j Soit u le mot u i qui minimise P j i d(u i, u j ) Supposons u 1 = u et posons U 1 := u 1. Pour i de 2 à k faire: Aligner u i et U 1 avec l algo pour 2 séquences Construire ainsi U i et modifier U 1 par insertion de blancs. Mettre à jour les U j, 2 j < i par insertion de ces blancs. Remarque: cet algorithme fonctionne en O(k 2 n 2 ), il est polynomial 8-1

Alignement de k séquences: algorithme approché Analyse: Valeur de l alignement constuit: X δ(u i, U j ) X δ(u i, U 1 ) + δ(u 1, U j ) (k 1) X δ(u i, U 1 ) i<j i<j i = (k 1) X d(u i, u ) i Valeur de l alignement optimal: X δ(ui, Uj ) X d(u i, u j ) = 1 X X d(u i, u j ) k 2 2 i<j i<j i j i Théorème: L algorithme est approché à un facteur 2. X i d(u i, u 1 ) 9-1

Reconstruction d arbres d évolution Données: Pour n espèces, la matrice des temps écoulés d(i, j) depuis la divergence des espèces i et j. Problème. Retrouver l arbre de l évolution: espèces aux feuilles, noeuds = divergence entre 2 ou plus branches, hauteur = temps; le premier ancêtre commun de i et j doit être à hauteur d(i, j). Théorème: L arbre existe ssi d est une ultramétrique: pour tout i, j, k, max(d(i, j), d(j, k), d(i, k)) est atteint au moins 2 fois. Preuve: 3 feuilles dans un arbre d évolution max 2 Réciproque par récurrence: on reconstruit la branche de l espèce n, en partitionnant les {1,..., n 1} suivant les valeurs de d(i, n), et en traitant récursivement les sous-arbres. 10-1