Miłość, zdrada, Facebook i Łańcuch Markowa

Zaczęło sie od tego, że na blogu Wojtka Walczaka przeczytałem wpis ,,Facebook love stories (unromantic version)”, w którym opisane są wstępne wyniki analiz zmian deklaracji dotyczących bycia w związku na Facebooku (na facebooku można zadeklarować, że jest się z kimś w związku ,married’, ,in relationship’ itp). Temat bardzo mi się spodobał, napisałem do autora zapytanie […]

XML和XPath使用方法备忘

如果把XML看作传统的关系数据库,那么XPath就是SQL。R语言中的XML包可用来解析处理XML或是HTML数据。在之前的文章中,我们了解到readHTMLTable函数,如果页面中的数据是一个规整的表格,用它是

Polska w rankingu FIFA a projekt kubek

W poprzednim tygodniu pisałem o kubku, na który naniosłem różne informacje związane z Polską (więcej informacji tutaj). Dzisiaj napiszę o tym jak powstawał jeden z naniesionych na kubek wykresów, a konkretniej wykres ilustrujący pozycję Polski w rankingu FIFA. Będzie bardzo technicznie, będzie kod w R, będzie o poprawianiu wykresu, będzie zabawa! Dane Pozycja w rankingu […]

"áRboles de compRomiso pondeRado": un método paRa ResumiR difeRentes hipótesis filogenéticas en R.

El 9 de Octubre de 2012, la revista Cladistics, publico en la web a manera de “Early view” un artículo, acerca de un nuevo método de consenso, para resumir distintas hipótesis/árboles/topologias resultantes de un análisis filogenético.
El titulo en ingles del articulo es Weighted compromise trees: a method to summarize competing phylogenetic hypotheses,  y sus autores son Michael J. Sharkey, Stephanie Stoelb, Daniel R. Miranda-Esquivel  y Barabara J. Sharanowski.


Nota_1:Realmente no estoy muy seguro de la “traducción” del nombre del método que puse en el titulo de este post, pero fue el que me pareció que se acercaba más.

Básicamente, como lo dicen en el resumen, el método corrige un “sesgo” inherente al método de consenso de la mayoría, cuando los árboles iniciales son dependientes (no muestran independencia) debido a la ambigüedad en sus clados terminales.

Nota_2: como es característica en R para Chibchombianos, el fin ultimo del blog es la implementación de análisis en R, más no la explicación de los métodos que utilizamos, en orden de promover el uso de R. Si alguien quiere instruirse más acerca de este nuevo método de consenso, puede consultar directamente  el artículo, que es de tan solo 5 paginas y es muy fácil de entender. 

Acompañado con el artículo, D.R. Miranda, escribió una función para la implementación del nuevo método, utilizando el paquete “ape” en R, el código puede ser descargado desde Google code/Wconsensus, y para utilizarlo solo tenemos que descargar el archivo “wconsensus.R”, que es la extensión que contiene el código de la función. (en la lista de descargas, también esta disponible un archivo comprimido, que contiene algunos archivos de ejemplo y explicación para utilizar la función)

Para explicar como utilizar la función se debe construir un archivo con extensión .tre , que contenga los árboles iniciales para realizar el consenso, en nuestro ejemplo utilizaremos 5 árboles iniciales, teniendo como terminales a las tortugas ninjas y su maestro 😛 (que hago? crecí con las tortugas ninjas!! y los Motorratones)

el archivo debe lucir así, y debe ser guardado como “tortugas.tre”:


>setwd("~/Escritorio")
#Escojo el directorio en el que esta mi archivo (tortugas.tre) con los árboles iniciales y el archivo de la función (wconsensus.R).

> source("wconsensus.R")
#Cargo la función a mi
área de trabajo.

> tortugas <-read.tree("tortugas.tre")

#Leo el archivo de árboles iniciales.


> plot(tortugas)

#Grafíco (opcional/si quiero ver los árboles!) los árboles iniciales.





> consenso_tortugas <- wconsensus(tortugas, collapse= TRUE, cutvalue =0.65)#Realizo el consenso, con un valor de corte de 0.65 para colapsar nodos.
> summary(consenso_tortugas)
#Reviso el valor y número de nodos y las
estadísticos
del consenso.

Phylogenetic tree: consenso_tortugas

Number of tips: 5
Number of nodes: 4
Branch lengths:
mean: 0.8888889
variance: 0.02469136
distribution summary:
Min. 1st Qu. Median 3rd Qu. Max.
0.6667 0.7500 1.0000 1.0000 1.0000
No root edge.
Tip labels: Leonardo
Miguel_angel
Rafael
Donatelo
Splinter
Node labels: 1
0.6667
0.7778
0.6667


> plot(consenso_tortugas)
#Grafíco el árbol consenso

Árbol consenso con un nivel de corte de 0.7 (cutvalue=0.7)

Árbol consenso con un nivel de corte de 0.8 (cutvalue=0.8)

En el próximo post, para ir entrando a lenguaje de programación de manera "suuuaaave", exploraremos un poco, la manera en la que fue escrita esta función de consenso y su código. Hasta entonces!! Buena eneRgía!! Y como dirían los chicos que tengo como portada del blog (Martin de Francisco y Santiago Maure): "Que se los coma el vejete del Jaime Barón"