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

Slides:



Advertisements
Présentations similaires
de l’algorithme de Viterbi
Advertisements

Evaluation dheuristiques pour lalignement de séquences génomiques Stéphane Guyetant Séminaire Symbiose du 23/01/03.
Recherche de motifs par méthodes exploratoires: Comparaisons de performances et statistiques sur le score.
Introduction à l’Algorithmique
Inférence statistique
Colloque Traitement et Analyse de séquences : compte-rendu
Optimisation de Requêtes
Projet Combien? Ma première machine : la machine Construction Ensemble G. Tisseau, J. Duma, H. Giroire, F. Le Calvez, M. Urtasun.
Le dispositif dévaluation des personnels de direction. Le diagnostic détablissement Groupe Inspection Établissements et Vie Scolaire P.C Janvier 2004.
Le plan des cours d’analyse ‘Etude des phénomènes variables’
Tableau de bord. Tableau de bord QCM personnalisés.
GENERALITES SUR LES MOUVEMENTS VIBRATOIRES.
1 Approche risques Zoom Risques LES RISQUES DUN PROJET.
Cinématique Étude du mouvement d’un corps en fonction du temps, indépendamment de toute cause pouvant le provoquer ou le modifier. Le mouvement s’effectue.
CHAPITRE 7 LES METHODES LES TACHES LES METHODES LES CRITERES DE CHOIX DUNE METHODE LE DOSSIER DE CONCEPTION LE CYCLE DE VIE.
Modèles de choix discrets (III) Mirta B. Gordon Laboratoire Leibniz-IMAG Grenoble Dynamique des systèmes complexes et applications aux SHS : modèles, concepts.
Optimisation.
High Frequency Trading Introduction. Séminaires de 30 minutes, une fois par semaine (8 en tout) Sujets abordés – Définition dun algorithme et introduction.
Algorithmique Formation filée de mathématiques 9 décembre 2010.
Point sur la migration STAR - Elyx.
B LOG F ORMASUP – P OST 6 Vérifier latteinte des objectifs dapprentissage… Synthèse de vos posts et commentaires 1 La synthèse.
Chapitre III. Algorithmique élémentaire des tableaux (recherche, tri)
Les médiatrices d’un triangle sont-elles concourantes… en classe de cinquième? DEJEAN Audrey, LOZE Delphine, MATHIEU Johan.
1 Le déroulement dun projet et sa gestion. 2 Le déroulement dun projet: plan 1.Objectifs dapprentissage 2.Les intervenants principaux 3.Le découpage en.
Petite introduction au logiciel de traitement statistique SPSS
MRP.
Courbes elliptiques.
Reconnaissance de la parole
1 Recherche de répétitions distantes dans les séquences Etudiant : Laurent NOE Encadrant : Gregory KUCHEROV.
Recherche heuristique de similitudes dans les séquences dADN École Jeunes Chercheurs en Algorithmique et Calcul Formel Laurent Noé
CALCUL PARALLELE PRODUIT : MATRICE – VECTEUR 10 pages Exposé par :
Techniques de filtrage à laide de graines espacées Laurent Noé Travail commun avec Gregory Kucherov Séminaire.
                                        République Algérienne Démocratique et Populaire Ministère de l’Enseignement Supérieur et de la Recherche Scientifique.
