Arbre des suffixes. Recherche de motifs

Documents pareils
UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Algorithmes sur les mots (séquences)

Introduction à l étude des Corps Finis

Big data et sciences du Vivant L'exemple du séquençage haut débit

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

Fonction de hachage et signatures électroniques

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

FORD C-MAX + FORD GRAND C-MAX CMAX_Main_Cover_2013_V3.indd /08/ :12

Master IAD Module PS. Reconnaissance de la parole (suite) Alignement temporel et Programmation dynamique. Gaël RICHARD Février 2008

Informatique Générale

Définitions. Numéro à préciser. (Durée : )

Le signal GPS. Les horloges atomiques à bord des satellites GPS produisent une fréquence fondamentale f o = Mhz

Plus courts chemins, programmation dynamique

UE C avancé cours 1: introduction et révisions

V- Manipulations de nombres en binaire

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

VIII- Circuits séquentiels. Mémoires

Rappels Entrées -Sorties

Planche n o 22. Fonctions de plusieurs variables. Corrigé

Resolution limit in community detection

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

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Représentation d un entier en base b

Cryptologie. Algorithmes à clé publique. Jean-Marc Robert. Génie logiciel et des TI

CORRECTION EXERCICES ALGORITHME 1

Sécurité des réseaux IPSec

INF 4420: Sécurité Informatique Cryptographie II

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable

Chap III : Les tableaux

1 Modélisation d être mauvais payeur

Codage d information. Codage d information : -Définition-

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.

Comment reproduire les résultats de l article : POP-Java : Parallélisme et distribution orienté objet

TEPZZ A_T EP A1 (19) (11) EP A1 (12) DEMANDE DE BREVET EUROPEEN. (51) Int Cl.: G07F 7/08 ( ) G06K 19/077 (2006.

Objets Combinatoires élementaires

OLYMPIADES ACADEMIQUES DE MATHEMATIQUES. 15 mars 2006 CLASSE DE PREMIERE ES, GMF

Baccalauréat L spécialité, Métropole et Réunion, 19 juin 2009 Corrigé.

Solutions du chapitre 4

Quelques tests de primalité

ÉPREUVE COMMUNE DE TIPE Partie D

Bases de programmation. Cours 5. Structurer les données

Séquence 2. Repérage dans le plan Équations de droites. Sommaire

CATALOGUE DES PRESTATIONS DE LA

Les fonctions de hachage, un domaine à la mode

Identification de nouveaux membres dans des familles d'interleukines

TOUT CE QU IL FAUT SAVOIR POUR LE BREVET

Cryptographie et fonctions à sens unique

Cryptographie RSA. Introduction Opérations Attaques. Cryptographie RSA NGUYEN Tuong Lan - LIU Yi 1

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

Systèmes de communications numériques 2

Licence Sciences et Technologies Examen janvier 2010

Structure du format BMP, sa lecture, sa construction et son écriture

Chapitre 1. Une porte doit être ouverte et fermée. 1.1 Les enjeux de l'informatique quantique

I4 : Bases de Données

Continuité d une fonction de plusieurs variables

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

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Exprimer ce coefficient de proportionnalité sous forme de pourcentage : 3,5 %

JEU VIDEO : UN NOUVEAU COMPAGNON par Colette KELLER-DIDIER

Méthode de préparation du fichier texte d import depuis Excel, via Access jusqu à Drupal.

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

Sub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"

Rank Xerox (UK) Business Services

Chapitre 7. Récurrences

Vis à billes de précision à filets rectifiés

CHAPITRE V SYSTEMES DIFFERENTIELS LINEAIRES A COEFFICIENTS CONSTANTS DU PREMIER ORDRE. EQUATIONS DIFFERENTIELLES.

Compression Compression par dictionnaires

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Microprocesseur + Logiciel

OFFRES DE SERVICES SDS CONSULTING

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Cryptologie et physique quantique : Espoirs et menaces. Objectifs 2. distribué sous licence creative common détails sur

INTRODUCTION AU DATA MINING

DÉFIS DU SÉQUENÇAGE NOUVELLE GÉNÉRATION

MATHÉMATIQUES DISCRÈTES (4) CRYPTOGRAPHIE CLASSIQUE

Circulaire 2015/1 «Comptabilité banques»

Documentation SecurBdF

Les structures de données. Rajae El Ouazzani

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

TRIGONOMETRIE Algorithme : mesure principale

Algorithmique des Systèmes Répartis Protocoles de Communications

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

Les bases de données transcriptionnelles en ligne

Limitations of the Playstation 3 for High Performance Cluster Computing

MegaStore Manager ... Simulation de gestion d un hypermarché. Manuel du Participant

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Gestion de données incertaines et de leur provenance

GENERALITES Sélection du fichier... 7 TRANSFERT DES ECRITURES... 8

Rapport d activité. Mathieu Souchaud Juin 2007

Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran) " Processus = suite d'actions = suite d'états obtenus = trace

