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”