Sensibilité de graines espacées du type Subset seed Gregory Kucherov, Laurent Noé, Mikhaïl Roytberg LORIA (Nancy) 9-10 décembre 2004, Lille AS Indexation de texte et découverte de motifs
2 Plan La problématique –Lalignement de séquences : heuristiques à laide de graines –Modèles de graines : Graines Espacées, Graines à transitions Sensibilité des graines : –Algorithme de Programmation Dynamique –Automate associé –Extension proposée Expérimentations –Automate et ses propriétés –programme Hedera
3 Pourquoi sintéresser aux méthodes dalignement local Oui, pourquoi ? #séquences, #utilisateurs, ( budget ) Programmation Dynamique (Smith-Waterman) –Donne une solution exacte –Coût quadratique (Optimisation en [Crochemore et al 02]) Méthodes Heuristiques –Fasta, Blast, PatternHunter, Blastz, Yass,… En pratique
4 Dot plot ctcgactcgggctcacgctcgcaccgggttacagcggtcgattgct aggcctcgggctcgcgctcgcgcgctagacaccgggttacagcgt Alignement détecté Filtrage à laide de graines Rechercher de courts fragments de texte conservés (graines). Puis Étendre ces graines de manière à former des alignements Graines détectées
5 Graines contiguës similarité exacte : motif de graine : Graine Contiguë Exemple : ATCAGT |||||| ATCAGT ###### ATCAGTGCAATGCTCAAGA |||||.||.||||:||||| ATCAGCGCGATGCGCAAGA ###### ATCAGTGCAATGCTCAAGA |||||.||.||||:||||| ATCAGCGCGATGCGCAAGA ###### ATCAGTGCAATGCTCAAGA |||||.||.||||:||||| ATCAGCGCGATGCGCAAGA ###### ATCAGTGCAATGCTCAAGA |||||.||.||||:||||| ATCAGCGCGATGCGCAAGA
6 ATCAGTGCAATGCTCAAGA |||||.||.||||:||||| ATCAGCGCGATGCGCAAGA Graines espacées [Ma et al. 02: PATTERNHUNTER] Motif de graine : ###--#-## # : position dun match(accepte uniquement un | ) - : position dun joker(accepte tout : | :. ) Poids : 6[nombre de #] Étendue : 9[longueur totale] Exemple : ###--#-## ATCAGTGCAATGCTCAAGA |||||.||.||||:||||| ATCAGCGCGATGCGCAAGA ###--#-## ATCAGTGCAATGCTCAAGA |||||.||.||||:||||| ATCAGCGCGATGCGCAAGA ###--#-## ATCAGTGCAATGCTCAAGA |||||.||.||||:||||| ATCAGCGCGATGCGCAAGA ###--#-## ATCAGTGCAATGCTCAAGA |||||.||.||||:||||| ATCAGCGCGATGCGCAAGA ###--#-## ATCAGTGCAATGCTCAAGA |||||.||.||||:||||| ATCAGCGCGATGCGCAAGA ###--#-## ATCAGTGCAATGCTCAAGA |||||.||.||||:||||| ATCAGCGCGATGCGCAAGA
7 Un exemple à titre illustratif ATCAGTGCAATGCTCAAGA ||||||||||||||||||| ATCAGTGCAATGCTCAAGA ###--#-## ATCAGTGCAATGCTCAAGA ||||||||||||||||||| ATCAGTGCAATGCTCAAGA ###### ATCAGTGCAATGCTCAAGA ||||||||||||||||||| ATCAGTGCAATGCTCAAGA ###--#-## ATCAGTGCAATGCTCAAGA ||||||||||||||||||| ATCAGTGCAATGCTCAAGA ###### ATCAGTGCAATGCTCAAGA ||||||||||||||||||| ATCAGTGCAATGCTCAAGA ###--#-## ATCAGTGCAATGCTCAAGA ||||||||||||||||||| ATCAGTGCAATGCTCAAGA ###### ATCAGTGCAATGCTCAAGA |||||.||||||||||||| ATCAGCGCAATGCTCAAGA ###--#-## ATCAGTGCAATGCTCAAGA |||||.||||||||||||| ATCAGCGCAATGCTCAAGA ###### ATCAGTGCAATGCTCAAGA |||||.||||||||||||| ATCAGCGCAATGCTCAAGA ###--#-## ATCAGTGCAATGCTCAAGA |||||.||||||||||||| ATCAGCGCAATGCTCAAGA ###### ATCAGTGCAATGCTCAAGA |||||.||||||||||||| ATCAGCGCAATGCTCAAGA ###--#-## ATCAGTGCAATGCTCAAGA |||||.||||||||||||| ATCAGCGCAATGCTCAAGA ###### ATCAGTGCAATGCTCAAGA |||||.||||||||||||| ATCAGCGCAATGCTCAAGA ###--#-## ATCAGTGCAATGCTCAAGA |||||.||||||||||||| ATCAGCGCAATGCTCAAGA ###### ATCAGTGCAATGCTCAAGA |||||.|||||||:||||| ATCAGCGCAATGCGCAAGA ###--#-## ATCAGTGCAATGCTCAAGA |||||.|||||||:||||| ATCAGCGCAATGCGCAAGA ###### ATCAGTGCAATGCTCAAGA |||||.|||||||:||||| ATCAGCGCAATGCGCAAGA ###--#-## ATCAGTGCAATGCTCAAGA |||||.|||||||:||||| ATCAGCGCAATGCGCAAGA ###### ATCAGTGCAATGCTCAAGA |||||.|||||||:||||| ATCAGCGCAATGCGCAAGA ###--#-## ATCAGTGCAATGCTCAAGA |||||.|||||||:||||| ATCAGCGCAATGCGCAAGA ###### ATCAGTGCAATGCTCAAGA |||||.|||||||:||||| ATCAGCGCAATGCGCAAGA ###--#-## ATCAGTGCAATGCTCAAGA |||||.|||||||:||||| ATCAGCGCAATGCGCAAGA ###### ATCAGTGCAATGCTCAAGA |||||.||.||||:||||| ATCAGCGCGATGCGCAAGA ###--#-## ATCAGTGCAATGCTCAAGA |||||.||.||||:||||| ATCAGCGCGATGCGCAAGA ###### ATCAGTGCAATGCTCAAGA |||||.||.||||:||||| ATCAGCGCGATGCGCAAGA ###--#-## ATCAGTGCAATGCTCAAGA |||||.||.||||:||||| ATCAGCGCGATGCGCAAGA ###### ###### ATCAGTGCAATGCTCAAGA |||||.||.||||:||||| ATCAGCGCGATGCGCAAGA ###--#-## ATCAGTGCAATGCTCAAGA |||||.||.||||:||||| ATCAGCGCGATGCGCAAGA ###### ###### ATCAGTGCAATGCTCAAGA |||||.||.||||:||||| ATCAGCGCGATGCGCAAGA ###--#-## ATCAGTGCAATGCTCAAGA |||||.||.||||:||||| ATCAGCGCGATGCGCAAGA ###### ######
8 Graines espacées Les graines espacées sont plus sensibles que les graines contiguës. Possibilité détendre le modèle des graines espacées, en prenant en compte les familles de mutations.
9 Propriétés Biologiques Transitions sont souvent sur-représentées. Phénomène de régularité dans les séquences codantes. Utiliser ces propriétés pour étendre le modèle des graines espacées. ATCAGTGCAATGCTCAAGA |||||.||.||||:||||| ATCAGCGCGATGCGCAAGA Mutations sur lADN AT GC transitions transversions. : ATCAGTGCAATGCTCAAGA |||||.||.||||:||||| ATCAGCGCGATGCGCAAGA
10 modèle de YASS: Graines à Transitions Motif de graine : # : position dun match - : position dun : position dun élément autorisant des : élément autorisant des transitions : accepte |,. ATCAGTGCAATGCTCAAGA |||||.||.||||:||||| ATCAGCGCGATGCGCAAGA ATCAGTGCAATGCTCAAGA |||||.||.||||:||||| ATCAGCGCGATGCGCAAGA ATCAGTGCAATGCTCAAGA |||||.||.||||:||||| ATCAGCGCGATGCGCAAGA ATCAGTGCAATGCTCAAGA |||||.||.||||:||||| ATCAGCGCGATGCGCAAGA ATCAGTGCAATGCTCAAGA |||||.||.||||:||||| ATCAGCGCGATGCGCAAGA ATCAGTGCAATGCTCAAGA |||||.||.||||:||||| ATCAGCGCGATGCGCAAGA ATCAGTGCAATGCTCAAGA |||||.||.||||:||||| ATCAGCGCGATGCGCAAGA
11 Graines espacées Graines à transitions Problème : le choix du motif. ( pourquoi et pas ?) Le choix nest pas aléatoire Il faut: 1.Définir un modèle dalignement. 2.Rechercher la graine la plus sensible sur ce modèle calcul de la sensibilité Sensibilité : probabilité de détecter un alignement du modèle
12 1. Modèle dalignement Quest ce quun alignement Modèle dalignement: Modèle X sur lalphabet ou X = Bernoulli, Markov, HMM … ATCAGTGCAATGCTCAAGA |||||.||.||||:||||| ATCAGCGCGATGCGCAAGA |||||.||.||||:||||| modèle match/mismatch 11111h11h modèle match/tr./tv.
13 2. Calcul de la sensibilité dune graine Algorithme de programmation dynamique. Représenter une graine par un automate : graine expression régulière R automate reconnaissant Calculer la probabilité datteindre létat final sous le modèle X. [Motifs Statistics, Nicodème et al.] π = #-#-#
14 Méthode proposé par Buhler Exemple : –Reconnaître les mots détectés par la graine #-#-# (automate de Aho-Corasick) [Designing Seeds for Similarity Search in Genomic DNA, Buhler et al.]
15 Méthode proposé par Buhler Exemple : –Ne pas oublier les liens préfixes (AC : fonction bord ou fail) #-#-#
16 Méthode proposé par Buhler Exemple : –Fusion des états finaux #-#-#
17 Méthode proposé par Buhler Exemple : –Fusion des états finaux #-#-#
18 Méthode proposé par Buhler Exemple : –On obtient un automate qui accepte tous les alignements que la graine détecte. #-#-#
Méthode proposé par Buhler Calcul de la sensibilité : Algorithme de programmation dynamique Probabilité datteindre létat E lors de la lecture du i éme caractère –Dépend de la probabilité datteindre létat D 1, D 2,ou D 3 lors de létape i-1. –Dépend de la probabilité de générer le caractère 0 dans le modèle dalignement. E D1D1 D2D2 D3D3
20 Méthode proposé par Buhler Taille de lautomate construit : Exponentielle En pratique, la minimisation de Hopcroft est appliquée avant le calcul de la sensibilité. Et pour des graines à transitions ?? #-#-# w = nombre de # l = étendue de la graine
21 Et pour les graines à transitions On pourrait adopter le même principe: 0,h0,h 0,h0,h h 0 h 0 0 h0,h0,h 1 h 1 h h
22 Et pour les graines à transitions Taille de lautomate construit : Exponentielle avec Les graines à transitions: lautomate explose til vraiment ? se placer dans le cadre plus général des Subset Seeds… w = nombre de # l = étendue de la graine
23 Graines de type Subset Seeds Modèle des Subset Seeds Alphabet des alignements Alphabet des graines Exemple : graines à transitions { match, transition, transversion }
24 Graines de type Subset Seeds Il est possible dobtenir une construction dautomate en temps et en espace : La base ne dépend plus de la taille de lalphabet Cet automate sera de taille à celui de AC, et ce, même dans le cadre des graines espacées classiques w : nombre de # l : étendue de la graine
25 101h111h Automate des Subset seeds Information nécessaire : –Pour un alignement donne, quels sont les préfixes de π qui détectent cet alignement ? Restrictions –Se restreindre aux séquences ne terminant pas par 1 –Se restreindre aux préfixes ne terminant pas par # Cet ensemble de préfixes restreint sera appelé π : 101h111h # 101h111h #
26 Définition de lautomate Définition des états Q – : ensemble des préfixes restreints qui détectent lalignement courant – : longueur du plus grand suffixe ayant la forme 1 t Etats finaux –Etats tels que 101h111h 101h111h h111h11 π : 101h111h # 101h111h11 t q
27 Définition de lautomate 101h111h π : 101h111h h111h h111h1h 101h111h1h 101h111h1h 101h111h1h –si a = 1 alors le préfixe 1 t est étendu –Sinon X est la remise à jour des préfixes X après lecture de 1 t a Définition de la fonction de transition
28 Un exemple: –États Q π : avec RπRπ
29 X = {Ø} t = 0 X = {Ø} t = 1 X = {Ø} t = 2 X = {Ø} t = 3 X = {2} t = 0 X = {2} t = 1 X = {2,3} t = 0 X = {3} t = 0 F avec h 0,h0,h 0 0, h h 0 h 0 0,h0,h π :
30 Expérimentations Comparaison –Automate de Aho-Corasick –Automate présenté (Automate des Subset Seeds) –Comparaison avec lautomate minimisé
31 Comparaisons : 1) Cas des graines à transitions
32 Comparaisons: 2) Cas des graines espacées
33 Programme Hedera Le programme Calcul de la sensibilité de graines à transitions Bientôt en ligne …
34 Conclusion Concept de graines du type Subset Seed –généralisation du modèle de graines à transitions de YASS –extension possible pour les protéines Construction de lautomate –Automate compact et rapide à construire Algorithme de calcul de la sensibilité …
35 Questions … ? ? ? ? ?
36