Sensibilité de graines espacées du type Subset seed Gregory Kucherov, Laurent Noé, Mikhaïl Roytberg LORIA (Nancy) 9-10 décembre 2004, Lille AS Indexation.
Septième étape : travailler avec des graphes probabilistes
Plus courts chemins On présente dans ce chapitre un problème typique de cheminement dans les graphes : la recherche d'un plus court chemin entre deux sommets.
Multi-seed lossless filtration Gregory Kucherov Laurent Noé LORIA/INRIA, Nancy, France Mikhail Roytberg Institute of Mathematical Problems in Biology,
YASS : Recherche de similarités dans les séquences d'ADN
Heuristiques A. Introduction B. Recherche d ’une branche
Sélection doligonucléotides spécifiques à laide de familles de graines AS Indexation de Texte et Découverte de Motifs Lina (Nantes) mai 2004.
Algorithmes de filtrage
Historique de SystemC Regroupe 4 courants didées: SCENIC Project : Synopsys+UC Irvine Philips System-Level Data Types, VSIA SLD DWG IMEC, Hardware-Software.
Alignement de séquences (suite)
Algorithme et programmation
Les fichiers indexés (Les B-arbres)
Introduction à la génomique structurelle
IFT Complexité et NP-complétude
Programmation linéaire en nombres entiers Algorithme de la subdivision successive («Branch and Bound Algorithm»)
Génération d’un segment de droite
Cours 2 Recherche d'informations Espace vectoriel des sacs de mots.
Modélisation et analyse de la variabilité dans une chaîne logistique par Laurence Morlet Promoteur : Philippe Chevalier Lecteurs : Laurence.
Efficacité des algorithmes
Mise en oeuvre des MMCs L'utilisation des MMCs en reconnaissance des formes s'effectue en trois étapes : définition de la topologie de la chaîne de Markov,
1 La détection de gènes impliqués dans les maladies multifactorielles Marie-Pierre Etienne ENGREF Laboratoire GRESE Statistique et Génome.
Institut Supérieur des Etudes Technologiques de Djerba Exposé du Traitement de Données Réalisé par: Khalifa Marwa Magroun Amira Jawadi Souad L2MDW.
Programmation dynamique
Pour le chemin le plus court pour tous les couples
Recherche heuristique dans les bases de données L’algorithme BLAST
Structures de données IFT-2000 Abder Alikacem La récursivité Département d’informatique et de génie logiciel Édition Septembre 2009.
Arbres binaires et tables de hachage
Recherche exacte de motifs
Alignement de génomes. MUMmer (1999) Utilise l’arbre des suffixe. Basé sur le principe de « Maximum Unique Match » (MUM). Étant donné deux génomes A et.
Alignement de séquences biologiques
Recherche de motifs par projections aléatoires
Changement de représentation et alignement de séquences. Hugues DELALIN Encadrement: E. Mephu Nguifo.
Structures de données avancées : Arbres B+ avec expansion partielle D. E ZEGOUR Institut National d ’Informatique.
Recherche heuristique dans les bases de données L’algorithme BLAST
Post-optimisation, analyse de sensibilité et paramétrage
Les banques de séquences nucléiques
Processus ponctuels Caractéristiques et Modèles de répartitions spatiales.
Transcription de la présentation:

Filtrage à l’aide de graines pour l’alignement local Laurent Noé laurent.noe@loria.fr http://www.loria.fr/~noe Université Henri Poincaré Travail commun avec Gregory Kucherov

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

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. » 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 ||||||||| TACATGCG ||:||||| TAGATGCG S1 : TGTGCTTGGCAACATAGATAGATGCG S2 : TACATGCGCAACATAGCTGTGCCTTG S1 : TGTGCTTGGCAACATAGATAGATGCG S2 : TACATGCGCAACATAGCTGTGCCTTG S1 : TGTGCTTGGCAACATAGATAGATGCG S2 : TACATGCGCAACATAGCTGTGCCTTG S1 : TGTGCTTGGCAACATAGATAGATGCG S2 : TACATGCGCAACATAGCTGTGCCTTG TGTGC-TTG ||||| ||| TGTGCCTTG

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

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

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

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

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

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

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. Utiliser une méthode heuristique S’inspirer de méthodes déjà existantes dans le domaine du pattern matching.

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)

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...

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)

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

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

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

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.

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 ######### ###########

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

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

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

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)

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. ###_#_#__#_### ###_#__#_#__##_### ###_#__#_#__##_###

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.

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.

Sensibilité Comparaison avec les approches choisies par BLASTn et PatternHunter

