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' = a t Testa = Head = estremo 5' = a h Estremi adiacenti = adiacenze {a h, b t }, {a h, b h }, {a t, b t }, {a t, b h } Estremi no adiacenti = telomeri {a h }, {a t } 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={{a t }, {a h, c t }, {c h, d h }, {d t }, {b h, e t }, {eh, b t }, {f t }, {f h, g t }, {g h }} 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 d DCJ (A, B) = Distanza DCJ tra A e B. Sequenza più corta di operazioni DCJ per trasformare A in B. Esempio: A = {{a t }, {a h, c t }, {c h, d h }, {d t }, {b h, e t }, {e h, b t }, {f t }, {f h, g t }, {g h }} {{a t }, {a h, b t }, {c h, d h }, {d t }, {b h, e t }, {e h, c t }, {f t }, {f h, g t }, {g h }} {{e t }, {a h, b t }, {c h, d h }, {d t }, {b h, a t }, {e h, c t }, {f t }, {f h, g t }, {g h }} {{e t }, {a h, b t }, {c h, d t }, {d h }, {b h, a t }, {e h, c t }, {f t }, {f h, g t }, {g h }} {{e t }, {a h, b t }, {c h, d t }, {d h }, {b h, a t }, {e h }, {c t }, {f t }, {f h, g t }, {g h }} B ={{e t }, {a h, b t }, {c h, d t }, {d h }, {b h, a t }, {e h }, {c t }, {f t, g h }, {f h, g t }} -Distanza DCJ tra A e B è d DCJ (A,B) = 5
GRAFO DI ADIACENZA A = B ? Se A<>B, trasformare A in B.
GRAFO DI ADIACENZA Esempio: A = {{a t }, {a h, c t }, {c h, d h }, {d t }, {b h, e t }, {e h, b t }, {f t }, {f h, g t }, {g h }} B = {{a h, b t }, {b h, a t }, {c t }, {c h, d t }, {d h }, {e t }, {e h }, {f h, g t }, {g h, f t }} 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 A do 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 A do 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:if u <> v then 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 B do 9:c’è u, un elemento del genoma A dove si trova p 10:if u è 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:if u <> v then 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 B do 9:c’è u, un elemento del genoma A dove si trova p 10:if u è 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:if u <> v then 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 B do 9:c’è u, un elemento del genoma A dove si trova p 10:if u è una adiacenza then 11:sostituire u in A por {p} y (u \ {p}) 12:end if 13: end for