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

Filtrage à l’aide de graines pour l’alignement local

Présentations similaires


Présentation au sujet: "Filtrage à l’aide de graines pour l’alignement local"— Transcription de la présentation:

1 Filtrage à l’aide de graines pour l’alignement local
Laurent Noé Université Henri Poincaré Travail commun avec Gregory Kucherov

2 Plan Introduction : alignement local Techniques de filtrage
Définition Méthodes exactes Techniques de filtrage Définition d’un filtre Exemples de filtres Méthodes heuristiques pour l’alignement local Définition d’une graine (ancres) Méthodes successivement développées BLAST-GAPPEDBLAST-BLAT-PATTERNHUNTER-YASS Graines-espacées Design des graines espacées Waiting Time Algorithme de Keich Algorithme de Bulher Alignements homogènes

3 Alignement Local Alignement Alignement Local Exemple GCAACATAG
« Processus par lequel deux séquences sont comparées afin d'obtenir le plus de correspondances (identités ou substitutions conservatives) possibles entre les lettres qui les composent. » Alignement Local « Alignement des deux séquences seulement sur une portion de leur longueur. » Deux sous-chaînes sont alignées. Exemple GCAACATAG ||||||||| TACATGCG ||:||||| TAGATGCG S1 : TGTGCTTGGCAACATAGATAGATGCG S2 : TACATGCGCAACATAGCTGTGCCTTG S1 : TGTGCTTGGCAACATAGATAGATGCG S2 : TACATGCGCAACATAGCTGTGCCTTG S1 : TGTGCTTGGCAACATAGATAGATGCG S2 : TACATGCGCAACATAGCTGTGCCTTG S1 : TGTGCTTGGCAACATAGATAGATGCG S2 : TACATGCGCAACATAGCTGTGCCTTG TGTGC-TTG ||||| ||| TGTGCCTTG

4 Qualité d’un alignement
Méthodes d’évaluation Pourcentage d’identité distance d’édition longueur du fragment Score d’un alignement Fixer un score pour chacune des opérations unitaires lors de la construction d’un alignement correspondance/substitution de deux nucléotides insertion/suppression de deux nucléotides Pour un alignement donné, la somme des scores des opérations unitaires associées donne le score de l’alignement

5 Exemple Alignement fixé Fonction de score ATGTGC-TTGC |||:|| |.||
ATGAGCCTCGC Alignement fixé Fonction de score Matrice de score s(a,b) Coût pour l’insertion/la suppression de nucléotides (indels) g = « s(a,-) » g = -3 Score de l’alignement 1*(8 matches) –1 * (1 transition) – 2 * (1 transversion ) – 3 * (1 indel)= 2 A T G C 1 -2 -1

6 Méthode d’évaluation Meilleur Alignement Local 5 4 TATGTGCTTGC
Celui qui maximise le score. TATGTGCTTGC ATGAGCTTCGC ATGTGCTT |||:|||| ATGAGCTT ATGTGCTT-GC |||:|||| || ATGAGCTTCGC ATG-TGCTT-GC ||| |||| || ATGA-GCTTCGC 5 4

7 Méthode d’évaluation Gaps Choix des matrices de scores ATGTGC--CGCAT
En général coût d’un gap évalué en deux phases Ouverture/Extension Exemple : coût d’ouverture -3, coût d’extension -1. Choix des matrices de scores PAM/BLOSUM : Log odd ratio. Théorie développée par Karlin. Calcul de l’E-value P-value dans le cadre asymptotique. Évaluation de la significativité de l’alignement dans le cadre asymptotique ATGTGC--CGCAT |||:|| ||||| ATGAGCTTCGCAT CTGTG---CGCAT |||:| ||||| CTGAGCTTCGCAT

8 Recherche des alignements locaux
Programmation dynamique Extension de la méthode de Needleman Wunsch (alignement global) Alignement global Needleman Wunsch (70) S(i,j) : score de l’alignement maximal entre S1(0 , i ) et S2(0 , j ) (préfixe de taille i de S1 et préfixe de taille j de S2 ) S(i, j) = max S(i-1, j-1) + s(S1[i], S2[j] ) S(i-1, j) + g S(i, j-1) + g s(a,b) = coût d’une substitution entre les lettres a et b g = coût d’un gap

