sensibilité de graines espacées du type subset seed gregory kucherov, laurent noé, mikhaïl...
TRANSCRIPT
Sensibilité de graines espacées dSensibilité de graines espacées duu type type SSubset ubset sseedeed
Gregory Kucherov, Laurent Noé, Mikhaïl RoytbergLORIA (Nancy)
9-10 décembre 2004, Lille
AS Indexation de texte et découverte de motifs
2
PlanPlan
La problématique– L’alignement de séquences :
heuristiques à l’aide 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 s’intéresser aux méthodes Pourquoi s’intéresser aux méthodes d’alignement locald’alignement 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
ctcgactcgggctcacgctcgcaccgggttacagcggtcgattgctaggcctcgggctcgcgctcgcgcgctagacaccgggttacagcgt
Alignement détecté
Filtrage à l’aide de grainesFiltrage à l’aide 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
GGraines contiguësraines 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 Graines espacées [Ma et al. 02: PATTERNHUNTER][Ma et al. 02: PATTERNHUNTER]
Motif de graine : ###--#-##
‘#’ : position d’un match (accepte uniquement un ‘|’ )‘-’ : position d’un joker (accepte tout : ‘|’ ‘:’ ‘.’ )
Poids : 6 [nombre de #] Étendue : 9 [longueur totale]
Exemple : ###--#-##
ATCAGTGCAATGCTCAAGA|||||.||.||||:|||||ATCAGCGCGATGCGCAAGA
###--#-##ATCAGTGCAATGCTCAAGA|||||.||.||||:|||||ATCAGCGCGATGCGCAAGA
###--#-##ATCAGTGCAATGCTCAAGA|||||.||.||||:|||||ATCAGCGCGATGCGCAAGA
###--#-##ATCAGTGCAATGCTCAAGA|||||.||.||||:|||||ATCAGCGCGATGCGCAAGA
###--#-##ATCAGTGCAATGCTCAAGA|||||.||.||||:|||||ATCAGCGCGATGCGCAAGA
###--#-##ATCAGTGCAATGCTCAAGA|||||.||.||||:|||||ATCAGCGCGATGCGCAAGA
8
Graines espacéesGraines 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 l’ADN Mutations sur l’ADN
A T
G Ctransitions
transversions
.:
ATCAGTGCAATGCTCAAGA|||||.||.||||:|||||ATCAGCGCGATGCGCAAGA
10
modèle de YASS: modèle de YASS: Graines à TransitionsGraines à Transitions
Motif de graine : ##@#-#@-###‘#’ : position d’un match‘-’ : position d’un joker‘@’ : position d’un élément autorisant des transitions
@ : é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 espacées Graines à transitionGraines à transitionss
Problème : le choix du motif.( pourquoi ##@#-#@-### et pas #-#-#@#-#@# ?)
Le choix n’est pas aléatoire → Il faut:1. Définir un modèle d’alignement.
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.1. Modèle d’alignement Modèle d’alignement
Qu’est ce qu’un alignement
Modèle d’alignement:
Modèle X sur l’alphabet ou
X = “Bernoulli, Markov, HMM …”
ATCAGTGCAATGCTCAAGA|||||.||.||||:|||||ATCAGCGCGATGCGCAAGA|||||.||.||||:|||||
1111101101111011111
modèle match/mismatch
11111h11h1111011111modèle match/tr./tv.
13
2.2. Calcul de la sensibilité d’une graine Calcul de la sensibilité d’une graine
Algorithme de programmation dynamique.
Représenter une graine par un automate :
graine → expression régulière R → automate reconnaissant
Calculer la probabilité d’atteindre l’état final sous le modèle X .
[Motifs Statistics, Nicodème et al.]
π = #-#-# 0
0
0
0
0
0
0
1
0
1
1
1
0
1
1
0
1
1
1
1
14
Méthode proposé par BuhlerMéthode proposé par Buhler
Exemple :
– Reconnaître les mots détectés par la graine
#-#-#
11111101011011111101
1
0
1
1
1
0
1
1
0
1
1
1
1
(automate de Aho-Corasick)
[Designing Seeds for Similarity Search in Genomic DNA, Buhler et al.]
15
Méthode proposé par BuhlerMéthode proposé par Buhler
Exemple :
– Ne pas oublier les liens préfixes (AC : fonction bord ou fail)
0
0
0
0
0
0
0
#-#-#
1
0
1
1
1
0
1
1
0
1
1
1
1
11111101011011111101
16
Méthode proposé par BuhlerMéthode proposé par Buhler
Exemple :
– Fusion des états finaux
#-#-#
0
0
0
0
0
0
0
1
0
1
1
1
0
1
1
0
1
1
1
1
11111101011011111101
17
Méthode proposé par BuhlerMéthode proposé par Buhler
Exemple :
– Fusion des états finaux
#-#-#
11111101011011111101
0
0
0
0
0
0
0
1
0
1
1
1
0
1
1
0
1
1
1
1
18
Méthode proposé par BuhlerMéthode proposé par Buhler
Exemple :
– On obtient un automate qui accepte tous les alignements que la graine détecte.
#-#-#
0
0
0
0
0
0
0
1
0
1
1
1
0
1
1
0
1
1
1
1
19
0
0
0
0
0
0
0
1
0
1
1
1
0
1
1
0
1
1
1
1
Méthode proposé par BuhlerMéthode proposé par Buhler
Calcul de la sensibilité : Algorithme de programmation dynamique
Probabilité d’atteindre l’état E lors de la lecture du iéme caractère– Dépend de la probabilité d’atteindre l’état D1, D2 ,ou D3 lors de l’étape i-1.
– Dépend de la probabilité de générer le caractère 0 dans le modèle d’alignement.
E
D1
D2
D3
20
Méthode proposé par BuhlerMéthode proposé par Buhler
Taille de l’automate 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 à transitionsEt pour les graines à transitions
On pourrait adopter le même principe: #@-#
0,h
0,h
h
0
h
0
0
h0,h
1
h
1
h
h
1
0
1
1
1
1
0
22
Et pour les graines à transitionsEt pour les graines à transitions
Taille de l’automate construit : Exponentielle
avec
Les graines à transitions:l’automate explose t’il vraiment ?
se placer dans le cadre plus général des Subset Seeds…
#@-#w = nombre de #l = étendue de la graine
23
GrainesGraines de type de type Subset Seeds Subset Seeds
Modèle des Subset Seeds
Alphabet des alignements
Alphabet des graines
Exemple : graines à transitions
{ match, transition, transversion }
24
Graines de type Subset SeedsGraines de type Subset Seeds
Il est possible d’obtenir une construction d’automate en temps et en espace :
La base ne dépend plus de la taille de l’alphabet
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 Automate des SSubset seedsubset 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 l’automateDéfinition de l’automate
Définition des états Q
– : ensemble des préfixes “restreints” qui détectent l’alignement courant
– : longueur du plus grand suffixe ayant la forme 1t
Etats finaux
– Etats tels que
101h111h #@-#@- #@-#@ #@- #@
101h111h1 #@-#@- #@-#@ #@- #@
101h111h11 #@-#@- #@-#@ #@- #@
π : #@-#@-##
101h111h#@-#@-## #@-#@-# #@-#@- #@-#@ #@-# #@- #@ #
101h111h11 #@-#@-## #@-#@-# #@-#@ #@-#
t
q
27
Définition de l’automateDéfinition de l’automate
101h111h #@-#@- #@-#@ #@- #@
π : #@-#@-##
101h111h1 #@-#@- #@-#@ #@- #@
101h111h1 #@-#@-# #@-#@- #@-# #@-
101h111h1h #@-#@-# #@-#@- #@-# #@-
101h111h1h #@-#@-## #@-#@-# #@-#@ #@-#
101h111h1h #@-#@-## #@-#@-# #@-#@ #@-#
101h111h1h #@-#@-## #@-#@-# #@-#@ #@-# #@
–si a = 1 alors
le préfixe 1t est étendu
–Sinon
X’ est la “remise à jour” des préfixes X après lecture de 1ta
Définition de la fonction de transition
28
Un exempleUn exemple::
– États Q
π : #@-#
avec
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
111
1
1
1
h 0,h
0
0, h
h
0
h
0 0,h
π : #@-#
30
ExpérimentationsExpérimentations
Comparaison
– Automate de Aho-Corasick
– Automate présenté (Automate des Subset Seeds)
– Comparaison avec l’automate minimisé
31
Comparaisons : Comparaisons : 1) 1) Cas des graines à transitionsCas des graines à transitions
32
Comparaisons:Comparaisons: 2) 2) Cas des graines espacéesCas des graines espacées
33
Programme Programme HederaHedera
Le programmeCalcul de la sensibilitéde graines à transitions
Bientôt en ligne http://yass.loria.fr
…
34
ConclusionConclusion
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 l’automate– Automate compact et rapide à construire
Algorithme de calcul de la sensibilité
…
35
QuestionsQuestions
…
???
??
http://yass.loria.fr
36