Redisposizione Genomica Gotzone Ortega Bioinformatica 2008/2009.

Slides:



Advertisements
Presentazioni simili
Automi finiti deterministici (DFA) (1)
Advertisements

Strutture dati per insiemi disgiunti
UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA
Applicazioni progettuali di grafica computerizzata a.a. 2008/2009
Master Bioinformatica 2002: Grafi Problema: cammini minimi da tutti i vertici a tutti i vertici Dato un grafo pesato G =(V,E,w), trovare un cammino minimo.
Programmazione dinamica: problema della sottosequenza più lunga
Introduzione ai grafi Grafo diretto e non diretto
PROGRAMMARE IN PASCAL (le basi)
CONOSCERE CONOSCERSI COMUNICARE
Cammini minimi con una sorgente
Breath-first search Visita in ampiezza di un grafo Algoritmo Esempio
Alberi binari di ricerca
Breath-first search Visita in ampiezza di un grafo Algoritmo Esempio
Cammini minimi con sorgente singola
Esercizi su alberi binari
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 05/05/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
U V U V (a) |cfc|=2 prima e dopo (b) |cfc|=2 prima e |cfc|=1 dopo
Algoritmo di Ford-Fulkerson
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 12 Minimo albero ricoprente: Algoritmi di Prim e di Borůvka Algoritmi.
Capitolo 11 Grafi e visite di grafi Algoritmi e Strutture Dati.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 12 Minimo albero ricoprente: Algoritmi di Prim e di Borůvka Algoritmi.
Algoritmi e Strutture Dati
Capitolo 11 Grafi e visite di grafi Algoritmi e Strutture Dati.
Capitolo 11 Grafi e visite di grafi Algoritmi e Strutture Dati.
Algoritmi e Strutture Dati (Mod. B)
APPUNTI SUL LINGUAGGIO C
Algoritmi e Strutture Dati
Queuing or Waiting Line Models
Algoritmo di Kruskal Parte con tutti i vertici e nessun lato (sottografo aciclico, o foresta, ricoprente) Ordina i lati per costo non decrescente.
Sottoinsiemi disgiunti
Algoritmo SelectSort Invariante di ciclo: ad ogni passo
Algoritmi greedy Gli algoritmi greedy in genere non sono esatti, cioè determinano soluzioni non necessariamente ottime Per il problema dell’albero ricoprente.
CAPITOLO 7.
Sequenze Ripetitive di Dna
Fibonacci Heaps e il loro utilizzo nell’algoritmo di Prim
Usi (meno scontati) della visita DFS
RFLP I primi marcatori molecolari ad essere studiati furono gli RFLP (Restriction Fragment Lenght Polymorphism):particolari tratti di DNA presenti nella.
Cap. 17 Regolazione dell’espressione genica negli Eucarioti. Pp
Frequency Domain Processing
Grafi Rappresentazione mediante liste di adiacenza:
Esercizi La distanza di hamming tra due interi x e y si definisce come il numero di posizioni nella rappresentazione binaria di x e y aventi bit differenti.
Cammini minimi da un sorgente
Ordinamento topologico Cammino minimo dalla sorgente
Usi (meno scontati) della visita DFS. Informazioni utili: tenere il tempo clock=1 pre(v)=clock clock=clock+1 post(v)=clock; clock=clock+1 pre(v): tempo.
Alberi di copertura minimi. Dato un grafo pesato G = (V,E), si richiede di trovare un albero T = (V,E’), E’  E, tale che la somma dei pesi associati.
Usi (meno scontati) della visita DFS lezione basata sul capito 3 del libro Algorithms, di Dasgupta, Papadimitriou, Vazirani, McGraw-Hill.
Master Bioinformatica 2002: Grafi
Multichromosomal genome median and halving problems E. Tannier C. Zheng D. Sankoff Daniele Bevilacqua Linda Orrù.
Lez. 9 (13/14)Elementi di Programmazione1 Lezione 9 Valutazione di espressioni File di testo sequenziali.
Olimpiadi di Informatica 2010 Giornate preparatorie
13 ottobre Decisioni F. Bombi 13 ottobre 2002.
Capitolo 12 Minimo albero ricoprente: Algoritmo di Kruskal Algoritmi e Strutture Dati.
Master Bioinformatica 2002: Visite di Grafi La struttura dati D è una PILA (STACK) Visita in profondità o Depth-First-Search (DFS)
UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA Corso di BIOINFORMATICA: TECNICHE DI BASE Prof. Giancarlo Mauri Lezione 11 Distanza genomica.
Laureando: Enrico Sperindio Relatore: Prof. GIORGIO ROMANIN JACUR
Master Bioinformatica 2002: Visite di Grafi Algoritmi di visita Scopo: visitare tutti i vertici di un grafo per scoprirne proprietà di vario tipo. Alcune.
Capitolo 11 Grafi e visite di grafi Algoritmi e Strutture Dati.
Grafi: rappresentazione e visita
Algoritmi e Strutture Dati
Cammini minimi in grafi:
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 12 Minimo albero ricoprente: Algoritmo di Prim Algoritmi e Strutture.
SUMMARY Different classes and distortions RIEPILOGO Le diverse classi e le distorsioni RIEPILOGO Le diverse classi e le distorsioni.
Capitolo 11 Grafi e visite di grafi Algoritmi e Strutture Dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano.
Algoritmo per il calcolo del maggiore tra tre numeri qualsiasi Francesco PUCILLO matr
Luca Chichisola1 Dal problema al programma LUCA CHICHISOLA.
Algoritmi Avanzati a.a.2014/2015 Prof.ssa Rossella Petreschi Lezione n°9.
Oggi è mercoledì l’undici dicembre 2013
Adolf Luther Born 1912 in Krefeld, Germany. Died 1990 Krefeld.
Schema generale, visita in ampiezza e profondità.
Oggi è lunedì il nove dicembre 2013
Transcript della presentazione:

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