B 2

publicité
Problème de double
digestion
(Double Digest Problem)
Problématique


Séquencer les positions des sites de
clivage de deux enzymes de restriction
dans une séquence d'ADN (restriction
mapping)
Mesurer la longueur des fragments
résultants d'une digestion complète de
l'ADN par chacun des deux enzymes
séparément, puis par les deux
enzymes conjointement.
Procédé

L'expérimentation nous fourniera, par
électrophorèse, la longueur de tous les
fragments résultants de la digestion de
l'ADN par l'enzyme A, par l'enzyme B
et de la digestion conjointe par les
deux enzymes A et B.
Formalisation


Notons A et B les ensembles
représentant les (positions des) sites
de clivage des enzymes A et B dans la
séquence d'ADN.
Notons δA et δB les ensembles
représentant les longueurs des
fragments obtenus expérimentalement
par la digestion de l'ADN par les
enzymes A et B respectivement.
Formalisation (suite)


Notons δX l'ensemble des longueurs
des fragments obtenus par la digestion
conjointe de l'ADN par les enzymes A
et B.
Résoudre le PDD revient à retrouver A
et B à partir de δA, δB et δX.
Difficultés


Le nombre de cartographies
(mapping) potentielles et la complexité
du calcul pour la résolution du PDD
augmentent rapidement avec le
nombre de sites de clivage des
enzymes.
Problème NP-complet; croissance
exponentielle des possibilités.
Difficultés ... espoir!


Il existe plusieurs classe d'équivalence
regrouppant les différentes cartographies
Toutes les solutions d'une même classe
peuvent être obtenues à partir d'une
solution de base de cette même classe,
par l'application de transformations
d'équivalence basées sur la théorie des
cycles Eulériens alternants dans des
graphes colorés.
Exemple...
Enzyme A
1
2
3
3
4
4
5
5
|ADN| = 27
Enzyme B
A+B
1
2
3
3
3
7
8
1
1
1
1
1
1
2
2
2
2
2
3
4
4
Exemple... (suite)
A
C=A + B
1
C=A + B
B
3
5
1 2 1 1 2 1 1
B
A
4
3
1
1
3
4
4
2
2 1
3
3
2
4
2
5
2 1
8
5
1 2
2
2
4
2
8
4
3
4
3
3
3
7
5
2 1 1 2 1 1
1
3
2
3
4
3
7
Boîtes: définition


Pour un intervalle I=[i,j], définissons
IC = {Ck : i  k  j }
Une boîte sera définie par IC comme
étant une paire (IA, IB) avec
IA = {Ai :  k t.q. Ck  Ai }
IB = {Bj :  k t.q. Ck  Bj }
Exemple...
A
1
4
3
5
2
4
5
3
A+B
B
A
3
1
1
3
4
2
8
5
2
3
4
3
7
5
3
A+B
B
3
3
8
1
3
2
7
Boîtes ... (suite)




Soit mA et mB les positions de début du
fragment le plus à gauche de IA et de IB.
On appelle "chevauchement gauche" de
(IA, IB) la distance mA - mB.
Soit nA et nB les positions de fin du
fragment le plus à droite de IA et de IB.
On appelle "chevauchement droit" de
(IA, IB) la distance nA - nB.
Opérations sur les boîtes:
1- échange

Soient deux boîtes
BT1 = (IA1,IB1) et BT2 = (IA2,IB2)
Si mA1 - mB1 = mA2 - mB2
nA1 - nB1 = nA2 - nB2
BT1  BT2 = 
Alors BT1 et BT2 peuvent s'échanger
Exemple... (encore)
A
1
4
3
5
2
4
5
3
A+B
B
A
3
1
1
3
4
2
8
5
2
3
4
3
7
5
3
A+B
B
3
3
8
1
3
2
7
Exemple... (encore)
A
1
4
3
5
2
4
5
3
A+B
B
A
3
1
1
3
4
2
8
5
2
3
4
3
7
5
3
A+B
B
3
3
8
1
3
2
7
Opérations sur les boîtes:
2- réflexion

