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 à laide de graines pour lalignement local Laurent Noé Université Henri Poincaré Travail commun avec.

Présentations similaires


Présentation au sujet: "Filtrage à laide de graines pour lalignement local Laurent Noé Université Henri Poincaré Travail commun avec."— Transcription de la présentation:

1 Filtrage à laide de graines pour lalignement local Laurent Noé Université Henri Poincaré Travail commun avec Gregory Kucherov

2 Plan Introduction : alignement local –Définition –Méthodes exactes Techniques de filtrage –Définition dun filtre –Exemples de filtres Méthodes heuristiques pour lalignement local –Définition dune 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 –« 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 ||||||||| GCAACATAG TACATGCG ||:||||| TAGATGCG TGTGC-TTG ||||| ||| TGTGCCTTG S 1 : TGTGCTTGGCAACATAGATAGATGCG S 2 : TACATGCGCAACATAGCTGTGCCTTG S 1 : TGTGCTTGGCAACATAGATAGATGCG S 2 : TACATGCGCAACATAGCTGTGCCTTG S 1 : TGTGCTTGGCAACATAGATAGATGCG S 2 : TACATGCGCAACATAGCTGTGCCTTG S 1 : TGTGCTTGGCAACATAGATAGATGCG S 2 : TACATGCGCAACATAGCTGTGCCTTG

4 Qualité dun alignement Méthodes dévaluation –Pourcentage didentité distance dédition longueur du fragment –Score dun alignement Fixer un score pour chacune des opérations unitaires lors de la construction dun 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 lalignement

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

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

7 Méthode dévaluation Gaps –En général coût dun gap évalué en deux phases Ouverture/Extension –Exemple : coût douverture -3, coût dextension -1. Choix des matrices de scores –PAM/BLOSUM : Log odd ratio. –Théorie développée par Karlin. Calcul de lE-value P-value dans le cadre asymptotique. Évaluation de la significativité de lalignement 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 lalignement maximal entre S 1 (0, i ) et S 2 (0, j ) (préfixe de taille i de S 1 et préfixe de taille j de S 2 ) S(i, j) = max S(i-1, j-1) + s( S 1 [i], S 2 [j] ) S(i-1, j) + g S(i, j-1) + g s(a,b) = coût dune substitution entre les lettres a et b g = coût dun 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 lalignement local entre S 1 (?, i ) et S 2 (?, j ) Alignement local terminant aux positions i,j. S(i, j) = max S(i-1, j-1) + s( S 1 [i], S 2 [j] ) S(i-1, j) + g S(i, j-1) + g 0 s(a,b) = coût dune substitution entre les lettres a et b g = coût dun gap

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

11 Filtrage du texte Deux types de Filtrage –Sans perte Éliminer les régions qui nont 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 doccurrences de fragments de texte de taille fixée m en autorisant au plus k erreurs de substitution. Applications : oligos spécifiques (uniques à k erreurs)...GCTACGACTTCGAGCTGC... ||||:|||.||||||:||...GCTATGACCTCGAGCGGC... m k

13 Techniques traditionnelles 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 lindex. Efficace si –petites tailles dalphabets (ADN,ARN) –nombre k relativement faible ( <= 2) m k #### ######### (1) (m,k)

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] C r w 1/|Σ| w-r (1-1/|Σ|) r Vrai Positifs Faux Négatifs Faux Positifs Vrai Négatifs

16 Filtrage avec perte dans le cas de lalignement Méthode de filtrage la plus utilisée dans le cadre de lalignement 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 quest un alignement dit intéressant son score >= valeur fixée. Autres modèles dalignement (%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 lalignement contient une fragment de texte conservé de taille 11 alors il est détecté (Hit) et transmit à un algorithme dalignement. Cas de Gapped-BLAST: –Plutôt que rechercher un seul fragment (poids 11), critère basé sur la présence dans lalignement 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 dindels dans lalignement) –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 lalignement. Probabilité dun 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] Cr w 1/|Σ| w-r (1-1/|Σ|) r –Coût supplémentaire à lexé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 dalignements « Redécouverte » dun 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 lefficacité 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 lespace des graines pour un poids fixé –Calcul de la probabilité dapparition dun graine donnée à laide dun algorithme de programmation dynamique.

25 Graines espacées Quelques observations dordre 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, lespérance du nombre doccurrences est approximativement la même. Les probabilités dobtenir au moins une occurrence sont très différentes.

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

27 Sensibilité

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 dun graine = # / 2; Exemples de graines optimales trouvées –modèle de Markov dordre 2 pour générer les alignements. AT GC transitions transversions ###_###_#__#### ( ) ( )

