Assegnamento di Geni Ortologhi attraverso il Riarrangiamento Genomico Bioinformatica A.A. 2008-2009 Selene Centi Carlo Alberto Fabbretti.

Slides:



Advertisements
Presentazioni simili
Algoritmi e Strutture dati Mod B
Advertisements

Automi finiti deterministici (DFA) (1)
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA
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.
Introduzione ai grafi Grafo diretto e non diretto
Sistemi di Classificazione usando NCD
Introduzione Cosa sono le reti di Petri?
RICERCA DI SIMILARITA’ IN BANCHE DATI
Allineamento di sequenze
Generazione di Piani attraverso Grafi di Pianificazione
Cammini minimi con una sorgente
Breath-first search Visita in ampiezza di un grafo Algoritmo Esempio
Breath-first search Visita in ampiezza di un grafo Algoritmo Esempio
Algoritmi e Strutture Dati
Macchine non completamente specificate
Esercizi su alberi binari
U V U V (a) |cfc|=2 prima e dopo (b) |cfc|=2 prima e |cfc|=1 dopo
Il problema del cammino minimo tra 2 nodi in un grafo con archi privati.
Algoritmi e Strutture Dati (Mod. B)
Algoritmi e Strutture Dati (Mod. A)
Trovare il percorso minimo da b ad ogni altro vertice
Algoritmi e Strutture Dati
Allineamento Metodo bioinformatico che date due o più sequenze ne mette in evidenza similarità/diversità, supponendo che le sequenze analizzate abbiano.
Elementi di Informatica di base
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Passo 3: calcolo del costo minimo
Prof. Cerulli – Dott.ssa Gentili
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
2. Grafi.
Web Communities and their identificaton
Grafi Rappresentazione mediante liste di adiacenza:
Cammini minimi da un sorgente
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.
Dip. Scienze Biomolecolari e Biotecnologie
Master Bioinformatica 2002: Grafi
Multichromosomal genome median and halving problems E. Tannier C. Zheng D. Sankoff Daniele Bevilacqua Linda Orrù.
GLI ALGORITMI VISIBILE SUL BLOG INFORMATICA ANNO SCOLASTICO 2013 / 2014 GABRIELE SCARICA 2°T.
Capitolo 13 Cammini minimi: Ordinamento topologico Algoritmi e Strutture Dati.
Purtroppo non esiste un modo univoco per indicare un gene
Olimpiadi di Informatica 2010 Giornate preparatorie
Redisposizione Genomica Gotzone Ortega Bioinformatica 2008/2009.
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
NP completezza. Problemi decisionali I problemi decisionali sono una classe di problemi dove per ogni possibile ingresso un algoritmo deve scegliere una.
Algoritmi elementari su grafi
1/20 NP completezza. 2/20 Problemi astratti Un problema è un’entità astratta (es. il TSP). Una istanza del problema è un suo caso particolare in cui vengono.
UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA Corso di BIOINFORMATICA: TECNICHE DI BASE Prof. Giancarlo Mauri Lezione 3 Mappe genetiche.
Capitolo 13 Cammini minimi Algoritmi e Strutture Dati.
UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA Corso di BIOINFORMATICA: TECNICHE DI BASE Prof. Giancarlo Mauri Lezione 11 Distanza genomica.
Allineamento di sequenze
Capitolo 13 Cammini minimi: Bellman e Ford Algoritmi e Strutture Dati.
Automi temporizzati.
Master Bioinformatica 2002: Visite di Grafi Algoritmi di visita Scopo: visitare tutti i vertici di un grafo per scoprirne proprietà di vario tipo. Alcune.
Problemi risolvibili con la programmazione dinamica Abbiamo usato la programmazione dinamica per risolvere due problemi. Cerchiamo ora di capire quali.
Grafi: rappresentazione e visita
Algoritmi e Strutture Dati
Cammini minimi fra tutte le coppie:
Cammini minimi in grafi:
Capitolo 12 Minimo albero ricoprente: Algoritmo di Kruskal Algoritmi e Strutture Dati.
Una volta stabilito che un insieme di proteine sono tra di loro omologhe posso procedere ad un allineamento multiplo. Il programma più usato a questo scopo.
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Algoritmi Avanzati a.a.2013/2014 Prof.ssa Rossella Petreschi Albero ricoprente di costo minimo Lezione n°12.
Algoritmi Avanzati a.a.2014/2015 Prof.ssa Rossella Petreschi Lezione n°10.
Algoritmi Avanzati a.a. 2011/12 Lezione del 02/05/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Algoritmi Avanzati a.a.2014/2015 Prof.ssa Rossella Petreschi Lezione n°9.
Algoritmi Avanzati a.a.2012/2013 Prof.ssa Rossella Petreschi Albero Ricoprente Lezione n°9.
Transcript della presentazione:

