om enaerts, Bibliographie ntroduction à la bioinformatique. l analyse des séquences par paires et la programmation dynamique onday ebruary om enaerts, Zvelebil et Baum, Understanding bioinformatics ormen et al, ntroduction to lgorithms open course ware usfield, lgorithms on strings, trees and sequences rof.. onze, O- Bases de données et analyse de séquences macromoléculaires onday ebruary om enaerts, Objectifs ourquoi l alignement? omme expliqué au début, étant donné l explosion de l information génétique, comment peut-on remplacer la connaissance des séquences par la connaissance biologique? omprendre les notions d identité, de similarité et d homologie Être capable d expliquer la notion d un alignement optimal xpliquer les matrices de substitutions omprendre la différence entre l alignement global et local xpliquer les principes de la programmation dynamique xpliquer les solutions pour et omprendre la relation entre et l alignement des séquences xpliquer les différences entre la pénalité linéaire et affine our détecter si ces séquences d acides aminés sont des homologues, il faut qu on fasse une comparaison entre eux. omprendre comment on peut trouver des alignements sous-optimales Être capable de développer tous les algorithmes onday ebruary onday ebruary
om enaerts, a difficulté e problème est que les gènes ou protéines (= séquences) ont changé pendant l évolution substitution U U mise à place et/ou suppression U U indels es modifications pourraient cacher une similarité fondamentale om enaerts, ourquoi la similarité maximale? i on a deux gènes ou protéines qui viennent du même ancêtre commun, on veut que les nucléotides ou acides aminés qui font parti de l ancêtre commun soient bien alignés U U U U--- Évolution divergente -U ----U olution : chercher l alignement qui produit la similarité maximale a meilleure façon pour retrouver ce résultat est de chercher la similarité maximale entre les séquences onday ebruary onday ebruary om enaerts, om enaerts, uelques définitions l identité e niveau d identité est la fraction des résidus qui sont identiques dans les deux séquences l identité entre des séquences aléatoires n est jamais %!!! imilarité eux résidus sont similaires si leur substitution n a aucun effet sur la fonctionnalité e niveau de similarité est la fraction des résidus qui sont similaires U ---U omologie a similarité entre deux séquences est dérivée d un ancêtre commun ttention!!! omologie implique un ancêtre commun, en même temps, ça pourrait aussi suggérer une structure ou fonction similaire ais ça n est pas toujours le cas: utation pourrait produire des séquences similaires mais avec des fonctions différentes On a besoin d information additionnelle pour confirmer l homologie ou l y a des protéines avec les mêmes fonctions mais qui ont des séquences différentes ou deux séquences pourraient être similaires mais n ont pas un ancêtre commun Évolution convergente onday ebruary 7 onday ebruary 8
om enaerts, om enaerts, ttention!!! Un score quantitatif omme il est difficile de connaître l'ancêtre commun, un alignement n est qu une hypothèse On a besoin d une méthode quantitative qui prenne en compte l aspect évolutifs pour vérifier la qualité d un alignement omologie est une relation binaire = deux séquences sont des homologues ou ne le sont pas l est plus facile de détecter l homologie entre deux séquences d acides aminés qu entre deux séquences de nucléotides. il y a une plus grande probabilité de trouver un alignement entre deux nucléotides aléatoirement qu entre deux acides aminés. a code génétique est redondant. a fonction d un gène est définie par la structure de la protéine idée est que la méthode quantitative donne un score plus élevé aux alignements de séquences qui sont dérivées d un ancêtre commun par rapport aux séquences qui sont choisies aléatoirement alignement exact obtient le meilleur score = l alignement optimal our l instant on n a pas trouvé une méthode quantitative qui utilise un modèle exact de l évolution On n a pas la garantie que le meilleur score donne l alignement exact On utilise les méthodes pour quantifier des alignements qui déterminent la similarité (X) et la différence () entre les séquences. onday ebruary 9 onday ebruary om enaerts, imilarité basée sur l identité e dot plot est une méthode qui montre la similarité entre deux séquences graphiquement les points rouges sont des résidus qui s assortissent les points roses sur les deux cotés de la diagonale centrale montrent où on peut trouver les mêmes résidus dans d autres positions de la séquence. onday ebruary un dot est ajouté quand les deux positions s'assortissent interruption dans la diagonale montre où on peut retrouver les indels haque ligne diagonale montre une sous-séquence alignée om enaerts, onday ebruary imilarité basée sur l identité es dot plots sont utilisé pour identifier des répétitions au sein de la séquence uman B UniprotB/wissport 87
om enaerts, imilarité basée sur l identité es dot plots sont utilisés pour identifier des répétitions au sein de la séquence om enaerts, imilarité basée sur l identité eulement important de trouver les configurations significatives es dot plots ont des problèmes avec bruit de fonds eulement besoin de trouver les configurations significatives bruit de fonds = tous les résidus assortis sont visualisé fenêtres superposantes aille = 9 ntroduction d un filtre: Une fenêtre superposante (avec une certaine taille) dans laquelle il faut avoir un nombre minimal d associations identiques ait par otlet http://myhits.isb-sib.ch/cgi-bin/dotlet uman B UniprotB/wissport 87 fenêtres superposantes aille = ait par otlet http://myhits.isb-sib.ch/cgi-bin/dotlet onday ebruary onday ebruary om enaerts, om enaerts, dentité et similarité atrices de substitution ans l analyse précédente, on utilise un score d identité : On donne quand les deux parties s assortissent et un score de autrement uelques soucis: haque acide aminé pourrait être remplacé par un autre avec les mêmes caractéristiques biochimiques ans ce cas, l évolution pourrait avoir accepté le remplacement ertains acides aminés sont importants pour la stabilité de la protéine Évolution n'acceptera jamais que ces acides aminés sont remplacés Un score de similarité tient compte de ces soucis e score total pour une séquence est obtenu en additionnant les scores par paires u moins % de similarité total est nécessaire onne des scores de similarités entre toutes les pairs d acides aminés haque score est le taux entre la probabilité qu une paire d acides aminés s assortissent par homologie et la probabilité qu ils s assortissent aléatoirement es meilleurs matrices étaient créées en utilisant des groupes de séquences homologues obtenues à partir d espèces différentes eux exemples: (. ayhoff et al (978) model of evolutionary change in proteins. n tlas of protein sequence and structure ol, o suppl, p.) BOU (. enikoff et al (99) mino acid substitution matrices from protein blocks. roc atl cad ci U 89:999) onday ebruary onday ebruary
om enaerts, om enaerts, atrices de substitution atrices de substitution es matrices, crée par argaret ayhoff, donnent un score de substitution entre les acides aminés a matrice était créé en utilisant des vraies séquences similaires (~8%) es valeurs positives (négatives) représentent des mutations acceptées (défavorables) ugmente la confiance sur l alignement et assure que le nombre de mutations entre deux séquences est limité a diagonale représente la conservation U U 7 9 e but était de déterminer la relation évolutive entre les acides aminés onday ebruary 7 om enaerts, onday ebruary 8 om enaerts, atrices de substitution atrices de substitution l y a plusieurs de ces matrices, chacunes reflétant une différence dans le nombre de substitutions acceptées BOU est déterminée en utilisant des blocs d acides aminés bien conservés dans des protéines : différences de % de mutations par séquence : différences de % de mutations par séquence : différences de % de mutations par séquence (plusieurs mutations par positions) e est une indication de l'identité entre les séquences qui étaient utilisées pour la construction de la matrice es nouveaux sont arrivés : 9 (Jones et al (99) omp pp Biosci 8:78) onday ebruary BOU 9 onday ebruary
om enaerts, om enaerts, sn sp ln lu ly is le eu ys yr al er hr rp et he ro ydrophobic romatic olar Basic cidic B Z X * 7 7 ydrophobic romatic olar Basic cidic es substitutions au sein des groupes d acides aminés sont favorables onday ebruary om enaerts, yr al 7 rp er 8 hr he 7 ro ys uelques substitutions sont neutre 9 et le eu is 8 lu B Z X * ly la rg sn sp ys ln lu ly is le eu ys et he ro er hr rp yr al ln eulement un ensemble limité de substitutions sont favorable sp 9 ys sn la nalyse de BOU rg ys B Z X * la la rg sn sp ys ln lu ly is le eu ys et he ro er hr rp yr al rg nalyse de BOU B Z X * onday ebruary om enaerts, onday ebruary is le eu ys et yr al hr rp B Z X * ydrophobic romatic olar Basic cidic onday ebruary 7 al ly yr lu 7 rp ln er ys hr he 7 ro et 8 ys eu 7 is le 9 ly ln lu ys 8 sp B Z X * sn la rg sn sp ys ln lu ly is le eu ys et he ro er hr rp yr al la nalyse de BOU rg 9 er he ro sp ydrophobic romatic olar Basic cidic sn B Z X * la la rg sn sp ys ln lu ly is le eu ys et he ro er hr rp yr al rg nalyse de BOU B Z X *
om enaerts, om enaerts, atrices de substitution es espaces (gaps) uelles matrices est-ce qu on doit utiliser???? e numéro de indique la divergence entre les séquences et le numéro de BOU indique le pourcentage d identité es séquences homologues ont souvent une longueur différente U U -U ----U our l évaluation des séquences similaires on a besoin d une matrice qui donne des valeurs hautes pour les assortiments identiques : BOU 8 ou i on veut aligner ces séquences on devrait introduire des espaces pour les insertions et les suppressions a matrice est choisie en utilisant le taux de conservation prévue entre les séquences qu on veut aligner On fait la différence entre le début d un espace (pénalité de au ) ou l extension d un espace existant (penalité de -. au ) onday ebruary onday ebruary om enaerts, om enaerts, Un exemple Un exemple calculates a global alignment of two sequences version.u lease cite: yers and iller, BO (989) :7 unknown 98 bp 98 aa vs. unknown 9 bp 9 aa using matrix file: /usr/molbio/share/fasta/blosum.mat, gap open/ ext: /.% identity in aa overlap;!! lobal score: unknow ::.::. :.:: :. :..: ::::.:.....:.:...:. ::.:.. unknow ------ calculates a global alignment of two sequences version.u lease cite: yers and iller, BO (989) :7 98 bp 98 aa vs. B 9 bp 9 aa using matrix file: /usr/molbio/share/fasta/blosum8.mat, gap open/ext: /.% identity in 8 aa overlap;!! lobal score: 9 9 --- ::.::. : :: : : :: ::::.:....:.:...:. ::.:. B --------- 7 8 9 unknow -----.. :..:.:...::.::.. : :: unknow -- 7 8 9 (BOU, début de l espace =, l extension de l espace = ) http://www.ch.embnet.org/software/ _form.html 7 8 9 9 -------.: : : :.: :...::.:: ::.. : :: B ---- 7 8 9 (BOU 8, début de l espace =, l extension de l espace = ) http://www.ch.embnet.org/software/ _form.html onday ebruary 7 onday ebruary 8
om enaerts, Un exemple om enaerts, es différents types d alignement l y a deux grandes classes d alignement calculates a global alignment of two sequences version.u lease cite: yers and iller, BO (989) :7 98 bp 98 aa vs. B 9 bp 9 aa using matrix file: /usr/molbio/share/fasta/pam.mat, gap open/ext: /.% identity in aa overlap;!! lobal score: 9 ::.::. :.:: : :. : ::::.:......:.:....:. ::.:.. : B ------- 7 8 9 9 -------. : : :.: :...::.:: ::... : :: B --- 7 8 9 (, début de l espace =, l extension de l espace = ) http://www.ch.embnet.org/software/ _form.html l alignement global : l alignement entre des séquences complètes ntéressant pour la comparaison entre des séquences relatées l alignement local : l alignement des régions conservées au sein des protéines pour la détection des domaines ou des motifs communs onday ebruary 9 onday ebruary om enaerts, a programmation dynamique a méthode la plus efficace pour trouver un alignement optimal est la programmation dynamique () omme le divide-and-conquer, est une méthode pour la conception des algorithmes es transparants suivantes donnent une explication de en utilisant quelques exemples a sous-séquence la plus longue (ongest common subsequence) ou a distance d édition (dit distance) ou près est utilisé pour la construction d un algorithme d alignement. om enaerts, xemple : e problème : tant données deux séquences x[..m] et y[..n], trouvez une des sous-séquences les plus longues qui fait partie des deux séquences il est possible que plusieurs solutions existent onday ebruary onday ebruary
om enaerts, om enaerts, xemple : xemple : e problème : tant données deux séquences x[..m] et y[..n], trouvez une des sous-séquences les plus longues qui fait partie des deux séquences il est possible que plusieurs solutions existent e problème : tant données deux séquences x[..m] et y[..n], trouvez une des sous-séquences les plus longues qui fait partie des deux séquences il est possible que plusieurs solutions existent x : B B B y : B B uelles sont les plus longues sousséquences qu on pourrait trouver au sein de x et y? x : B B B y : B B uelles sont les plus longues sousséquences qu on pourrait trouver au sein de x et y? BB, BB, BB = (x,y) xprime une relation entre x et y onday ebruary onday ebruary om enaerts, om enaerts, xemple : xemple : e problème : tant données deux séquences x[..m] et y[..n], trouvez une des sous-séquences les plus longues qui fait partie des deux séquences il est possible que plusieurs solutions existent Une approche est de vérifier toutes les sous-séquences de x pour voir s ils font aussi partie de y = méthode approfondie emps d'exécution? x : B B B y : B B uelles sont les plus longues sousséquences qu on pourrait trouver au sein de x et y? BB, BB, BB = (x,y) xprime une relation entre x et y omment résoudre ce problème? onday ebruary onday ebruary
om enaerts, om enaerts, xemple : Une approche est de vérifier toutes les sous-séquences de x pour voir s ils font aussi partie de y = méthode approfondie emps d'exécution?. ombien de temps est exigé pour vérifier qu une sous-séquence de x fait aussi partie d une séquence y? Obliger d aller jusqu au bout de la séquence y : O(n) par sousséquence xemple : Une approche est de vérifier toutes les sous-séquences de x pour voir s ils font aussi partie de y = méthode approfondie emps d'exécution?. ombien de temps est exigé pour vérifier qu une sous-séquence de x fait aussi partie d une séquence y? Obliger d aller jusqu au bout de la séquence y : O(n) par sousséquence. ombien de sous-séquences différentes font partie de la séquence x? haque sous-séquence est représentée par un vecteur de bits (/). l y a m vecteurs x : B B B v : v : onday ebruary onday ebruary om enaerts, om enaerts, xemple : Une approche est de vérifier toutes les sous-séquences de x pour voir s ils font aussi partie de y = méthode approfondie emps d'exécution? le total de en fait O(n m ) = exponentielle = lent. ombien de temps est exigé pour vérifier qu une sous-séquence de x fait aussi partie d une séquence y? Obliger d aller jusqu au bout de la séquence y : O(n) par sousséquence xemple : our trouver une solution moins lente, on introduit une simplification. ombien de sous-séquences différentes font partie de la séquence x? haque sous-séquence est représentée par un vecteur de bits (/). l y a m vecteurs x : B B B v : v : onday ebruary onday ebruary
om enaerts, om enaerts, xemple : xemple : our trouver une solution moins lente, on introduit une simplification. u lieu de chercher le, essayez de trouver la longueur s = la longueur de la séquence s our trouver une solution moins lente, on introduit une simplification. u lieu de chercher le, essayez de trouver la longueur s = la longueur de la séquence s. près, étendez l algorithme pour trouver le onday ebruary onday ebruary om enaerts, om enaerts, xemple : our trouver une solution moins lente, on introduit une simplification. u lieu de chercher le, essayez de trouver la longueur s = la longueur de la séquence s xemple : idée est de résoudre le problème pour les séquences x [..m] et y[..n] (longueur m et n) en utilisant les préfixes de longueur m en n. près, étendez l algorithme pour trouver le pproche : Utilisez les préfixes des séquences x et y c[i,j] = (x[..i],y[..j]) c[m,n] = (x[..m],y[..n]) le préfixe i d une séquence x est x[..i] onday ebruary onday ebruary
om enaerts, om enaerts, xemple : idée est de résoudre le problème pour les séquences x [..m] et y[..n] (longueur m et n) en utilisant les préfixes de longueur m en n aractéristique de a sous-structure optimale on dit qu un problème a une sous-structure optimale si la solution optimale pour le problème contient des solutions optimales pour les sous-problèmes du problème global xemple : idée est de résoudre le problème pour les séquences x [..m] et y[..n] (longueur m et n) en utilisant les préfixes de longueur m en n aractéristique de a sous-structure optimale on dit qu un problème a une sous-structure optimale si la solution optimale pour le problème contient des solutions optimales pour les sous-problèmes du problème global e problème a des sous-structures optimales i z[..k]=(x[..m],y[..n]), chaque préfixe de z est un d un préfixe de x et un préfixe de y onday ebruary onday ebruary om enaerts, om enaerts, xemple : xemple : idée est de résoudre le problème pour les séquences x [..m] et y[..n] (longueur m et n) en utilisant les préfixes de longueur m en n idée est de résoudre le problème pour les séquences x [..m] et y[..n] (longueur m et n) en utilisant les préfixes de longueur m en n c[m,n]=k et z[..k]=(x[..m],y[..n]) c[m,n]=k et z[..k]=(x[..m],y[..n]). uand x[m]=y[n], z[k]=x[m]=y[n] et z[..k] est un de x[..m] et y[..n] onday ebruary onday ebruary
om enaerts, om enaerts, xemple : idée est de résoudre le problème pour les séquences x [..m] et y[..n] (longueur m et n) en utilisant les préfixes de longueur m en n c[m,n]=k et z[..k]=(x[..m],y[..n]) xemple : idée est de résoudre le problème pour les séquences x [..m] et y[..n] (longueur m et n) en utilisant les préfixes de longueur m en n c[m,n]=k et z[..k]=(x[..m],y[..n]). uand x[m]=y[n], z[k]=x[m]=y[n] et z[..k] est un de x[..m] et y[..n] reuve i z[k]! x[m], on peut ajouter x[m] au z[..k] et on obtient un de longueur k+... contradiction! parce que on a dit que k est la longueur maximum. l reste à montrer que z[..k] est un de x[..m] et y[..m]. upposons qu il existe une w qui est plus longue que z[..k]. arce que x[m]=y[n] on peut ajouter x[m] au w, qui est maintenant un de x [..m] et y[..n].. contradiction! on a trouvé une qui est plus longue que z onday ebruary onday ebruary 7 om enaerts, om enaerts, xemple : xemple : idée est de résoudre le problème pour les séquences x [..m] et y[..n] (longueur m et n) en utilisant les préfixes de longueur m en n idée est de résoudre le problème pour les séquences x [..m] et y[..n] (longueur m et n) en utilisant les préfixes de longueur m en n c[m,n]=k et z[..k]=(x[..m],y[..n]) c[m,n]=k et z[..k]=(x[..m],y[..n]). uand x[m]!y[n], z[k]!x[m] implique que z[..k] est un de x[..m] et y[..n] si x[m] n est pas le dernier élément de la séquence z[..k], on doit vérifier si x[m]=y[n]. uand x[m]!y[n], z[k]!x[m] implique que z[..k] est un de x[..m] et y[..n] si x[m] n est pas le dernier élément de la séquence z[..k], on doit vérifier si x[m]=y[n]. uand x[m]!y[n], z[k]!y[n] implique que z[..k] est un de x[..m] et y[..n] si y[n] n est pas le dernier élément de la séquence z[..k], on doit vérifier si x[m]=y[n] onday ebruary 7 onday ebruary 7
om enaerts, om enaerts, xemple : 7 xemple : 7 Utilisant ces trois observations on peut définir un algorithme récursif pour résoudre le problème du Utilisant ces trois observations on peut définir un algorithme récursif pour résoudre le problème du c[i,j] = { si i= et j= c[i,j]+ si i,j> et x[i]=y[j] max{c[i,j],c[i,j]} si i,j> et x[i]!y[j] c[i,j] = { si i= et j= c[i,j]+ si i,j> et x[i]=y[j] max{c[i,j],c[i,j]} si i,j> et x[i]!y[j] (x,y,i,j) if (x[i] == y[j]) then c[i,j] (x,y,i,j) + else c[i,j] max {(x,y,i,j), (x,y,i,j)} return c[i,j] onday ebruary 8 onday ebruary 8 om enaerts, om enaerts, xemple : 8 xemple : 9 emps d'exécution? ans le pire des cas, l algorithme doit toujours prendre le branchement else du code emps d'exécution? ans le pire des cas, l algorithme doit toujours prendre le branchement else du code m= et n= m= et n= ombre de noeuds est aussi exponentiel ais le même sous-problème est résolu plusieurs fois!!! onday ebruary 9 onday ebruary
om enaerts, om enaerts, xemple : xemple : aractéristique de ous-problèmes superposants Une solution récursive contient un nombre limitée de sous-problèmes distincts répétés beaucoup de fois aractéristique de ous-problèmes superposants Une solution récursive contient un nombre limitée de sous-problèmes distincts répétés beaucoup de fois e nombre de sous-problèmes différents de pour deux séquences de longueur m et n est mn i un problème a les deux caractéristiques (sous-structure optimale et sous-problèmes superposants), le pourrait être utilisé pour la création d un algorithme onday ebruary onday ebruary om enaerts, om enaerts, xemple : xemple : emoization ( ): uand une solution pour un sousproblème est calculé, enregistrez-le dans un tableau emoization ( ): uand une solution pour un sousproblème est calculé, enregistrez-le dans un tableau es appels ultérieurs au vont vérifier le tableau pour éviter qu on refasse le même travail es appels ultérieurs au vont vérifier le tableau pour éviter qu on refasse le même travail (x,y,i,j) if (c[i,j] == ) //i le travail n est déjà fait, fais le if (x[i] == y[j]) then c[i,j] (x,y,i,j) + else c[i,j] max {(x,y,i,j), (x,y,i,j)} return c[i,j] onday ebruary onday ebruary
om enaerts, om enaerts, xemple : emoization ( ): uand une solution pour un sousproblème est calculé, enregistrez-le dans un tableau es appels ultérieurs au vont vérifier le tableau pour éviter qu on refasse le même travail xemple : a solution précédente est construite utilisant une approche top-down. On pourrait aussi construire la solution en utilisant une approche bottom-up (x,y,i,j) if (c[i,j] == ) //i le travail n est déjà fait, fais le if (x[i] == y[j]) then c[i,j] (x,y,i,j) + else c[i,j] max {(x,y,i,j), (x,y,i,j)} return c[i,j] emps d'exécution? ombre de calculations est mn : O(mn) émoire? O(mn) c[i,j] = { si i= et j= c[i,j]+ si i,j> et x[i]=y[j] max{c[i,j],c[i,j]} si i,j> et x[i]!y[j] onday ebruary onday ebruary om enaerts, om enaerts, xemple : xemple : a solution précédente est construite utilisant une approche top-down. On pourrait aussi construire la solution en utilisant une approche bottom-up a solution précédente est construite utilisant une approche top-down. On pourrait aussi construire la solution en utilisant une approche bottom-up emps d'exécution? O(mn) c[i,j] = { si i= et j= c[i,j]+ si i,j> et x[i]=y[j] max{c[i,j],c[i,j]} si i,j> et x[i]!y[j] c[i,j] = { si i= et j= c[i,j]+ si i,j> et x[i]=y[j] max{c[i,j],c[i,j]} si i,j> et x[i]!y[j] onday ebruary onday ebruary
om enaerts, om enaerts, xemple : a solution précédente est construite utilisant une approche top-down. On pourrait aussi construire la solution en utilisant une approche bottom-up emps d'exécution? O(mn) émoire? O(mn) xemple : a solution précédente est construite utilisant une approche top-down. On pourrait aussi construire la solution en utilisant une approche bottom-up Utilise une matrice additionnel pour enregistrer l origine rouver le en retournant sur trace vers le début onday ebruary onday ebruary 7 om enaerts, om enaerts, xemple : xemple : (x,y,m,n) for i to m do c[i,] bt[i,] for j to n do c[,j] bt[i,] for i to m do for j to n do if(x[i]==y[j]) then c[i,j] c[i,j]+ bt[i,j] else c[i,j] max{c[i,j],c[i,j]} bt[i,] (argmax{c[i,j],c[i,j]}==? ; } return c e problème : alculer la distance d éditions () entre deux chaînes de caractères, avec une transcription d édition optimale (edit transcript) qui décrit la transformation entre les deux strings opérations de transformation : (insertion), (suppression), (remplacement) et (les deux caractères sont les mêmes) x[..7] : vintner y[..7] : writers v intner wri t ers es opérations sont faites sur la première chaîne de caractères vintner wri t ers onday ebruary 8 onday ebruary 9
om enaerts, om enaerts, xemple : xemple : éfinition : une chaîne utilisant des caractères de l alphabet {,,,} qui décrit la transformation d une chaîne de caractères vers une autre est une transcription d édition des deux chaînes de caractères evensthein distance éfinition : a distance d édition entre deux chaînes de caractères est définie comme le nombre minimum d opérations d ensemble {,,} nécessaire pour transformer la première chaîne de caractères en la deuxième a transcription liée à la distance d édition est la transcription optimale st-ce que le problème de contient les caractéristiques typiques d un problème qui pourrait être résolu par? a sous-structure optimale? es sous-problèmes superposants? les deux chaînes sont x[..m] et y[..n] (i,j) est la fonction de la distance d édition entre les chaînes x [..i] et y[..j] our les chaînes x et y de longueur m et n respectivement, le nombre de sous problèmes est mn onday ebruary onday ebruary om enaerts, om enaerts, xemple : xemple : a relation récursive : (i,)=i parce que on a besoin de i suppressions pour changer i caractères de x en caractères de y { i si i> et j= (i,j) = j si i= et j> min{(i,j)+,(i,j)+, (i,j)+t(i,j)} si i,j> et si x[i]=y[j], t(i,j) = autrement t(i,j)= a relation récursive : (i,)=i parce que on a besoin de i suppressions pour changer i caractères de x en caractères de y { i si i> et j= (i,j) = j si i= et j> min{(i,j)+,(i,j)+, (i,j)+t(i,j)} si i,j> et si x[i]=y[j], t(i,j) = autrement t(i,j)= omme le problème de l, on peut utiliser une approche bottom-up pour calculer la distance d édition omme le problème de l, on peut utiliser une approche bottom-up pour calculer la distance d édition onday ebruary onday ebruary
om enaerts, om enaerts, xemple : xemple : a relation récursive : (i,)=i parce que on a besoin de i suppressions pour changer i caractères de x en caractères de y { i si i> et j= (i,j) = j si i= et j> min{(i,j)+,(i,j)+, (i,j)+t(i,j)} si i,j> et si x[i]=y[j], t(i,j) = autrement t(i,j)= e retour arrière solutions v intner wri t ers vintner wri t ers vintner writ ers a distance d édition est : On a besoin d un minimum de caractères de l ensemble {,,} pour la transformation onday ebruary onday ebruary om enaerts, om enaerts, Objectifs alignement global omprendre les notions d identité, de similarité et d homologie Être capable d expliquer la notion d un alignement optimal xpliquer les matrices de substitutions omprendre la différence entre l alignement global et local xpliquer les principes de la programmation dynamique xpliquer les solutions pour et omprendre la relation entre et l alignement des séquences xpliquer les différences entre la pénalité linéaire et affine omprendre comment on peut trouver des alignements sous-optimales Être capable de développer tous les algorithmes e problème de la est équivalent au problème d alignement calculates a global alignment of two sequences version.u lease cite: yers and iller, BO (989) :7 unknown 98 bp 98 aa vs. unknown 9 bp 9 aa using matrix file: /usr/molbio/share/fasta/blosum.mat, gap open/ ext: /.% identity in aa overlap;!! lobal score: unknow ::.::. :.:: :. :..: ::::.:.....:.:...:. ::.:.. unknow ------ 7 8 9 unknow -----.. :..:.:...::.::.. : :: unknow -- 7 8 9 eux caractères différents dans un alignement sont des replacements dans une transcription d édition Un espace dans la première chaîne d un alignement est une insertion dans la deuxième chaîne Un espace dans la deuxième chaîne d un alignement est une suppression du caractère opposant dans la première chaîne onday ebruary onday ebruary 7
om enaerts, om enaerts, alignement global alignement global pénalité g est -8 e algorithme pour l alignement était proposé par aul eedleman et hristian unsch en 97 uand la pénalité est trop haute, on n obtient pas des espaces dans l alignement algorithme de eedleman et unsch cherche l alignement qui donne la plus grande similarité, ce qui est équivalent à chercher la transcription minimale en (i,j) = { ig jg si i> et j= si i= et j> BOU est utilisé pour la fonction t(i,j) max{(i,j)+g,(i,j)+g, (i,j)+t(i,j)} si i,j>, t(i,j)=ub[x[i],y[j]] et g (<) est la pénalité pour des espaces (gap penalty) onday ebruary pénalité g est 8 om enaerts, onday ebruary 9 om enaerts, alignement global alignement global outes les méthodes précédentes utilisent une pénalité linéaire pour les espaces dans l alignement alignement semiglobal aintenant les pénalités pour les positions (i,) en (,j) sont. On enlève l obligation que les séquences doivent s aligner au début et fin de la matrice. pénalité g est -8 g(ngap) = -ngap linear gap penalty On pourrait aussi différencier entre la pénalité pour le début d un espace (gap open) et l augmentation d une espace (gap extend) g(ngap) = --(ngap) ffine gap penalty omment est-ce qu on doit adapter l algorithme? e retour arrière commence à la position dans la dernière ligne avec la plus haute valeur onday ebruary onday ebruary
om enaerts, om enaerts, alignement global st-ce qu on commence ou on étend l espace? (i,j) est le maximum de toutes ces possibilités alignement global 7 On peux adapter l algorithme précédente de sorte qu on obtiens un temps d exécution O(mn) (i,j) - (i,j) =max{(i,j)- (i,j) - (i,j) =max{(i,j) - (i,j)+t(i,j) (i,j) =max{ (i,j) (i,j) On enregistre trois éléments par position de la matrice :, et { (i,j)+t(i,j) (i,j) =max [(i-ngap,j)+g(ngap)]"ngap"i [(i,j -ngap)+g(ngap)]"ngap"j e temps d'exécution est O(mn ) onday ebruary onday ebruary om enaerts, om enaerts, alignement local alignement local arfois on veut seulement trouver des parties qui sont similaires entre des séquences mith et aterman ont proposé une méthode qui ressemble fortement aux méthodes précédentes a relation de récurrence de mith et aterman adaptée au pénalité affine (i,j)+t(i,j) (i,j) =max [(i-ngap,j)+g(ngap)]"ngap"i [(i,j -ngap)+g(ngap)]"ngap"j { uand un alignement des caractères donne un score négative, il est remplacé par et les valeurs de (i,) et (,j) sont aussi comme dans l alignement semiglobal mith and aterman (98) dentification of common molecular subsequences J ol Biol 7:997 e retour arrière commence à la position avec la plus haute valeur dans la matrice onday ebruary onday ebruary
om enaerts, om enaerts, alignement local pénalité linéaire avec g = -8 alignement local es alignements sous-optimales donnent de l information sur des autres répétions dans les deux séquences (par exemple des protéines avec plusieurs domaines) BOU est utilisé pour la fonction t(i,j) près la séquence avec le plus haut score ait été trouvée, on met toutes les valeurs qui appartiennent à ce chemin à zéro On recalcule les éléments de la matrice dans le voisinage du chemin optimal pénalité linéaire avec = eulement les éléments en dessous sont affectés par cette modification On ne recalcule plus pour les éléments qui ne changent plus pénalité linéaire avec g = onday ebruary onday ebruary 7 om enaerts, alignement local xemple fait par omparison of: ()./wwwtmp/.9..seq B bp (B)./wwwtmp/.9..seq B 7 bp using matrix file: /usr/molbio/share/fasta/blosum.mat (/), gap-open/ext: / (limit)..% identity in aa overlap (7:9); score: (): B B B B B B 7 8 9.: ::: :..:. ::..:. :.::....:.:....:..:.:::... : ---- 7 8 - :. :. : ::.::.. :.::.:::::.::. :.:.... : :.... :: : - 7 8 9 9.::.: :::.:... es protéines alignent sur la combinaison de - et aussi entre le de B et le deuxième de B!.7% identity in aa overlap (:); score: 87 (): B B 7 8 9..:. ::.::. :. :...:...:. :..:... : : ::.:::: - 7 8 9 onday ebruary 8