29 |44690 |44680 |44670 |44660 |44650 |44640 |44630 GAAACATCGAAAGTACCACCACCCAAATCGAAAATCAAAACATGTCTTTCCTTTTCGGACTTACCAGCACCTAGACCGT ||:|||||.|||||.|||||:|.||..||.||.||:||:||||:||||||::.|.|..:|||:....|||..|||| GACACATCAAAAGTGCCACCTCTCAGGTCAAAGATAAACACATTTCTTTCAGCTCCAACCTTTT---TGTCTAAGCCGT | | | | | | | |44610 |44600 |44590 |44580 |44570 |44560 |44550 AAGCAATAGCAGCGGCAGTAGGTTCGTTGATGATACGCAAAACGTTCAAACCAGAAATGGCACCGGCATCCTTGGTAGC ||||||||:||||.|||:|:||.||.|||||.||:|::|.:||.||:|.|||||:|||.|.:||.|||||.|||||||| AAGCAATATCAGCAGCACTTGGCTCATTGATAATTCTAAGTACATTGAGACCAGCAATAGTTCCAGCATCTTTGGTAGC | | | | | | | | |44540 |44530 |44520 |44510 |44500 |44490 |44480 |44470 TTGTCTTTGAGCGTCGTTAAAGTAAGCTGGGACAGTAATGACGGCCTTTTCAACCTTCTTACCAATCTTAGCTTCAGCA.||:.:.||||:||..||||||||||||||:||:||.|.:||.||:||::.|||::||||:||||::|:.|||||:||| CTGATGCTGAGAGTTATTAAAGTAAGCTGGCACTGTGACCACAGCATTGGTAACAGTCTTCCCAAGGTAGGCTTCTGCA | | | | | | | | |44460 |44450 |44440 |44430 |44420 |44410 |44400 ATTTCCTTCATCTTGGTCAAAACCATAGCGGAAATTTCTTGTGGGGAGAAAGTCTTGGTTTCTTCCAAGTA ||||||||||||||:||||..|||||||:|||:|..||.|:|||.:||||..|.|||||.|||.||::||| ATTTCCTTCATCTTTGTCAGGACCATAGAGGACACCTCCTCTGGATAGAAGATTTTGGTCTCTCCCTTGTA | | | | | | |443340

30 Méthodes dévaluation de la sensibilité Quel motif donner à une graine espacée ? –Modèle dalignement 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é dapparition dune graine dun 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é dobtenir 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 dalignements (modèle de Bernoulli). p = 0.70% L = 64. Résultat : probabilité dapparition de cette graine dans le modèle dalignement. 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 lalignement 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 lalignement à la dernière position. Le mot 1 Étendue(graine)-|w|.w nest pas détecté par la graine espacée. w i w v ###_#_#__#_###

35 (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. Algorithme proposé par Keich w i

36 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 lalignement. 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… N e sintéresser, dans larborescence des calculs, quaux feuilles contenant des mots w produisant un « match » éventuel avec la graine (2 nombre de jokers ) Ce que lon souhaite calculer : P (^,64) Algorithme proposé par Keich w i

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

38 Algorithme proposé par Buhler Exemple : –Ne pas oublier les liens préfixes #_#_#

39 Algorithme proposé par Buhler Exemple : –On obtient un automate qui trouve la première occurrence de la graine sur lalignement #_#_#

40 Algorithme proposé par Buhler Exemple : –Probabilité darriver à létat E lors de la lecture du i éme caractère de lalignement: –Dépends de la probabilité dêtre à létat D 1,D 2,ou D 3 lors de létape i-1. Cas Bernoulli … #_#_# E D1D1 D2D2 D3D3

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 2 s-w. 2 k ) avec l : taille de lalignement, s-w : nombre de jokers, k : ordre de la Chaîne de Markov #_#_# I F

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 (dune longueur donné) sont équiprobables. Obtenir une mesure fiable des MSP détectées par les logiciels de type BLAST.

43 Alignements homogènes S 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 lalignement. Les alignements homogènes spécifient le score total et les propriétés globales de lalignement (homogénéité). Les deux approches sont complémentaires.

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

46 Calculer la probabilité dun 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 dun alignement homogène aléatoire, avec |B|=i et Score(B)=y. Conditions de bord: (i)P(i,M,y)=0, si i+|M|<||, (ii)P(i,M,y)=1, si |M|=|| et détecte M, Conditions limites: (iii) P(i,M,y)=0, si yS et i 0,

48 P(i,M,y) : probabilité que la graine détecte le préfixe BM dun 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)=P 1P(i-1,1M,y-s)+ P 0P(i-1,1M,y+p), avec P 1 et P 0 obtenus selon des formules de comptage.

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

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

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

52 Graines optimales

53 Conclusion Alignement local : algorithme exhaustif et ses limitations. Présentation des techniques de filtrage pour lalignement 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 dalignements. Dautres 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 à laide de graines pour lalignement local Laurent Noé Université Henri Poincaré Travail commun avec."

Présentations similaires


Annonces Google