La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Algorithmes de filtrage Nadia El-Mabrouk. Plan 1.Introduction – Objectif – Quest-ce quune heuristique? 2.Algorithmes de filtrage: Principe et méthode.

Présentations similaires


Présentation au sujet: "Algorithmes de filtrage Nadia El-Mabrouk. Plan 1.Introduction – Objectif – Quest-ce quune heuristique? 2.Algorithmes de filtrage: Principe et méthode."— Transcription de la présentation:

1 Algorithmes de filtrage Nadia El-Mabrouk

2 Plan 1.Introduction – Objectif – Quest-ce quune heuristique? 2.Algorithmes de filtrage: Principe et méthode exacte (Baeza- Yates-Perlberg, 1992) 3.Heuristique FASTA 4.Optimisation possible en introduisant le voisinage dun k- mer 5.Heuristique BLAST 6.Ce qui est derrière BLAST: Comment choisir la taille k dun k-mer? Comment étendre les k- mers en temps sous linéaire? 7.Graines espassées. Méthode de PatternHunter 8.Alignement de génomes entiers

3 1. Introduction Recherche de P de taille m dans T de taille n à d erreurs près Programmation dynamique: Temps O(mn) Différentes améliorations: Temps O(dn) Est-ce quon peut faire mieux? Temps sous- linéaire?

4 Heuristique ou méthode exacte? Heuristique pour la recherche dun motif: méthode permettant de trouver la « plupart » des occurrences, mais pas de garantie de les trouver toutes, et peut se tromper. – Faux-négatifs: Occurrences non détectées. – Faux-positifs: Motifs trouvés qui ne sont pas des occurrences:

5 Heuristique Sélectivité (spécificité): Capacité à ne détecter que la réalité biologique et rien de plus. Problème des Faux-Positifs Sensibilité: Capacité à détecter tout ce qui est intéressant sur le plan biologique. Problème des Faux-Négatifs

6 2. Algorithmes de filtrage Effectuer un premier passage sur T pour éliminer toutes les parties qui ne sont pas susceptibles de contenir P. Partitionner P (ou T) en facteurs de taille k (k-mers, seeds ou graines). Construire un index de ces facteurs. Phase de recherche: Utiliser une méthode de recherche exacte pour trouver toutes les occurrences de ces facteurs dans T, en temps (sous) linéaire Phase de vérification: Utiliser une méthode de recherche approchée dans un intervalle restreint autour de chaque facteur trouvé, en temps (sous) linéaire.

7 Algorithmes de filtrage Les k-mers définissent des ancrages dans la table de programmation dynamique P = p 1 p 2 p 3 p 4 p1p1 p2p2 p3p3 p4p4 T P

8 Algorithmes de filtrage Les k-mers définissent des ancrages dans la table de programmation dynamique P = p 1 p 2 p 3 p 4 p1p1 p2p2 p3p3 p4p4 T P +/-d

9 Une méthode exacte ( Baeza-Yates- Perlberg, 1992 ) Partition de P en régions de taille k = ENT(m/d+1) d+1 régions de taille k, plus au plus une région de taille < k. Si le facteur T de T est une occurrence de P à d erreurs près, alors il existe au moins une région R de P et un facteur de même taille T de T tel que R et T coïncident exactement. P: T: T R T

10 Idée générale ( Baeza-Yates-Perlberg, 1992 ) P: Ensemble des d+1 premières régions de P. 1.Construire un « index » de P. 2.Trouver lensemble I des pos. des occurrences de P dans T. 3.Étendre les occurrences par programmation dynamique. Construction dun index possible en temps et espace O(m): Arbre des préfixes (Aho-Corasick), « trie structure». Recherche exacte possible en O(n) Phase de vérification: O(hdm) où h=| I |. O(m+n+hdm)

11 3. Heuristique FASTA ( Lipman, Pearson 1985 ) Taille de graine k fixée (en général 6 pour nuc.2 pourAA) Indexer tous les facteurs de taille k de P (O(m)) Rechercher toutes les occurrences exactes de ces facteurs de P dans T (O(m+n)) Chainer les graines pour former des alignements complets ~ temps proportionnel au nombre h de graines