Soit une boîte BT = (IA,IB)
Si mA - mB = - (nA - nB)
Alors BT peut être réfléchie
Exemple... (fin)
A
1
4
3
5
2
4
5
3
A+B
B
A
3
1
1
3
4
2
3
8
5
3
2
4
7
5
3
A+B
B
3
1 2
3
8
3
7
Cycle alternants dans les
graphes colorés

L'algorithme qui trouve toutes les
transformations possibles, i.e. les
échanges et les réflexions de boîtes, à
partir d'une solution du PDD est basé
sur la théorie des cycles alternants
dans les graphes colorés.
Graphes


Soit un graphe G(V,E) avec un
ensemble d'arêtes E colorées en l
couleurs.
Une séquence d'arêtes P=x1x2...xm est
appellé un chemin dans G si
(xi,xi+1)  E  1  i  m-1
P est appellé un cycle si x1 = xm
Alternance dans un graphe


Un chemin dans G est alternant si la
couleur de toutes les paires d'arêtes
consécutives (xi, xi+1) et (xi+1, xi+2)
sont distinctes.
Un chemin est qualifié d'Eulérien si
chaque e  E est traversée
exactement une fois.
Noeud/graphe balancé


Soit dc(v) le nombre d'arête de couleur c
incidentes à v
Définissons le degré d(v) d'un noeud v
de la manière suivante:
d(v) = ∑ dc(v)
Un noeud v est dit balancé si
maxc dc(v)  d(v)/2
Un graphe est dit balancé si tous ses
noeuds sont balancés
l
c =1


Théorème de Kotzig (1)

Soit G un graphe coloré avec degré
pair pour tous ses noeuds. Alors ...
 un cycle Eulérien alternant dans G
SSI
G est balancé
Idée de la preuve 1





Diviser les d(v) arêtes incidentes au noeud
v en d(v)/2 paires, chacune composée
d'arêtes de couleurs distinctes
Former un cycle alternant à partir de v
Trouver un noeud dont les arêtes ne sont
pas toutes traversée
Y former un nouveau cycle, et le combiner
au précédent.
Répéter le processus jusqu'à avoir relié
tous les noeuds.
Lemme1

Soit G un graphe bicoloré. Alors, par
le théorème 1, on tire:
 cycle Eulérien dans G
SSI
d1(v) = d2(v)
vV

Dorénavant, nous utiliserons un graphe bicoloré.
Transformations sur les
cycles eulériens alternants

Soit F = ... x ... y ... x ... y ... un chemin
alternant dans un graphe G bicoloré.
On peut partitionner F autour des
sommets x et y en cinq sous-chemins:
F = F1F2F3F4F5
- Échange d'ordre:
F = F1F2F3F4F5  F*= F1F4F3F2F5
Transformations sur les
cycles eulériens alternants

Soit F = ... x ... x ... un chemin alternant
dans un graphe G bicoloré.
On peut partitionner F autour du
sommet x en trois sous-chemins:
F = F1F2F3
- Réflexion de l'ordre:
F = F1F2F3  F*= F1F2- F3
Théorème 2

Tous les cycles Eulériens alternants
dans un graphe G peuvent être
transformés entre eux par une séries
de transformations d'ordre (échanges
et réflexions)
Preuve 2



Soient X et Y deux cycles Eulériens
alternants dans G.
Soit C l'ensemble des cycles Eulériens
alternants obtenus par toutes les
transformations possibles à partir de X.
Soit X*=x1...xm un cycle dans C ayant le
plus long préfixe commun avec Y=y1...ym
i.e. x1...xl = y1...yl l  m
Preuve 2 (suite)


Soit v = xl = yl
donc e1=(v,xl+1) et
e2=(v,yl+1) sont les premières arêtes
différentes entre X* et Y.
Alors:
– e1 et e2 ont la même couleur (alternant)
– X* contient e2 (Eulérien)
– e2 succède à e1 dans X*

