180 likes | 336 Views
Redisposizione Genomica. Gotzone Ortega Bioinformatica 2008/2009. INTRODUZIONE. Due genomi hanno gli stessi geni ma in diverso ordine Sono diversi A {x, y, z} B {x, z, y} Ordinare uno dei genomi Sono uguali A {x, y, z} B {x, y, z} Capire come i genomi hanno evoluto.
E N D
Redisposizione Genomica Gotzone Ortega Bioinformatica 2008/2009
INTRODUZIONE • Due genomi hanno gli stessi geni ma in diverso ordine Sono diversi • A {x, y, z} • B {x, z, y} • Ordinare uno dei genomi Sono uguali • A {x, y, z} • B {x, y, z} • Capire come i genomi hanno evoluto. • “We know, for example, that human and mouse have a common ancestor. If we can transform the genome of a mouse into the genome of a human, then somewhere in the process, we should form the genome of our common ancestor” Anne Bergeron.
GENI, CROMOSOME e GENOMI • Gene: Si rappresenta con 2 estremi • Coda = Tail = estremo 3' = at • Testa = Head = estremo 5' = ah • Estremi adiacenti = adiacenze {ah, bt}, {ah, bh}, {at, bt}, {at, bh} • Estremi no adiacenti = telomeri {ah}, {at} • Cromosoma: Si rappresentano le adiacenze e i telomeri come vertici e si uniscono. Un cromosoma è un componente del grafo • Genoma: Il grafo
GENI, CROMOSOME e GENOMI • Esempio: A={{at}, {ah, ct}, {ch, dh}, {dt}, {bh, et}, {eh, bt}, {ft}, {fh, gt}, {gh}} 7 geni = {a, b, c, d, e, f, g}
VERTICI • Grado 1 {p} = esterno • Grado 2 {p, q} = interno
COMPONENTI DEL GRAFO • Secondo il tipo di vertici • Circolare = Ciclo • Lineare = cammino • Secondo il numero di lati • Pari • Dispari
OPERAZIONE “DCJ” • DCJ = “Double Cut and Join” “Doppio taglio e Unione” • Sopra 2 vertici di grado 1 o 2 • 3 modi: • (a) u={p, q}, v={r, s} {p, r}, {s, q} | {p, s}, {q, r} • (b) u={p, q}, v={r} {p, r}, {q} | {q, r}, {p} • (c) u={q}, v={r} {q, r} *
OPERAZIONI • Vertici in diversi cammini • Traslocazione • Identità • Fusione • Fisione • Vertici nello stesso cammino • Inversione • Escisione • Integrazione • Circolarizzazione • Linearizzacione • Vertici in cicli • Inversione • Fusione • Fisione
VERTICI IN DIVERSI CAMMINI • Traslocazione • Identità • Fusione • Fisione
VERTICI NELLO STESSO CAMMINO • Investimento • Scissione • Integrazione • Circolarizzazione • Linearizzazione
VERTICI IN CICLI • Investimento • Fusione • Fisione
DISTANZA DCJ • dDCJ (A, B) = Distanza DCJ tra A e B. Sequenza più corta di operazioni DCJ per trasformare A in B. Esempio: A = {{at}, {ah, ct}, {ch, dh}, {dt}, {bh, et}, {eh, bt}, {ft}, {fh, gt}, {gh}} {{at}, {ah, bt}, {ch, dh}, {dt}, {bh, et}, {eh, ct}, {ft}, {fh, gt}, {gh}} {{et}, {ah, bt}, {ch, dh}, {dt}, {bh, at}, {eh, ct}, {ft}, {fh, gt}, {gh}} {{et}, {ah, bt}, {ch, dt}, {dh}, {bh, at}, {eh, ct}, {ft}, {fh, gt}, {gh}} {{et}, {ah, bt}, {ch, dt}, {dh}, {bh, at}, {eh}, {ct}, {ft}, {fh, gt}, {gh}} B = {{et}, {ah, bt}, {ch, dt}, {dh}, {bh, at}, {eh}, {ct}, {ft, gh}, {fh, gt}} -Distanza DCJ tra A e B è dDCJ(A,B) = 5
GRAFO DI ADIACENZA • A = B ? • Se A<>B, trasformare A in B.
GRAFO DI ADIACENZA • Esempio: A = {{at}, {ah, ct}, {ch, dh}, {dt}, {bh, et}, {eh, bt}, {ft}, {fh, gt}, {gh}} B = {{ah, bt}, {bh, at}, {ct}, {ch, dt}, {dh}, {et}, {eh}, {fh, gt} , {gh, ft}} Algoritmo 1 (Costruzione del grafo) 1: Creare un vertice por ogni adiacenza e ogni telomero in genomi A e B 2: for each adiacenzia {p, q} nel genoma Ado 3: creare un ramo collegando {p, q} con il vertice del genoma B in ciu si trova p 4: creare un ramo collegando {p, q} con il vertice del genoma B in cui si trova q 5: end for 6: for each telomero {p} del genoma Ado 7: creare un ramo collegando {p} con il vertice del genoma B in cui si trova p 8: end for
A = B ? • A e B due genomi con lo stesso insieme di N geni. • A = B N = C + I/2 (C = nº di cicli; I = nº di cammini dispari) C=1 I=2 7=1+2/2 C=5 I= 4 7=5+4/2
TRASFORMARE A IN B Algoritmo 2 (Redisposizione) 1: for each adiacenza {p, q} nel genoma B do 2: c’è u, un elemento del genoma A dove si trova p 3: c’è v, un elemento del genoma A dove si trova q 4: ifu <> vthen 5: sostituire u e v in A per {p, q} y (u \ {p}) U (v \ {q}) 6: end if 7: end for 8: for each telomero {p} nel genoma Bdo 9: c’è u, un elemento del genoma A dove si trova p 10: ifu è una adiacenza then 11: sostituire u in A por {p} y (u \ {p}) 12: end if 13: end for
TRASFORMARE A IN B • Esempio: Algoritmo 2 (Redisposizione) 1: for each adiacenza {p, q} nel genoma B do 2: c’è u, un elemento del genoma A dove si trova p 3: c’è v, un elemento del genoma A dove si trova q 4: ifu <> vthen 5: sostituire u e v in A per {p, q} y (u \ {p}) U (v \ {q}) 6: end if 7: end for 8: for each telomero {p} nel genoma Bdo 9: c’è u, un elemento del genoma A dove si trova p 10: ifu è una adiacenza then 11: sostituire u in A por {p} y (u \ {p}) 12: end if 13: end for
TRASFORMARE A IN B • Esempio: Algoritmo 2 (Redisposizione) 1: for each adiacenza {p, q} nel genoma B do 2: c’è u, un elemento del genoma A dove si trova p 3: c’è v, un elemento del genoma A dove si trova q 4: ifu <> vthen 5: sostituire u e v in A per {p, q} y (u \ {p}) U (v \ {q}) 6: end if 7: end for 8: for each telomero {p} nel genoma Bdo 9: c’è u, un elemento del genoma A dove si trova p 10: ifu è una adiacenza then 11: sostituire u in A por {p} y (u \ {p}) 12: end if 13: end for