450 likes | 592 Views
Assegnamento di Geni Ortologhi attraverso il Riarrangiamento Genomico. Bioinformatica A.A. 2008-2009 Selene Centi Carlo Alberto Fabbretti. Introduzione Ortologhi, paraloghi, speciazione, omologia Mutazioni locali, riarrangiamenti globali Costruzione famiglie di geni omologhi (BLAST)
E N D
Assegnamento di Geni Ortologhi attraverso il Riarrangiamento Genomico Bioinformatica A.A. 2008-2009 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
Introduzione • 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: Mutazionilocali Inserzione Delezione • Riarrangiamento globale • Inversione Trasposizione Traslocazione 5 3 2 4 1 5 3 2 4 6 1 1 2 3 4 5 6 7 8 9 1 2 3 -6 -5 -4 7 8 9 1 2 3 4 5 67 8 9 6 7 8 9 1 2 3 4 5 5 3 2 4 1 3 2 4 1 1 2 3 4 5 6 1 2 3 11 12 13 7 8 9 1011 12 13
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
SOAR • 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) Assegna ortologia con l’algoritmo SRDD: 1- applicando tre regole (sub)ottimali 2- applicando il minimum common partition 3- maximum cycle decomposition Costruisce famiglie di geni omologhi: 1- comparazione tutti-verso-tutti con BLASTp 2- chaining HSPs Lista di coppie di geni ortologhi Due genomi con geni annotati
SOAR:Costruire famiglie di geni omologhi 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: • Dalla sequenza presa in input si estraggono parole di w lettere • 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) • Nel DB cerca corrispondenze esatte con almeno una parola creata al passo 2 • 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
Riarrangiamento globale: inversione 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?
Terminologia • Aalfabeto 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 relatedse hanno lo stesso contenuto genomico (ugual numero di famiglie della stessa dimensione)
Terminologia Operazione di inversione ρ (i,j) G = (g1…gi-1gigi+1…gj-1gjgj+1…gn) G ∙ ρ (i,j) = (g1…gi-1-gj-gj-1…-gi+1-gigj+1…gn)
Reversal distance • 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) = minmєMd(Gm,Hm) SRDD è NP-Arduo!!!![3] Gm dopo l’assegnamento dell’ortologia m
Una prima approssimazione • I primi e gli ultimi geni di due genomi related sono identici e singleton positivi • I geni con segno vengono rappresentati: G = (g1g2…gn) gihgit se gi positivo gitgih se gi negativo
Una prima approssimazione Partial graph G(V,E) V = { gis| 1≤ i ≤n, sЄ {h,t }} E = link che collegano due nodi in V che corrispondono a simboli adiacenti in G eccetto gih e git V= insieme di simboli distinti in V dove gih = gjh se gi e gj appartengono alla stessa famiglia fG(v1,v2) = numero di collegamenti in E che collegano due nodi distinti in G(V,E) ~ ~ ~
Una prima approssimazione Esempio: G = +c-a-b+a+d H = +c+a+b+a+d G = (g1g2…gn) Grafo parziale ch ct at ah bt bh ah at dh dt ch ct ah at bh bt ah at dh dt gihgit se gi positivo gitgih se gi negativo
Una prima approssimazione ~ ~ ~ ~ ~ ~ ~ {v1,v2}є V x se x>0 δ (x) = 0 altrimenti br(G,H) = 2 d(G,H) =1
Algoritmo Heur-SRDD(G, H) • Applica le tre regole (sub)ottimali • Lemma 1 • Lemma 2 • Lemma 3 • Esegui MCP • Esegui MCD • Ordina G in H
... gi-1 ... hj+1 Lemma 1 G ... ... ... ... ... gi-1 gi gi+1 gk H ... ... ... ... ... hl hj-1 hj hj+1 hj-1 hj hj+1 G' ... ... gi gi+1 gk H' ... ... hl hj-1 hj d (G, H) ≤ d (G', H') ≤ d (G, H)+1
Algoritmo Heur-SRDD(G, H) • Applica le tre regole (sub)ottimali • Lemma 1 • Lemma 2 • Lemma 3 • Esegui MCP • Esegui MCD • Ordina G in H
hl-1 hl-1 hk hk-1 hk-1 hk hl hl singleton duplicati ... ... ... ... Lemma 2 G ... ... ... gj-1 gi-1 gi gj H ... ... ... G' ... gi-1 gi gj gj-1 d (G, H) = d (G', H') H' ... hl hk hk-1 hl-1
Algoritmo Heur-SRDD(G, H) • Applica le tre regole (sub)ottimali • Lemma 1 • Lemma 2 • Lemma 3 • Esegui MCP • Esegui MCD • Ordina G in H
Formula H-P: δ (G,H) = d(G,H) = b(G,H) – c(G,H) + h(G,H) + f(G,H)
... ... gk Lemma 3 G ... ... ... gi-1 gi gk H ... ... ... hl hj-1 hj hj+1 hj G' ... gi-1 gi δ (G,H) = δ (G',H') H' ... ... ... hl hj-1 hj
Algoritmo Heur-SRDD(G, H) • Applica le tre regole (sub)ottimali • Lemma 1 • Lemma 2 • Lemma 3 • Esegui MCP • Esegui MCD • Ordina G in H
Minimum Common Partition (MCP) G segmento partizione H
Minimum Common Partition (MCP) Rappresentazione contratta G H 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 match Pair 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: dimensione della common partition trovata da Approx-MCP |V|: numero di vertici del grafo P n: lunghezza genoma G r: rate approssimazione di VC l ≤ ( r-1 ) (|V| - n ) + r (L(G,H))
Approx-MCP (ricapitolando) /* prende in input due genomi G e H simili */ • Costruisce il grafo dei pair match P(V,E) per G e H • Trova una copertura di vertici C approssimata per P • Identifica i segmenti basandosi sui pair match di V – C • Restituisce tutti i segmenti come una common partition di G e H
Algoritmo Heur-SRDD(G, H) • Applica le tre regole (sub)ottimali • Lemma 1 • Lemma 2 • Lemma 3 • Esegui MCP • Esegui MCD • Ordina G in H
Maximum Cycle Decomposition Grafo completo G(V, E) Rappresentazione gene: +a → ah at - a → at ah ch ct at ah b t bh ah at dh dt G +c -a -b +a +d H +c +a +b +a +d ch ct ah at bh bt ah at dh dt MCD: Ogni vertice appartiene esattamente a un ciclo I due vertici che rappresentano testa e coda di un gene devono essere collegati ai rispettivi vertici di un qualche gene nell'altro genoma Gli archi si alternano tra vertici dello stesso genoma e non
Dati due genomi parenti G e H si ha che: n - 1 - C ≤ d(G, H) ≤ n – 1 – C4 n: lunghezza di G C: numero di cicli nella MCD C4: numero di cicli di dimensione 4 della decomposizione che ne presenta di più Maximum Cycle Decomposition MCD è NP-complesso !!![2]
/* prende in input due genomi G e H simili */ Costruisce il grafo completo G(V,E) per G e H while V is not empty do Seleziona un vertice da V Trova il ciclo più breve che passa per questo vertice e che non violi i vincoli Rimuovi i vertici del ciclo Restituisci i cicli trovati come cicle decomposition Greedy-MCD
Algoritmo Heur-SRDD(G, H) • Applica le tre regole (sub)ottimali • Lemma 1 • Lemma 2 • Lemma 3 • Esegui MCP • Esegui MCD • Ordina G in H
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. 473-484,2004. [2]Z. Fu, “Assignment of Orthologous Genes for Multichromosomal Genomes Using Genome Rearrangement” UCR CS technicalreport, 2004. [3]X Chen J Zheng, Z Fu, P Nan, Y Zhong, S Lonardi, T Jiang, “Assignment of orthologous genes via genome rearrangement”