9 Recherche des alignements locaux
Alignement local Recherche des alignements locaux maximaux de score positif. Algorithme de Smith-Waterman S(i,j) : score de l’alignement local entre S1(?, i ) et S2(?, j ) Alignement local terminant aux positions i,j. S(i, j) = max S(i-1, j-1) + s(S1[i], S2[j] ) S(i-1, j) + g S(i, j-1) + g s(a,b) = coût d’une substitution entre les lettres a et b g = coût d’un gap

10 Coût de la méthode exacte
Algorithme quadratique. Adopté sur des séquences relativement courtes (< b) Optimisations Crochemore 2002. Autre démarche sur séquences chromosomiques L’algorithme de recherche exhaustive n’est plus applicable en temps raisonnable. Utiliser une méthode heuristique S’inspirer de méthodes déjà existantes dans le domaine du pattern matching.

11 Filtrage du texte Deux types de Filtrage Filtrage
Sans perte Éliminer les régions qui n’ont aucune chance d’être similaires selon un critère donné. Avec perte Éliminer les régions qui ont peu de chances d’être similaires selon un critère donné. Filtrage Principe couramment adopté par de nombreuses méthodes de Pattern-Matching approché. En général basé sur la connaissance de sous-parties conservées. Bien que le filtrage avec perte soit notre propos, je donnerai par la suite des exemples de filtrage sans perte (plus facile à appréhender)

12 Un problème résolu par Filtrage sans Perte
Recherche d’occurrences de fragments de texte de taille fixée m en autorisant au plus k erreurs de substitution. Applications : oligos spécifiques (uniques à k erreurs) m k ...GCTACGACTTCGAGCTGC... ||||:|||.||||||:|| ...GCTATGACCTCGAGCGGC...

13 Techniques traditionnelles
m k (m,k) PEX[4] Recherche du plus long fragment conservé. PEX (avec erreurs) Recherche du plus long fragment k’-conservé. parcours des mots k’-dérivés dans l’index. Efficace si petites tailles d’alphabets (ADN,ARN) nombre k’ relativement faible ( <= 2) #### #########(1)

14 Techniques avancées Technique utilisant une combinaison de deux filtres. Pevzner Waterman[4] Idée: combiner le filtre PEX avec un filtre utilisant un élément espacé régulier (~PEX espacé). PEX : PEX espacé : utiliser une élément régulier ayant des espacements de taille k. #### #...#...#...# #...#...#...# #...#...#...# k+1

15 Comparaison des différentes Techniques
Les techniques ont la même sensibilité (=1 car filtrage sans perte) Sélectivité VP/(FP+VP) Si les longueurs des deux séquences sont n et m, le nombre attendu de Faux Positifs sur des séquences i.i.d est de ~ n.m.δ. PEX : δ ~ 1/|Σ|w, PEX avec erreurs : δ ~ sum[r:0..a] Crw1/|Σ|w-r (1-1/|Σ|)r Vrai Positifs Faux Négatifs Faux Positifs Vrai Négatifs

16 Filtrage avec perte dans le cas de l’alignement
Méthode de filtrage la plus utilisée dans le cadre de l’alignement local. Deux paramètres à considérer Sélectivité : δ Sensibilité : VP/(VP+FN) Vrai Positifs Faux Négatifs Faux Positifs Vrai Négatifs

17 Graines Analogie avec élément conservé dans le cas du filtrage sans perte. Une graine = un fragment répété de manière exacte dans un alignement intéressant. Modéliser ce qu’est un alignement dit intéressant son score >= valeur fixée. Autres modèles d’alignement (%identité + longueur fixée) Évaluer la Sensibilité : probabilité de trouver au moins une occurrence de cette graine sur les alignements.

18 Méthode employée par BLAST
Cas de BLASTn: Recherche basée sur des graines contiguës de taille (poids) 11: si l’alignement contient une fragment de texte conservé de taille 11 alors il est détecté (Hit) et transmit à un algorithme d’alignement. Cas de Gapped-BLAST: Plutôt que rechercher un seul fragment (poids 11), critère basé sur la présence dans l’alignement de deux fragments de texte de poids plus faible ( 9 ) séparé par une distance d < seuil. d ######### ###########

19 Sensibilité des deux approches
Méthode de comparaison proposée Alignement sans gaps (pas d’indels dans l’alignement) Utiliser un système de score courant (celui de BLAST par exemple) Fixer une valeur pour le score des séquences générées (lié à sa significativité) Faire varier la longueur de l’alignement. Probabilité d’un hit On considère la probabilité de trouver de telles répétitions selon le critère de hit de BLAST le critère de hit de Gapped-BLAST

