demo 1

publicité
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
Téléchargement