COMPTABILITE SAGE LIGNE 30

Domain Name Service (DNS)

Exercices Corrigés Premières notions sur les espaces vectoriels

SOMMAIRE... SOMMAIRE... SOMMAIRE... SOMMAIRE... SOMMAIRE... SOMMAIRE... LES MESURES

Théorie des Langages

Le format OpenPGP. Traduit par : Sébastien Person. personseb@yahoo.fr. Matthieu Hautreux. matthieu.hautreux@insa-rouen.fr.

Introduction aux algorithmes répartis

Le protocole IPv6 sur le Réseau Académique Parisien

Transcription:

rbre des suffixes et Recherche de motifs

rbre des suffixes Structure de données qui permet de représenter exactement tous les facteurs d un texte Une feuille de l arbre = un suffixe du mot un facteur = un préfixe d un suffixe un chemin dans l arbre = un facteur aille linéaire haque nœud interne a au moins deux fils

Première tentative : automate déterministe qui reconnait tous les facteurs du texte. Exemple : Une feuille un suffixe

Deuxième tentative : $ ($ : nouveau caractère) $ $ $ $ $ $ $ $ $ une feuille = un suffixe

rbre des suffixes de ompaction : on obtient une taille linéaire

lgorithmes de construction emps et espace linéaire Weiner (973) lgorithme historique Mac reight (976) onstruction à l aide de liens suffixes Ukkonen (995) lgorithme on-line

rbre des suffixes généralisés Un ensemble s,... s n de séquences rbre des suffixes généralisé un chemin de la racine à une feuille =un suffixe d une séquence onstruction incrémentale rbre des suffixes pour s jout des autres séquences s 2, s 3,... Espace et temps linéaire

Que peut-on faire avec un arbre des suffixes? Recherche de motifs exacts Recherche de motifs avec k erreurs Recherche de répétitions Recherche du plus long facteur commun entre n séquences Séquences cycliques...

pplication : MUMmer lignement de génomes Deux génomes et B Etape : Détection des segments communs entre les deux séquences construction de l arbre des suffixes généralisé des deux séquences recherche des MUM (Maximal Unique Match) unique : nœud de l arbre avee exactement deux fils, un pour chaque génome maximal : au cours de la construction de l arbre génome génome B

Etape 2 :Extraction d un ensemble cohérent de MUMs ris de MUMs suivant leurs coordonnées dans le génome Extraction d une sous-suite croissante pour le génome B Utilise l algorithme de la plus longue sous-séquence croissante, en pondérant chaque MUM par sa longueur, et en traitant les chevauchements. génome génome B

Etape 3: Enrichissement de l alignement À partir de l arbre des suffixes Identification des SNP (Single Nucleotide Polymorphism) Identification des répétitions en tandem raitement des insertions : véritable insertion ou transposition? raitement des régions polymorphes (zones entre deux MUM sur les deux séquences) région courte : alignement local de Smith&Waterman région longue : recherche de MUM plus courts

Recherche de motifs exacts Données : un texte de longueur n : (..n) un motif M de longueur m : M(..m) Problème : rouver toutes les occurrences de M dans Des dizaines, (des centaines?) d algorithmes... Méthodes comparatives : lgorithme brute force (immémorial), Boyer- Moore (977) Méthodes numériques : Shift-Or (Baeza-Yates et onnet 992), Karp et Rabin (987)

Exemples d application recherche de sites de clivage d enzyme de restriction recherche de sites d hybridation d amorces localisation d ES

lgorithme brute force exte.. X Motif M Le motif balaye tout le texte, du début vers la fin. Décalage = + À chaque position du texte, on compare le texte au motif, jusqu à rencontrer un mismatch, ou jusqu à épuiser le motif. omplexité : O(nm)

omment améliorer l algorithme brute force? On cherche à faire des décalages de plus de une position Bien sûr, ces décalages plus importants doivent rester corrects : ils ne doivent pas permettre de rater une occurrence du motif est possible en faisant un pré-traitement du motif M

lgorithme de Boyer-Moore Le motif est lu de la fin vers le début. Le décalage a toujours lieu du début vers la fin du texte. k x X. i p {}}{. exte Motif M rois informations sont exploitées : p = M(i +..m) (k) M(i) } règle du bon suffixe (k) = x } règle du mauvais caractère

Règle du bon suffixe Décaler le motif vers la droite de telle sorte que la prochaine occurrence du suffixe p dans M soit alignée avec la position k de, et que le caractère suivant soit différent de M(i). S(i) (good suffix) : plus petit entier non nul l tel que le décalage de l positions soit pertinent : M(i + l..m l) = M(i +..m) M(i l) M(i) ou si l n existe pas : l = m k, où k est le plus grand entier tel que M(m k+..m) = M(..k)

