DESeq2 de principio a fin: del count al gen diferencial

Descripción de la publicaciónEste post te guía por el flujo completo: desde preparar tus datos hasta interpretar correctamente la tabla de resultados, sin saltarte los pasos que más afectan la calidad del análisis.

Karla

6/7/20263 min read

deseq2 count rnaseq bioinformatica
deseq2 count rnaseq bioinformatica

Introducción

Tienes tu matriz de counts lista donde las filas son genes y las columnas son muestras, y ya sabes que DESeq2 es la herramienta que necesitas. El problema es que entre abrir R y tener una lista de genes confiable hay varias decisiones que, si las tomas mal, te dan resultados que no reflejan lo que realmente está pasando en tu biología.

Este post te guía por el flujo completo: desde preparar tus datos hasta interpretar correctamente la tabla de resultados, sin saltarte los pasos que más afectan la calidad del análisis.

Antes de correr DESeq2: lo que debes tener listo

DESeq2 necesita dos cosas: una matriz de counts crudos (enteros, sin normalizar) y un archivo de metadatos que describa a qué condición pertenece cada muestra.

El error más común en este punto es usar counts ya normalizados (TPM, RPKM o FPKM) como entrada. DESeq2 tiene su propia normalización interna, y si le das valores ya transformados, sus estimaciones estadísticas estarán mal desde el inicio.

También necesitas al menos tres réplicas biológicas por condición. Sin réplicas, DESeq2 no puede estimar la variabilidad natural de tus muestras, y los resultados no son confiables.

Lo que DESeq2 hace por dentro

Cuando llamas DESeq(), el paquete ejecuta tres pasos en secuencia.

Primero, normaliza por tamaño de librería usando el método de median-of-ratios: calcula un factor de escala por muestra que corrige las diferencias en profundidad de secuenciación sin asumir que la mayoría de los genes no están diferencialmente expresados.

Segundo, estima la dispersión de cada gen — es decir, cuánto varía la expresión de ese gen entre réplicas. Aquí está la potencia estadística de DESeq2: en lugar de estimar la dispersión gen por gen (lo cual sería muy impreciso con pocas réplicas), toma información de todos los genes del experimento para estabilizar esas estimaciones.

Tercero, ajusta un modelo lineal generalizado binomial negativo y calcula una prueba de Wald para cada gen, comparando la condición de interés contra el control.

Cómo leer la tabla de resultados

Al extraer resultados con results(), obtienes una tabla con seis columnas. Las más importantes son padj, log2FoldChange y baseMean.

padj es el p-value corregido por múltiples pruebas (método de Benjamini-Hochberg). Este es el valor que debes usar para determinar significancia estadística — nunca el pvalue sin corregir.

log2FoldChange indica la magnitud del cambio en expresión. Un valor de 1 significa que el gen se expresa el doble en la condición tratada; un valor de -1 significa que se expresa a la mitad.

baseMean es el promedio de counts normalizados a través de todas las muestras. Genes con baseMean muy bajo tienden a tener estimaciones de fold change inestables, es uno de los motivos por los que DESeq2 aplica filtrado independiente automáticamente.

Un paso que muchos omiten es aplicar lfcShrink() con el método apeglm después de extraer resultados. Esta función estabiliza los fold changes de genes con poca expresión, que de otro modo aparecen con valores extremos simplemente por ruido estadístico. Los fold changes contraídos son los que debes usar para visualizar y para análisis de enriquecimiento.

El filtro correcto: no basta con el p-value

El error que más compromete la interpretabilidad biológica es filtrar genes usando únicamente padj < 0.05.

Un gen puede alcanzar significancia estadística con un fold change de 0.15 — es decir, un cambio del 11% en expresión. Estadísticamente real, pero probablemente sin relevancia funcional en tu sistema.

El criterio estándar es aplicar dos umbrales en combinación: padj < 0.05 y |log2FoldChange| ≥ 1. Esto te da genes que son tanto estadísticamente confiables como biológicamente relevantes en magnitud.

Conclusión

DESeq2 es una herramienta robusta, pero su calidad depende de cómo prepares los datos de entrada y de cómo interpretes los resultados. Counts crudos, réplicas biológicas, fold changes contraídos con apeglm y filtrado con doble criterio son los cuatro puntos que determinan si tu lista de genes tiene sentido biológico o no.

Si sigues estos pasos, tu análisis no solo será reproducible — también será defendible frente a revisores.

¿Quieres aplicar esto en tus datos?

En BioGenIA te ayudamos a analizar tus datos de RNA-seq, variantes o ncRNA con asesoría personalizada. Escríbenos a hola@biogenia.com.mx o visita www.biogenia.com.mx.

BioGenIA

Bioinformática + IA: el futuro de la ciencia empieza aquí.

Blog
Términos y condiciones
Política de reembolso

Contacto

hola@biogenia.com.mx

© 2025. All rights reserved.