Biologia_computazion.. - Università degli Studi di Milano
by user
Comments
Transcript
Biologia_computazion.. - Università degli Studi di Milano
UNIVERSITÀ Docente: Giorgio Valentini Istruttore: Matteo Re C.d.l. DEGLI STUDI DI MILANO Biotecnologie Industriali e Ambientali Biologia computazionale A.A. 2010-2011 semestre II 6 Evoluzione e filogenesi - 3 Bio Metodi per costruire alberi filogenetici Metodi basati su: • Distanza • Massima parsimonia • Massima verosimiglianza Questi li abbiamo visti… Oggi discutiamo questa classe di metodi … Bio Massima verosimiglianza Verosimiglianza (likelihood) : • Probabilità delle osservazioni dato un modello • Quindi è una probailità … perché usare un nome diverso? • Per porre l’accento sul fatto che non vogliamo valutare quanto siamo confidenti nell’occorrenza di un determinato evento ma piuttosto valutare quanto i dati sono compatibili con un modello evolutivo che abbiamo scelto. Bio Massima verosimiglianza ESEMPIO : lanciamo una moneta ed otteniamo croce (questo è il dato). Se dovessi chiedervi qual’è la probabilità dell’evento “osservo croce” probabilmente mi rispondereste ½ . Questo implica che avete ipotizzato un modello di “moneta onesta” in cui le probabilità di testa e croce sono entrambe uguali a ½ . Bio Massima verosimiglianza ESEMPIO : lanciamo una moneta ed otteniamo croce (questo è il dato). Supponiamo di definire un modello di moneta con queste caratteristiche: P(testa=1), P(croce=0) … ossia una moneta truccata. I parametri (tutti) del modello li indichiamo complessivamente come Θ La likelihod dell’osservazione “croce” dato il modello è zero (il che dovrebbe farci venire il dubbio che il modello non è adatto a descrivere i dati osservati) Se utilizzassimo un modello di moneta truccata (due croci) … la likelihod dell’osservazione sarebbe uno Bio Massima verosimiglianza Quindi la likelihood è la verosimiglianza di un insieme di osservazioni rispetto ad un modello che dovrebbe descrivere il processo da cui i dati sono stati generati. Quindi per valutare la verosimiglianza di filogenetico mediante la tecnica della verosimiglianza (maximum likelihood) bisogno innanzitutto di un modello adatto alle sequenze biologiche. un albero massima abbiamo evolutivo Ma come possiamo costruire un tale modello? Bio Massima verosimiglianza Nel caso dell’evoluzione molecolare i dati sono rappresentati da un allineamento di sequenze ed il modello, in senso molto ampio, è l’albero filogenetico che: • correla tra di loro le sequenze • descrive il meccanismo di sequenza all’altra evoluzione da una Bio Massima verosimiglianza L’albero filogenetico ed il modello che descrive il meccanismo attraverso il quale si verificano gli eventi evolutivi, insieme, costituiscono la nostra “ipotesi” rispetto al modo in cui l’evoluzione ha generato le sequenze che stiamo osservando. Consideriamo le due parti separate : ci riferiamo alle relazioni tra le sequenze (i dati) con il termine “albero filogenetico” mentre ci riferiamo alla parte che descrive il meccanismo evolutivo come “modello”. Bio Massima verosimiglianza L’obiettivo del modello è quello di descrivere il meccanismo attraverso cui le sequenze cambiano nel tempo. Per semplificare i calcoli ci occuperemo di modelli di sequenze di DNA. Immaginiamo inoltre il modello come diviso in due parti principali: 1) Composizione 2) Processo descrive le frequenze con cui le parti della sequenza (nt) cambiano nel tempo Bio Massima verosimiglianza COMPOSIZIONE: π • Possiamo immaginare un modello in cui ogni nucleotide è presente nelle stesse proporzioni. • Oppure se vogliamo modellare sequenze che provengono da una isola CpG possiamo immaginare un modello in cui C e G hanno frequenza doppia rispetto ad A e T. • In alternativa possiamo lasciare che i dati scelgano per noi (nel senso che utilizzeremo delle frequenze nucleotidiche ottenute dai dati che stiamo esaminando). Bio PROCESSO: Massima verosimiglianza P • Questa parte del modello descrive le frequenze con cui un nucleotide muta in un altro … quindi è una matrice n x n (n = numero possibili nucleotidi). ad esempio: Bio PROCESSO: Massima verosimiglianza P • NB: per convenzione sia le righe che le colonne della matrice corrispondono ai nucleotidi in ordine alfabetico (quindi: a,c,g,t) * P ac Righe sommano a1 * Alla mutazione a c è quindi assegnata una probabilità pari a 0.01 Bio Massima verosimiglianza ESEMPIO 1 : likelihood di una sequenza di 1 nt • Esempio semplice: 1 sola sequenza, 1 solo nt, nessun albero. La sequenza è: a Osservazioni: Non c’è cambiamento (abbiamo solo una sequenza, quindi non abbiamo bisogno della parte PROCESSO del modello). Ci serve solo la parte COMPOSIZIONE. Bio Massima verosimiglianza ESEMPIO 1 : likelihood di una sequenza di 1 nt • Esempio semplice: 1 sola sequenza, 1 solo nt, nessun albero. La sequenza è: a Se come composizione utilizziamo le seguenti frequenze π = [1, 0 , 0 , 0 ] allora la likelihood della sequenza “a” è 1. Anche nel caso del vettore delle frequenze l’ordine delle frequenze è, per convenzione, quello dei nucleotidi in ordine alfabetico. La somma dei valori deve essere 1. Bio Massima verosimiglianza ESEMPIO 2 : likelihood di una sequenza di 2 nt • Esempio semplice: 1 sola sequenza, albero. La sequenza è: ac 2 nt, nessun Se come composizione utilizziamo le frequenze nucleotidiche del modello di Jukes-Cantor ( π = [¼ , ¼ , ¼ , ¼ ] ) allora la likelihood della sequenza “ac” è: πa x πc = ¼ x ¼ = 1/16 Bio Massima verosimiglianza ESEMPIO 2 : likelihood di una sequenza di 2 nt • Esempio semplice: 1 sola sequenza, albero. La sequenza è: ac 2 nt, nessun Se come composizione utilizziamo le seguenti frequenze nucleotidiche, π = [0.4, 0.1 , 0.2 , 0.3 ] allora la likelihood della sequenza “ac” è: πa x πc = 0.4 x 0.1 = 0.04 Se calcoliamo la likelihood di tutti i possibili dinucleotidi la somma deve essere uguale a 1. Indipendentemente dal contenuto di π Bio Massima verosimiglianza ESEMPIO 2 : likelihood di una sequenza di 2 nt • Esempio semplice: 1 sola sequenza, albero. La sequenza è: ac 2 nt, nessun Se come composizione utilizziamo le seguenti frequenze nucleotidiche, π = [0.4, 0.1 , 0.2 , 0.3 ] allora la likelihood della sequenza “ac” è: πa x πc = 0.4 x 0.1 = 0.04 Se calcoliamo la likelihood di tutti i possibili dinucleotidi la somma deve essere uguale a 1. Indipendentemente dal contenuto di π Bio Massima verosimiglianza ESEMPIO 3: likelihood di un albero con un solo ramo Vogliamo calcolare la likelihood di un albero formato da 1 solo ramo. Questo implica che abbiamo 2 sequenze: ccat ccgt Per calcolare likelihood ci servono tutte le parti del modello … sia π che P (P serve quando abbiamo più di una sequenza) Bio Massima verosimiglianza ESEMPIO 3: likelihood di un albero con un solo ramo π = [0.1, 0.4 , 0.2 , 0.3] ccat ccgt likelihood Bio Massima verosimiglianza ESEMPIO 3: Osservazioni • Le probabilità associate alle colonne (composizione * processo) vengono moltiplicate … assunzione di indipendenza. • In questo esempio non teniamo conto delle diverse lunghezze dei rami (se avessimo più rami il modello non sarebbe in grado di gestirli separatamente) likelihood Bio Massima verosimiglianza ESEMPIO 3: Osservazioni • Come è possibile modificare il modello in modo da ammettere l’esistenza di rami di lunghezza diversa? • Quale parte del modello descrive i rami? • In cosa differiscono i rami di lunghezze diverse? likelihood Bio Massima verosimiglianza Lunghezza dei rami: • Dipende dalla parte del modello che descrive il processo. Questa matrice descrive un ramo con una “certa distanza evolutiva” … che non conosciamo. Immaginiamo che corrisponda ad una distanza pari a 1 cde. Bio Massima verosimiglianza Lunghezza dei rami: • Un ramo di lunghezza 1 cde sembra essere un ramo abbastanza corto. Valori fuori dalla diagonale bassi: Poco probabile che un nt muti in un altro … Valori sulla diagonale alti: Molto probabile che un nt non cambi Bio Massima verosimiglianza Lunghezza dei rami: • Un ramo di lunghezza 1 cde sembra essere un ramo abbastanza corto. NB: man mano che la lunghezza del ramo cresce i valori nella matrice P diminuiscono lungo la diagonale ed aumentano al di fuori di essa. Bio Massima verosimiglianza Lunghezza dei rami: • La likelihood calcolata in esempio 3 era per un ramo avente lunghezza pari a 1 unità cde … e se volessimo calcolare la likelihood per un ramo di 2 cde? MOLTIPLICHIAMO LA MATRICE PER SE’ STESSA ! Bio Massima verosimiglianza Lunghezza dei rami: Taxon A ccat ccgt A x ced B Taxon B • La likelihood calcolata per questo allineamento (branch length = 1 cde) era 0.0000300, per 2 cde sarebbe 0.0000559 (è aumentata), per 3 cde sarebbe 0.000782. La likelihood cresce indefinitamente? Bio Massima verosimiglianza NO ! Esiste un valore massimo: Likelihood raggiunge un valore massimo in un punto compreso tra 10 e 20 cde (ced in EN) Bio Massima verosimiglianza Relazione tra π e P: Se eleviamo la matrice P ad un esponente molto alto, otteniamo delle probabilità tendenti alle frequenze contenute in π ! Quindi π è già “codificato” nella matrice P che descrive il processo (evolutivo) . E’ come se le frequenze di sostituzione codificate in P, dopo un tempo evolutivo infinito, debbano convergere a π . Bio Massima verosimiglianza Matrici di velocità: Se vogliamo calcolare il valore di 54 possiamo calcolarlo come e4*log(5). Possiamo operare nello stesso modo sulla matrice che rappresenta la parte del modello dedicata al processo: P4 = e( 4 * log(P) ) Vantaggi: - Possiamo usare esponenti non interi. - Possiamo separare completamente le parti del modello dedicate alla composizione ed al processo. - Possiamo esprimere lunghezza rami in sost. per sito Inoltre possiamo usare come lunghezza dei rami qualsiasi numero da 0 a infinito Bio Massima verosimiglianza Matrici di velocità: Il logaritmo della matrice P dei nostri esempi è: Le righe sommano a 0, la velocità corrisponde ad 1 cde ed e log P restituisce, di nuovo, la matrice P. Bio Massima verosimiglianza Matrici di velocità: Questa matrice di velocità esprime una velocità di 1 cde … è già un passo avanti ma vorremmo una matrice M il cui esponenziale eM restituisce una matrice corrispondente ad 1 sostituzione per sito. Bio Massima verosimiglianza Matrici di velocità : scalare la matrice che descrive il processo ad una velocità di 1 sost. per sito Possiamo ottenere questo risultato scalando log P in modo tale che, se moltiplichiamo le sue righe per πrow la SOMMA dei valori al di fuori della diagonale sia 1. In questo modo otteniamo la matrice il cui esponenziale corrisponde a rami da 1 sostituzione per sito. In generale eQ(v) = P(v) per un ramo di lunghezza v sost. per sito. Bio Massima verosimiglianza Matrici di velocità : Se scaliamo la matrice log P per un valore v=50 ( 50 sost. sito) otteniamo Se moltiplichiamo Q per πdiag (matrice avente i valori di π sulla diagonale) otteniamo Una matrice in cui i valori fuori diagonale sommano a 1 (e quelli sulla diagonale a -1) Bio Massima verosimiglianza Matrici di velocità : Se moltiplichiamo Q per πdiag (matrice avente i valori di π sulla diagonale, a volte indicata con Π ) otteniamo Una matrice in cui i valori fuori diagonale sommano a 1 L’esponenziale di questa matrice genera una matrice P utilizzabile per produrre un albero i cui rami hanno lunghezza espressa in sostituzioni per sito. Bio Massima verosimiglianza Separazione completa della composizione dalle velocità: Se dividiamo le colonne di Q per πcol otteniamo la matrice delle velocità R , e separiamo la composizione dalle velocità. L’effetto è che possiamo utilizzare la stessa matrice R per diversi vettori di composizione. La matrice R per gli esempi visti finora è: Bio Massima verosimiglianza Separazione completa della composizione dalle velocità: Rispetto alla matrice R (matrice velocità): 1. Gli elementi sulla diagonale non contano (trattasi do velocità di sost. e gli elementi sulla diagonale esprimono delle “non sostituzioni”). 2. Lo scaling di Q non ha effetto 3. Se vogliamo un modello reversibile la matrice R dovrebbe essere simmetrica. Bio Massima verosimiglianza Interconversione tra P, Q ed R: NB: i programmi per analisi filogenetiche basati su maximum likelihood rendono le conversioni tra queste matrici completamente automatiche. Bio Massima verosimiglianza Massima verosimiglianza, lunghezze dei rami in sostituzioni per sito: La verosimiglianza dell’allineamento di ccat e ccgt a diverse distanze è Il valore massimo può essere trovato numericamente mediante approssimazioni successive. Si trova ad una lunghezza del ramo pari a 0.330614 (valore likelihood: 0.0001777). Data una topologia è possibile trovare le lunghezze dei rami massimizzando la likelihood Bio Massima verosimiglianza Massima verosimiglianza: albero con 2 rami Per la matrice Q delle slide precedenti le matrici P corrispondenti a 0.1, 0.2 e 0.3 sostituzioni per sito sono: 0.1 A origine O 0.2 B Bio Massima verosimiglianza Massima verosimiglianza: albero con 2 rami Ci sono 3 modi di calcolare la likelihood di quest’albero … 0.1 A origine O 0.2 B Bio Massima verosimiglianza Massima verosimiglianza: albero con 2 rami Modo 1: in un unico passo A origine O 0.3 likelihood B Bio Massima verosimiglianza Massima verosimiglianza: albero con 2 rami Modo 2: in 2 passi … da A a O e poi da O a B Usiamo π perché partiamo da A ! π = [0.1, 0.4 , 0.2 , 0.3] 0.1 A PROBLEMA: non conosciamo la sequenza di O ! ccat ???? origine O 0.2 B CONSIDERIAMO 1 SOLO SITO: Le possibilità sono ca cc SOMMIAMO TUTTE LE cg PROBABILITA’ ct Bio Massima verosimiglianza Massima verosimiglianza: albero con 2 rami Modo 2: in 2 passi … da A a O e poi da O a B PROBLEMA: non conosciamo la sequenza di O ! 0.1 A origine O 0.2 ccat ???? likelihood B Bio Massima verosimiglianza Massima verosimiglianza: albero con 2 rami Modo 2: in 2 passi … da A a O e poi da O a B Quando aggiungiamo nel calcolo il secondo ramo (da O a B) NON serve includere π … ma solo le probabilità di arrivo a C partendo da qualsiasi nt. 0.1 A origine O 0.2 B likelihood ccat ???? ccgt Likelihood per 1 sito … se moltiplico likelihood dei 4 siti ottengo: 0.000177 (come prima) Bio Massima verosimiglianza Massima verosimiglianza: albero con 2 rami Modo 3: in 2 passi … da O a A + da O a B PROBLEMA: non conosciamo la sequenza di O ! 0.1 A origine O 0.2 B ccat ???? ccgt likelihood Likelihood tot. allineamento: 0.000177 Bio Massima verosimiglianza Massima verosimiglianza: albero con 2 rami 3 Modi diversi: stesso valore di likelihood 0.1 A O 0.2 NB: Non importa dove mettiamo la radice … il valore della likelihood E’ LO STESSO !!!!! B Bio Massima verosimiglianza Massima verosimiglianza: albero con 3 rami Allineamento: A ccat B ccgt C gcat A 0.1 Albero: O B 0.3 C 0.2 Consideriamo come origine il nodo interno ed iniziamo da qui il calcolo della likelihood ( come in Modo 3 dell’esempio precedente) Bio Massima verosimiglianza Massima verosimiglianza: albero con 3 rami Allineamento: Albero: A 0.1 A ccat O 0.3 B ccgt 0.2 B C gcat likelihood (primo sito) C Bio Massima verosimiglianza Massima verosimiglianza: albero con 3 rami Allineamento: Albero: A 0.1 A ccat O 0.3 B ccgt 0.2 B C gcat C Dopo aver calcolato la likelihood per ognuno dei 4 siti, dato che consideriamo le colonne dell’allineamento indipendenti possiamo moltiplicare per ottenere la likelihood totale: 0.0204 * 0.245 * 0.00368 * 0.166 = 3.04 * 10-6 Bio Massima verosimiglianza Fattori che complicano il problema: 1. La selezione agisce su parti diverse delle sequenze (pressione selettiva condivisa da tutti i taxa potrebbe riguardare solo una parte molto ristretta dell’allineamento multiplo) 2. Alcuni siti evolvono velocemente 3. Alcuni siti evolvono molto lentamente (alcuni siti poi non variano del tutto. Questo dipende dalle distanze evolutive tra i taxa e dal gene scelto) Bio Massima verosimiglianza Strumenti free per analisi ML: PhyML 3.0 : http://www.atgc-montpellier.fr/phyml/binaries.php Possiamo interfacciarci a PhyML da R ! NB: per poter effettuare questo test dovete: 1) Scaricare PhyML 2) Posizionarvi nella directory contenente l’eseguibile di PhyML 3) Caricare le librerie R ape e seqinr 4) Utilizzare i comandi che troverete nelle prossime slides Bio Massima verosimiglianza WARNING! Questo non è codice PERL ma è codice R. > > > > > > library(ape);library(seqinr) accnr <- paste("AJ5345",26:35,sep="") seq <- read.GenBank(accnr) names(seq) <- attr(seq, "species") dist <- dist.dna(seq, model = "K80") plot(nj(dist)) Bio Massima verosimiglianza WARNING! Questo non è codice PERL ma è codice R. > setwd("/share/home/wim/bin") > write.dna(seq,"seq.txt", format ="interleaved") > out <-phymltest("seq.txt",format = "interleaved", execname ="phyml_linux") > print(out) Bio Massima verosimiglianza WARNING! Questo non è codice PERL ma è codice R. > setwd("/share/home/wim/bin") > write.dna(seq,"seq.txt", format ="interleaved") > out <-phymltest("seq.txt",format = "interleaved", execname ="phyml_linux") > print(out) Tra tutti i modelli testati il migliore è il 27° (GTR+G) Bio Massima verosimiglianza WARNING! Questo non è codice PERL ma è codice R. Per stampare l’albero ottenuto (dal 27° modello) > tr <- read.tree("seq.txt_phyml_tree.txt") > plot(tr[[27]]) > add.scale.bar(length=0.01) ATTENZIONE: Questo test è un po’ pesante … i risultati non arrivano in secondi. (Altri package dedicati in R : phangorn)