Sensibilité Comparaison avec les approches choisies par BLASTn et PatternHunter

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 #@#@@#@__#@@#_@#@# ###_###_#__#### (0.744003) (0.701099)

|44690 |44680 |44670 |44660 |44650 |44640 |44630 GAAACATCGAAAGTACCACCACCCAAATCGAAAATCAAAACATGTCTTTCCTTTTCGGACTTACCAGCACCTAGACCGT ||:|||||.|||||.|||||:|.||..||.||.||:||:||||:||||||::.|.|..:|||:. ...|||..|||| GACACATCAAAAGTGCCACCTCTCAGGTCAAAGATAAACACATTTCTTTCAGCTCCAACCTTTT---TGTCTAAGCCGT |443050 |443060 |443070 |443080 |443090 |443100 |443110 |44610 |44600 |44590 |44580 |44570 |44560 |44550 AAGCAATAGCAGCGGCAGTAGGTTCGTTGATGATACGCAAAACGTTCAAACCAGAAATGGCACCGGCATCCTTGGTAGC ||||||||:||||.|||:|:||.||.|||||.||:|::|.:||.||:|.|||||:|||.|.:||.|||||.|||||||| AAGCAATATCAGCAGCACTTGGCTCATTGATAATTCTAAGTACATTGAGACCAGCAATAGTTCCAGCATCTTTGGTAGC |443120 |443130 |443140 |443150 |443160 |443170 |443180 |443190 |44540 |44530 |44520 |44510 |44500 |44490 |44480 |44470 TTGTCTTTGAGCGTCGTTAAAGTAAGCTGGGACAGTAATGACGGCCTTTTCAACCTTCTTACCAATCTTAGCTTCAGCA .||:.:.||||:||..||||||||||||||:||:||.|.:||.||:||::.|||::||||:||||::|:.|||||:||| CTGATGCTGAGAGTTATTAAAGTAAGCTGGCACTGTGACCACAGCATTGGTAACAGTCTTCCCAAGGTAGGCTTCTGCA |443200 |443210 |443220 |443230 |443240 |443250 |443260 |443270 |44460 |44450 |44440 |44430 |44420 |44410 |44400 ATTTCCTTCATCTTGGTCAAAACCATAGCGGAAATTTCTTGTGGGGAGAAAGTCTTGGTTTCTTCCAAGTA ||||||||||||||:||||..|||||||:|||:|..||.|:|||.:||||..|.|||||.|||.||::||| ATTTCCTTCATCTTTGTCAGGACCATAGAGGACACCTCCTCTGGATAGAAGATTTTGGTCTCTCCCTTGTA |443280 |443290 |443300 |443310 |443320 |443330 |443340

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). ###_#__#_#__##_###

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.

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 111011101111

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 111011101111

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 111011101111 w v

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 111011101111 1

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 111011101111

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

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

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

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

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

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.

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

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.

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).

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: =111010010100110111 ~ ###_#__#_#__##_###, alignements: n=100, S=20 (s=1,p=3)

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,

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.

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.

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

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

Graines optimales

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) http://www.loria.fr/~noe ou http://yass.loria.fr 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 ?

Références [1] M. Bin, J. Tromp John and L. Ming, PatternHunter: Faster and more sensitive homology search, Bioinformatics 18:3 440-445 2002 [2] J. Buhler, U. Keich and Y. Sun, Designing seeds for Similarity Search in Genomic DNA, RECOMB 2003 67-75 [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), 135-154 1995 [5] S. Altschul, and all, Gapped BLAST and PSI-BLAST: a new generation of protein database search programs, Nucleic Acids Research, 27:17 3389-3402 1997 [6] J.Kent, BLAT--The BLAST-Like Alignment Tool, Genome Research 12, 656-664 2002 [7] G. Navarro and M. Raffinot, Flexible Pattern Matching in Strings -- Practical on-line search algorithms for texts, Cambridge University Press 2002

? Questions