Assegnamento di Geni Ortologhi attraverso il Riarrangiamento Genomico Bioinformatica A.A Selene Centi Carlo Alberto Fabbretti

Introduzione  Ortologhi, paraloghi, speciazione, omologia  Mutazioni locali, riarrangiamenti globali Costruzione famiglie di geni omologhi (BLAST) Problematiche nel calcolo della distanza Un algoritmo euristico per SRDD Risultati sperimentali

ORTOLOGHI geni, in diverse specie, che si sono evoluti dallo stesso gene nell’ultimo antenato comune (evoluzione) PARALOGHI geni duplicati da un singolo gene sullo stesso genoma(inparalog, outparalog) Introduzione

SPECIAZIONE processo evolutivo grazie al quale si formano nuove specie da quelle preesistenti (antenato comune) OMOLOGHI geni che hanno un’origine evolutiva comune (es. ala uccello e pinna anteriore foca)

Introduzione

L’evoluzione molecolare procede in due differenti modi: Mutazioni locali Inserzione Delezione Riarrangiamento globale Inversione Trasposizione Traslocazione

Introduzione Scopo: cercare geni ortologhi Lavori precedenti -> mutazioni locali. Misurate da assegnamento omology-based Articolo -> mutazioni locali (geni) + riarrangiamento globale (genomi)(inversione) misurate con il minimo numero di eventi

Sistema SOAR: Costruisce famiglie di geni da un genoma annotato usando la ricerca basata sull’omologia (BLASTp) Assegna ortologia usando un algoritmo euristico per SRDD riarrangiando un genoma in un altro con il più piccolo numero di eventi di riarrangiamento(MCP,MCD) Due genomi con geni annotati Lista di coppie di geni ortologhi Costruisce famiglie di geni omologhi: 1- comparazione tutti-verso-tutti con BLASTp 2- chaining HSPs Assegna ortologia con l’algoritmo SRDD: 1- applicando tre regole (sub)ottimali 2- applicando il minimum common partition 3- maximum cycle decomposition SOAR

BLASTp Programma euristico per cercare omologia Input-> sequenza, valore T (11-15) Output -> sequenze simili alla sequenza in input SOAR: Costruire famiglie di geni omologhi

BLASTp, funzionamento: 1.Dalla sequenza presa in input si estraggono parole di w lettere 2.Per ogni parola viene creata una lista di parole di w lettere (il cui punteggio di similarità,calcolato usando matrici, deve essere almeno pari a T) 3.Nel DB cerca corrispondenze esatte con almeno una parola creata al passo 2 4.Si prendono in considerazione i caratteri adiacenti alla parola (sia a dx che a sx). Per ogni carattere aggiunto si ricalcola il punteggio con la sequenza del DB e fino a che questo aumenta si aggiungono caratteri alla parola SOAR: Costruire famiglie di geni omologhi

BLASTp, esempio: SOAR: Costruire famiglie di geni omologhi

BLASTp, funzionamento: 5. Gli HSP accettati sono quelli che sono compatibili con il 50% della stringa in input 6. Non tutti gli allineamenti prodotti hanno rilevanza biologica. BLAST aggiunge all’autput un E-Value che indica quanto è probabile che ci sia correlazione biologica fra due sequenze. 1є – 20 <E-value< 2 SOAR: Costruire famiglie di geni omologhi

Risultati: Ogni insieme di geni omologhi dello stesso genoma costituiscono una famiglia di geni I geni senza controparte omologa nell’altro genoma saranno rimossi dalla lista dei geni I geni rimanenti sono riordinati sul genoma in accordo alle loro vecchie locazioni Genomi di uguale contenuto e tutti i geni derivano dai geni del comune genoma ancestrale SOAR: Costruire famiglie di geni omologhi

