IFT3295 - Démo 1 16 septembre 2016 Alignement de séquence Score d’un alignement : pénalité de gaps La pondération des gaps influence grandement l’alignement entre deux séquences. Certaines pondérations ont parfois plus de sens biologique que d’autres. Soit l’alignement A suivant : S: ACGTTTACG-TAC--T T: A-G---ACGCTACCGT En considérant les scores suivants : — "match" : +1 — "mismatch" : -1 — "gap" : -1 Donnez les scores de l’alignement A pour chacune des pondérations de gaps suivantes : 1. pondération constante 2. pondération linéaire 3. pondération affine (utiliser extension de gap δ = −0.5) 4. pondération convexe 1 Questions Générales 1. Quelle est la différence entre un alignement local et un alignement global ? 2. Dans le cas d’un alignement local, la distance d’édition est-elle utile ? Justifiez 3. Si on désire utiliser un score de similarité, quelle précaution doit-on prendre pour s’assurer qu’on considère les substitutions ? Alignement avec pondération affine (distance d’édition) 1. Combien de matrices faut-il remplir ? Justifiez votre réponse ! 2. Quelles sont les équations de récurrence pour un tel alignement ? 3. Remplir la table V de programmation dynamique pour l’alignement entre les deux séquences suivantes : AAT et ACACT . Utilisez les scores suivants : match = +1, mismatch = -1, gap(k) = a + k × b avec a = -3 et b = -1. 4. Quelle est la complexité (temps et espace) d’un tel algorithme ? Alignement global, local et prefix-suffix Soit les deux séquences nucléotidiques : S1 = CAT GG et la matrice M de similarité suivantes : A T G C ACT GAT et S2 = A T G C 2 -2 -1 -2 -2 2 -2 -1 -1 -2 2 -2 -2 -1 -2 2 En supposant que le score d’un indel est de -2, 1. Que remarquez vous à propos de cette matrice de similarité ? 2. Proposez un alignement global des deux séquences S1 et S2 qui maximise leur score de similarité. 3. Proposez un alignement local des deux séquences S1 et S2 qui maximise leur score de similarité. 2 4. On désire trouver le meilleur alignement entre un suffix de S1 et un prefix de S2 . Expliquez comment obtenir d’un tel alignement (initialisation, équation de récurrence, backtrack). Comparez la complexité de votre algorithme à l’algo naif qui procèderait comme suit : pour chaque préfixe X de S1 , et pour chaque suffixe Y de S2 , aligner X et Y et conserver la paire préfixe/suffixe donnant le meilleur score d’alignement. Optimisation des algorithmes d’alignement par programmation dynamique Énumérez les différentes améliorations possibles de l’algorithme d’alignement de séquences (programmation dynamique). Pour chaque amélioration donnez, tout en justifiant : — le principe permettant l’amélioration — la complexité en temps et en espace Faites un exemple pour l’algorithme de Hirschberg en particulier. 3