UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA Corso di BIOINFORMATICA: TECNICHE DI BASE Prof. Giancarlo Mauri Lezione 11 Distanza genomica Introduzione Brassica Oleracea (cavolo) e Brassica Campestris (rapa): geni mitocondriali per il 99% identici, ma in ordine molto diverso Nel cromosoma X dei mammiferi sono molto conservati i geni, ma non il loro ordine Il confronto tra grandi porzioni di genomi può dare indicazioni sull’evoluzione Si cercano quali operazioni possono trasformare un genoma in un altro, spostando parti di genoma 2 Riarrangiamento genomico Il riarrangiamento genomico è quel fenomeno per cui alcune parti del genoma vengono duplicate e collocate in posizioni lontane dalla loro origine Operazioni possibili: su un solo cromosoma su due cromosomi 3 Riarrangiamento genomico Operazioni su un solo cromosoma Cancellazione Inserimento abcdefgh abfedcgh Trasposizione abc abbc, abcd abcbd, abcd acbcd Inversione ac abc Duplicazione (tandem o no) abc ac abcd acbd Transversione 4 Riarrangiamento genomico Operazioni su due cromosomi Traslocazione scambio di “code”. Possibile solo se non si perde il centromero Fusione due cromosomi si fondono Fissione un cromosoma si divide in due 5 Riarrangiamento genomico con inversioni Il problema studiato considera una sola tra le possibili operazioni: l’inversione Dati due genomi si etichettano i geni che compongono il primo con numeri crescenti da 1 a n. Il secondo genoma sarà etichettato da una permutazione di {1,2,…,n} Un’inversione equivale al rovesciamento di una sequenza di numeri 6 Riarrangiamento genomico con inversioni Esempio Genoma1: 1 2 3 4 5 6 Genoma2: 4 3 2 1 5 6 Genoma2 è stato ottenuto da Genoma1 tramite l’inversione del segmento 1 2 3 4 7 Dal cavolo alla rapa 1 -5 4 -3 2 1 -5 4 -3 -2 1 -5 -4 -3 -2 1 2 3 4 5 8 Dal verme all’uomo 12 31 34 28 26 17 29 4 9 36 18 35 19 1 16 14 32 33 22 15 11 27 5 20 13 30 23 10 6 3 24 21 8 25 2 7 20 5 27 11 15 22 33 32 14 16 1 19 35 18 36 9 4 29 17 26 28 34 31 12 13 30 23 10 6 3 24 21 8 25 2 7 1 16 14 32 33 22 15 11 27 5 20 19 35 18 36 9 4 29 17 26 28 34 31 12 13 30 23 10 6 3 24 21 8 25 2 7 1 16 15 22 33 32 14 11 27 5 20 19 35 18 36 9 4 29 17 26 28 34 31 12 13 30 23 10 6 3 24 21 8 25 2 7 1 16 15 36 18 35 19 20 5 27 11 14 32 33 22 9 4 29 17 26 28 34 31 12 13 30 23 10 6 3 24 21 8 25 2 7 1 16 15 14 11 27 5 20 19 35 18 36 32 33 22 9 4 29 17 26 28 34 31 12 13 30 23 10 6 3 24 21 8 25 2 7 1 16 15 14 31 34 28 26 17 29 4 9 22 33 32 36 18 35 19 20 5 27 11 12 13 30 23 10 6 3 24 21 8 25 2 7 1 26 28 34 31 14 15 16 17 29 4 9 22 33 32 36 18 35 19 20 5 27 11 12 13 30 23 10 6 3 24 21 8 25 2 7 1 26 28 18 36 32 33 22 9 4 29 17 16 15 14 31 34 35 19 20 5 27 11 12 13 30 23 10 6 3 24 21 8 25 2 7 1 26 28 29 4 9 22 33 32 36 18 17 16 15 14 31 34 35 19 20 5 27 11 12 13 30 23 10 6 3 24 21 8 25 2 7 1 26 28 29 30 13 12 11 27 5 20 19 35 34 31 14 15 16 17 18 36 32 33 22 9 4 23 10 6 3 24 21 8 25 2 7 1 26 11 12 13 30 29 28 27 5 20 19 35 34 31 14 15 16 17 18 36 32 33 22 9 4 23 10 6 3 24 21 8 25 2 7 1 26 27 28 29 30 13 12 11 5 20 19 35 34 31 14 15 16 17 18 36 32 33 22 9 4 23 10 6 3 24 21 8 25 2 7 1 26 27 28 29 30 31 34 35 19 20 5 11 12 13 14 15 16 17 18 36 32 33 22 9 4 23 10 6 3 24 21 8 25 2 7 1 26 27 28 29 30 31 34 35 19 20 9 22 33 32 36 18 17 16 15 14 13 12 11 5 4 23 10 6 3 24 21 8 25 29 Distanza di inversione Distanza di inversione tra le sequenze S1 e S2: numero minimo di operazioni di inversione necessarie per trasformare S1 in S2 Esempio: S1 S2 1 2 3 4 5 6 1 2 3 4 5 1 4 3 2 5 6 1 4 3 2 5 1 4 6 5 2 3 1 4 6 5 2 6 4 1 5 2 3 6 6 d(S1,S2 ) = 3 3 10 Riarrangiamento genomico con inversioni INPUT: una permutazione p dell’insieme {1,2,…,n} OUTPUT: la permutazione identica è distanza tra p e la permutazioneNB: identica I I=1,2,…,n Il problema è NP-hard Esiste però la possibilità di approssimarlo 11 Riarrangiamento genomico con inversioni Si definisca un breakpoint tra le posizioni i e i+1 di p se e solo se |p(i) - p(i+1)| ≠ 1 dove p(i) e p(i+1) sono gli elementi di p alle posizioni i e i+1 La permutazione identica I non ha breakpoints, quindi il riarrangiamento secondo I corrisponde all’eliminazione dei breakpoints da p In generale ogni inversione toglie al più due breakpoint Ne segue che d(p)≥b(p)/2, dove d(p) è la distanza di p da I e b(p) è il numero di breakpoints in p 12 L’euristica Definizione: una striscia in p è un sottointervallo massimale di p senza breakpoints decrescente se formata da numeri in ordine decrescente Es: 7 9 6 5 4 3 8 1 2 crescente se formata da numeri in ordine crescente Es: striscia 7 9 6 di5 lunghezza 4 3 8 1 12è considerata decrescente NB: una 13 L’euristica while ci sono breakpoints in p do begin if c’è una striscia decrescente then trovane una che riduca il numero di bp e invertila (Lemma 1) else1trova inverti una Lemma - Se pe contiene unastriscia striscia crescente decrescente, allora esiste una inversione che riduce il numero di bp di almeno uno (diventa decrescente; non aumenta i bp: Lemma 2) Lemma 2 - ... 14 L’algoritmo Trovo la striscia decrescente con estremo più piccolo, K Trovo K-1 Inverto tutta la sequenza tra K e K-1 ...... 7654........23.....--> ...... 765432..… ........23........... 7654..... --> ........234567........ 15 Esempio 45321987 123549867 123459867 123459876 123456789 16 Riarrangiamento con permutazioni con segno In questa versione del problema ogni numero è dotato di segno (+ oppure -) Il segno cambia ogni volta che il numero è contenuto in un intervallo di inversione 17 Riarrangiamento con permutazioni con segno Il problema a differenza della versione priva di segno non è NP-hard Esistono algoritmi risolutivi esatti in tempo quadratico 18