20 Sensibilité Comparaison avec les approches choisies par BLASTn et Gapped-BLAST (score 25)

21 Sensibilité Comparaison avec les approches choisies par BLASTn et Gapped-BLAST (score 35)

22 Méthode employée par BLAT[5]
Notion de graine avec erreur Autoriser dans une graine contiguë pouvant éventuellement contenir une erreur. Utiliser des graines de poids plus élevé pour conserver un niveau de sélectivité suffisant: δ ~ sum[r=0..1] Crw1/|Σ|w-r (1-1/|Σ|)r Coût supplémentaire à l’exécution : index multiple (coût mémoire x poids) index simple (il est nécessaire de parcourir tous les mots dérivés) ##############(1)

23 Graines espacées Idée proposée par PatternHunter [1] dans le cadre de la recherche heuristique d’alignements « Redécouverte » d’un principe employé par le logiciel nommé FLASH Une graine espacée mot défini sur un alphabet à deux lettres {‘#’,’_’}. Les éléments ‘_’ sont des caractères jokers. Les graines contiguës (type BLAST) sont un cas particulier de graines espacées. ###_#_#__#_### ###_#__#_#__##_### ###_#__#_#__##_###

24 Graines espacées Poids/Étendue
Poids : nombre d’éléments ‘#’ Etendue : taille de la graine (nombre total d’éléments ‘#’,’_’ ) Modèle pour mesurer l’efficacité des graines Modèle de Bernoulli générant des  alignements sans gaps de taille fixée (64 avec p=0.70). Recherche de la meilleure graine espacée. Parcours de l’espace des graines pour un poids fixé Calcul de la probabilité d’apparition d’un graine donnée à l’aide d’un algorithme de programmation dynamique.

25 Graines espacées Quelques observations d’ordre probabiliste:
Pour des graines espacées, leur apparition sur la séquence à deux positions successives sont des évènements plus indépendants. Des graines espacées ayant un motif non-régulier (“aléatoire”) sont en général meilleures. Pour des graines contiguës et espacées du même poids, l’espérance du nombre d’occurrences est approximativement la même. Les probabilités d’obtenir au moins une occurrence sont très différentes.

26 Sensibilité Comparaison avec les approches choisies par BLASTn et PatternHunter

27 Sensibilité Comparaison avec les approches choisies par BLASTn et PatternHunter

28 Graines Espacées autorisant des transitions
Modèle « biologique » Substitutions possibles Les transitions sont toujours sur-représentées. Phénomènes de régularités dans les séquences codantes Une graine espacée autorisant des transitions mot défini sur un alphabet à 3 lettres Poids d’un graine = ’#’ / 2; Exemples de graines optimales trouvées modèle de Markov d’ordre 2 pour générer les alignements. A T G C transitions transversions ###_###_#__#### ( ) ( )

29 | | | | | | |44630 GAAACATCGAAAGTACCACCACCCAAATCGAAAATCAAAACATGTCTTTCCTTTTCGGACTTACCAGCACCTAGACCGT ||:|||||.|||||.|||||:|.||..||.||.||:||:||||:||||||::.|.|..:|||: |||..|||| GACACATCAAAAGTGCCACCTCTCAGGTCAAAGATAAACACATTTCTTTCAGCTCCAACCTTTT---TGTCTAAGCCGT | | | | | | |443110 | | | | | | |44550 AAGCAATAGCAGCGGCAGTAGGTTCGTTGATGATACGCAAAACGTTCAAACCAGAAATGGCACCGGCATCCTTGGTAGC ||||||||:||||.|||:|:||.||.|||||.||:|::|.:||.||:|.|||||:|||.|.:||.|||||.|||||||| AAGCAATATCAGCAGCACTTGGCTCATTGATAATTCTAAGTACATTGAGACCAGCAATAGTTCCAGCATCTTTGGTAGC | | | | | | | |443190 | | | | | | | |44470 TTGTCTTTGAGCGTCGTTAAAGTAAGCTGGGACAGTAATGACGGCCTTTTCAACCTTCTTACCAATCTTAGCTTCAGCA .||:.:.||||:||..||||||||||||||:||:||.|.:||.||:||::.|||::||||:||||::|:.|||||:||| CTGATGCTGAGAGTTATTAAAGTAAGCTGGCACTGTGACCACAGCATTGGTAACAGTCTTCCCAAGGTAGGCTTCTGCA | | | | | | | |443270 | | | | | | |44400 ATTTCCTTCATCTTGGTCAAAACCATAGCGGAAATTTCTTGTGGGGAGAAAGTCTTGGTTTCTTCCAAGTA ||||||||||||||:||||..|||||||:|||:|..||.|:|||.:||||..|.|||||.|||.||::||| ATTTCCTTCATCTTTGTCAGGACCATAGAGGACACCTCCTCTGGATAGAAGATTTTGGTCTCTCCCTTGTA | | | | | | |443340

30 Méthodes d’évaluation de la sensibilité
Quel motif donner à une graine espacée ? Modèle d’alignement Alignements de taille 64 Alignements sans indels Alignements ayant environ 70% de similarité Générés par un modèle de Bernoulli/Markov. Évaluer la sensibilité des différentes graines possibles sur ces alignements: probabilité d’apparition d’une graine d’un motif donné sur les séquences générées par ce modèle Waiting Time Cas pour lequel le calcul est simple Deux méthodes proposées Algorithme de programmation dynamique (Keich). Automate (Bulher). ###_#__#_#__##_###

31 Problème relatif au Waiting Time
Données : Une graine espacée (son motif) Résultat : Probabilité d’obtenir pour la première fois ce motif à la position i sur la séquence générée. Sum of Waiting Time Sommation dans la fenêtre [1-n]. Cas particulier : graines contiguës de poids k sur modèle de Bernouilli Graines espacées Sum of Waiting Time : Problème plus difficile.

32 Algorithme proposé par Keich
Données : Une graine espacée (son motif) Modèle d’alignements (modèle de Bernoulli). p = 0.70% L = 64. Résultat : probabilité d’apparition de cette graine dans le modèle d’alignement. Schéma de calcul récursif. Utiliser le mot w suffixe pour réaliser le calcul ###_#_#__#_### w i

33 Algorithme proposé par Keich
P (w,i) = probabilité que l’alignement de longueur i + |w| soit détecté par la graine espacée. (1) Cas triviaux P (w,i) = 0 si |w| + i < Étendue(graine) P (w,i) = 1 si |w| = Étendue(graine) et graine détecte w w i

34 Algorithme proposé par Keich
(2) Cas définis de manière récursive P (w,i) = P(v,i) si la graine ne détecte pas le suffixe w de l’alignement à la dernière position. Le mot 1Étendue(graine)-|w|.w n’est pas détecté par la graine espacée. ###_#_#__#_### w i w v

35 Algorithme proposé par Keich
(2) Cas définis de manière récursive P (w,i) = p. P (1.w,i-1) + q. P (0.w,i-1) (si |w| < Étendue(graine)) Le mot w est étendu à gauche, selon le modèle de Bernoulli. w i 1

36 Algorithme proposé par Keich
finalement : P (w,i) = 0 si |w| + i < Étendue(graine) P (w,i) = 1 si |w| = Étendue(graine) et la graine détecte w P (w,i) = P(v,i) si la graine ne détecte pas le suffixe w de l’alignement. P (w,i) = p. P (1.w,i-1) + q. P (0.w,i-1) (si |w| < Étendue(graine)) Calcul réalisé par programmation dynamique : Ne calculer que les valeurs P (w,i) > 0… Ne s’intéresser, dans l’arborescence des calculs, qu’aux feuilles contenant des mots w produisant un « match » éventuel avec la graine (2nombre de jokers) Ce que l’on souhaite calculer : P (^,64) w i

37 Algorithme proposé par Buhler[2]
11111 10101 10111 11101 Exemple : Reconnaître les mots détectés par la graine (automate) #_#_# 1

38 Algorithme proposé par Buhler
11111 10101 10111 11101 Exemple : Ne pas oublier les liens préfixes #_#_# 1

39 Algorithme proposé par Buhler
Exemple : On obtient un automate qui trouve la première occurrence de la graine sur l’alignement. #_#_# 1

40 Algorithme proposé par Buhler
Exemple : Probabilité d’arriver à l’état E lors de la lecture du iéme caractère de l’alignement: Dépends de la probabilité d’être à l’état D1,D2,ou D3 lors de l’étape i-1. Cas Bernoulli … #_#_# 1 E D3 D1 D2

41 Algorithme proposé par Buhler
Exemple : Au bout de n itérations, calculer la probabilité d’être à l’état final. Initialisation : A l’étape 0 : P( I ) = 1 , P( . ) = 0 Complexité : O( l . w 2s-w . 2k) avec l : taille de l’alignement , s-w : nombre de jokers, k : ordre de la Chaîne de Markov. #_#_# 1 F I

42 Comment modéliser un alignement sans gaps
Une autre approche: Précédents graphiques: seuls les alignements de score fixé ont été utilisés. Remarque: certains de ces alignements contenaient cependant un sous alignement de score supérieur Se restreindre aux alignements homogènes (MSP): ceux dont le score est supérieur que le score de chacun de ses propres segments On suppose que tous les alignement homogènes (d’une longueur donné) sont équiprobables. Obtenir une mesure fiable des MSP détectées par les logiciels de type BLAST.

43 Alignements homogènes
Alignements homogènes de longueur n et score S  marche de (0,0) jusqu’à (n,S) dans le rectangle vert.

44 Modèle de Markov vs. Alignement Homogène
Les modèles de Markov spécifient des propriétés locales et la composition probable de l’alignement. Les alignements homogènes spécifient le score total et les propriétés globales de l’alignement (homogénéité). Les deux approches sont complémentaires.

45 Génération uniforme d’alignements homogènes
Approche proposée: compter le nombre de suffixes B. Génération uniforme d’alignements homogènes de longueur n et score non-fixé S. Pour un score fixé S, la génération est en O(n).

46 Calculer la probabilité d’un hit
Problème: Étant donné une graine , calculer la probabilité que la graine  détecte (hit) un alignement homogène de longueur n et de score S. Exemple: graine: = ~ ###_#__#_#__##_###, alignements: n=100, S=20 (s=1,p=3)

47 P(i,M,y) : probabilité que la graine  détecte le préfixe BM d’un alignement homogène aléatoire, avec |B|=i et Score(B)=y. Conditions de bord: P(i,M,y)=0, si i+|M|<||, P(i,M,y)=1, si |M|=|| et  détecte M, Conditions limites: (iii) P(i,M,y)=0, si yS et i<n, ou y0 et n>0,

48 P(i,M,y) : probabilité que la graine  détecte le préfixe BM d’un alignements homogène aléatoire, avec |B|=i et Score(B)=y. Conditions principales: (iv) P(i,Mb,y)=P(i,M,y), si  ne détecte pas une séquence de suffixe Mb, (v) si |M|< ||, alors P(i,M,y)=P1P(i-1,1M,y-s)+ P0P(i-1,1M,y+p), avec P1 et P0 obtenus selon des formules de comptage.

49 L’algorithme de base calcule la probabilité en temps et espace O(2||Sn), ce qui peut être amélioré en O(||2||-w()(||2+Sn)), où w() est le poids de la graine  L’algorithme peut être étendu à certaines stratégies multi-graines.

50 Graines espacées (poids 11)
Expériences score 16: séquences homogènes Graines contiguës (poids 11) Graines espacées (poids 11)

51 Graines espacées (poids 11)
Experiences score 32: séquences homogènes Graines contiguës (poids 11) Graines espacées (poids 11)

52 Graines optimales

53 Conclusion Alignement local : algorithme exhaustif et ses limitations.
Présentation des techniques de filtrage pour l’alignement local heuristique. Graines et modèles dérivés Graines espacées et modèles dérivés (YASS) ou Méthodes et algorithmes pour évaluer la sensibilité des graines espacées sur différents modèles d’alignements. D’autres méthodes de filtrage à la fois aussi sélectives et plus sensibles ?

54 Références [1] M. Bin, J. Tromp John and L. Ming, PatternHunter: Faster and more sensitive homology search, Bioinformatics 18: [2] J. Buhler, U. Keich and Y. Sun, Designing seeds for Similarity Search in Genomic DNA, RECOMB [3] K.Choi L.Zhang, Sensitivity Analysis and Efficient Method for Identifying Optimal Spaced Seeds [4] P. Pevzner and M.Waterman, Multiple Filtration and Approximate Pattern Matching, Algorithmica 13(1/2), [5] S. Altschul, and all, Gapped BLAST and PSI-BLAST: a new generation of protein database search programs, Nucleic Acids Research, 27: [6] J.Kent, BLAT--The BLAST-Like Alignment Tool, Genome Research 12, [7] G. Navarro and M. Raffinot, Flexible Pattern Matching in Strings -- Practical on-line search algorithms for texts, Cambridge University Press 2002

55 ? Questions


Télécharger ppt "Filtrage à l’aide de graines pour l’alignement local"

Présentations similaires


Annonces Google