12 Heuristique FASTA ( Lipman, Pearson 1985 ) 1.Pour une valeur ktup donnée (en général 6 pour nuc.2 pourAA), trouver toutes les paires de séquences de taille ktup identiques dans P et T: hot-spot 2.Déterminer des zones denses en identité: hot-spot consécutifs sur chaque diagonale. Score dune zone: 1.Score positif pour chaque hot-spot 2.Score négatif pour les espaces entre les hot-spot FASTA garde les 10 zones de score optimal. Zones contenant des matchs et mismatchs

13 3.Réaligner chaque zone, en considérant une matrice de substitution (PAM ou BLOSUM) Init1: Meilleur alignement obtenu 4.Parmi les 10 zones, garder celles dont le score dépasse un seuil ``cut-off. Combiner les zones en une seule Initn: Contient insertions/suppressions/mismatchs 5.Programmation dynamique dans une bande autour de Init1 (bande de taille 16 si ktup=2) Opt: Meilleur alignement obtenu Au cours de la recherche, statistiques calculées pour Init1, Initn, Opt: alignements significatifs ou non.

14

15 Taille des graines? Complexité de lheuristique de filtrage dominée par h: nombre de graines. Combien de graines attendues pour deux séquences aléatoires sur un alphabet ? – Un mot de taille k a une probabilité de 1/| | k dapparition dans lune ou lautre des séquences. h de lordre de nm | | -k (4 -k nm dans le cas de séquences dADN) Complexité totale de lheuristique de filtrage O(n+m+ | | -k ndm 2 ) Dautant plus efficace que k est grand Mais plus k est grand plus on a de chance de manquer des occurrences.

