Volver a la lista

Desconvolución de celdas espaciales: identificación de células individuales en puntos mediante Tangram y cell2location.

Estima la proporción de los distintos tipos de células presentes en cada punto de Visium. Vamos a comparar y practicar directamente el transporte óptimo de Tangram, el modelo bayesiano de cell2location y el enfoque de regresión de RCTD.

Avanzado
|
20min
|
Verificado (2026-07-24)
spatial deconvolutionTangramcell2locationcell type proportion
Progreso0/120 (0%)

¿Cuántas células hay en cada punto?

Como vimos en S35, cada punto de 55 μm de Visium suele contener entre 1 y 10 células. La expresión de cada punto es una mezcla de estas células. Si un punto en el tejido cerebral contiene 3 neuronas, 2 astrocitos y 1 oligodendrocito, el perfil de expresión de ese punto será la media ponderada de estos tres tipos de células.

La deconvolución es el proceso de separar esta mezcla, es decir, estimar qué tipo de célula contribuye en qué medida en cada punto. Para ello, se necesitan datos de referencia, es decir, perfiles de expresión puros de cada tipo de célula. Por lo general, los datos de scRNA-seq obtenidos del mismo tejido cumplen esta función de referencia.

En este capítulo, formalizaremos matemáticamente el problema que resuelve la deconvolución, compararemos los enfoques de las herramientas Tangram, cell2location y RCTD, y realizaremos un ejercicio práctico con Tangram.

Formalización matemática: modelo de mezcla

Sea yjRG\mathbf{y}_j \in \mathbb{R}^G el vector de expresión del punto jj (con G genes) y rkRG\mathbf{r}_k \in \mathbb{R}^G el perfil de expresión de referencia del tipo de célula kk, el modelo de mezcla lineal es:

yjk=1Kwjkrk,wjk0,kwjk=1\mathbf{y}_j \approx \sum_{k=1}^{K} w_{jk} \cdot \mathbf{r}_k, \qquad w_{jk} \geq 0, \quad \sum_k w_{jk} = 1

donde wjkw_{jk} es la proporción del tipo de célula kk en el punto jj. Dado que debe ser no negativo y sumar 1, este problema se formula como una optimización convexa en un simpléx.

Las dificultades del problema son tres: (1) aunque el número de genes (~20.000) es mucho mayor que el número de tipos de células (~10-30), lo que crea un sistema sobredeterminado; (2) la incertidumbre inherente a los perfiles de referencia (debida a la variabilidad entre células); y (3) no se conoce el número total de células en cada punto (se puede conocer la proporción, pero no el número absoluto sin información adicional).

Enfoques de las tres herramientas

Tangram: transporte óptimo

Tangram (Biancalani et al., 2021) resuelve el problema mediante transporte óptimo. Asigna ("mapea") las células individuales del conjunto de referencia scRNA-seq a los puntos espaciales, satisfaciendo simultáneamente dos condiciones: (1) la suma de la expresión de las células asignadas coincide con la expresión del punto; y (2) la asignación es lo más uniforme posible (evitando que todas las células se concentren en un solo punto).

Esto se implementa mediante optimización diferenciable basada en PyTorch, lo que permite la aceleración por GPU. La salida es una matriz de probabilidades célula × punto, que al agregarse proporciona las proporciones por tipo de célula.

cell2location — Modelo bayesiano

cell2location (Kleshchevnikov et al., 2022) utiliza un enfoque bayesiano completo. Estima las características de expresión específicas de cada tipo celular a partir de los datos de referencia y modela cada punto espacial de los datos espaciales como una mezcla de estas características. Emplea un modelo generativo basado en la distribución binomial negativa, y su diferencia con Tangram radica en que puede estimar la abundancia absoluta por tipo celular.

RCTD — Regresión de mínimos cuadrados ponderados

RCTD (Robust Cell Type Decomposition, Cable et al., 2022) es un enfoque de regresión tradicional. Obtiene el promedio de expresión por tipo celular a partir de la referencia y, a continuación, descompone la expresión de cada punto como una suma ponderada de estos promedios. Utiliza mínimos cuadrados ponderados con distribuciones de Poisson o binomial negativa, y permite seleccionar entre el modo de dobletes (que permite un máximo de dos tipos celulares por punto) y el modo completo.

ElementoTangramcell2locationRCTD
MetodologíaTransporte óptimoBayesiano (binomial negativa)Mínimos cuadrados ponderados
SalidaProporciones (relativas)Abundancia absoluta + proporcionesProporciones
Soporte de GPUSí (PyTorch)Sí (Pyro/scvi-tools)No (R)
Resolución de referenciaMapeo a nivel de célula únicaNivel de tipo celularNivel de tipo celular
EcosistemaPythonPython (scvi-tools)R (spacexr)
Rendimiento en las pruebas de referenciaAltoAltoAlto

Las tres herramientas muestran un rendimiento sólido en las pruebas de referencia; la elección depende principalmente del ecosistema utilizado (Python frente a R) y del tipo de salida deseado (proporciones frente a abundancia absoluta).

Práctica: Desconvolución de puntos espaciales Visium del cerebro con Tangram

Se utilizan los datos del cerebro de ratón del tutorial oficial de Tangram. Se estima la proporción de tipos celulares por punto espacial combinando datos espaciales Visium con una referencia de scRNA-seq.

