R sigue siendo el entorno de referencia para el análisis de datos biológicos porque combina estadística, manejo de secuencias y visualización en un mismo flujo escrito en código. Esta guía reúne los paquetes que usamos en nuestros programas, organizados por la etapa del análisis en la que aparecen, con un ejemplo mínimo de cada uno.
1. Manejo y limpieza de datos
tidyverse (dplyr, tidyr, readr)
Limpieza y transformación de datos
Estandarizar nombres, unidades y formatos antes de cualquier análisis.
datos |> filter(!is.na(abundancia)) |> group_by(sitio) |> summarise(media = mean(abundancia))Biostrings
Manejo eficiente de secuencias biológicas
Leer FASTA grandes, calcular contenido GC y traducir secuencias sin salir de R.
seqs <- readDNAStringSet('secuencias.fasta'); letterFrequency(seqs, 'GC', as.prob = TRUE)renv + rmarkdown/quarto
Reproducibilidad y reporte
Fijar versiones de paquetes y generar informes que se regeneran con un solo comando.
renv::snapshot(); quarto::quarto_render('informe.qmd')2. Visualización científica
ggplot2
Visualización científica basada en la gramática de gráficos
Producir figuras publicables y reproducibles sin edición manual en programas de diseño.
ggplot(datos, aes(x = tratamiento, y = abundancia)) + geom_boxplot() + theme_classic()patchwork
Composición de figuras multipanel
Armar paneles A, B, C exigidos por las revistas manteniendo escalas y leyendas coherentes.
(p1 | p2) / p3 + plot_annotation(tag_levels = 'A')pheatmap
Mapas de calor con agrupamiento jerárquico
Mostrar patrones de expresión o abundancia entre muestras y anotarlos por grupo experimental.
pheatmap(matriz, scale = 'row', annotation_col = metadatos)3. Ecología de comunidades y metabarcoding
phyloseq
Integración de tablas de OTU/ASV, taxonomía y metadatos
Mantener en un solo objeto los datos de metabarcoding y evitar desalineaciones entre tablas.
ps <- phyloseq(otu_table(otu, taxa_are_rows = TRUE), tax_table(tax), sample_data(meta))vegan
Ecología numérica: diversidad, ordenación y PERMANOVA
Contrastar composición de comunidades entre sitios o tratamientos con pruebas estadísticas robustas.
adonis2(distancias ~ tratamiento, data = meta, permutations = 999)dada2
Inferencia de variantes de secuencia exactas (ASV)
Procesar lecturas de amplicones con control de calidad y sin depender del agrupamiento por similitud.
dadaF <- dada(derepF, err = errF, multithread = TRUE)4. Filogenia y evolución
ape
Lectura, manipulación y graficación de árboles filogenéticos
Enraizar, podar y comparar topologías antes de interpretar relaciones evolutivas.
arbol <- read.tree('arbol.nwk'); plot(root(arbol, outgroup = 'sp_externa'))phangorn
Inferencia filogenética por máxima verosimilitud y parsimonia
Seleccionar el modelo evolutivo adecuado y evaluar soporte por bootstrap.
modelTest(datos_phyDat)ggtree
Anotación de árboles con datos y metadatos
Mapear rasgos, distribución o soporte de ramas sobre el árbol para la figura final.
ggtree(arbol) %<+% metadatos + geom_tippoint(aes(color = region))5. Reglas mínimas de reproducibilidad
- Un proyecto de RStudio por estudio, con carpetas separadas para datos crudos, scripts y resultados.
- Datos crudos siempre en solo lectura: toda transformación queda escrita en código.
- Versiones de paquetes fijadas con renv para que el análisis corra igual dentro de un año.
- Semillas aleatorias declaradas (set.seed) en remuestreos, bootstrap y permutaciones.
- Figuras generadas desde el script, nunca retocadas a mano, y exportadas en vectorial.
¿Quieres aplicar estos paquetes con acompañamiento?
Nuestros programas trabajan con estos flujos sobre datos reales: filogenia, ómicas, teledetección y ciencia de datos aplicada a la biodiversidad.