Volver a la lista

Geneformer: Aprender el contexto de los genes mediante rangos en lugar de valores de expresión.

Se explica el principio de codificación de valores de rango de Geneformer, que utiliza rangos de genes en lugar de valores de expresión como entrada, y se incluye un taller práctico sobre simulaciones de perturbación por deleción génica.

Avanzado
|
20min
|
Verificado (2026-07-29)
Geneformerrank encodingin silico perturbationgene network
Progreso0/120 (0%)

El mismo problema, respuestas distintas: orden en lugar de valores

F21 de scGPT discretizó los valores de expresión en intervalos para incorporarlos en las incrustaciones. Geneformer (2023, Broad Institute) tomó una decisión diferente: dentro de cada célula, solo conserva el rango que ocupa cada gen según su cantidad de expresión, descartando por completo los valores absolutos de expresión. ¿Por qué tomaron esta decisión?

Principio: codificación rank-value y evitación del efecto de lote

Por qué usar rangos en lugar de valores absolutos

Los datos de células individuales presentan grandes variaciones en la profundidad de secuenciación y el ruido técnico entre diferentes experimentos e incluso entre lotes dentro del mismo experimento. Los procedimientos de normalización tratados en S28~S30 corrigen hasta cierto punto estas diferencias, pero no las eliminan por completo. Geneformer aborda este problema desde una perspectiva diferente: la observación de que la relación de rango "¿el gen A se expresa relativamente más que el gen B en esta célula?" es mucho menos sensible al efecto de lote que la escala de los valores absolutos de expresión.

Rango del gen g en la ceˊlula c=rank(xg,c{xg,c}gtodos los genes)\text{Rango del gen } g \text{ en la célula } c = \text{rank}(x_{g,c} \mid \{x_{g',c}\}_{g' \in \text{todos los genes}})

En este proceso, se aplica una normalización que asigna menor peso a los genes que están constantemente en la parte superior de la clasificación en casi todas las células (como los genes de mantenimiento celular), ya que se considera que aportan menos información relativa, y mayor peso a los genes cuyo rango de expresión varía significativamente según el tipo celular.

Ejemplo de cálculo manual: verificación de la normalización por rangos

Supongamos que en una célula los valores de expresión de 5 genes son [12,3,45,0,8][12, 3, 45, 0, 8]. Si asignamos rangos en orden descendente de expresión:

GenValor de expresiónRango (1=mejor)
G1122
G234
G3451
G405 (excluido de la secuencia de secuenciación)
G583

El gen G4 con valor de expresión 0 se excluye inicialmente porque no se observó su expresión; por lo tanto, se omite de la secuencia de rangos. El orden obtenido G3,G1,G5,G2G3, G1, G5, G2 se convierte en la "oración" que representa a esta célula. Incluso si al medir el mismo tipo celular en otro lote cambia completamente la escala de los valores absolutos, tiende a mantenerse mucho más estable el rango relativo entre genes.

Preentrenamiento y ajuste fino posterior

Geneformer también se preentrena mediante el modelado de lenguaje enmascarado, como en los modelos F16 y F21. Oculta algunos genes en la secuencia de clasificación y aprende a predecir los genes ocultos utilizando el contexto restante de la secuencia. El corpus de entrenamiento original, Genecorpus-30M, está compuesto por aproximadamente 30 millones de transcriptomas de células humanas individuales. Para conocer el alcance de las versiones posteriores (checkpoints) y los corpus correspondientes, se debe consultar nuevamente la tarjeta oficial del modelo y los recursos originales en el momento de su uso.

Práctica: estimación del impacto en la red mediante perturbaciones in silico de pérdida génica

Uno de los casos de uso más destacados de Geneformer es la perturbación in silico. Este método consiste en observar cómo cambian las predicciones del modelo al eliminar el token correspondiente a un gen específico de la secuencia de entrada, sin necesidad de realizar experimentos de laboratorio reales de eliminación génica (knockout), lo que permite estimar el impacto que dicho gen tiene sobre la expresión de otros genes.

python
# Basado en el entorno de GPU gratuita de Kaggle (T4). El formato de preprocesamiento del repositorio oficial de Geneformer
# debe seguirse tal cual para ser compatible con los pesos preentrenados reales.
def in_silico_deletion(rank_sequence: list[str], target_gene: str) -> list[str]:
"""
Elimina un gen específico de la secuencia de rango para crear una "célula virtual" con datos faltantes.
Vuelve a introducir esta secuencia en el modelo preentrenado para obtener los embeddings de genes predichos de otros genes
El núcleo del análisis de perturbación consiste en comparar cuánto cambia respecto al original.
"""
return [g for g in rank_sequence if g != target_gene]
original_seq = ["G3", "G1", "G5", "G2"]
perturbed_seq = in_silico_deletion(original_seq, target_gene="G1")
print(f"Original: {original_seq}")
print(f"G1 después de la falta: {perturbed_seq}")
# En el análisis real, se inserta cada una de las secuencias originales y perturbadas en Geneformer para obtener
# Compara el cambio en la distancia coseno entre los vectores de incrustación para determinar qué gen
# Clasifica según la sensibilidad a la pérdida del gen G1 (impacto de la red virtual).

Los resultados obtenidos de esta manera no sustituyen a los experimentos reales de eliminación genética con CRISPR y deben considerarse como una etapa de generación de hipótesis que requiere una validación experimental posterior.

Correspondencia de conceptos

  • Normalización por rango: El uso de rangos en lugar de valores absolutos se basa en el mismo principio que las técnicas comunes en la metodología no paramétrica de la estadística, diseñadas para obtener representaciones robustas frente a valores atípicos y desviaciones de escala.
  • Análisis de ablación: Observar los cambios en la salida del modelo mediante eliminaciones in silico es una metodología similar a los estudios de ablación en la investigación de interpretabilidad del aprendizaje profundo, donde se elimina un elemento de entrada específico para evaluar su importancia.
  • Representación invariante a los lotes: El hecho de que la codificación basada en rangos sea menos sensible a los efectos de los lotes se basa en la misma línea de ideas que la normalización de características, que crea representaciones robustas frente al cambio de dominio.

Errores comunes

  • Intentar interpretar la intensidad absoluta de expresión solo con la información de rango: Las representaciones basadas en rangos solo capturan la estructura del orden relativo y no pueden responder a preguntas cuantitativas como "¿cuántas veces se expresa más este gen?". Si se requiere una comparación cuantitativa, debe combinarse con análisis basados en los valores de expresión originales (S27~S31).
  • Confundir los resultados de la perturbación in silico con evidencia experimental: El análisis de perturbación es una herramienta para generar hipótesis. Las conclusiones sobre las redes reales de regulación génica deben validarse mediante experimentos in vitro (como cribados con CRISPR, etc.) en al menos algunos casos.

Para profundizar

El texto ha sido reconstruido directamente por el equipo de investigación de BPD. Profundice consultando el artículo original y los materiales oficiales.

  • Artículo original de Geneformer: Theodoris et al. (2023), Transfer learning enables predictions in network biology, Nature 618.
  • Contexto del efecto de lote en células individuales: S32~S33 (scrna-batch-correction-harmony-scvi).

En el siguiente capítulo (F23) se abordará cómo UCE traslada células de múltiples especies a un único espacio de incrustación mediante zero-shot, sin necesidad de codificar el orden o los valores de los genes.

💬 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...