Page 77 - Tequio 11
P. 77
Métodos de reconstrucción filogenética I/Duchen/69-79 75
Posteriormente, se consideran posibles topologías para las especies E1, E2, E3 y E4. En total existen 15 posibles
topologías, las cuales se pueden escribir en formato NEWICK y se guardan en un archivo denominado
“topologias.tre” (visualizadas en la Figura 2):
( ( E1 : 1, E2 : 1 ) : 1, ( E3 : 1, E4 : 1 ) : 1 ) : 1;
( ( E1 : 1, E4 : 1 ) : 1, ( E2 : 1, E3 : 1 ) : 1 ) : 1;
( ( ( E1 : 1, E2 : 1 ) : 1, E3 : 1 ) : 1, E4 : 1 ) : 1;
( ( ( E1 : 1, E2 : 1 ) : 1, E4 : 1 ) : 1, E3 : 1 ) : 1;
( ( ( E1 : 1, E3 : 1 ) : 1, E2 : 1 ) : 1, E4 : 1 ) : 1;
( ( ( E1 : 1, E3 : 1 ) : 1, E4 : 1 ) : 1, E2 : 1 ) : 1;
( ( E1 : 1, E3 : 1 ) : 1, ( E2 : 1, E4 : 1 ) : 1 ) : 1;
( ( ( E1 : 1, E4 : 1 ) : 1, E2 : 1 ) : 1, E3 : 1 ) : 1;
( ( ( E1 : 1, E4 : 1 ) : 1, E3 : 1 ) : 1, E2 : 1 ) : 1;
( ( ( E2 : 1, E3 : 1 ) : 1, E1 : 1 ) : 1, E4 : 1 ) : 1;
( ( ( E2 : 1, E3 : 1 ) : 1, E4 : 1 ) : 1, E1 : 1 ) :1;
( ( ( E2 : 1, E4 : 1 ) : 1, E1 : 1 ) : 1, E3 : 1 ) :1;
( ( ( E2 : 1, E4 : 1 ) : 1, E3 : 1 ) : 1, E1 : 1 ) : 1;
( ( ( E3 : 1, E4 : 1 ) : 1 , E2 : 1 ) : 1, E1 : 1 ) :1;
( ( ( E3 : 1, E4 : 1 ) : 1, E1 : 1 ) : 1, E2 : 1 ) :1;
Finalmente, utilizando los archivos que recién se crearon (“alineamiento.fas” y “topologias.tre”) como input, se
desarrolla a continuación un programa corto (escrito en el lenguaje de programación R) para ejemplificar el
algoritmo de inferencia filogenética utilizando ML:
#######-INICIO DEL PROGRAMA-#######
library(ape)
library(phangorn)
#Alineamiento de ADN.
D <- phyDat(read.FASTA("alineamiento.fas")) #Posibles topologias.
T <- read.tree("topologias.tre")
##-------Maxima Verosimilitud-------##
cat ("\nEjemplo de inferencia con ML\n")
#El vector logV guardara las verosimilitudes de cada topología.
logV <- numeric(length(T))
#La función pml de la librería phangorn calcula la verosimilitud.
for (i in 1:length(T)) {
logV[i] <- pml(T[[i]],D)$logLik
print(paste("Log Verosimilitud topologia",i,"=",logV[i] ) )
}
Tequio, enero-abril 2021, vol. 4, no. 11