16 4. Voisinage dun mot Plutôt que de rechercher les occurrences exactes des k- mers, rechercher un « voisinage » des k-mers: mots qui sont à moins de derreurs, ou à une distance d (d = m N d (w) = { v / v et w ont au plus d différences} N 1 (abbaa) = { aabaa, aabbaa, abaa, abaaa, ababaa, abba, abbaa, abbab, abbaaa, abbaba, abbba, abbbaa, babbaa, bbaa, bbbaa} (1-match ou 20%-match)

17 Puissance du voisinage Supposons que lon cherche un 3-match dun mot P de taille 40. Si on choisit k=4 et quon divise P en 4 10-mers, alors au moins un doit matcher exactement. => Occurrence tous les | | 10 /4 caractères (e.g pour les nucléotides) P: T:

18 Puissance du voisinage Supposons que lon cherche un match un 3-match dun mot P de taille 40. Si on divise le mot requête en 2 20-mers, alors au moins un 1-voisin des deux doit matcher. => Occurrence tous les | | 20 /2|N 1 (20)| caractères (e.g / = pour les nuc.) N 1 (P): T: 10,000 fois plus spécifique ! (mais beaucoup plus de mots pour la recherche exacte)

19 5. BLAST Recherche exacte sur un voisinage des k-mers Distance Hamming pondérée (e.g. PAM120) Extension: stop quand le score chute sous une valeur seuil. BLAST est une heuristique BLAST inspiré de SLAM = SubLinear Approximate Match

20 BLAST Former la liste de tous les k-mers (seeds ou graines) de la séquence requête P P Maximum l-k+1 mots Pour chaque facteur w, former la liste de tous les mots de taille k dont le score avec w dépasse un seuil s Exemple: Pour w =PQG, {PQG, PRG, PKG, PDG, PMG…}

21 Identifier les occurrences exactes des mots de la liste dans la BD Pour chaque paire de séquences trouvées, étendre lalignement dans les deux directions, jusquà ce que le score de lalignement chute de X par rapport à sa valeur dorigine. Segment accepté si score>S

22 Le HSP de score maximal sur lensemble de la séquence est appelé Maximal Scoring segment Pair (MSP) Les alignements locaux HSP sont chaînés pour former des alignements plus longs, incluant des espaces et des trous. Si le MSP ou les HSP combinés ont un score qui dépasse un certain seuil S, il sont affichés

23 Paramètres La séquence format FASTA La banque (compressée) k (taille du mot). – Protéines: k de 3 à 5, et s = 17 Donne à peu près 50 mots pour chaque facteur – Nucléotides: k = 11 ou 12 S (seuil de sélection dun score) Matrices de substitution (BLOSUM 62) ou score pour les nucléotides (+5/-4)

24 Évaluation statistique Expect-value = nb de fois où un HSP est attendu par chance sur lensemble de la banque. Plus cette valeur est faible, plus le HSP est significatif P-value: P(N): Probabilité du score observé. Plus cette valeur est faible, plus le HSP est significatif.

25 Plan 1.Introduction – Objectif – Quest-ce quune heuristique? 2.Algorithmes de filtrage: Principe et méthode exacte (Baeza- Yates-Perlberg, 1992) 3.Heuristique FASTA 4.Optimisation possible en introduisant le voisinage dun k- mer 5.Heuristique BLAST 6.Ce qui est derrière BLAST: Comment choisir la taille k dun k-mer? Comment étendre les k- mers en temps sous linéaire? 7.Graines espassées. Méthode de PatternHunter 8.Alignement de génomes entiers

26

27 Taille de la graine? The Splitting Lemma Lemme: Si w= w 0 w 1 match v à moin de % erreurs, alors: (a) w 0 match un préfixe v 0 de v à moins de % erreurs, ou (b) w 1 match un suffixe v 1 de v à moins de % erreurs. W d erreurs Ld/2˩erreurs? W0W0 W1W1 Ld/2˩ erreurs v W v W0W0 W1W1 V1V1 d= |W|

28 Ld/2˩ erreurs W0W0 W1W1 W W0W0 W1W1 W 10 W 11 Ld/4˩? V1V1 V 10 W0W0 W1W1 W 10 W 11 W Ld/8˩? W 100 W 101 Ld/8˩? V 101

29 Taille de la graine? Prendre k=log | | n comme taille de graine. Lemme: Tout -match de P a un -match à au moins un seed de taille log | | n -match T P

30 Phase de vérification? Prendre k=log | | n comme taille de graine. Temps moyen pour la vérification: O(h.dlog n) où h est le nombre doc.des graines T P

31 = 25. Pour P de taille 12, d=3. P/T atctaagtacgaggctag g t a a g t a g g a c g P:gtaagtaggacg Supposons graines de taille 3

32 GCNTACACGTCACCATCTGTGCCACCACNCATGTCTCTAGTGATCCCTCATAAGTTCCAACAAAGTTTGC || ||||| | ||| |||| || |||||||||||||||||| | |||||||| | | ||||| GCCTACACACCGCCAGTTGTG-TTCCTGCTATGTCTCTAGTGATCCCTGAAAAGTTCCAGCGTATTTTGC GAGTACTCAACACCAACATTGATGGGCAATGGAAAATAGCCTTCGCCATCACACCATTAAGGGTGA---- || ||||||||| |||||| | ||||| |||||||| ||| |||||||| | | | || GAATACTCAACAGCAACATCAACGGGCAGCAGAAAATAGGCTTTGCCATCACTGCCATTAAGGATGTGGG TGTTGAGGAAAGCAGACATTGACCTCACCGAGAGGGCAGGCGAGCTCAGGTA ||||||||||||| ||| ||||||||||| || ||||||| || |||| | TTGACAGTACACTCATAGTGTTGAGGAAAGCTGACGTTGACCTCACCAAGTGGGCAGGAGAACTCACTGA GGATGAGGTGGAGCATATGATCACCATCATACAGAACTCAC CAAGATTCCAGACTGGTTCTTG ||||||| |||| | | |||| ||||| || ||||| || |||||| ||||||||||||||| GGATGAGATGGAACGTGTGATGACCATTATGCAGAATCCATGCCAGTACAAGATCCCAGACTGGTTCTTG 7. Graines espacées BLAST trouve une graine de taille 11 qui match, puis étend

33 Exemple dune occurrence manquée (Exemple de B. Ma) Pas de graine de taille 11 qui match, pourtant similarité de 80%: GAGTACTCAACACCAACATTAGTGGGCAATGGAAAAT || ||||||||| |||||| | |||||| |||||| GAATACTCAACAGCAACATCAATGGGCAGCAGAAAAT Dilemme: – Sensibilité – nécessite des graines courtes Capacité à détecter les homologies – Rapidité – nécessite des graines plus longues Mega-BLAST utilise des graines de taille 28.

34 PatternHunter utilise des graines espacées (appelé modèle) – 11 matchs requis (poids=11) – 7 positions dont care GAGTACTCAACACCAACATTAGTGGCAATGGAAAAT… || ||||||||| ||||| || ||||| |||||| GAATACTCAACAGCAACACTAATGGCAGCAGAAAAT… Hit = Tous les matchs requis sont satisfaits Modèle de BLAST =

35 VI. Simulated sensitivity curves

36 Pourquoi sensibilité meilleure? Les copies shiftées des graines espacées ne chevauchent pas trop: Les Hits à différentes positions sont plus indépendants Plus les copies shiftées sont indépendantes, plus on augmente la probabilité didentifier une homologie. Moins il y a de similarités entre deux copies shiftées, plus le modèle est susceptible de donner une bonne sensibilité.

37 VI. Pourquoi plus rapide avec des graines espacées? TTGACCTCACC? |||||||||||? TTGACCTCACC? CAA?A??A?C??TA?TGG? |||?|??|?|??||?|||? CAA?A??A?C??TA?TGG? Une homologie donne lieu à plusieurs hits par BLAST (redondance) Graines espacées donnent lieu à moins de hits pour chaque homologie

38 ``Indeed, under the condition that there is one hit in a length 64, 70% similar homology, the average number of hits in that region is – 2.0 for PHs weight-11 seed – 3.6 for contiguous weight-11 seed.

39 Observations (B. Ma) Des modèles différents peuvent détecter différentes homologies Deux conséquences: – Certains modèles sont meilleurs que dautres – On peut utiliser simultanément plusieurs modèles de graines Approcher les 100% de sensibilité. PatternHunter II

40 8. Alignement de génomes entiers Comparaison de génomes entiers permet de: – Identifier les séquences codantes dans les 2 espèces – Localiser les facteurs de transcription et les signaux de régulation – Comprendre les mécanismes et lhistoire de lévolution génomique – Similarités et différences dans lordre des gènes Smith-Waterman, et même FASTA ou BLAST trop lents et pas adaptés à la comparaison de génomes entiers. Améliorer sensibilité et temps de calcul, sans empirer la sélectivité

41 Alignement de lhomme et de la souris par BLASTZ (Schwartz et al. 2003) 1.Supprimer les répétitions propre à chaque espèce 2.Trouver tous les 12-mers espacés identiques, à une ``transition près, dans les deux génomes. 1.Étendre chaque paire de 12-mers dans les deux directions (sans gaps), jusquà ce que le score chute en dessous dun certain seuil 2.Si lalignement (sans gaps) trouvé dépasse un seuil (disons 300) 1.Étendre lalignement en autorisant les gaps (programmation dyn.) 2.Garder lalignement si le score dépasse un seuil (disons 5000) 3.Entre chaque paire dalignements, refaire létape 2. avec des scores moins contraignants. Par exemple, 7-mers (match exact), seuils plus faibles (par exemple 2000 avec et sans gaps) 4.Rétablir les vraies positions des alignements trouvés (étape 1.)

42 Paramètres utilisés Matrice de substitution: Gap de taille k pénalisé par un poids de k Score dun alignement multiplié par une valeur entre 0 et 1 en fonction de la nature des séquences (biais des nucléotides) Les seuils doivent être très élevés pour atteindre une spécificité raisonnable (au moins 3000 pour les alignements avant gap) 12-mers espacé (19 positions): (Ma et.al 2002) Autoriser une transition: (A-G, G-A, C-T, T-C) A C G T A C G T


Télécharger ppt "Algorithmes de filtrage Nadia El-Mabrouk. Plan 1.Introduction – Objectif – Quest-ce quune heuristique? 2.Algorithmes de filtrage: Principe et méthode."

Présentations similaires


Annonces Google