Upload
sibylle-voisin
View
103
Download
0
Embed Size (px)
Citation preview
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