python
import tangram as tg
import scanpy as sc
# 1. Cargar y preprocesar scRNA-seq de referencia
adata_sc = sc.read_h5ad("mouse_brain_sc.h5ad")
sc.pp.normalize_total(adata_sc)
sc.pp.log1p(adata_sc)
# 2. Cargar datos Visium espaciales
adata_sp = sc.read_visium("visium_brain/")
sc.pp.normalize_total(adata_sp)
sc.pp.log1p(adata_sp)
# 3. Seleccionar genes mediante genes marcadores
tg.pp_adatas(adata_sc, adata_sp, genes=marker_genes)
# 4. Mapeo con Tangram (se recomienda GPU)
ad_map = tg.map_cells_to_space(
adata_sc, adata_sp,
mode="cells", # Mapeo a nivel de célula individual
density_prior="rna_count_based",
num_epochs=500,
device="cuda:0",
)
# 5. Agregar proporciones de tipos celulares
tg.project_cell_annotations(ad_map, adata_sp, annotation="cell_type")
sc.pl.spatial(adata_sp, color=["Neuron", "Astrocyte", "Oligo"], spot_size=1.5)

Si en los resultados se observa que la proporción de neuronas se concentra en la corteza gris y los oligodendrocitos en la sustancia blanca, esto indica que el proceso de deconvolución está reconstruyendo correctamente la estructura anatómica.

Proyección de la expresión génica

Mediante los resultados de la deconvolución, podemos proyectar la expresión génica del conjunto de datos de referencia de scRNA-seq en el espacio. Esto significa que, incluso si un gen no se midió con Visium, podemos estimar su ubicación espacial si está presente en el conjunto de datos de referencia de scRNA-seq.

python
# Proyectar expresión scRNA-seq al espacio
tg.project_genes(ad_map, adata_sp, adata_sc)
sc.pl.spatial(adata_sp, color=["Gad1", "Slc17a7"], spot_size=1.5)

Gad1 (marcadores de neuronas inhibidoras) y Slc17a7 (marcadores de neuronas excitadoras) distribuidos en diferentes capas corticales permiten observar el efecto complementario que las referencias a nivel de célula única aportan a la información espacial.

Mapeo CS

  • Descomposición de matrices no negativas (NMF): La estructura matemática de la deconvolución es YWRY \approx W \cdot R (con restricciones de no negatividad), que es idéntica a la NMF. Se basa en principios similares a la descomposición usuario-elemento en sistemas de recomendación.
  • Transporte óptimo: El mapeo célula-punto de Tangram es un problema de transporte óptimo basado en la minimización de la distancia de Wasserstein. También se utiliza en optimización logística y el entrenamiento de GAN (WGAN).
  • Optimización convexa: Dado que las proporciones se encuentran en el simplex (no negativas y suman 1), se trata de un problema de optimización convexa con restricciones.

Problemas comunes

  • Calidad de los datos de referencia: Los resultados de la deconvolución dependen totalmente de la anotación de tipos celulares del scRNA-seq de referencia. Si los tipos celulares están mal anotados o faltan en la referencia, ese error se propaga directamente al análisis espacial.
  • Incompatibilidad entre la referencia y los datos espaciales: Si los datos de scRNA-seq y los datos espaciales provienen de diferentes individuos, condiciones o tecnologías, las diferencias técnicas distorsionarán la deconvolución. Lo ideal es obtener ambos conjuntos de datos del mismo tejido.
  • Confusión entre proporción y recuento absoluto: Las salidas de Tangram/RCTD son proporciones. "40% de neuronas" no significa que haya 4 neuronas en el punto (ya que se desconoce el número total de células). Si se necesita la abundancia absoluta, considere cell2location.
  • Sensibilidad a la selección de genes marcadores: La calidad del mapeo de Tangram depende en gran medida de los genes que se utilicen. Elegir marcadores específicos del tejido en lugar de marcadores universales aumenta la precisión.

Para profundizar

El texto principal es una descripción reconstruida directamente por BPD. Para profundizar, utilice los siguientes materiales de referencia:

  • Artículo original (Tangram): Biancalani et al. (2021), Deep learning and alignment of spatially resolved single-cell transcriptomes with Tangram, Nature Methods 18:1352.
  • Artículo original (cell2location): Kleshchevnikov et al. (2022), Cell2location maps fine-grained cell types in spatial transcriptomics, Nature Biotechnology 40:661.
  • Artículo original (RCTD/spacexr): Cable et al. (2022), Robust decomposition of cell type mixtures in spatial transcriptomics, Nature Biotechnology 40:517.
  • Estudio comparativo: Li et al. (2023), Benchmarking spatial and single-cell transcriptomics integration methods for transcript distribution prediction and cell type deconvolution, Nature Methods 19:662.
  • Libro web gratuito de referencia: Single-cell best practices (sc-best-practices.org) — Capítulo de deconvolución.

Hemos completado la serie de Ómicas Espaciales: principios técnicos (S35), estadística espacial (S36) y deconvolución (S37). Ahora centraremos nuestra atención en la regulación génica, pasando de la expresión génica. En el próximo episodio, S38, comenzaremos la serie de Epigenómica con ChIP-seq y la detección de picos MACS, que nos permite identificar dónde se acumulan las modificaciones de las histonas.

💬 Preguntas y comentarios

0 comentarios

Puedes publicar sin iniciar sesión. Los comentarios de invitados no pueden editarse ni eliminarse después.

0/2000

Cargando...