3. Prédiction des gènes • Tous les gènes se terminent sur un codon stop • Un algorithme simple de prédiction de gènes • À la recherche des codons start et stop • Prédiction de tous les gènes d’une séquence • Comment améliorer la qualité des prédictions ? • L’algorithme de Boyer-Moore • Index et arbre des suffixes • Des méthodes probabilistes à la rescousse • Comment évaluer la qualité de prédiction des méthodes ? • La prédiction de gènes dans les génomes eucaryotes François Rechenmann BIOINFORMATIQUE : GÉNOMES ET ALGORITHMES Algorithmes de recherche de motifs • Algorithme naïf § n : longueur du motif à rechercher m : longueur du texte § dans le pire des cas, nombre de comparaisons : O (n * (m-n)) § n=6 AGGAGG ATAACAGAGGAGGATAATAACAGGAGTAAATA m = 32 2 Algorithmes de recherche de motifs • Algorithme naïf § n : longueur du motif à rechercher m : longueur du texte § dans le pire des cas, nombre de comparaisons : O (n * (m-n)) § AGGAGG ATAACAGAGGAGGATAATAACAGGAGTAAATA 3 Algorithmes de recherche de motifs • Algorithme naïf § n : longueur du motif à rechercher m : longueur du texte § dans le pire des cas, nombre de comparaisons : O (n * (m-n)) § AGGAGG ATAACAGAGGAGGATAATAACAGGAGTAAATA 4 Algorithmes de recherche de motifs • Algorithme naïf § n : longueur du motif à rechercher m : longueur du texte § dans le pire des cas, nombre de comparaisons : O (n * (m-n)) § AGGAGG ATAACAGAGGAGGATAATAACAGGAGTAAATA 5 Algorithmes de recherche de motifs • Algorithme naïf § n : longueur du motif à rechercher m : longueur du texte § dans le pire des cas, nombre de comparaisons : O (n * (m-n)) § AGGAGG ATAACAGAGGAGGATAATAACAGGAGTAAATA 6 Algorithmes de recherche de motifs • Algorithme naïf § n : longueur du motif à rechercher m : longueur du texte § dans le pire des cas, nombre de comparaisons : O (n * (m-n)) § AGGAGG ATAACAGAGGAGGATAATAACAGGAGTAAATA 7 Algorithmes de recherche de motifs • Algorithme naïf § n : longueur du motif à rechercher m : longueur du texte § dans le pire des cas, nombre de comparaisons : O (n * (m-n)) § AGGAGG ATAACAGAGGAGGATAATAACAGGAGTAAATA 8 Algorithmes de recherche de motifs • Algorithme naïf § n : longueur du motif à rechercher m : longueur du texte § dans le pire des cas, nombre de comparaisons : O (n * (m-n)) § AGGAGG ATAACAGAGGAGGATAATAACAGGAGTAAATA 9 Algorithmes de recherche de motifs • Algorithme naïf § n : longueur du motif à rechercher m : longueur du texte § dans le pire des cas, nombre de comparaisons : O (n * (m-n)) § AGGAGG ATAACAGAGGAGGATAATAACAGGAGTAAATA 10 Pour améliorer la performance des algorithmes de recherche de motifs • Prétraiter le motif § Algorithme de Boyer-Moore • Prétraiter le texte § § 11 Index Arbre des préfixes L’algorithme de Boyer-Moore • Commencer les comparaisons à partir de la fin du motif • Utiliser les informations sur les occurrences des lettres au sein du motif, obtenues lors du prétraitement CGGCTG ATAACAGGAGTAAATAACGGCTGGAGTAAATA 12 L’algorithme de Boyer-Moore • Commencer les comparaisons à partir de la fin du motif • Utiliser les informations sur les occurrences des lettres au sein du motif, obtenues lors du prétraitement • Un exemple frappant : § § pas de A dans le motif à rechercher on saute directement à la position courante + 6 (longueur du motif) CGGCTG ATAACAGGAGTAAATAACGGCTGGAGTAAATA 13 L’algorithme de Boyer-Moore • Commencer les comparaisons à partir de la fin du motif • Utiliser les informations sur les occurrences des lettres au sein du motif, obtenues lors du prétraitement • Un exemple frappant : § § pas de A dans le motif à rechercher on saute directement à la position courante + 6 (longueur du motif) CGGCTG ATAACAGGAGTAAATAACGGCTGGAGTAAATA 14 L’algorithme de Boyer-Moore • Commencer les comparaisons à partir de la fin du motif • Utiliser les informations sur les occurrences des lettres au sein du motif, obtenues lors du prétraitement • Un exemple frappant : § § pas de A dans le motif à rechercher on saute directement à la position courante + 6 (longueur du motif) CGGCTG ATAACAGGAGTAAATAACGGCTGGAGTAAATA 15 L’algorithme de Boyer-Moore • Commencer les comparaisons à partir de la fin du motif • Utiliser les informations sur les occurrences des lettres au sein du motif, obtenues lors du prétraitement • Un exemple frappant : § § il existe un autre C dans le motif on saute directement à ce C CGGCTC ATAACAGGAGTAAATAACGGCTCGAGTAAATA 16 L’algorithme de Boyer-Moore • Commencer les comparaisons à partir de la fin du motif • Utiliser les informations sur les occurrences des lettres au sein du motif, obtenues lors du prétraitement • Un exemple frappant : § § il existe un autre G dans le motif on saute directement à ce G CGGCTC ATAACAGGAGTAAATAACGGCTCGAGTAAATA 17 L’algorithme de Boyer-Moore • Commencer les comparaisons à partir de la fin du motif • Utiliser les informations sur les occurrences des lettres au sein du motif, obtenues lors du prétraitement • Un exemple frappant : § Le motif est trouvé ! CGGCTC ATAACAGGAGTAAATAACGGCTCGAGTAAATA 18 L’algorithme de Boyer-Moore • Commencer les comparaisons à partir de la fin du motif • Utiliser les informations sur les occurrences des lettres au sein du motif, obtenues lors du prétraitement • Plus le motif est long, plus le gain est important ! 19