650 likes | 730 Views
Techniques de filtrage à l’aide de graines espacées. Laurent Noé laurent.noe@loria.fr http://www.loria.fr/~noe Travail commun avec Gregory Kucherov Séminaire Symbiose – 4 mars 2004. Plan. Introduction Deux problèmes Problème de l’alignement local ( AL )
E N D
Techniques de filtrage à l’aide de graines espacées Laurent Noé laurent.noe@loria.fr http://www.loria.fr/~noe Travail commun avec Gregory Kucherov Séminaire Symbiose – 4 mars 2004
Plan • Introduction • Deux problèmes • Problème de l’alignement local(AL) • Problème de pattern matchingapproché (PMA) • Résolution utilisant des techniques de filtrage • Définition d’un filtre • Filtrage sans perte dans le cadre du pattern matchingapproché (PMA) • Filtrage avec perte pour l’alignement local (AL) • Design de graines • pour l’alignement local (AL) • pour le problème de pattern matching approché (PMA) • Conclusion • Deux problèmes sont considérés (AL et PMA) • Des techniques de filtrage (quelquefois semblables) sont proposées pour les résoudre N’hésitez surtout pas à m’interrompre si vous avez des questions ou des remarques !!
Introduction • Motivations : • De nombreuses méthodes en BioInformatique reposent sur les résultats issus de comparaisons ( de séquences/structures/… ) entre différentes entités ( gènes/chromosomes/espèces/…) • Le coût des algorithmes utilisés est en général quadratique. Cependant, des gains significatifs peuvent être réalisés à l’aide de techniques ditesde filtrage qui permettent d’éviter de considérer tout l’espace de recherche. • Problèmes posés: • Problème d’alignement local (AL). • Problème de Pattern Matching Approché (PMA) relatif à la sélection d’oligonucléotides
(AL) 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. »http://www.infobiogen.fr • Alignement Local • « Alignement des deux séquences seulement sur une portion de leur longueur. » http://www.infobiogen.fr • Deux sous-chaînes sont alignées. • Exemple GCAACATAG ||||||||| GCAACATAG TACATGCG ||:||||| TAGATGCG • T1 : TGTGCTTGGCAACATAGATAGATGCG • T2 : TACATGCGCAACATAGCTGTGCCTTG • T1 : TGTGCTTGGCAACATAGATAGATGCG • T2 : TACATGCGCAACATAGCTGTGCCTTG • T1 : TGTGCTTGGCAACATAGATAGATGCG • T2 : TACATGCGCAACATAGCTGTGCCTTG • T1 : TGTGCTTGGCAACATAGATAGATGCG • T2 : TACATGCGCAACATAGCTGTGCCTTG TGTGC-TTG ||||| ||| TGTGCCTTG
(AL) Qualité d’un alignement • Objectif : essayer de distinguer les alignements dits significatifs du bruit de fond (redondance naturelle de la séquence). • Evaluation basée sur une technique dite de score. • Chacune des opérations unitaires lors de la construction d’un alignement possède un coût. • correspondance/substitution d’une nucléotide dans un alignement. • insertion/suppression de nucléotides • Pour un alignement donné, la somme des coûts des opérations unitaires associées donne le score de l’alignement • La qualité d’un alignement sera jugée selon le score de l’alignement TGTGC-TTG ||.|| ||| TGCGCCTTG
(AL) Exemple ATGTGC-TTGC |||:|| |.|| ATGAGCCTCGC • Alignement donné : • Fonction de score • Matrice de substitution • s(a,b) • Coût pour l’insertion/la suppression de nucléotides (indels) • g = -3 • Score de l’alignement 1*(8 matches) –1 * (1 transition) – 2 * (1 transversion ) – 3 * (1 indel)= 2
(AL) Méthode d’évaluation • Meilleur Alignement Local • Celui qui maximise le score. GATATGTGCTTGCTT CAATGAGCTTCGCCC GATATGTGCTTGCTT CAATGAGCTTCGCCC GATATGTGCTTGCTT CAATGAGCTTCGCCC ATG-TGCTT-GC ||| |||| || ATGA-GCTTCGC ATGTGCTT |||:|||| ATGAGCTT ATGTGCTT-GC |||:|||| || ATGAGCTTCGC 0 5 4
S(i-1, j-1) + s(T1[i], T2[j] ) S(i-1, j) + g S(i, j-1) + g 0 S(i, j) = max • (AL) Recherche des alignements locaux • Algorithme de Smith-Waterman • Etant données deux séquences T1 et T2, l’algorithme recherche le score S(i, j)du meilleur alignement local se terminant • à la position i sur la séquence T1 • à la position j sur la séquence T2 s(a,b) = coût d’une substitution entre les lettres a et b g = coût d’un gap
(AL) Coût de la méthode exacte • Algorithme quadratique. • Adopté sur des séquences relativement courtes (< 100000 b) • Optimisations • Crochemore 2002. • Autre démarche sur séquences chromosomiques • L’algorithme de recherche exhaustive n’est plus applicable en temps raisonnable. • Adopter une technique heuristique basée sur un filtrage avec perte.
m k (m,k) • (PMA) Pattern Matching Approché • Problème posé Étant donnés • un motifPde longueurm(exP = “GCTACGACTTCGAGCTGC”, m=18 ) • un nombre maximal d’erreursk (exk = 3 ) trouver dans un texte T les positions i des occurrences approchées de P : DHamming( P, T [i..i+m-1] ) ≤ k • Notation P : GCTACGACTTCGAGCTGC ||||x|||x||||||x|| ...CTCAGCTATGACCTCGAGCGGCCTATCTA... T :
(PMA<->AL) Liens entre les deux problèmes • Le problème de Pattern Matching Approché ~ une restriction du problème d’alignement local: • alignements recherchés sont de taille fixée m et ne possèdent pas d’indels. • alignements recherchés possèdent au plus k erreurs de type substitution. • Les deux problèmes peuvent être résolus à l’aide de techniques de filtrage.
Plan • Introduction • Deux problèmes • Problème de l’alignement local(AL) • Problème de pattern matchingapproché (PMA) • Résolution utilisant des techniques de filtrage • Définition d’un filtre • Filtrage sans perte dans le cadre du pattern matchingapproché (PMA) • Filtrage avec perte pour l’alignement local (AL) • Design de graines • pour l’alignement local (AL) • pour le problème de pattern matching approché (PMA) • Conclusion
Filtrage • Deux types de 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 • En général basé sur la connaissance de sous parties conservées. Ces sous parties conservées seront appelées graines. On propose d’étudier par la suite deux méthodes de filtrage: • Filtrage sans perte pour PMA • Filtrage avec perte pour AL
k m • (PMA) Filtrage sans perte (m,k) • PEX[4] • Recherche du plus long fragment conservé (graine contiguë). • PEX (avec erreurs) • Recherche du plus long fragment k’-conservé (graine contiguë avec erreur). • parcours des mots k’-dérivés dans l’index. Efficace si • petites tailles d’alphabets (ADN,ARN) • nombre k’ relativement faible ( ≤ 2) #### #########(1)
(PMA) Filtrage sans perte • Graines espacées (Q-grams espacés) Technique étudiée par Burkhardt & Kärkkäinen[3] . • Principe Plutôt que rechercher des fragments contigus dans le texte, baser sa recherche sur des fragments dits espacés (graines espacées). • La graine est composée à la fois • De caractères match« #» • De caractères jokers « -» • Distinction entre le poids et la taille (étendue) • Poids : nombre de caractères de type « #». • Etendue : nombre total de caractères. • La graine est conçue (design) pour résoudre un problème (m,k) donné. ###-##
(PMA) Exemple • Sur le problème (m=18,k=3) ###-## ###-## ###-## ###-## ###-## ###-##
(PMA) Exemple • Sur le problème (m=18,k=3) ###-## ###-## ###-## ###-## ###-## ###-##
(PMA) Exemple • Sur le problème (m=18,k=3) ###-## ###-## ###-## ###-## ###-## ###-##
(PMA) Exemple • Sur le problème (m=18,k=3) ###-## ###-## ###-## ###-## ###-## ###-##
(PMA) Exemple • Sur le problème (m=18,k=3) ###-## ###-## ###-## ###-## ###-## ###-##
(PMA) Exemple • Sur le problème (m=18,k=3) ###-## ###-## ###-## ###-## ###-## ###-##
(PMA) Exemple • Sur le problème (m=18,k=3) ###-## ###-## ###-## ###-## ###-## ###-##
(PMA) Exemple • Sur le problème (m=18,k=3) ###-## ###-## ###-## ###-## ###-## ###-##
(PMA) Exemple • Sur le problème (m=18,k=3) ###-## ###-## ###-## ###-## ###-## ###-##
(PMA) Exemple • Sur le problème (m=18,k=3) ###-## ###-## ###-## ###-## ###-## ###-##
(PMA) Exemple • Sur le problème (m=18,k=3) ###-## ###-## ###-## ###-## ###-## ###-##
(PMA) Exemple • Sur le problème (m=18,k=3) ###-## ###-## ###-## ###-## ###-## ###-##
(PMA) Exemple • Sur le problème (m=18,k=3) ###-## ###-## ###-## ###-## ###-## ###-##
(PMA) Exemple • Sur le problème (m=18,k=3) ###-## ###-## ###-## ###-## ###-## ###-##
(PMA) Exemple • Sur le problème (m=18,k=3) ###-## ###-## ###-## ###-## ###-## ###-##
T1 : • T2 : • (AL) Filtrage avec Perte • Techniques semblables à celles du filtrage sans perte. • Basées sur la recherche de sous éléments conservés d’un alignement (graines) : ces graines doivent avoir une forte probabilité d’apparition dans les alignements recherchés Dans le cadre de l’alignement local, ces graines servent à la fois d’indicateurs sur la présence potentielle d’un alignement, et de points d’ancrages pour réaliser une extension de l’alignement.
######### ######### • (AL) Critère de Hit de BLAST[5] • 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. • 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 ########### ########### ###########
(AL) Critère de Hit de BLAT[6] • 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. • Coût supplémentaire à l’exécution : • index multiple (coût mémoire) • index simple (il est nécessaire de parcourir tous les mots dérivés) ##############(1)
(AL) Critère de Hit de PatternHunter[1] • Notion de graine espacée • Apport de PatternHunter : proposer un design de ces graines (choix du motif) ###-#-#--#-### ###-#--#-#--##-### ###-#--#-#--##-### ###-#--#-#--##-###
Filtrage : analyse • Quantités considérées • Mesures effectuées • Sélectivité : VP/(FP+VP) • Sensibilité : VP/(FN+VP) Vérifient / Ne vérifient pas le critère de similarité Détectés / Non détectés par le filtre
(PMA) Filtrage sans perte dans le cadre du PMA • Quantités considérées • Filtrage sans perte: le nombre de faux négatifs est nul donc la sensibilitéVP/(FN+VP)est = 1. • Maximiser la sélectivitéVP/(FP+VP) soit minimiser le nombre de faux positifs. Estimation de cette quantité: Si la longueur du texte est n, le nombre attendu de faux positifs est ~ n.m.δ (sur des séquences i.i.d). PEX : δ = 1/|A|4, Graines espacées :δ = 1/|A|5 Vérifient / Ne vérifient pas le critère de similarité Détectés / Non détectés par le filtre #### ###-##
(AL) Filtrage avec perte dans le cadre de l’AL Vérifient / Ne vérifient pas le critère d’un alignement étalon • Filtrage avec perte • Mesure de la sélectivité : VP/(FP+VP) reste basée sur l’estimation de δ donc liée au poids des graines. • Mesure de la sensibilité : VP/(FN+VP) Nécessité de définir le critère d’un alignement étalon. ces deux quantités sont antagonistes. Détectés / Non détectés par le filtre
(AL) Sensibilité des différentes approches Modèle choisi : • Alignements étalons • Alignements sans gaps (pas d’indels dans l’alignement) • Utiliser un système de score courant (celui de BLAST) +1/-3 (match/mismatch) • Paramètres proposés • Fixer une valeur pour le score des séquences générées • Faire varier la longueur de l’alignement (abscisse). Mesure : • Probabilité d’un hit • A sélectivité égale, on considère la sensibilité : probabilité de trouver de tels alignements selon • le critère de hit de BLAST • le critère de hit de Gapped-BLAST • le critère de hit de PatternHunter
(AL) Sensibilité • Comparaison avec les approches choisies par BLASTn et Gapped-BLAST (score 25)
(AL) Sensibilité • Comparaison avec les approches choisies par BLASTn et Gapped-BLAST (score 35)
(AL) Sensibilité • Comparaison avec les approches choisies par BLASTn et PatternHunter (score 25)
(AL) Sensibilité • Comparaison avec les approches choisies par BLASTn et PatternHunter (score 25)
A T transversions G C transitions • (AL) Critère de Hit de YASS • modèle inspiré des alignements biologiques • Les transitions sont toujours sur-représentées. • graine espacée autorisant des transitions • mot défini sur un alphabet à 3 lettres {‘@’,‘#’, ‘-’}. • symbole ‘@’ signifie “soit match soit transition” • poids d’un graine = ’#’ +’@’ / 2; • exemples de graines optimales trouvées • Alignements générés selon un modèle de Bernoulli. • Alignements générés selon un modèle de Markov d’ordre 5 ##@-#@#--#-### ##@##-##@##
(AL) Sensibilité • Sur des alignements générés selon un modèle de Bernoulli. la sensibilité dépend du ratio entre le nombre de transitions et transversions.
(AL) Sensibilité • Sur des alignements générés selon un modèle de Markov (ordre 5).
(AL) Critère de Hit de YASS • Critère de Hit à la fois multi-seed (Gapped Blast) avec des propriétés issues de techniques single-seed (BLAST). principes: • regrouper efficacement les graines en sous-ensembles représentatifs d’alignements potentiels un modèle statistique de la séquence pour simuler les effets des mutations et des indels sur la répartition des graines dans l’alignement. • évaluer un critère global distribué sur l’alignement • Mesure du nombre de matches apportées par les graines • Hit si dépassement d’un seuil.
(AL) Critère de Hit de YASS
(AL) Critère de Hit de YASS
Plan • Introduction • Deux problèmes • Problème de l’alignement local(AL) • Problème de pattern matchingapproché (PMA) • Résolution utilisant des techniques de filtrage • Définition d’un filtre • Filtrage sans perte dans le cadre du pattern matchingapproché (PMA) • Filtrage avec perte pour l’alignement local (AL) • Design de graines • pour l’alignement local (AL) • pour le problème de pattern matching approché (PMA) • Conclusion
Design de graines espacées • Les techniques de filtrage par graines espacées necessitent une conception (design) de la graine: • dans le cadre du filtrage avec perte (AL) • dans le cadre du filtrage sans perte (PMA) • Sur quels critères peut-on établir le choix de la graine ? ###-#-#--#-### ###-#--###-#--###-#