Sistematica Biologica 5 Parsimonia Cladistica Caratteri Valutare un
Sistematica Biologica 5 Parsimonia Cladistica Caratteri Valutare un albero Contare i cambiamenti evolutivi Parsimonia numerica Quanti alberi esistono? Metodi esaustivi Metodi euristici
Parsimonia Ipotesi semplici sono da preferire rispetto a ipotesi più complesse. Ipotesi ad hoc devono essere evitate fin dove possibile, o comunque minimizzate. Semplicità = stati dei caratteri condivisi tra taxa, dovuti a eredità da un comune antenato. Conflitti nella distribuzione dei caratteri: ipotesi ad hoc = omoplasie.
Parsimonia Inferenze filogenetiche con metodi di Parsimonia (cladistica non-numerica vs. Parsimonia numerica) Selezione dell’albero (o degli alberi) che minimizzano la lunghezza totale dell’albero (o una quantità evolutiva significativa al riguardo) total tree length = numero di trasformazioni totali evolutionary steps Minimizzare gli step significa anche minimizzare gli extra-step (omoplasie) necessari per spiegare i dati.
Parsimonia Caratteri “Ordered vs. Unordered” 1 3 1 2 3 2 Polarizzati 1 2 primitivo >>> X O Y Z 3 derivato Y Z X O “Rooted vs. unrooted tree”
Valutare un albero Data una particolare topologia ed una distribuzione di stati dei caratteri nei taxa, è possibile valutare tale topologia. È possibile cioè calcolare quanti cambiamenti evolutivi sono necessari su tale topologia, per spiegare la distribuzione dei caratteri osservati. Distribuzione di stati dei caratteri nei taxa = dati sperimentali Topologia= ipotesi
Valutare un albero Dati sperimentali Alpha Delta Gamma Beta Epsilon Topologia (una delle 15 possibili)
Contare i cambiamenti evolutivi Alpha Delta Gamma Beta Epsilon 0>1 0 Alpha Delta Gamma Beta Epsilon 1>0 Totale cambiamenti evolutivi (Chr 1) = 1 1
Contare i cambiamenti evolutivi Alpha Delta. Gamma Beta Epsilon 0>1 0 Alpha Delta. Gamma Beta Epsilon 0>1 1>0 Steps (Chr 1) = 1 Alpha Delta. Gamma Beta Epsilon 0>1 Totale cambiamenti evolutivi (Chr 2) = 2 0 1
Contare i cambiamenti evolutivi Alpha Delta Gamma Beta Epsilon 0>1 0 Alpha Delta Gamma Beta Epsilon Steps (Chr 1) = 1 Steps (Chr 2) = 2 1>0 1 Totale cambiamenti evolutivi (Chr 3) = 1
Contare i cambiamenti evolutivi Alpha Delta Gamma Beta Epsilon 0>1 0 Alpha Delta Gamma Beta Epsilon 1>0 Steps (Chr 1) = 1 Steps (Chr 2) = 2 Steps (Chr 3) = 1 1>0 1 Totale cambiamenti evolutivi (Chr 4) = 2 Totale cambiamenti evolutivi (Chr 5) = 2
Contare i cambiamenti evolutivi Alpha Delta Gamma Beta Epsilon 1>0 0 Steps (Chr 1) = 1 Steps (Chr 2) = 2 Steps (Chr 3) = 1 Steps (Chr 4) = 2 Steps (Chr 5) = 2 Totale cambiamenti evolutivi (Chr 6) = 2
Contare i cambiamenti evolutivi Alpha Delta Gamma Beta Epsilon 6 5 4 4 5 2 3 1 Totale cambiamenti evolutivi (Chr 1 -6) = 8 Alpha Delta Gamma Beta Epsilon Steps (Chr 1) = 1 Steps (Chr 2) = 2 Steps (Chr 3) = 1 Steps (Chr 4) = 2 Steps (Chr 5) = 2 Steps (Chr 6) = 1 Totale cambiamenti evolutivi (Chr 1 -6) = 9 2 4 6 5 5 4 2 3 1
Valutare un albero All’aumentare dei caratteri, degli stati e dei taxa, aumenta il tempo necessario >> serve un algoritmo Non abbiamo definito con certezza gli stati dei nodi interni >> serve un algoritmo Statistica: serve un modo per definire quanto è ben “supportato” (sostenuto[? ]) il nostro albero “più parsimonioso”
Contare i cambiamenti evolutivi Algoritmo di Sankoff Tabella dei costi dei cambiamenti tra stati S = min S 0(i) i cij = costo del cambiamento da i a j l(j) Sa(i) = min [cij + Sl(j)] + min [cik + Sr(k)] j k r(k) a(i)
Algoritmo di Sankoff {C} 0 {A} 0 S = min S 0(i) i ai nodi terminali = 0 se lo stato è i = per gli altri stati agli altri nodi (cij = costo del cambiamento da i a j) il costo S è dato dall’equazione: Sa(i) = min [cij + Sl(j)] + min [cik + Sr(k)] j k {C} 0 {A} 0 {G} 0
Algoritmo di Sankoff Sa(i) = min [cij + Sl(j)] + min [cik + Sr(k)] j k {C} 0 0 {C} {A} 0 0 {A} 2. 5+0 0+0 {A}{C}{G}{T} 2. 5+0 + 0+0 = 2. 5 {C} 0 {A} 0 {G} 0
Algoritmo di Sankoff {C} 0 0 {C} {A} 0 0 {A} 0+0 2. 5+0 {A} {C}{G}{T} 0+0 + 2. 5+0 = 2. 5 {C} 0 {A} 0 {G} 0
Algoritmo di Sankoff {C} 0 0 {C} {A} 0 0 {A} 2. 5+0 {A} {C}{G}{T} 2. 5+0 + 1+0 = 3. 5 2. 5 3. 5 1+0 {C} 0 {A} 0 {G} 0
Algoritmo di Sankoff {C} 0 0 {A} 0 0 {C} {A} 1+0 2. 5+0 {A} {C}{G}{T} 1+0 + 2. 5+0 = 3. 5 2. 5 3. 5 {C} 0 {A} 0 {G} 0
Algoritmo di Sankoff {C} 0 0 {A} 2. 5 3. 5 {C} 0 {A} 0 {G} 0
Algoritmo di Sankoff {C} 0 {A} 0 2. 5 3. 5 {A} 0+0 0 0 {G} 1+0 {A} {C}{G}{T} 0+0 + 1+0 = 1 1 {C} 0 {A} 0 {G} 0
Algoritmo di Sankoff {C} 0 {A} 0 2. 5 3. 5 0 0 {G} {A} 2. 5+0 {A} {C}{G}{T} 2. 5+0 + 2. 5+0 = 5 1 5 {C} 0 {A} 0 {G} 0
Algoritmo di Sankoff {C} 0 {A} 0 2. 5 3. 5 0 0 {G} {A} 1+0 0+0 {A} {C}{G}{T} 1+0 + 0+0 = 1 1 5 1 {C} 0 {A} 0 {G} 0
Algoritmo di Sankoff {C} 0 {A} 0 2. 5 3. 5 0 0 {G} {A} 2. 5+0 {A} {C}{G}{T} 2. 5+0 + 2. 5+0 = 5 1 5 {C} 0 {A} 0 {G} 0
Algoritmo di Sankoff {C} 0 0 {A} 2. 5 3. 5 {C} 0 {A} {G} 0 0 1 5
Algoritmo di Sankoff {C} 0 {A} 0 2. 5 3. 5 0 {C} 0 0 {G} {A} 1 5 0+1 1+1 {A} {C}{G}{T} 2. 5+0 + 0+1 = 3. 5 {A} {G} 0 0 1 {A} {C}{G}{T} 2. 5+0 {C} 0 5 1 5
Algoritmo di Sankoff {C} 0 {A} 0 2. 5 3. 5 0 {C} 0 0 {G} {A} 0+0 5 1 5 2. 5+1 {A} {C}{G}{T} 0+0 + 2. 5+1 = 3. 5 {A} {G} 0 0 1 {A} {C}{G}{T} 1 {C} 0 5 1 5
Algoritmo di Sankoff {C} 0 {A} 0 2. 5 3. 5 0 {C} 0 0 {G} {A} 2. 5+0 5 1+1 0+1 {A} {C}{G}{T} 2. 5+0 + 0+1 = 3. 5 {A} {G} 0 0 1 {A} {C}{G}{T} 1 {C} 0 5 1 5
Algoritmo di Sankoff {C} 0 {A} 0 2. 5 3. 5 0 {C} 0 0 {G} {A} 1+0 5 1 5 2. 5+1 {A} {C}{G}{T} 1+0 + 2. 5+1 = 4. 5 3. 5 4. 5 {A} {G} 0 0 1 {A} {C}{G}{T} 1 {C} 0 5 1 5
Algoritmo di Sankoff {C} 0 0 {A} 2. 5 3. 5 {C} 0 {A} {G} 0 0 1 5 2. 5+(0+1) 3. 5 4. 5 Sa(i) = min [cij + Sl(j)] + min [cik + Sr(k)] j k Il costo minimo - dato un nodo “a” nello stato “i” - è uguale al costo cij (passaggio dallo stato “i” allo stato “j”) nella linea a sinistra più i costi in alto nel sottoalbero (dato lo stato “j” nel nodo), addizionati degli analoghi costi nella linea a destra. Gli stati “j” e “k” a sn e dx, sono quelli che minimizzano il costo. 1 5
Algoritmo di Sankoff {C} 0 0 {A} {C} 0 2. 5 3. 5 {A} {G} 0 0 1 5 0+(2. 5+1) 3. 5 4. 5 Sa(i) = min [cij + Sl(j)] + min [cik + Sr(k)] j k Il costo minimo - dato un nodo “a” nello stato “i” - è uguale al costo cij (passaggio dallo stato “i” allo stato “j”) nella linea a sinistra più i costi in alto nel sottoalbero (dato lo stato “j” nel nodo), addizionati degli analoghi costi nella linea a destra. Gli stati “j” e “k” a sn e dx, sono quelli che minimizzano il costo. 1 5
Algoritmo di Sankoff {C} 0 0 {A} {C} 0 2. 5 3. 5 {A} {G} 0 0 1 5 1+(2. 5+1) 3. 5 4. 5 Sa(i) = min [cij + Sl(j)] + min [cik + Sr(k)] j k Il costo minimo - dato un nodo “a” nello stato “i” - è uguale al costo cij (passaggio dallo stato “i” allo stato “j”) nella linea a sinistra più i costi in alto nel sottoalbero (dato lo stato “j” nel nodo), addizionati degli analoghi costi nella linea a destra. Gli stati “j” e “k” a sn e dx, sono quelli che minimizzano il costo. 1 5
Algoritmo di Sankoff {C} 0 0 {A} 2. 5 3. 5 {C} 0 {A} {G} 0 0 1 5 3. 5 4. 5 1 5
Algoritmo di Sankoff {C} 0 0 {A} 2. 5 3. 5 {C} 0 {A} {G} 0 0 1 5 3. 5 4. 5 Sa(i) = min [cij + Sl(j)] + min [cik + Sr(k)] j k Il costo minimo - dato un nodo “a” nello stato “i” - è uguale al costo cij (passaggio dallo stato “i” allo stato “j”) nella linea a sinistra più i costi in alto nel sottoalbero (dato lo stato “j” nel nodo), addizionati degli analoghi costi nella linea a destra. Gli stati “j” e “k” a sn e dx, sono quelli che minimizzano il costo. 1 5
Algoritmo di Sankoff {C} 0 0 {A} {C} 0 {A} 2. 5 3. 5 4. 5 min [ cij + Sl(j) ] = c. AA + 2. 5 = 0 + 2. 5 = 2. 5 {A} {C}{G}{T} Sa(i) = min [cij + Sl(j)] + min [cik + Sr(k)] j k 0 1 Dato lo stato “A” nel nodo basale, questo è lo stato che richiede il costo minimo “ min [ cij + Sl(j) ] ” in questo nodo {G} 0 1 5
Algoritmo di Sankoff {C} 0 0 {A} {C} 0 {A} 2. 5 3. 5 {G} 0 0 1 5 stato che richiede il costo minimo “ min [ cij + Sr(j) ] ” in questo nodo 3. 5 4. 5 min [ cij + Sl(j) ] = c. AA + 2. 5 = 0 + 2. 5 = 2. 5 S(A) = 2. 5 + 3. 5 = 6 6 {A} {C}{G}{T} Sa(i) = min [cij + Sl(j)] + min [cik + Sr(k)] j k 1 5 min [ cij + Sr(j) ] = c. AA + 3. 5 = 0 + 3. 5 = 3. 5
Algoritmo di Sankoff {C} 0 0 {A} {C} 0 0 2. 5 3. 5 1 min 1 5 1+(2. 5+(1+0))=4. 5 2. 5+(0+2. 5)=5 0+(2. 5+0)=2. 5 {A} 6 5 3. 5 4. 5 1+(2. 5+1)=4. 5 2. 5+3. 5=6 {G} 0 0+(2. 5+(0+1))=3. 5 2. 5+(1+2. 5)=6 min {A}
Algoritmo di Sankoff {C} 0 0 {A} {C} 0 {A} 2. 5 3. 5 0 1 {A} {C}{G}{T} {G} 0 5 5 {A}{C}{G}{T} 3. 5 4. 5 {A} {C}{G}{T} S(A) = 2. 5 + 3. 5 = 6 S(C) = 2. 5 + 3. 5 = 6 S(G) = 3. 5 + 3. 5 = 7 S(T) = 3. 5 + 4. 5 = 8 1 6 6 7 8 {A} {C}{G}{T}
Algoritmo di Sankoff {C} 0 0 {A} {C} 0 {A} 2. 5 3. 5 0 1 {A} {C}{G}{T} {G} 0 5 {A} {C} {G} {T} topologia, con questa distribuzione di dati. 5 {A} {C}{G} {T} 3. 5 4. 5 “ 6” è il minimo costo totale per questa 1 6 6 7 8 {A} {C}{G}{T}
Algoritmo di Sankoff È questo l’albero che meglio rispecchia la reale filogenesi del gruppo? Ci sono alberi dal costo totale superiore o inferiore? È misurabile statisticamente la bontà di questo albero?
Maximum Parsimony Tra tutti i possibili alberi trovare l’albero tale che sia minima L( ): L( ) = B N k=1 j=1 wj diff (xk’j , xk’’j) L = “tree length” B = numero dei rami (branches) k’ e k’’ = nodi del ramo k xk’j e xk’’j = elementi della matrice o stati assegnati ai nodi diff (y, z) = funzione specificante il costo della trasformazione dallo stato y allo stato z lungo qualunque ramo.
Maximum Parsimony Tra tutti i possibili alberi trovare l’albero tale che sia minima L( ): B L( ) = N k=1 j=1 wj diff (xk’j , xk’’j) Quanti alberi esistono? È possibile esplorarli e valutarli tutti? È possibile trovare il migliore (o i migliori)? È possibile sostenere statisticamente tale ricerca?
- Slides: 42