tanggle 1.10.0
Esta es la viñeta en español para el paquete de R tanggle, en ella proveemos una vista general de sus funciones y ejemplos de uso. Tanggle extiende el paquete de R ggtree (Yu et al. 2017), lo cual permite la visualización de múltiples tipos de redes filogenéticas usando la sintaxis de ggplot2 (Wickham 2016). Especificamente, tanggle contiene funciones que permiten al usuario visualizar: (1) redes divididas o implícitas (no-enraizadas, no-direccionadas) y (2) redes explícitas (enraizadas, direccionadas) con reticulaciones. Estas funciones ofrecen alternativas a las funciones gráficas disponibles en ape (Paradis and Schliep 2018) y phangorn (Schliep 2011).
name | Brief description |
---|---|
geom_splitnet |
Adds a splitnet layer to a ggplot, to combine visualising data and the network |
ggevonet |
Grafica una red explícita de un objeto phylo |
ggsplitnet |
Grafica una red implícita de un objeto phylo |
minimize_overlap |
Reduce el número de líneas de reticulación entrecruzadas en la gráfica |
node_depth_evonet |
Devuelve las profundidades o alturas de los nodos y puntas en la red filogenética |
Instalar el paquete desde Bioconductor directamente:
Install the package from Bioconductor directly:
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("tanggle")
O instalar la versión de desarrollo del paquete desde: Github.
if (!requireNamespace("remotes", quietly=TRUE))
install.packages("remotes")
remotes::install_github("KlausVigo/tanggle")
Si necesita installer ggtree desde github:
remotes::install_github("YuLab-SMU/ggtree")
Y cargar todas las librerías:
library(tanggle)
library(phangorn)
library(ggtree)
Las redes divididas son objetos de visualización de datos que permiten la definición de 2 (o más) opciones de división no compatibles. Las redes divididas son usadas frecuentemente para graficar redes consenso (Holland et al. 2004) o redes vecinas (Bryant and Moulton 2004). Esto puede llevarse a cabo utilizando las funciones consensusNet
o neighbor-net
en phangorn (Schliep 2011), o importando archivos Nexus provenientes de SplitsTree (Huson and Bryant 2006).
tanggle acepta tres formatos de entrada para redes divididas. Las siguientes opciones de entrada generan un objeto network para graficar.
Archivo Nexus creado con SplitsTree (Huson and Bryant 2006) e importado con la función read.nexus.network
en phangorn (Schliep 2011).
Carga de red dividida en formato Nexus:
fdir <- system.file("extdata/trees", package = "phangorn")
Nnet <- phangorn::read.nexus.networx(file.path(fdir,"woodmouse.nxs"))
read.nexus
Archivo de texto en formato Newick (un árbol de genes por línea) importado con la función read.tree
Estimación de una red dividida consenso mediante la función consensusNet
en phangorn (Schliep 2011).
read.phyDat
en phangorn (Schliep 2011) o la función read.dna
en ape (Paradis and Schliep 2018). Luego se calculan las matrices de distancia para los modelos de evolución específicos utilizando la función dist.ml
en phangorn (Schliep 2011) o
dist.dna
en ape (Paradis and Schliep 2018). Con base en las matrices de distancia, se reconstruye una red dividida utilizando la función neighborNet
en phangorn (Schliep 2011).
Opcional: las longitudes de las ramas pueden ser estimadas utilizando la función splitsNetworks
en phangorn (Schliep 2011).Podemos graficar una red con las siguientes opciones por defecto:
p <- ggsplitnet(Nnet) + geom_tiplab2()
p
Luego podemos establecer los límites para los ejes x & y permitiendo la lectura de los nombres de los ejes.
p <- p + xlim(-0.019, .003) + ylim(-.01, .012)
p
Es posible renombrar las puntas. Aquí cambiamos los nombres por un consecutivo de 1 a 15:
Nnet$translate$label <- seq_along(Nnet$tip.label)
Podemos incluir los nombres de las puntas con geom_tiplab2
, y con esto personalizar algunas de sus opciones. Por ejemplo, las puntas de color azul, en negrilla e itálicas; también los nodos internos en verde:
ggsplitnet(Nnet) + geom_tiplab2(col = "blue", font = 4, hjust = -0.15) +
geom_nodepoint(col = "green", size = 0.25)