Deux cas surviennent:
(2.9)
Preuve 2: premier cas

e2 = (yl+1,v) est dirigée vers v
– Partitionnons X* autour de v
– Alors, puisque c(e1) = c(e2), on peut
appliquer la réflexion d'ordre
X* = F1F2F3  F1F2-F3 = X**
Ainsi X**  C et au moins (l+1) arêtes
coïncident entre X** et Y, ce qui contredit
le choix de X*.
(2.10)
Preuve 2: second cas

e2 = (v, yl+1) , dans X*, sort de v
– Alors, on peut partitionner X*=X1X2X3
autour de v
– Notons que X2 et X3 auront assurément un
sommet xj = xk en commun (Eulérien)
– Repartitionnons autour de ce sommet:
X*=F1F2F3F4F5
Deux cas surviennent à nouveau:
(2.11)
Preuve 2: second cas

Si c[ (xk, xk+1) ] != c[ (xj-1,xj) ]
Alors on peut appliquer l'échange
d'ordre suivant:
X*  F1F4F3F2F5 = X**
Ainsi, on obtient X** à partir de X*, et
X** et Y possèdent au moins (l+1)
arêtes communes, ce qui contredit le
choix initial de X*
Preuve 2: second cas

Si c[ (xk, xk+1) ] = c[ (xj-1,xj) ]
Alors on peut appliquer la réflexion:
F1F2F3F4F5  F1F2(F3F4)-F5 = F1F2F4-F3-F5
suivie d'une seconde réflexion:
F1(F2F4-)-F3-F5 = F1F4F2-F3-F5 = X**
Ainsi, on obtient X** à partir de X*, et X** et Y
possèdent au moins (l+1) arêtes communes, ce
qui contredit le choix initial de X*
CQFD
Cartographies des sites de clivage
et cycles Eulériens alternants


Soit une cartographie formée de
fragment digérés par les enzymes A, B
et C= A + B conjointement.
Nous définissons une fourchette F
F(Ai) = { Cj: Cj  Ai }
ex. F(A3) = { C5, C6 }
Une fourchette contenant 2+ fragments
s'appelle une multi-fourchette
Exemple...
A1
A2
3
2 1
B1
B2
A3
3
4
B3
A4
1 2
B4
A5
3
4
B5
Cartographies des sites de clivage
et cycles Eulériens alternants


On appelle des fragments frontaliers
les deux fragments aux extrémités
d'une multi-fourchette.
Lemme 3
Chaque fragment frontalier (mis-à-part
C1 et Cl) appartient à exactement 2
multifourchettes F(Ai) et F(Bj)
Cartographies des sites de clivage
et cycles Eulériens alternants

Le lemme précédent fournit la
motivation pour la construction d'un
graphe de fourchettes avec des
noeuds correspondants à la longueur
des fragments frontaliers, où chaque
arête correspond à une fourchette. Ce
graphe sera coloré (chaque enzyme de
restriction est associé à une couleur).
Résolution


Chaque cartographie des sites de
clivage est définie par un chemin
Eulérien dans son graphe de
fourchettes.
Les transformations entre chacun de
ces chemins alternants représentent
ainsi les transformations équivalentes
des boîtes de la cartographie.
Exemple...
A1
A2
3
2 1
B1
B2
A3
3
4
B3
A4
1 2
B4
A5
3
4
B5
Exemple...
A1
A2
3
2 1
B1
B2
A3
3
4
B3
A4
1 2
B4
A5
3
4
B5
- Chaque transformation des boîtes des
cartographies correspond à une transformation
d'ordre dans le graphe des fourchettes.
- Ainsi chaque chemin Eulérien alternant dans le
graphe correspond à une transformation de boîte
Exemple...
A1
A2
3
2 1
B1
B2
-A2
A3
3
4
B3
-A1
3
1 2
B1
-B2
A4
1 2
4
B3
3
B4
A3
3
A5
4
B5
A4
1 2
B4
A5
3
4
B5
Téléchargement