Exemples : le motif tactaga i 2 3 4 5 6 7 S(i) 7 7 7 7 7 2 le motif gcagagag i 2 3 4 5 6 7 8 S(i) 7 7 7 2 7 4 7

Règle du mauvais caractère Décaler le motif de telle sorte que la position k du texte soit alignée avec un caractère (k) du motif. B(x) (bad character) : longueur du plus long suffixe de M qui ne contient pas x, sauf éventuellement en dernière position Exemple : le motif gcagagag a c g t 6 2 8 Quand un mismatch intervient entre la position i du motif et la position k du texte, le décalage se fait de max{s(i), B((k)) (m i)} positions.

Points forts omplexité : O(mn) dans le pire des cas, mais sous-linéaire en moyenne Sous-linéaire: un caractère est lu moins d une fois. erriblement efficace en pratique si l alphabet est grand, ou si le motif est long Points faibles Pré-traitement en temps linéaire, mais délicat à implémenter (non détaillé) Moins convaincant pour de courts motifs sur un petit alphabet (l DN par exemple)

lgorithme Shift-Or Décalage de bits B : matrice m n sur et B(i, k) = M(..i) = (k i +..k) k i+ k...... exte i Motif M Les occurrences du motif M se trouvent aux positions p telles que B(m, p + m ) =.

alcul de la matrice B Exemple : le motif tactaga On définit quatre vecteurs (un par lettre de l alphabet) U(a) U(c) U(g) U(t) U(x)(i) = M(i) = x

Première colonne de B si () M() si () = M()

olonnes suivantes : la colonne k + à partir de la colonne k shift + ND ND U(x) k k + où x = (k + ). ND est l opérateur qui effectue le Et logique bit par bit.

Points forts Pré-traitement quasi inexistant Facile à implémenter Fonctionne bien si le motif est de taille inférieure à un mot machine: les opérations se font alors en temps constants. On obtient alors une complexité linéaire. S adapte facilement au cas de motifs approchés Points faibles Inadapté quand le motif est long

lgorithme de Karp-Rabin rithmétique modulo et décalage d : taille de l alphabet Un mot est codé par un entier en base d, grâce à une fonction de hachage h h(u) = (u d m + + u m ) modulo q q est choisi comme le plus grand entier : le modulo se fait implicitement.

Déroulement de l algorithme. alcul de h(m) 2. alcul de h( (..m ) 3. Déplacement d une fenêtre de longueur m le long du texte, de en, avec réactualisation de la valeur de h (emps constant) h x y h h = (d(h xd m ) + y) modulo q 4. Quand on trouve une fenêtre f telle que h(f) = h(u), on vérifie en comparant f et u caractère par caractère

Points forts Facile à implémenter Efficace en pratique Principe repris dans BLS Points faibles omplexité en O(mn) dans le pire des cas Pas le plus efficace en pratique

Recherche d oligonucléotides sur-représentés rouver les facteurs de transcription impliqués dans la régulation transcriptionnelle d une famille de gènes Exemple 2 gènes de la levure, régulés par la méthionine SM2, ME6, MIUP3, ME3, ME3, ME4, ME, SM, ME7, ZWF, ME2 analyse de la région -8 - modèle de fond : %, régions intergéniques de la levure Van Helden, J., ndre, B., and ollado-vides, J.: Extracting regulatory sites from the upstream region of yeast genes by computational analysis of oligonucleotides frequencies. Journal of Molecular Biology 28(5), 827-842, 998

cacgtg cacgtg cacgtg.47 3.26.e-9 2.e-6 ccacag ccacag ctgtgg.259 2.22 2.e-5 4.5e-2 acgtga acgtga tcacgt.358 3 3. 2.2e-5 4.6e-2 aactgt aactgt acagtt.63 7 5.28 3.9e-5 8.e-2 actgtg actgtg cacagt.366 2 3.6. 2.4e- gccaca gccaca tgtggc.299 2.59.37 7.6e- gcttcc gcttcc ggaagc.46 2 6.6.37 7.7e- séquence identifiant fréq. att. n.o. n.a. P-value E-value fréq. att. : fréquence attendue du motif, à partir d un modèle constitué de régions inter-géniques n.o. : nombre d occurrences observé n.a : nombre d occurrences attendu P-value : probabilité du nombre d occurrences observé E-value : nombre de motifs attendu avec cette probabilité lignement des motifs trouvés cluster # cluster # 2 tcacgt....acgtga aactgt....acagtt.cacgtg..cacgtg..actgtg..cacagt...acgtga tcacgt....ctgtgg ccacag.. tcacgtga tcacgtga aactgtgg ccacagtt complexe Met4p/bfl/Met28 Met3p