Esempio inversione G = +c-b+a+b H = +a-b-b-c Riarrangiamento globale: inversione

Perché sono importanti gli eventi di riarrangiamento? In G la prima copia del gene b Potrebbe corrispondere alla seconda copia del gene b in H PROBLEMA: come ordinare una sequenza di geni (con duplicati) in un’altra con il minimo numero di inversioni? Riarrangiamento globale: inversione

A alfabeto finito di simboli +,- rappresentano l’orientamento di ogni simbolo Un simbolo dell’alfabeto rappresenta un gene Un genoma è una sequenza di simboli segnati Singleton è un gene che è l’unico membro della sua famiglia Duplicated è un gene che non è l’unico membro della sua famiglia I genomi G e H sono related se hanno lo stesso contenuto genomico (ugual numero di famiglie della stessa dimensione) Terminologia

Operazione di inversione ρ (i,j) G = (g 1 …g i-1 g i g i+1 …g j-1 g j g j+1 …g n ) G ∙ ρ (i,j) = (g 1 …g i-1 -g j -g j-1 …-g i+1 -g i g j+1 …g n ) Terminologia

Dati due genomi G e H Reversal distance problem trovare il numero minimo di inversioni ρ 1,ρ 2,…ρ t tali che G ∙ (ρ 1, ρ 2,… ρ t ) = H Reversal distance d(G,H) = t Reversal distance

Se i geni di G e H sono duplicated - M insieme di tutti i possili assegnamenti ortologhi -m є M -genoma G Lemma Dati i genomi G e H, d(G,H) = min mєM d(G m,H m ) SRDD è NP-Arduo!!!! [3] G m dopo l’assegnamento dell’ortologia m Reversal distance

I primi e gli ultimi geni di due genomi related sono identici e singleton positivi I geni con segno vengono rappresentati: G = (g 1 g 2 …g n ) g i h g i t se g i positivo g i t g i h se g i negativo Una prima approssimazione

Partial graph G(V,E) V = { g i s | 1≤ i ≤n, sЄ {h,t } } E = link che collegano due nodi in V che corrispondono a simboli adiacenti in G eccetto g i h e g i t V= insieme di simboli distinti in V dove g i h = g j h se g i e g j appartengono alla stessa famiglia f G (v 1,v 2 ) = numero di collegamenti in E che collegano due nodi distinti in G(V,E) ~ ~ ~

Esempio: G = +c-a-b+a+d H = +c+a+b+a+d G = (g1g2…gn) Grafo parziale c h c t a t a h b t b h a h a t d h d t c h c t a h a t b h b t a h a t d h d t g i h g i t se g i positivo g i t g i h se g i negativo Una prima approssimazione

{v 1,v 2 }є V ~ ~ ~ ~ ~~~ δ (x) = x se x>0 0 altrimenti b r (G,H) = 2 d(G,H) =1 Una prima approssimazione

Algoritmo Heur-SRDD(G, H) 1.Applica le tre regole (sub)ottimali i.Lemma 1 ii.Lemma 2 iii.Lemma 3 2.Esegui MCP 3.Esegui MCD 4.Ordina G in H

Lemma 1 G g i-1 gigi g i+1... gkgk H h j-1 hjhj h j+1... hlhl h j+1 hjhj h j-1 G' gigi g i+1 g i-1... gkgk H'... hlhl h j+1 hjhj h j-1 d (G, H) ≤ d (G', H') ≤ d (G, H)+1

Algoritmo Heur-SRDD(G, H) 1.Applica le tre regole (sub)ottimali i.Lemma 1 ii.Lemma 2 iii.Lemma 3 2.Esegui MCP 3.Esegui MCD 4.Ordina G in H

Lemma 2 G g i-1 gigi... gjgj H G' H' d (G, H) = d (G', H') h k-1 hkhk... h l-1 hlhl... h k-1 hkhk h l-1 hlhl singletonduplicati g j-1 g i-1 gigi... gjgj h k-1 hkhk hlhl h l-1 g j-1

Algoritmo Heur-SRDD(G, H) 1.Applica le tre regole (sub)ottimali i.Lemma 1 ii.Lemma 2 iii.Lemma 3 2.Esegui MCP 3.Esegui MCD 4.Ordina G in H

Formula H-P: d(G,H) = + h(G,H) + f(G,H)b(G,H) – c(G,H) δ (G,H) =

