Sensibilité de graines espacées du type Subset seed Gregory Kucherov, Laurent Noé, Mikhaïl...

Post on 03-Apr-2015

103 views 0 download

Transcript of Sensibilité de graines espacées du type Subset seed Gregory Kucherov, Laurent Noé, Mikhaïl...

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