Lemma 3 G g i-1 gigi... gkgk H h j-1 hjhj... hlhl h j+1 hjhj G' H' δ (G,H) = δ (G',H') g i-1 gigi... h j-1 hjhj... hlhl gkgk

Algoritmo Heur-SRDD(G, H) 1.Applica le tre regole (sub)ottimali i.Lemma 1 ii.Lemma 2 iii.Lemma 3 2.Esegui MCP 3.Esegui MCD 4.Ordina G in H

Minimum Common Partition (MCP) G segmento partizione H

Minimum Common Partition (MCP) G H Rappresentazione contratta Sia L(G,H) la cardinalità della MCP ( = 3 in questo caso ) ceiling( (L(G,H) -1))/2) ≤ d(G,H) ≤ L(G,H) - 1 MCP è NP-complesso !!! [1]

Approx-MCP G H Single matchPair match Non breakpoint Breakpoint Sia M una funzione che assegna geni di G a geni di H Sia b il numero di breakpoint in questo assegnamento L(G,H) = b

Approx-MCP G H Pair match graph P(V,E)

Approx-MCP Il problema di trovare l'insieme massimale di elementi indipendenti (IS) di P(V,E) è equivalente al MCP(G,H) Il problema della copertura di vertici (VC) di P(V,E) è il complemento di IS Si può calcolare MCP utilizzando un algoritmo approssimato e noto per il calcolo di VC l ≤ ( r-1 ) (|V| - n ) + r (L(G,H)) l: dimensione della common partition trovata da Approx- MCP |V|: numero di vertici del grafo P n: lunghezza genoma G r: rate approssimazione di VC

Approx-MCP (ricapitolando) /* prende in input due genomi G e H simili */ 1.Costruisce il grafo dei pair match P(V,E) per G e H 2.Trova una copertura di vertici C approssimata per P 3.Identifica i segmenti basandosi sui pair match di V – C 4.Restituisce tutti i segmenti come una common partition di G e H

Algoritmo Heur-SRDD(G, H) 1.Applica le tre regole (sub)ottimali i.Lemma 1 ii.Lemma 2 iii.Lemma 3 2.Esegui MCP 3.Esegui MCD 4.Ordina G in H

Maximum Cycle Decomposition G +c -a -b +a +d H +c +a +b +a +d Rappresentazione gene: +a → a h a t - a → a t a h c h c t a t a h b t b h a h a t d h d t c h c t a h a t b h b t a h a t d h d t Grafo completo G(V, E) MCD: 1.Ogni vertice appartiene esattamente a un ciclo 2.I due vertici che rappresentano testa e coda di un gene devono essere collegati ai rispettivi vertici di un qualche gene nell'altro genoma 3.Gli archi si alternano tra vertici dello stesso genoma e non

Maximum Cycle Decomposition Dati due genomi parenti G e H si ha che: n C ≤ d(G, H) ≤ n – 1 – C 4 n: lunghezza di G C: numero di cicli nella MCD C 4 : numero di cicli di dimensione 4 della decomposizione che ne presenta di più MCD è NP-complesso !!! [2]

Greedy-MCD /* prende in input due genomi G e H simili */ 1.Costruisce il grafo completo G(V,E) per G e H 2.while V is not empty do a. Seleziona un vertice da V b.Trova il ciclo più breve che passa per questo vertice e che non violi i vincoli c.Rimuovi i vertici del ciclo 3.Restituisci i cicli trovati come cicle decomposition

Algoritmo Heur-SRDD(G, H) 1.Applica le tre regole (sub)ottimali i.Lemma 1 ii.Lemma 2 iii.Lemma 3 2.Esegui MCP 3.Esegui MCD 4.Ordina G in H

Risultati sperimentali

Riferimenti [1]A. Goldstein, P. Kolman, and J. Zheng, “Minimum Common String Partition Problem: Hardness and Approximations,” Proc. 15th Int’l Symp. Algorithms and Computation (ISAAC), pp ,2004. [2]Z. Fu, “Assignment of Orthologous Genes for Multichromosomal Genomes Using Genome Rearrangement” UCR CS technicalreport, [3]X Chen J Zheng, Z Fu, P Nan, Y Zhong, S Lonardi, T Jiang, “Assignment of orthologous genes via genome rearrangement”