Method Article

Uso de R, Seurat y CellChat para analizar un conjunto de datos transcriptómicos unicelulares de la cicatrización de heridas en la piel del ratón

DOI:

10.3791/67266

August 1st, 2025

In This Article

Summary

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Aquí, presentamos un flujo de trabajo visual paso a paso para analizar un conjunto de datos transcriptómicos de curso de tiempo de una sola célula de curación de heridas en la piel de ratón utilizando R. El protocolo incluye una canalización estándar para la descarga de conjuntos de datos, control de calidad, visualizaciones y anotaciones de tipo de célula mediante Seurat, y análisis de interacción célula-célula mediante CellChat.

Abstract

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

El proceso de cicatrización de heridas está regulado por interacciones complejas entre diferentes tipos de células a través del espacio y el tiempo. A través del perfil de células individuales dentro de su entorno complejo, los métodos transcriptómicos unicelulares permiten la investigación de la heterogeneidad celular, las redes de comunicación celular y las interacciones célula-célula involucradas en el proceso de cicatrización de heridas. Sin embargo, muchas herramientas de análisis unicelular se ejecutan dentro de un entorno de codificación informática, y su uso más generalizado por parte de los científicos de curación de heridas se ve frustrado por la aparente falta de experiencia en bioinformática. Por lo tanto, se presenta un flujo de trabajo paso a paso que muestra cómo utilizar un entorno de codificación gráfica llamado RStudio para realizar un análisis básico de una sola célula de un conjunto de datos de cicatrización de heridas cutáneas por escisión temporal de ratón. Este protocolo visual y guiado permitirá a los científicos sin experiencia en bioinformática descargar un conjunto de datos de curación de heridas publicado anteriormente, realizar pasos críticos de control de calidad, ejecutar un flujo de trabajo de análisis unicelular estándar que incluya visualizaciones de conjuntos de datos y anotaciones de tipos de células usando Seurat, ejecutar análisis de subtipos de células, ejecutar análisis de puntuación de módulos, ejecutar análisis de interacción célula-célula usando CellChat y realizar análisis integradores de múltiples conjuntos de datos usando Seurat. Se proporcionan explicaciones narrativas para cada paso del protocolo y se presentan resultados gráficos de cada línea de código para guiar al usuario de forma segura a través del flujo de trabajo. El objetivo de esta introducción visual a una línea de análisis de una sola célula es permitir que más científicos de curación de heridas utilicen herramientas bioinformáticas directamente en sus propios laboratorios para facilitar análisis más profundos de sus propios conjuntos de datos unicelulares, así como reanálisis más generalizados de conjuntos de datos unicelulares publicados anteriormente.

Introduction

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

La cicatrización de heridas es uno de los procesos más complejos de la biología de los mamíferos e implica un espectro de tres fases de curación: inflamatoria, proliferativa y resolución 1,2. Estas fases de curación clasifican ampliamente las acciones coordinadas de docenas de tipos de células y cientos de sus productos moleculares en el espacio y el tiempo de reparación de heridas3. Varias décadas de estudios histológicos y moleculares basados en muestras de tejido de heridas a lo largo del curso temporal de la cicatrización han dilucidado los patrones celulares generales de reparación de tejidos3, particularmente en modelos de ratón reproducibles de cicatrización de heridas cutáneas por escisión 4,5,6. Solo en las últimas dos décadas ha sido posible apreciar más plenamente la complejidad de la cicatrización de heridas, comenzando con el advenimiento de los análisis transcriptómicos de alto rendimiento de heridas a escala de tejidos a granel 7,8,9 y células10,11,12,13,14. Más recientemente, varios estudios han perfilado transcripcionalmente heridas de la piel a nivel unicelular, identificando nuevos subtipos de células heridas y mostrando cómo pueden interactuar entre sí durante la curación 15,16,17,18,19,20. Hu et al. utilizaron un innovador enfoque de secuenciación espacial de ARN unicelular para perfilar las heridas de la piel a lo largo del curso temporal de la curación a varias distancias radiales del centro de la herida, lo que reveló nuevos "movimientos" intercelulares y moleculares a través del espacio y el tiempo20. Tales estudios están desentrañando la complejidad de la cicatrización de heridas con un detalle sin precedentes, y están comenzando a pintar una imagen de tremenda heterogeneidad celular y molecular.

Los principales avances recientes en los métodos de análisis bioinformático están haciendo posible dar sentido biológico a los complejos conjuntos de datos multiómicos que se generan en el campo de la investigación de la cicatrización de heridas. Los paquetes de análisis unicelular como Seurat proporcionan herramientas para un análisis robusto y la integración de conjuntos de datos, incluida la clasificación de tipos de células en tejidos complejos como heridas21. Para la interpretación posterior de datos unicelulares, se utilizan herramientas como CellChat para identificar programas putativos de interacción célula-célula que pueden explicar cómo las células se coordinan para reparar heridas22. Si bien estas herramientas están bien documentadas y bien citadas, deben ejecutarse dentro de un entorno de codificación informática como R, un lenguaje de programación estadístico y gráfico que se usa más comúnmente en los campos bioinformáticos de la genómica y la transcriptómica. Si bien los biólogos y médicos en el campo de la curación de heridas utilizan cada vez más enfoques unicelulares para estudiar la reparación de tejidos, pocos tienen la capacitación bioinformática necesaria para usar herramientas como Seurat y CellChat directamente en sus propios laboratorios. Tal barrera en el uso de estas herramientas bioinformáticas no solo impide que los científicos analicen más profundamente sus propios conjuntos de datos sin la ayuda de bioinformáticos, sino que también impide que los científicos vuelvan a analizar de manera confiable la gran cantidad de datos unicelulares ya publicados por otros grupos.

Por lo tanto, aquí se presenta un flujo de trabajo paso a paso para permitir que los científicos sin experiencia en bioinformática analicen un conjunto de datos de curación de heridas unicelulares previamente publicado y disponible públicamente20. El protocolo utiliza el entorno de codificación gráfica R predominante y gratuito llamado RStudio, y demuestra cómo navegar por este entorno para ejecutar líneas de código prescritas que permiten un análisis básico de un conjunto de datos complejo de una sola célula utilizando Seurat y CellChat. Dentro de este protocolo, se presentan los siete métodos principales relevantes para la investigación de la cicatrización de heridas, que incluyen: 1) instalación del entorno de codificación, 2) descarga del conjunto de datos y pasos críticos de control de calidad, 3) flujos de trabajo de análisis de una sola célula que incluyen visualizaciones y anotaciones de tipo de célula, 4) análisis de subtipos de células, 5) análisis de puntuación de módulos, 6) análisis de interacción célula-célula y 7) análisis integradores de múltiples conjuntos de datos. Dentro de cada método, se proporciona código real para que el usuario lo ejecute en paralelo con el protocolo, y se muestran resultados gráficos reales de cada línea de código para guiar al usuario a través del flujo de trabajo. El objetivo principal de esta introducción guiada y visual a RStudio y un flujo de trabajo fundamental de análisis unicelular es permitir que más científicos de curación de heridas utilicen estas poderosas herramientas directamente para permitir un progreso más rápido en el campo de la investigación.

Protocol

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

NOTA: En los siguientes flujos de trabajo que detallan siete métodos bioinformáticos, todos los pasos de los protocolos van acompañados de sus respectivos bloques de código que deben ejecutarse directamente en la propia interfaz RStudio del usuario en el orden en que se enumeran. Para que este protocolo sea lo más fácil de usar posible, se incluye un archivo de script de R (Archivo complementario 1: JoVE_Rscript.R), que se puede cargar directamente en la sesión RStudio del usuario, de modo que cada línea de código pueda ejecutarse simplemente. Esto evita que el usuario tenga que escribir o copiar y pegar el código del documento de protocolo, lo que podría introducir errores. Todas las instrucciones de protocolo también se incluyen en el archivo de script de R en forma de comentarios, indicados por un símbolo de hashtag '#' al comienzo de cada línea de comentario.

1. Instalación de R, RStudio y los paquetes de R necesarios para el flujo de trabajo de análisis de una sola celda

  1. Descargue e instale R (versión 4.4.1) en el equipo. Utilice el enlace que corresponda al sistema operativo de la computadora.
    1. Si usa una computadora con Microsoft Windows, use este enlace: https://cran.rstudio.com/bin/windows/base/
    2. Si usa una computadora con MacOS, use este enlace: https://cran.rstudio.com/bin/macosx/
  2. Instale la versión más reciente de RStudio en el equipo. Haga clic en el siguiente enlace y siga las instrucciones:
    https://www.rstudio.com/products/rstudio/download/#download
  3. Instale Rtools (versión 4.4), que permitirá a R compilar ciertos paquetes. Haga clic en el siguiente enlace y siga las instrucciones:
    1. Si usa Windows, use este enlace: https://cran.rstudio.com/bin/windows/Rtools/
    2. Si usa MacOS, use este enlace:
      https://mac.r-project.org/tools/
  4. Establezca el directorio de trabajo local; Esta es la carpeta de la computadora desde donde se cargarán y guardarán todos los archivos. Establezca el directorio de trabajo seleccionando Sesión en la barra de menú de RStudio y haciendo clic en Establecer directorio de trabajo > Elegir directorio y seleccionando la carpeta deseada.
    1. Si usa una computadora con Windows, use el siguiente comando para establecer el directorio de trabajo. Cambie [Directorio] en la siguiente línea de código a la estructura de directorios real. Tenga en cuenta que el delimitador de directorio en R es el carácter "/"
      setwd("C:/[Directory]")
    2. Si usa una computadora MacOS, el siguiente comando también establecerá el directorio de trabajo. Cambie [Directorio] en la siguiente línea de código a la estructura de directorios real. Tenga en cuenta que el delimitador de directorio en R es el carácter "/"
      setwd("~/[Directory]")
    3. En cualquier momento durante una sesión de R, compruebe el directorio de trabajo mediante la siguiente línea de código:
      getwd()
    4. En RStudio, explore visualmente la estructura de directorios de trabajo, incluidos todos los archivos y carpetas que contiene, dentro de la ventana derecha en la pestaña Archivos . Para navegar por el explorador de archivos de RStudio al directorio de trabajo, haga clic en el icono de engranaje -> Ir al directorio de trabajo.
  5. Instale los siguientes paquetes desde la CRAN del repositorio de paquetes de R, que son dependencias necesarias para el protocolo. Para instalar estos paquetes, ejecute los siguientes comandos.
    install.packages("devtools")
    install.packages("readxl")
    install.packages("openxlsx")
    install.packages("tidyverse")
    install.packages("scCustomize")

    NOTA: Durante la instalación de paquetes R, es normal que aparezcan y desaparezcan varias ventanas. Si aparece una ventana que solicita compilar un paquete, haga clic en SÍ. Si aparece una ventana que solicita reiniciar R antes de instalar el paquete, haga clic en NO.
  6. Instale los siguientes paquetes desde el repositorio de paquetes de R seleccionado Bioconductor
    (https://bioconductor.org/), que son dependencias necesarias para el protocolo. Para instalar estos paquetes, ejecute los siguientes comandos.
    if (! requireNamespace("BiocManager", quietly = TRUE) )
      install.packages("BiocManager")
    BiocManager::install("NMF", update=F)
    BiocManager::install("ComplexHeatmap", update=F)
    BiocManager::install("BiocNeighbors", update=F)
    BiocManager::install("SingleCellExperiment", update=F)
    BiocManager::install("circlize", update=F)
    BiocManager::install("edgeR", update=F)
    BiocManager::install("scDblFinder", update=F)
  7. Instale los siguientes paquetes, que son necesarios para el flujo de trabajo descrito en este manuscrito.
    install.packages("Seurat")
    devtools::install_github("jinworks/CellChat")
  8. Cargue cada paquete para confirmar que las instalaciones se realizaron correctamente. En caso de que alguno de los paquetes resulte en un error de "paquete no encontrado", vuelva a instalarlo usando el código apropiado anterior.
    library(readxl)
    library(openxlsx)
    library(tidyverse)
    library(scCustomize)
    library(edgeR)
    library(scDblFinder)
    library(Seurat)
    library(CellChat)

2. Carga de un conjunto de datos de cicatrización de heridas unicelular y realización de pasos de control de calidad

NOTA: Para este flujo de trabajo bioinformático, se realiza un nuevo análisis de un experimento de cicatrización de heridas cutáneas unicelulares espacio-temporales publicado anteriormente20. Los archivos del conjunto de datos se almacenan en el repositorio (GEO) del NCBI Gene Expression Omnibus (https://www.ncbi.nlm.nih.gov/geo/ GEO) seleccionado.

  1. Navegue a los archivos de dataset de GEO utilizando el número de acceso GSE204777. Utilice el siguiente enlace y revise el diseño experimental del estudio: https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE204777
  2. Dentro de la página del repositorio GEO, hay cinco lotes individuales de datos obtenidos de cinco carriles de secuenciación. Haga clic en el primer conjunto de datos, titulado GSM6190913. A continuación se muestra un vínculo directo al ejemplo: https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSM6190913
  3. Desplácese hacia abajo hasta la parte inferior de la página y descargue los siguientes tres archivos, utilizando los enlaces ftp o html . Dentro del explorador de archivos de la computadora, mueva estos tres archivos a un directorio llamado b1. Asegúrese de que la carpeta b1 se encuentra dentro del directorio de trabajo establecido en el paso 1.4.
    Nombre del archivo: GSM6190913_b1_barcodes.tsv.gz / tamaño del archivo: 18.5 Mb
    Nombre del archivo: GSM6190913_b1_features.tsv.gz / tamaño del archivo: 254.1 Kb
    Nombre del archivo: GSM6190913_b1_matrix.mtx.gz / tamaño del archivo: 151.2 Mb
  4. Obtenga la información del directorio para los archivos de secuenciación de una sola célula descargados en el paso 2.3.
    b1_data_dir <- file.path(getwd(), "b1")
  5. Cargue los archivos de secuenciación de una sola celda. El parámetro gene.column especifica la nomenclatura de genes o características utilizada. En este caso, use gene.column = 2 para los símbolos de genes (gene.column = 1 es para los nombres de genes de Ensembl).
    b1 <- Read10X_GEO(data_dir = b1_data_dir, gene.column = 2)
    NOTA: La mayoría de los datasets de una sola celda no tienen datos multiplexados adicionales, por lo que los archivos 10x generados con este paso no tendrían varias capas. Para el conjunto de datos multiplexado actual, continúe con el paso 2.6. Para conjuntos de datos sin datos de multiplexación, vaya al paso 2.7.
  6. Demultiplexar el dataset de una sola celda mediante códigos de barras espacio-temporales.
    1. Para el conjunto de datos de trabajo, separe los datos de expresión génica y HTO (multiplexación).
      dataset_rna_counts <- b1$GSM6190913_b1_$`Gene Expression`
      ​dataset_barcodes <- b1$GSM6190913_b1_$`Antibody Capture`
    2. Cree un objeto Seurat utilizando los datos de expresión génica, mientras filtra inmediatamente los genes expresados en menos de 5 células y las células con menos de 200 genes detectados.
      dataset <- CreateSeuratObject(counts = dataset_rna_counts, min.cells = 5, min.features = 200)
    3. Cree un conjunto de datos de expresión génica como una capa y genere una lista de células y códigos de barras comunes a ambos ensayos.
      dataset_rna_counts2 <- LayerData(dataset, data = "RNA")
      ​dataset_joint.barcodes <- intersect(colnames(dataset_rna_counts2), colnames(dataset_barcodes))
    4. Subconjunto de la expresión génica y los recuentos de HTO por códigos de barras de células conjuntas.
      dataset_rna_counts2 <- dataset_rna_counts2[, dataset_joint.barcodes]
      ​dataset_barcodes2 <- as.matrix(dataset_barcodes[, dataset_joint.barcodes])
    5. Confirme que el HTO tenga los nombres de código de barras esperados.
      ​rownames(dataset_barcodes2)
    6. Cree un nuevo ensayo para almacenar información de código de barras y agregue este ensayo al objeto Seurat creado anteriormente.
      dataset_barcode_assay <- CreateAssayObject(counts = dataset_barcodes2)
      ​dataset[["barcodes"]] <- dataset_barcode_assay
    7. Valide que el objeto ahora contiene varios ensayos.
      DefaultAssay(dataset)
    8. Normalice los datos de códigos de barras y realice la demultiplexación a través de la función HTODemux. Este método se describe en detalle en la siguiente viñeta de Seurat: https://satijalab.org/seurat/articles/hashing_vignette
      ​dataset <- HTODemux(dataset, assay = "barcodes", positive.quantile = 0.99)
    9. Agrupe las celdas en función de los resultados de la clasificación global y elimine las celdas sin clasificación de código de barras.
      Idents(dataset) <- "barcodes_classification.global"
      ​dataset <- subset(dataset, idents = "Negative", invert = TRUE)
    10. Agrupe las células en función de la señal HTO máxima.
      Idents(dataset) <- "barcodes_maxID"
    11. Visualice la distribución de los genes detectados en las células según sus códigos de barras multiplexados (Figura complementaria 1).
      VlnPlot(dataset, features = "nFeature_RNA", pt.size = 0.1, log = TRUE)
    12. Cambie el nombre de los códigos de barras a sus asignaciones reales de tiempo de herida (días después de la herida) y espacio (2-8 mm) (tomadas del manuscrito original) y asígnelos a una nueva variable de metadatos llamada time_space.
      Idents(dataset) <- "barcodes_maxID"
      levels(dataset)
      dataset <- RenameIdents(dataset,
      "Barcode-1" ="D01_2mm",
      "Barcode-2" ="D01_4mm",
      "Barcode-3" ="D01_6mm",
      "Barcode-4" ="D01_8mm",
      "Barcode-5" ="D03_2mm",
      "Barcode-6" ="D03_4mm",
      "Barcode-7" ="D03_6mm",
      "Barcode-8" ="D03_8mm",
      "Barcode-9" ="D07_2mm",
      "Barcode-10" ="D07_4mm",
      "Barcode-11" ="D07_6mm",
      "Barcode-12" ="D07_8mm",
      "Barcode-13" ="D14_2mm",
      "Barcode-14" ="D14_4mm",
      "Barcode-15" ="D14_6mm",
      "Barcode-16" ="D14_8mm",
      "Barcode-17" ="UW")
      levels(dataset)
      dataset[["time_space"]] <- Idents(dataset)
  7. Para conjuntos de datos sin datos de multiplexación: cree un objeto Seurat, mientras filtra inmediatamente los genes expresados en menos de 5 células y las células con menos de 200 genes detectados.
    dataset <- CreateSeuratObject(counts = b1, min.cells = 5, min.features = 200)
  8. Cambie al análisis del ensayo de expresión génica del conjunto de datos.
    DefaultAssay(dataset) <- "RNA"
    Idents(dataset) <- "data"
  9. Como paso importante de control de calidad, calcule el porcentaje de genes mitocondriales en cada célula y asígnelo como una variable de metadatos. Este método se describe en detalle en la siguiente viñeta de Seurat: https://satijalab.org/seurat/articles/pbmc3k_tutorial#qc-and-selecting-cells-for-further-analysis
    dataset[["percent.mt"]] <- PercentageFeatureSet(dataset, pattern = "^mt-")
  10. Visualice la distribución de los genes detectados, el número de ARN y el porcentaje mitocondrial en todas las células (Figura complementaria 2).
    plot1 <- FeatureScatter(dataset, feature1 = "nCount_RNA", feature2 = "percent.mt")
    plot2 <- FeatureScatter(dataset, feature1 = "nFeature_RNA", feature2 = " percent.mt ")
    plot1 + plot2
  11. Hay una serie de células con gran contenido mitocondrial, que se correlaciona con recuentos bajos de ARN; Estas son células muertas o moribundas. Elimine estas celdas de baja calidad del conjunto de datos utilizando un corte justo. En este caso, utilice los valores del conjunto de datos original descrito en el estudio20 publicado anteriormente, en el que se eliminan células con más del 25% de genes mitocondriales.
    dataset <- subset(dataset, subset = nFeature_RNA > 200 & percent.mt < 25)
  12. Visualice la distribución de los genes detectados, el número de ARN y el porcentaje mitocondrial en todas las células después de eliminar las células de baja calidad (Figura complementaria 3).
    plot1 <- FeatureScatter(dataset, feature1 = "nCount_RNA", feature2 = "percent.mt")
    plot2 <- FeatureScatter(dataset, feature1 = "nFeature_RNA", feature2 = " percent.mt ")
    plot1 + plot2
  13. Como paso adicional importante de control de calidad, detecte posibles dobletes en el conjunto de datos. Estas son células que se unieron durante la secuenciación de gotas y, por lo tanto, darán como resultado expresiones génicas que no están a nivel de una sola célula. Para contrarrestar este problema, se han desarrollado varias herramientas. Es importante tener en cuenta que cada herramienta hace ciertas suposiciones sobre los datos de una sola célula, por lo tanto, es importante que el usuario lea toda la documentación relevante antes de usar cualquier herramienta. En este flujo de trabajo, implemente un método denominado scDblFinder23. Tenga en cuenta que este método utiliza un algoritmo que impone una tasa de doblete esperada fija. Use los siguientes comandos para ejecutar la canalización scDblFinder.
    DefaultAssay(dataset) <- "RNA"
    sce <- scDblFinder(GetAssayData(dataset, assay="RNA", slot="counts"), samples=Idents(dataset))

    NOTA: Los conjuntos de datos multiplexados de una sola celda como este también se pueden examinar en busca de dobletes eliminando las celdas que expresan múltiples códigos de barras. Este flujo de trabajo no demostró este método porque la mayoría de los conjuntos de datos de una sola célula no tienen esta característica única. En su lugar, se muestra una canalización más generalizable para la detección de dobletes mediante el método scDblFinder.
  14. Asigne la puntuación doble a una nueva variable de metadatos.
    dataset$scDblFinder.score <- sce$scDblFinder.score
  15. Visualice la distribución de la puntuación doble en todas las celdas (Figura complementaria 4).
    VlnPlot(dataset, features = "scDblFinder.score", raster=FALSE, pt.size=0.5)
  16. Elimine las celdas por encima del umbral de puntuación doble de 0,25. Este umbral se eligió en función del gráfico de violín generado anteriormente, que mostró que la mayoría de las celdas del conjunto de datos podrían asignarse a puntajes dobles muy altos o muy bajos, y 0.25 es un límite razonable para este conjunto de datos que eliminaría la gran mayoría de los dobletes probables sin eliminar muchos dobletes improbables.
    dataset <- subset(dataset, scDblFinder.score < 0.25)
  17. Guarde el objeto Seurat del conjunto de datos como un archivo RDS en el directorio de trabajo.
    saveRDS(dataset, "dataset_post_Method2.rds")

3. Análisis de un conjunto de datos de cicatrización de heridas unicelulares con Seurat

NOTA: (Paso opcional) Si inicia el flujo de trabajo aquí, cargue el archivo RDS guardado como un objeto Seurat.

dataset <- readRDS("dataset_post_Method2.rds")

  1. Realice el flujo de trabajo estándar de Seurat para la normalización, el escalado y el análisis de componentes principales (PCA) de conjuntos de datos de una sola celda. Este flujo de trabajo estándar se describe en las siguientes viñetas de Seurat:
    Seurat - Tutorial guiado de clustering: https://satijalab.org/seurat/articles/pbmc3k_tutorial
    Lista de comandos de Seurat: https://satijalab.org/seurat/articles/essential_commands
    DefaultAssay(conjunto de datos) <- "ARN"
    dataset <- NormalizeData(object = dataset)
    dataset <- FindVariableFeatures(object = dataset)
    dataset <- ScaleData(object = dataset)
    dataset <- RunPCA(object = dataset)
  2. Visualice la cantidad de variación del conjunto de datos con respecto a las primeras 50 dimensiones de PCA (Figura complementaria 5).
    ElbowPlot(dataset, reduction = "pca", ndims = 50)
    Gran parte de la variación principal ocurre dentro de las primeras 13 dimensiones.
  3. Realice la agrupación en clústeres de celdas del conjunto de datos utilizando un rango de dimensión PCA establecido de 1 a 13 y una resolución establecida de 0,1.
    dataset <- FindNeighbors(dataset, verbose = TRUE, dims = 1:13)
    dataset <- FindClusters(dataset, verbose = TRUE, resolution = 0.1)

    NOTA: Este flujo de trabajo se centra en las diferencias a gran escala en los tipos de células. Por lo tanto, utiliza un parámetro bastante conservador para el rango de dimensiones PCA, en el que se muestra que las primeras 13 dimensiones representan la gran mayoría de la variación dentro del conjunto de datos. Para la discriminación de celdas en subtipos más pequeños y raros, el usuario puede usar un mayor número de dimensiones para el análisis posterior, ya que esos subtipos de celdas raros probablemente representan niveles más bajos de variación del conjunto de datos. El parámetro de resolución oscila entre 0 y 1 y determina la magnitud de la separación categórica impuesta al conjunto de datos. La configuración de este parámetro depende de la pregunta de investigación del usuario. Para agrupar células en numerosos subtipos pequeños y raros, utilice resoluciones más altas para el análisis posterior. Dado que este flujo de trabajo tiene como objetivo explorar diferencias más amplias entre los principales tipos de células, utiliza un valor de resolución bastante pequeño de 0,1, que se espera que agrupe las células en menos grupos más grandes. El uso de la configuración mencionada en el paso 3.3 discriminará 8 grupos de celdas únicos. Estos clústeres se asignan automáticamente a una variable de metadatos denominada "seurat_clusters".
  4. Realice análisis de reducción dimensional y búsqueda de vecinos UMAP utilizando las primeras 13 dimensiones de PCA. Agregue el número de semilla 123 para garantizar la reproducibilidad de la proyección de datos resultante.
    dataset <- RunUMAP(dataset, verbose = TRUE, dims = 1:13, seed.use = 123)
    NOTA: El algoritmo UMAP es estocástico e introduce aleatoriedad en la reducción dimensional (ver "Estabilidad y reproducibilidad" en https://cran.r-project.org/web/packages/umap/vignettes/umap.html). Si bien el uso de una semilla consistente proporciona un "nivel mínimo de reproducibilidad" al algoritmo, el gráfico resultante aún puede ser ligeramente diferente de lo que se muestra en las figuras representativas y los resultados posteriores. Las pruebas han encontrado que los resultados diferirán especialmente entre las computadoras que ejecutan Windows y las que ejecutan MacOS, probablemente debido a las diferentes implementaciones de aleatoriedad en estos sistemas operativos.
  5. Visualice la agrupación de las celdas en un gráfico UMAP (Figura 1).
    DimPlot(dataset, group.by = "seurat_clusters", raster = FALSE, label = TRUE)
    NOTA: La aleatoriedad del algoritmo UMAP puede generar gráficos ligeramente diferentes, como se muestra en la figura que muestra gráficos UMAP alternativos generados utilizando el mismo código que el anterior en computadoras con Windows y MacOS; Observe las ligeras diferencias en las formas de los grupos. Por lo tanto, es imperativo que el usuario guarde y marque el tiempo de todos los datos y gráficos a medida que se generan, y que todos los análisis posteriores en grupos se realicen cuidadosamente y teniendo en cuenta la comprensión biológica, como se describe a continuación para la anotación del tipo de celda.
  6. Debido a que se incluyen las etiquetas originales del experimento que se refieren a dónde y cuándo provienen las células durante la cicatrización de la herida, visualice la anotación de tiempo/espacio de la herida de las células en un gráfico UMAP (Figura 2).
    DimPlot(dataset, group.by = "time_space", raster = FALSE, label = FALSE)
  7. Genere una tabla de asociación de grupos de celdas con la anotación de tiempo/espacio de la herida.
    table(dataset$time_space, dataset$seurat_clusters)
  8. Determine las identidades de los principales tipos de células del conjunto de datos. Para hacer esto, calcule los genes expresados diferencialmente (DEG) entre todos los grupos. Obtenga listas DEG para clústeres, asígnelas a una variable y guarde la salida como un archivo de texto delimitado dentro del directorio de trabajo.
    NOTA: Este paso requiere un uso intensivo de la CPU y puede llevar mucho tiempo, dependiendo del hardware del usuario.
    Idents(dataset) <- "seurat_clusters"
    Cell_markers <- FindAllMarkers(dataset, max.cells.per.ident = 500, only.pos = TRUE, min.pct = 0.10, logfc.threshold = 0.25)
    write.csv(Cell_markers, file = file.path(getwd(), "dataset_cluster_markers.txt"))
  9. Descargue y abra el archivo dataset_cluster_markers.txt incluido en una hoja de cálculo (por ejemplo, Excel) copiando el contenido del archivo de texto y utilizando el Asistente de importación de texto para especificar el delimitador de coma y la identidad de las columnas del nombre del gen como Texto. Indicar que los nombres de los genes son 'Texto' es importante, de lo contrario, Excel convertirá automáticamente ciertos nombres de genes en fechas, por ejemplo, el 7 de septiembre cambia al 7 de septiembre.
  10. En una hoja de cálculo, filtre los resultados según los siguientes parámetros recomendados:
    1. Clasifique la columna avg_log2FC de mayor a menor para organizar todas las filas de acuerdo con los cambios decrecientes de log2 veces (log2FC).
    2. Clasifique la columna del clúster de menor a mayor para organizar todas las filas de acuerdo con el aumento del número de clústeres de Seurat.
    3. Filtre la columna avg_log2FC para números mayores o iguales a 2.5 para mostrar solo los genes expresados más diferencialmente (DEG) en el grupo indicado en comparación con otros grupos.
    4. Filtre la columna pct.1 para obtener números mayores o iguales a 0,4. Esta columna se refiere al porcentaje de células en el grupo indicado que expresan el gen indicado (% de grupo) y establecer el umbral en 0.4 significa que solo se muestran los genes expresados en al menos el 40% de las células en el grupo indicado.
    5. Filtre la columna pct.2 para números menores o iguales a 0.2. Esta columna se refiere al porcentaje de células NO en el grupo indicado que expresan el gen indicado (% sin grupo) y establecer el umbral en 0,2 significa que solo se muestran los genes expresados en al menos el 20% de las células NO en el grupo indicado.
    6. Filtre la columna p_val_adj para ver si hay números menores o iguales que 0,01. Esta columna se refiere al valor P ajustado o la tasa de descubrimiento falso (FDR), lo que indica la fuerza estadística del DEG indicado, y establecer el umbral en 0,01 significa que solo se muestran los genes con un FDR < 0,01.
      NOTA: La Tabla complementaria 1 (JoVE_DEGs_cellMarkers.xlsx) contiene el resultado completo de los genes clasificados expresados diferencialmente utilizados en el paso 3.10 del protocolo. La Tabla complementaria 2 muestra los 5 genes principales para cada grupo en este análisis, con los genes en negrita utilizados para visualizaciones posteriores.
  11. Para la anotación imparcial de clústeres de tipo celda, utilice la herramienta de análisis de enriquecimiento basada en web EnrichR.
    Utilice el enlace: https://maayanlab.cloud/Enrichr/
  12. Copie las listas de DEG de cada clúster en una ventana de EnrichR independiente y, a continuación, haga clic en Analizar. La herramienta EnrichR ejecuta la lista de genes a través de cientos de bases de datos seleccionadas y clasifica cada término enriquecido en cada categoría.
  13. Para fines de anotación de tipo de celda, haga clic en la pestaña Tipos de celda anterior y concéntrese en los 5 enriquecimientos principales en las tres bases de datos seleccionadas de marcadores de celda en el lado izquierdo (Figura 3):
    Marcador de celda 2024 (http://bio-bigdata.hrbmu.edu.cn/CellMarker/)
    Tabula sapiens (https://tabula-sapiens-portal.ds.czbiohub.org/)
    PanglaoDB Aumentado (https://panglaodb.se/)
  14. Con base en los enriquecimientos de los DEG en estas bases de datos, confirme la identidad probable de los 8 grupos. Tenga en cuenta que hay dos grupos (2, 6) que se enriquecen como fibroblastos; por lo tanto, combine estos clústeres en anotaciones de tipo de celda única. Asigne las identidades de tipo de celda como etiquetas a una nueva variable de metadatos denominada cell_types.
    Idents(dataset) <- "seurat_clusters"
    dataset[["cell_types"]] <- Idents(dataset)
    Idents(dataset) <- "cell_types"
    dataset <- RenameIdents(dataset,
    "0" = "Macrophage",
    "1" = "Neutrophil",
    "2" = "Fibroblast",
    "3" = "Epithelial cell",
    "4" = "Endothelial cell",
    "5" = "T cell",
    "6" = "Fibroblast",
    "7" = "Smooth muscle cell"
    )
    levels(dataset)
    dataset[["cell_types"]] <- Idents(dataset)
  15. Visualice los grupos de celdas renombrados como anotaciones en un gráfico UMAP (Figura 4).
    DimPlot(dataset, group.by = "cell_types", raster = FALSE, label = FALSE)
  16. Visualice la localización de los genes marcadores de grupo superiores (en negrita) de la Tabla 1 en una serie de gráficos UMAP (Figura 5).
    DefaultAssay(dataset) <- "RNA"
    FeaturePlot(dataset, features = c("Arg1", "Retnlg", "Fgf7", "Dsp", "Tie1", "Cd3g", "Cdh4", "Rgs5"), raster=FALSE, ncol = 4)
  17. Visualice los DEG de marcadores de clúster superiores en un diagrama de puntos, agrupados por los números de clúster originales (Figura complementaria 6).
    DotPlot(dataset, group.by = "seurat_clusters", features = c("Arg1","Retnlg","Fgf7","Dsp","Tie1", "Cd3g","Cdh4","Rgs5")) + RotatedAxis() + scale_colour_gradient2(low = "blue", mid = "grey", high = "red")
  18. Visualice los DEG de marcadores de clúster superiores en un diagrama de puntos, agrupados por los tipos de células anotados (Figura 6).
    DotPlot(dataset, group.by = "cell_types", features = c("Arg1","Retnlg","Fgf7","Dsp","Tie1", "Cd3g","Cdh4","Rgs5")) + RotatedAxis() + scale_colour_gradient2(low = "blue", mid = "grey", high = "red")
  19. Para realizar análisis de series temporales, primero simplifique el dataset para eliminar el componente espacial. Para los análisis de curso de tiempo, agrupe las anotaciones de tiempo/espacio de la herida en días generales posteriores a la herida (DPW) con una nueva variable de metadatos llamada "DPW".
    Idents(dataset) <- "time_space"
    dataset[["DPW"]] <- Idents(dataset)
    Idents(dataset) <- "DPW"
    new.cluster.ids <- c("D1", "D1", "D1", "D1", "D3", "D3", "D3", "D3", "D7", "D7", "D7", "D7", "D14", "D14", "D14", "D14", "UW")
    names(new.cluster.ids) <- levels(dataset)
    dataset <- RenameIdents(dataset, new.cluster.ids)
    dataset[["DPW"]] <- Idents(dataset)
    Idents(dataset) <- "DPW"
  20. Visualice las nuevas agrupaciones de tiempo de la herida en un gráfico UMAP (Figura complementaria 7).
    DimPlot(dataset, group.by = "DPW", raster = FALSE, label = FALSE)
  21. Genere tablas que muestren cuántas celdas de cada tipo aparecen en cada DPW.
    ​table(dataset$DPW, dataset$cell_types)
    1. Paso opcional: Para obtener también listas DEG para grupos de recorrido de tiempo de bobinado, asígnelas a una variable y guarde la salida como un archivo de texto delimitado.
      Idents(dataset) <- "DPW"
      Cell_DPW_markers <- FindAllMarkers(dataset, max.cells.per.ident = 500, only.pos = TRUE, min.pct = 0.10, logfc.threshold = 0.25)
      write.csv(Cell_DPW_markers, file = file.path(getwd(), "dataset_DPW_markers.txt"))
  22. Convierta los números de células en proporciones por categoría para comprender mejor los cambios relativos en la composición del tipo de célula a lo largo del curso temporal de la curación. Visualice la proporción de DPW en cada tipo de célula (Figura complementaria 8):
    pt1 <- table(dataset$DPW, dataset$cell_types)
    pt1 <- as.data.frame(pt1)
    pt1$Var1 <- as.character(pt1$Var1)
    ggplot(pt1, aes(x = Var2, y = Freq, fill = Var1)) +
    theme_bw(base_size = 15) +
    geom_col(position = "fill", width = 0.5) +
    xlab("Sample") + RotatedAxis() +
    ylab("Proportion") +
    theme(legend.title = element_blank())
  23. Visualice la proporción de tipos de células en cada DPW ( Figura 7).
    pt2 <- table(dataset$cell_types, dataset$DPW)
    pt2 <- as.data.frame(pt2)
    pt2$Var1 <- as.character(pt2$Var1)
    ggplot(pt2, aes(x = Var2, y = Freq, fill = Var1)) +
    theme_bw(base_size = 15) +
    geom_col(position = "fill", width = 0.5) +
    xlab("Sample") +
    ylab("Proportion") +
    theme(legend.title = element_blank())
  24. Guarde el objeto Seurat del conjunto de datos como un archivo RDS en el directorio de trabajo.
    saveRDS(dataset, "dataset_post_Method3.rds")

4. Análisis de subtipos celulares con Seurat

NOTA: El poder del análisis unicelular permite el descubrimiento y análisis de subtipos raros dentro de los principales tipos de células que se analizan anteriormente. Este ejemplo se centra en los fibroblastos, que inicialmente se agruparon en dos grupos de Seurat antes de combinarse en una sola categoría. Esta parte del protocolo se centra específicamente en los fibroblastos, excluyendo todos los demás tipos de células, y explora sus identidades y propiedades temporales durante la cicatrización de heridas. Como paso opcional, si es necesario, cargue el archivo RDS guardado como un objeto Seurat.

dataset <- readRDS("dataset_post_Method3.rds")

  1. Subconjunto del conjunto de datos original de acuerdo con la identidad de la célula de fibroblastos.
    Idents(conjunto de datos) <- "cell_types"
    dataset_fibroblast <- subset(dataset, idents = "Fibroblast")
  2. Realice PCA en este conjunto de datos más pequeño y visualice la cantidad de variación del conjunto de datos con respecto a las dimensiones de PCA (Figura complementaria 9).
    dataset_fibroblast <- RunPCA(dataset_fibroblast, verbose = TRUE)
    ElbowPlot(dataset_fibroblast, reduction = "pca", ndims = 50)

    NOTA: Gran parte de la variación principal ocurre dentro de las primeras 9 dimensiones.
  3. Realice la agrupación en clústeres de celdas del conjunto de datos utilizando un rango de dimensión PCA establecido de 1 a 9 y una resolución establecida de 0,1.
    dataset_fibroblast <- FindNeighbors(dataset_fibroblast, verbose = TRUE, dims = 1:9)
    dataset_fibroblast <- FindClusters(dataset_fibroblast, verbose = TRUE, resolution = 0.1)

    NOTA: Con esta configuración, el algoritmo discrimina 3 grupos de fibroblastos únicos. Estos clústeres se asignan automáticamente a una variable de metadatos denominada seurat_clusters.
  4. Realice análisis de reducción dimensional y búsqueda de vecinos UMAP utilizando las primeras 9 dimensiones de PCA. Agregue el número de semilla 123 para garantizar la reproducibilidad de la proyección de datos resultante.
    dataset_fibroblast <- RunUMAP(dataset_fibroblast, verbose = TRUE, dims = 1:9, seed.use = 123)
  5. Visualice la agrupación de las celdas en un gráfico UMAP (Figura 8).
    DimPlot(dataset_fibroblast, group.by = "seurat_clusters", raster = FALSE, label = TRUE)
  6. Visualice la anotación del curso temporal de la herida de las células en un gráfico UMAP (Figura complementaria 10).
    DimPlot(dataset_fibroblast, group.by = "DPW", raster = FALSE, label = FALSE)
  7. Obtenga listas DEG para los tres subtipos de fibroblastos y guárdelas en un archivo de texto en el directorio de trabajo.
    Idents(dataset_fibroblast) <- "seurat_clusters"
    fibroblast_markers <- FindAllMarkers(dataset_fibroblast, max.cells.per.ident = 500, only.pos = TRUE, min.pct = 0.10, logfc.threshold = 0.25)
    write.csv(fibroblast_markers, file = file.path(getwd(), "fibroblast_cluster_markers.txt"))
  8. Siga pasos similares a los anteriores (pasos 3.9-3.10) en una hoja de cálculo para filtrar los DEG en los marcadores de subtipo de fibroblastos superiores.
  9. Defina una lista de genes personalizada como una variable copiando los 5 marcadores de subtipos de fibroblastos principales para cada uno de los tres grupos del archivo de texto DEG.
    FB_type_marker <- c("Plac8", "Cthrc1", "Adam12", "Ifi211", "Plat", "Cdh4", "Aldh3a1", "Ppp1r14a", "Oxtr", "Serpina3c", "Sostdc1", "Scube3", "Ptprz1", "Corin", "Alx4")
  10. Visualice los genes de la lista en el conjunto de datos de solo fibroblastos llamando a la variable en el parámetro features del diagrama de puntos (Figura 9).
    DotPlot(dataset_fibroblast, group.by="seurat_clusters", features = FB_type_marker) + RotatedAxis() + scale_colour_gradient2(midpoint = 0, low = "blue", mid = "grey", high = "red")
    DotPlot(dataset_fibroblast, group.by="DPW", features = FB_type_marker) + RotatedAxis() + scale_colour_gradient2(midpoint = 0, low = "blue", mid = "grey", high = "red")
  11. Visualice los genes de la lista en el conjunto de datos unicelular original llamando a la variable en el parámetro features del diagrama de puntos (Figura complementaria 11).
    DotPlot(dataset, group.by="cell_types", features = FB_type_marker) + RotatedAxis() + scale_colour_gradient2(midpoint = 0, low = "blue", mid = "grey", high = "red")
  12. Visualice la proporción de subtipos de fibroblastos en cada categoría de DPW (Figura complementaria 12).
    pt3 <- table(dataset_fibroblast$seurat_clusters, dataset_fibroblast$DPW)
    pt3 <- as.data.frame(pt3)
    pt3$Var1 <- as.character(pt3$Var1)
    ggplot(pt3, aes(x = Var2, y = Freq, fill = Var1)) +
    theme_bw(base_size = 15) +
    geom_col(position = "fill", width = 0.5) +
    xlab("Sample") +
    ylab("Proportion") +
    theme(legend.title = element_blank())
  13. Visualice la proporción de células de fibroblastos DPW en cada categoría de subtipo de fibroblastos (Figura complementaria 13).
    pt4 <- table(dataset_fibroblast$DPW, dataset_fibroblast$seurat_clusters)
    pt4 <- as.data.frame(pt4)
    pt4$Var1 <- as.character(pt4$Var1)
    ggplot(pt4, aes(x = Var2, y = Freq, fill = Var1)) +
    theme_bw(base_size = 15) +
    geom_col(position = "fill", width = 0.5) +
    xlab("Sample") +
    ylab("Proportion") +
    theme(legend.title = element_blank())
  14. Guarde el objeto Seurat del conjunto de datos como un archivo RDS en el directorio de trabajo.
    saveRDS(dataset_fibroblast, "dataset_fibroblast_post_Method4.rds")

5. Ejemplo de análisis de seguimiento a través de la puntuación del módulo

NOTA: Un método útil para analizar conjuntos de datos de una sola célula se denomina puntuación de módulos. En este flujo de trabajo, se puede definir una lista de genes de acuerdo con el conocimiento previo y luego calcular las puntuaciones de los módulos, lo que puede identificar posibles enriquecimientos de la lista de genes dentro de cada célula. Estas puntuaciones se pueden promediar en las anotaciones de celda para revelar posibles patrones de enriquecimiento.

Aquí, use listas de genes de un estudio publicado anteriormente2, donde se identificaron genes específicos de la fase de cicatrización de heridas utilizando muestras secuenciadas de ARN a granel de todo el continuo de curación. Las listas de genes se guardaron en un archivo de texto delimitado por tabulaciones (Archivo complementario 2: JoVE_PhaseSpecificGenes.txt) que ahora se puede descargar en el directorio de trabajo y se puede utilizar para generar listas de genes que identifican las tres fases principales de curación.

  1. Cargue listas de genes en una variable leyendo el archivo TEXT.
    PhaseSpecificGenes <- read_delim("JoVE_PhaseSpecificGenes.txt", delim="\t", col_names = T)
  2. Separe las columnas en variables individuales de la lista de genes y cambie los genes por nombres de ratón que tengan su primera letra en mayúscula.
    PS_Inflammatory <- PhaseSpecificGenes[1]
    PS_Inflammatory_ms <- lapply(PS_Inflammatory, str_to_sentence)
    PS_Proliferative <- PhaseSpecificGenes[2]
    PS_Proliferative_ms <- lapply(PS_Proliferative, str_to_sentence)
    PS_Resolution <- PhaseSpecificGenes[3]
    PS_Resolution_ms <- lapply(PS_Resolution, str_to_sentence)

    NOTA: (Opcional) Si es necesario, cargue el archivo RDS guardado como un objeto Seurat.
    dataset <- readRDS("dataset_post_Method3.rds")
  3. Utilice las listas de genes como módulos para puntuar cada célula del conjunto de datos de acuerdo con las tres fases de curación.
    dataset <- AddModuleScore(
    object = dataset,
    features = PS_Inflammatory_ms,
    ctrl = 100,
    name = 'Inflammatory'
    )
    dataset <- AddModuleScore(
    object = dataset,
    features = PS_Proliferative_ms,
    ctrl = 100,
    name = 'Proliferative'
    dataset <- AddModuleScore(
    object = dataset,
    features = PS_Resolution_ms,
    ctrl = 100,
    name = 'Resolution'
    )
  4. Visualice las puntuaciones agregadas de los módulos por categoría de celda, incluidos DPW y los principales tipos de celdas (Figura 10).
    DotPlot(dataset, group.by="DPW", features = c("Inflammatory1","Proliferative1", "Resolution1")) + RotatedAxis() + scale_colour_gradient2(midpoint = 0, low = "blue", mid = "grey", high = "red")
    DotPlot(dataset, group.by="cell_types", features = c("Inflammatory1","Proliferative1", "Resolution1")) + RotatedAxis() + scale_colour_gradient2(midpoint = 0, low = "blue", mid = "grey", high = "red")

6. Ejemplo de análisis de seguimiento a través de CellChat

NOTA: Otro método útil y bien citado para el análisis de conjuntos de datos unicelulares es inferir interacciones célula-célula. En este flujo de trabajo, utilice el paquete CellChat, que infiere las comunicaciones célula-célula mediante el análisis de las interacciones diferenciales ligando-receptor entre grupos celulares22. Recientemente, los desarrolladores de CellChat publicaron un protocolo detallado paso a paso para su uso generalizado24, y este es un excelente recurso para los usuarios a medida que trabajan en el siguiente flujo de trabajo y lo aplican a sus conjuntos de datos. Como ejemplo, el siguiente flujo de trabajo compara las interacciones de todas las células principales en las heridas a 1 frente a 14 días después de la herida (DPW). Cada paso no se describe con gran detalle, ya que todos los pasos ya se han descrito en la publicación oficial de CellChat24 , así como en los tutoriales, vinculados aquí:

Inferencia y análisis de la comunicación célula-célula utilizando
CellChat: https://github.com/jinworks/CellChat/blob/master/tutorial/CellChat-vignette.html

Análisis comparativo de múltiples conjuntos de datos usando CellChat:
https://github.com/jinworks/CellChat/blob/master/tutorial/Comparison_analysis_of_multiple_datasets.html

Paso opcional: Si es necesario, cargue el archivo RDS guardado como un objeto Seurat:

dataset <- readRDS("dataset_post_Method3.rds")

  1. Subconjunto del conjunto de datos original en dos conjuntos de datos según la anotación DPW.
    Idents(dataset) <- "DPW"
    dataset_D1 <- subset(dataset, ident = "D1")
    dataset_D14 <- subset(dataset, ident = "D14")
  2. Defina la anotación mediante la cual se realizará CellChat --- en este caso, use los tipos de celdas principales.
    Idents(dataset_D1) <- "cell_types"
    Idents(dataset_D14) <- "cell_types"
  3. Cree los objetos CellChat y siga el flujo de trabajo típico de CellChat. Consulte los tutoriales vinculados anteriormente como referencias detalladas para cada paso.
    cellchat_D1 <- createCellChat(dataset_D1, group.by = "ident", assay = "RNA")
    cellchat_D14 <- createCellChat(dataset_D14, group.by = "ident", assay = "RNA")
    CellChatDB <- CellChatDB.mouse
    CellChatDB.use <- CellChatDB
    cellchat_D1@DB <- CellChatDB.use
    cellchat_D14@DB <- CellChatDB.use
    cellchat_D1 <- subsetData(cellchat_D1)
    cellchat_D14 <- subsetData(cellchat_D14)
    future::plan("multisession", workers = 4)
    cellchat_D1 <- identifyOverExpressedGenes(cellchat_D1, do.fast = F)
    cellchat_D14 <- identifyOverExpressedGenes(cellchat_D14, do.fast = F)
    cellchat_D1 <- identifyOverExpressedInteractions(cellchat_D1)
    cellchat_D14 <- identifyOverExpressedInteractions(cellchat_D14)
    cellchat_D1 <- computeCommunProb(cellchat_D1, type = "triMean", population.size = TRUE)
    cellchat_D14 <- computeCommunProb(cellchat_D14, type = "triMean", population.size = TRUE)
    cellchat_D1 <- filterCommunication(cellchat_D1, min.cells = 10)
    cellchat_D14 <- filterCommunication(cellchat_D14, min.cells = 10)
    cellchat_D1 <- computeCommunProbPathway(cellchat_D1)
    cellchat_D14 <- computeCommunProbPathway(cellchat_D14)
    cellchat_D1 <- aggregateNet(cellchat_D1)
    cellchat_D14 <- aggregateNet(cellchat_D14)
    cellchat_D1 <- netAnalysis_computeCentrality(cellchat_D1, slot.name = "netP")
    cellchat_D14 <- netAnalysis_computeCentrality(cellchat_D14, slot.name = "netP")
  4. Visualice las fuerzas de interacción entrantes y salientes en todos los tipos de células principales en cada punto de tiempo de curación de heridas (Figura complementaria 14).
    netAnalysis_signalingRole_scatter(cellchat_D1)
    netAnalysis_signalingRole_scatter(cellchat_D14)

    Los fibroblastos aumentan drásticamente sus interacciones entre D1 y D14 DPW.
  5. Muestre las listas de todas las vías de comunicación célula a célula inferidas significativas.
    cellchat_D1@netP$pathways
    cellchat_D14@netP$pathways

    La vía del colágeno es una de las vías importantes tanto en el DPW D1 como en el D14.
  6. Concéntrese en la vía de señalización del colágeno y su interacción con los fibroblastos.
    pathways.show <- c("COLLAGEN")
  7. Visualice las interacciones de la vía de señalización del colágeno entre tipos de células utilizando diagramas circulares (Figura complementaria 15).
    par(mfrow=c(1,2))
    netVisual_aggregate(cellchat_D1, signaling = pathways.show, layout = "circle")
    netVisual_aggregate(cellchat_D14, signaling = pathways.show, layout = "circle")
    par(mfrow=c(1,1))
  8. Visualice las interacciones de la vía de señalización del colágeno entre tipos de células utilizando diagramas de cuerdas (Figura complementaria 16).
    par(mfrow=c(1,2))
    strwidth <- function(x) {0.5}
    netVisual_aggregate(cellchat_D1, signaling = pathways.show, layout = "chord", vertex.label.cex = 0.6)
    netVisual_aggregate(cellchat_D14, signaling = pathways.show, layout = "chord", vertex.label.cex = 0.6)
    par(mfrow=c(1,1))
  9. Visualice las interacciones de la vía de señalización del COLÁGENO con los fibroblastos como células fuente (Figura complementaria 17).
    NOTA: Los tipos de células en los objetos cellchat se enumeran como ID en el orden en que se asignaron en el objeto Seurat original: 1 = Macrófago, 2 = Neutrófilo, 3 = Fibroblasto, 4 = Célula epitelial, 5 = Célula endotelial, 6 = Célula T, 7 = Célula de músculo liso.
    par(mfrow=c(1,2))
    strwidth <- function(x) {0.5}
    netVisual_aggregate(cellchat_D1, signaling = pathways.show, layout = "chord", vertex.label.cex = 0.6, sources.use = 3)
    netVisual_aggregate(cellchat_D14, signaling = pathways.show, layout = "chord", vertex.label.cex = 0.6, sources.use = 3)
    ​par(mfrow=c(1,1))
  10. Visualice las contribuciones de cada par ligando-receptor en la vía de señalización del COLÁGENO con fibroblastos como células fuente.
    1. Uso de gráficos de burbujas (Figura complementaria 18):
      gg1 <- netVisual_bubble(cellchat_D1, sources.use = 3, targets.use = NULL, signaling = pathways.show, remove.isolate = FALSE)
      gg2 <- netVisual_bubble(cellchat_D14, sources.use = 3, targets.use = NULL, signaling = pathways.show, remove.isolate = FALSE)
      ​gg1 + gg2
    2. Usando diagramas de cuerdas (Figura complementaria 19):
      par(mfrow=c(1,2))
      strwidth <- function(x) {0.4}
      netVisual_chord_gene(cellchat_D1, sources.use = 3, targets.use = NULL, signaling = pathways.show, lab.cex = 0.6, show.legend= F)
      netVisual_chord_gene(cellchat_D14, sources.use = 3, targets.use = NULL, signaling = pathways.show, lab.cex = 0.6, legend.pos.x = 60)
      ​par(mfrow=c(1,1))
  11. Concéntrese en la interacción ligando-receptor Col1a1-Cd44 dentro de la vía de señalización COLÁGENO.
    ​LR.show <- "COL1A1_CD44"
  12. Visualice las interacciones ligando-receptor Col1a1-Cd44 entre tipos de células utilizando diagramas de cuerdas (Figura complementaria 20).
    strwidth <- function(x) {0.5}
    netVisual_individual(cellchat_D1, signaling = pathways.show, pairLR.use = LR.show, layout = "chord")
    netVisual_individual(cellchat_D14, signaling = pathways.show, pairLR.use = LR.show, layout = "chord")
  13. Realice un análisis diferencial de CellChat generando un objeto CellChat combinado.
    object.list_D14_v_D1 <- list(D1 = cellchat_D1, D14 = cellchat_D14)
    cellchat_D14_v_D1 <- mergeCellChat(object.list_D14_v_D1, add.names = names(object.list_D14_v_D1))
  14. Visualice los números totales y las fuerzas relativas de las interacciones célula-célula en los puntos de tiempo de cicatrización de heridas (Figura complementaria 21).
    gg1 <- compareInteractions(cellchat_D14_v_D1, show.legend = F)
    gg2 <- compareInteractions(cellchat_D14_v_D1, show.legend = F, measure = "weight")
    gg1 + gg2
  15. Visualice usando un gráfico circular las fuerzas de interacción diferencial célula-célula entre cada tipo de célula a medida que la herida pasa del día 1 al día 14 (Figura complementaria 22).
    netVisual_diffInteraction(cellchat_D14_v_D1, weight.scale = T, measure = "weight")
  16. Visualice usando un mapa de calor las fuerzas de interacción diferencial célula-célula entre cada tipo de célula a medida que la herida pasa del día 1 al día 14 (Figura complementaria 23).
    netVisual_heatmap(cellchat_D14_v_D1, measure = "weight")
  17. Visualice utilizando un gráfico de rango las contribuciones relativas de las vías individuales a las interacciones célula-célula con fibroblastos como células fuente en el día 14 frente al día 1 ( Figura complementaria 24).
    rankNet(cellchat_D14_v_D1, mode = "comparison", measure = "weight", sources.use = 3, targets.use = NULL, stacked = T, do.stat = TRUE)
  18. Visualice mediante diagramas de burbujas las contribuciones relativas de los pares ligando-receptor individuales en la vía de señalización del colágeno con fibroblastos como células fuente en el día 14 en comparación con el día 1 (Figura complementaria 25).
    gg1 <- netVisual_bubble(cellchat_D14_v_D1, sources.use = 3, targets.use = NULL, signaling = pathways.show, comparison = c(1, 2), max.dataset = 2, title.name = "Increased signaling in D14", angle.x = 45, remove.isolate = F)
    gg2 <- netVisual_bubble(cellchat_D14_v_D1, sources.use = 3, targets.use = NULL, signaling = pathways.show, comparison = c(1, 2), max.dataset = 1, title.name = "Decreased signaling in D14", angle.x = 45, remove.isolate = F)
    gg1 + gg2
  19. Al igual que los objetos de Seurat, los objetos de CellChat se pueden guardar y abrir como archivos RDS.
    saveRDS(cellchat_D1, "cellchat_D1.rds")
    saveRDS(cellchat_D14, "cellchat_D14.rds")
    saveRDS(cellchat_D14_v_D1, "cellchat_D14_v_D1.rds")
  20. Paso opcional: Los objetos de CellChat también se pueden abrir desde archivos RDS.
    cellchat_D1 <- readRDS("cellchat_D1.rds")
    cellchat_D14 <- readRDS("cellchat_D14.rds")
    cellchat_D14_v_D1 <- readRDS("cellchat_D14_v_D1.rds")

7. Ejemplo de un análisis integrador mediante la combinación de múltiples conjuntos de datos unicelulares

NOTA: Los conjuntos de datos de una sola célula a menudo se separan en varios archivos porque se secuenciaron en lotes o grupos. Este flujo de trabajo muestra cómo integrar dos de los cinco lotes del conjunto de datos de curación de heridas 20. Los métodos actuales para la integración de conjuntos de datos se describen mediante las siguientes viñetas de Seurat:

Introducción a la integración scRNA-seq:
https://satijalab.org/seurat/articles/integration_introduction

Análisis integrador en Seurat v5:

https://satijalab.org/seurat/articles/seurat5_integration

Nota: Existen numerosos métodos de integración de conjuntos de datos de una sola celda, cada uno con sus propias fortalezas y debilidades. Para obtener más información, consulte el punto de referencia completo de los métodos de integración25. Es importante que el usuario lea toda la documentación relevante antes de confiar en cualquier método de integración.

  1. Repita todos los pasos del Método 2 para otro lote del conjunto de datos20 de Hu et al. En el siguiente protocolo, se usa el lote #3. Se incluye el archivo de script de R complementario y se puede usar para procesar el lote #3 (Archivo complementario 3: JoVE_Rscript_b3. R). Recuerde crear y usar una nueva variable para el conjunto de datos --- en el código a continuación, use "dataset_b3" para el lote de conjuntos de datos #3.
    1. Paso opcional: Si es necesario, abra los dos conjuntos de datos como objetos Seurat desde sus archivos RDS guardados en el directorio de trabajo:
      dataset <- readRDS("dataset_post_Method2.rds")
      dataset_b3 <- readRDS("dataset_b3_post_Method2.rds")
  2. Asigne una nueva variable a cada conjunto de datos denominada "lote" para etiquetar el conjunto de datos de origen en análisis posteriores.
    dataset@meta.data$batch <- "b1"
    dataset_b3@meta.data$batch <- "b3"
  3. Realice la combinación de Seurat de los dos conjuntos de datos, agregue anotaciones de ID de celda basadas en lotes y, a continuación, realice el flujo de trabajo estándar de Seurat para el conjunto de datos combinado, como se describe en el Método 3.
    dataset_merged <- merge(x = dataset, y = c(dataset_b3), add.cell.ids = c("b1", "b3"), merge.data = TRUE)
    DefaultAssay(dataset_merged) <- "RNA"
    dataset_merged <- NormalizeData(dataset_merged)
    dataset_merged <- FindVariableFeatures(dataset_merged)
    dataset_merged <- ScaleData(dataset_merged)
    dataset_merged <- RunPCA(dataset_merged)
    ElbowPlot(dataset_merged, reduction = "pca", ndims = 50)
  4. Realice análisis de clústeres y UMAP en el conjunto de datos combinado antes de la integración de datos.
    dataset_merged <- FindNeighbors(dataset_merged, dims = 1:10, reduction = "pca")
    dataset_merged <- FindClusters(dataset_merged, resolution = .1, cluster.name = "unintegrated_clusters")
    dataset_merged <- RunUMAP(dataset_merged, dims = 1:10, seed.use = 123, reduction = "pca", reduction.name = "umap.unintegrated")
  5. Visualice el gráfico UMAP según los números de clúster y lote (Figura complementaria 26).
    DimPlot(dataset_merged, reduction = "umap.unintegrated", group.by = c("seurat_clusters", "batch"))
  6. Muestra la distribución de los números de celda en cada clúster según el número de lote.
    table(dataset_merged$batch, dataset_merged$seurat_clusters)
    NOTA: A partir del gráfico UMAP y la tabla, no parece haber ningún efecto significativo por lotes para estos dos conjuntos de datos. La evidencia de efectos por lotes se manifestaría como discrepancias inesperadas en la distribución de conglomerados entre los dos conjuntos de datos, lo que podría significar que existen posibles diferencias técnicas entre los conjuntos de datos que anulan las similitudes biológicas reales.
  7. Realice la integración de datos de Seurat utilizando el método RPCA. Para obtener más información sobre este y otros métodos de integración de datos, lea la viñeta de Seurat vinculada anteriormente.
    dataset_merged <- IntegrateLayers(
    object = dataset_merged, method = RPCAIntegration,
    orig.reduction = "pca", new.reduction = "integrated.rpca",
    verbose = TRUE
    )
  8. Realice análisis de clústeres y UMAP en el conjunto de datos combinado después de la integración de datos.
    FindNeighbors(dataset_merged, dims = 1:10, reduction = "integrated.rpca")
    dataset_merged <- FindClusters(dataset_merged, resolution = .1, cluster.name = "rpca_clusters")
    dataset_merged <- RunUMAP(dataset_merged, dims = 1:10, seed.use = 123, reduction = "integrated.rpca", reduction.name = "umap.rpca")
  9. Visualice el gráfico UMAP según los números de clúster y lote después de la integración (Figura complementaria 27).
    DimPlot(dataset_merged, reduction = "umap.rpca", group.by = c("seurat_clusters","batch"))
  10. Muestra la distribución de los números de celda en cada clúster según el número de lote después de la integración.
    table(dataset_merged$batch, dataset_merged$seurat_clusters)
    A partir del gráfico UMAP y la tabla de los datos integrados, ahora existe una excelente superposición entre los dos lotes en diferentes clústeres. Curiosamente, la integración de los datos dio como resultado la identificación de un clúster adicional utilizando los mismos parámetros de agrupación.
  11. Después de la integración del conjunto de datos y antes de los análisis posteriores, se deben unir las capas del conjunto de datos combinado.
    dataset_merged <- JoinLayers(dataset_merged)
  12. Guarde el objeto Seurat del conjunto de datos como un archivo RDS en el directorio de trabajo.
    saveRDS(dataset_merged, "merged_dataset_post_Method7.rds")

Results

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

A partir del método #2, el protocolo recorre los pasos para cargar y realizar pasos de control de calidad en un conjunto de datos de curación de heridas unicelular. Después de crear el objeto Seurat (paso 2.6.2), una serie de pasos fusiona los dos ensayos dentro del conjunto de datos (ARN y proteína; pasos 2.6.3-2.6.7) y realiza la descomplejación del ensayo de proteína de acuerdo con los códigos de barras espacio-temporales (pasos 2.6.8-2.6.9). La función de descomplejización asigna varias etiquetas de metadatos a cada celda del conjunto de datos, incluida "barcodes_maxID", que identifica el código de barras espacio-temporal más probable de cada celda (paso 2.6.10). En el paso 2.6.11, se realiza la función de gráfico de violín para visualizar la distribución de los genes detectados en las células en función de sus códigos de barras multiplexados. El resultado representativo de este paso (Figura complementaria 1) muestra que existe una distribución bastante uniforme de los genes detectados para cada código de barras, lo cual es importante para la integridad del conjunto de datos y el análisis posterior de los puntos de tiempo de cicatrización de heridas. Después de asignar la etiqueta adecuada a los códigos de barras de proteínas (paso 2.6.12), el protocolo muestra cómo realizar pasos de control de calidad en el ensayo de ARN del conjunto de datos, comenzando con el cálculo del porcentaje de genes mitocondriales en cada célula (paso 2.9). En el paso 2.10, se realiza la función de diagrama de dispersión de características para visualizar la distribución de los genes detectados, el número de ARN y el porcentaje mitocondrial en todas las células. Los resultados representativos de este paso (Figura complementaria 2) muestran que hay una serie de células con gran contenido mitocondrial, lo que se correlaciona con recuentos bajos de ARN e identifica células muertas o moribundas. Después de eliminar las células con recuentos bajos de ARN y grandes contenidos mitocondriales (paso 2.11), en el paso 2.12 se realiza otra función de diagrama de dispersión de características en el conjunto de datos del subconjunto, y el resultado representativo de este paso (Figura complementaria 3) muestra que la distribución de genes detectados y el porcentaje de ARN mitocondrial por célula ahora es más normal, despejando el camino para análisis posteriores sólidos. A continuación, el protocolo describe el uso de la función scDblFinder para identificar posibles dobletes en el conjunto de datos y asigna un nuevo metadatos llamado "scDblFinder.score" a cada celda (pasos 2.13-2.14). En el paso 2.15, se realiza la función de gráfico de violín para visualizar la distribución de las puntuaciones dobletes en el conjunto de datos, y el resultado representativo de este paso (Figura complementaria 4) muestra que hay una serie de celdas con puntuaciones dobles relativamente altas, y que 0,25 parece ser un límite natural por encima del cual hay una población de probables dobletes. Por lo tanto, los siguientes pasos utilizan este parámetro para subestablecer el conjunto de datos en celdas por debajo del límite (paso 2.16), completando así los pasos de control de calidad para este conjunto de datos de una sola celda.

A partir del método #3, el protocolo recorre los pasos para analizar el conjunto de datos de cicatrización de heridas unicelulares de calidad controlada utilizando el paquete y el flujo de trabajo de Seurat. Después de la normalización y el escalado de los datos de ARN, se realiza un análisis de PCA (paso 3.1). En el paso 3.2, la función de diagrama de codo se utiliza para visualizar la cantidad de variación del conjunto de datos con respecto a las primeras 50 dimensiones de PCA, y el resultado representativo de este paso (Figura complementaria 5) muestra que gran parte de la variación principal ocurre dentro de las primeras 13 dimensiones identificadas por la curva en el gráfico. Luego, el protocolo muestra cómo encontrar vecinos y realizar la agrupación de células (paso 3.3) y la reducción dimensional UMAP (paso 3.4) del conjunto de datos utilizando las primeras 13 dimensiones de PCA y un parámetro de resolución de agrupación relativamente bajo de 0.1, los cuales se eligieron para identificar los principales tipos de células más generalizables en las heridas. En el paso 3.5, se realiza la función de gráfico dimensional para visualizar la agrupación de las celdas en un gráfico UMAP, y el resultado representativo de este paso (Figura 1) muestra que todas las celdas del conjunto de datos se agrupan en torno a 8 grupos principales de clústeres de Seurat codificados por colores, con gráficos UMAP ligeramente diferentes obtenidos de una computadora con Windows (izquierda) y MacOS (derecha). En el paso 3.6, se realiza otra función de gráfico dimensional para visualizar la anotación de tiempo/espacio de las células y el resultado representativo de este paso (Figura 2) muestra que todas las celdas del conjunto de datos están distribuidas según su origen en el tiempo/espacio, sin agrupamiento aparente según la anotación en el tiempo/espacio. A continuación, el protocolo describe cómo obtener listas de genes expresados diferencialmente y guardarlos en un archivo de texto (paso 3.8), abrir la tabla de datos en una hoja de cálculo y realizar varios pasos de filtrado para obtener los marcadores de clúster mejor clasificados para cada grupo de células (pasos 3.9-3.10.6). El resultado representativo de estos pasos (Cuadro complementario 1) es el archivo de hoja de cálculo final que contiene el resultado completo de los genes clasificados expresados diferencialmente, mientras que otro resultado representativo (Cuadro complementario 2) es una tabla simplificada que muestra los 5 principales genes regulados y expresados al alza para cada grupo de Seurat. Luego, el protocolo describe cómo usar una herramienta de análisis de enriquecimiento funcional basada en la web llamada EnrichR para identificar tipos de células putativas de acuerdo con los genes marcadores de grupo principales (pasos 3.11-3.12), y los resultados representativos de estos pasos (Figura 3) son capturas de pantalla recortadas de las salidas de EnrichR que muestran los principales tipos de células enriquecidas para cada uno de los ocho grupos de células. Luego, el protocolo asigna una nueva etiqueta de metadatos llamada "cell_types" a todas las celdas en los respectivos grupos de Seurat de acuerdo con sus anotaciones de tipo de celda más enriquecidas (paso 3.14). En el paso 3.15, se realiza la función de gráfico dimensional para visualizar los grupos de celdas renombrados como anotaciones de tipo de celda en un gráfico UMAP, y los resultados representativos de este paso (Figura 4) mostró que todas las células del conjunto de datos se agruparon alrededor de los principales tipos de células codificadas por colores. En el paso 3.16, se utilizó la función de gráfico de características para visualizar la localización de los genes marcadores de clúster superior (de la Tabla complementaria 2) en una serie de gráficos UMAP, y los resultados representativos (Figura 5) son una cuadrícula de gráficos UMAP que muestran la alta expresión de los genes marcadores celulares principales dentro de sus respectivas ubicaciones de grupos de tipos celulares principales. En los pasos 3.17 y 3.18, se realizó la función de diagrama de puntos para visualizar los niveles de expresión relativos de los genes marcadores de clúster superior en las células, primero agrupados por sus números de grupo de Seurat originales (paso 3.17) y en segundo lugar agrupados por etiquetas de tipo de célula anotadas (paso 3.18). Los resultados representativos de estos pasos confirmaron el alto nivel de expresión de los genes marcadores celulares superiores solo en sus respectivos grupos de Seurat (Figura complementaria 6) y solo en sus respectivos tipos de células principales (Figura 6). El siguiente paso en el protocolo simplifica las etiquetas originales basadas en proteínas espacio-temporales en anotaciones estrictamente temporales, que identifican las células en función de los días posteriores a la herida (DPW) de los que se originaron. En el paso 3.20, se realiza la función de gráfico dimensional para visualizar las celdas como anotaciones DPW en un gráfico UMAP, y los resultados representativos de este paso (Figura complementaria 7) mostró la localización de las anotaciones del curso temporal de la herida en el conjunto de datos de cicatrización de heridas unicelulares. Como era de esperar, las anotaciones del día 1 (D1) dominaron los grupos de neutrófilos y macrófagos, mientras que los puntos de tiempo de cicatrización de heridas posteriores estaban más representados en otros tipos de células. Los siguientes pasos del protocolo utilizaron gráficos de barras apiladas para visualizar primero las proporciones de DPW en diferentes tipos de celdas (paso 3.22) y luego para visualizar las proporciones de tipos de celdas en diferentes puntos de tiempo (3.23). Los resultados representativos de estos pasos son gráficos de proporciones que muestran el número relativo de células DPW en cada categoría principal de tipo de célula (Figura complementaria 8) y el número relativo de los principales tipos de células en cada categoría de DPW (Figura 7). Estos resultados confirmaron la cascada celular conocida de cicatrización de heridas en la piel, en la que las células inmunitarias (neutrófilos y macrófagos) dominan los primeros puntos de tiempo durante la fase inflamatoria, y los otros tipos de células (células epiteliales y células endoteliales) comienzan a aparecer durante la fase proliferativa, siendo los fibroblastos especialmente dominantes en los últimos puntos de tiempo durante la resolución de la herida.

A partir del método # 4, el protocolo describe los pasos para usar Seurat para enfocarse en un tipo de célula principal individual en el conjunto de datos de una sola célula con el fin de identificar posibles subtipos celulares durante la cicatrización de heridas. El protocolo se centra en los fibroblastos, que inicialmente se agruparon en dos grupos de Seurat antes de combinarse en una sola categoría, y describe cómo crear un nuevo objeto de Seurat que solo contenga los fibroblastos del conjunto de datos original (paso 4.1). El flujo de trabajo de Seurat se realiza en este conjunto de datos específico de fibroblastos (pasos 4.2-4.4), y el paso 4.2 da como resultado un gráfico de codo (Figura complementaria 9) que muestra que gran parte de la variación principal en el conjunto de datos de fibroblastos ocurre dentro de las primeras 9 dimensiones de PCA. En el paso 4.5, se realiza la función de gráfico dimensional para visualizar la agrupación de las células en un gráfico UMAP, y los resultados representativos de este paso (Figura 8) mostraron los fibroblastos en el conjunto de datos agrupados alrededor de los 3 subtipos de células codificadas por colores. La visualización del conjunto de datos de fibroblastos de acuerdo con su anotación DPW (paso 4.6), dio como resultado un gráfico UMAP (Figura complementaria 10) que muestra los fibroblastos en el conjunto de datos distribuidos de acuerdo con su anotación DPW. A continuación, el protocolo describe cómo obtener listas de genes expresados diferencialmente y guardarlos en un archivo de texto (paso 4.7), abrir la tabla de datos en Excel y realizar varios pasos de filtrado para obtener los marcadores de grupo mejor clasificados para cada grupo de células (paso 4.8) y asignar una nueva variable que enumera los principales genes marcadores de fibroblastos llamada "FB_type_marker" (paso 4.9). En el paso 4.10, la función de diagrama de puntos se utiliza para visualizar los genes en la lista en el conjunto de datos solo de fibroblastos llamando a la variable "FB_type_marker" en el parámetro features, y los resultados representativos de este paso (Figura 9) son diagramas de puntos que confirman la alta expresión de marcadores de subtipos de fibroblastos solo en sus respectivas categorías de grupos (arriba) pero distribuidos de manera justa a través de las categorías de DPW (abajo). En el paso 4.11, se llama a la misma variable de características para visualizar los genes marcadores de fibroblastos en el conjunto de datos general de cicatrización de heridas, y el resultado representativo (Figura complementaria 11) es un diagrama de puntos que confirmó la alta expresión de marcadores de subtipos de fibroblastos principalmente en el fibroblasto original. Finalmente, los siguientes pasos del protocolo utilizaron gráficos de barras apiladas para visualizar primero las proporciones de DPW en los tres subtipos de fibroblastos (paso 4.12) y luego para visualizar las proporciones de subtipos de fibroblastos en diferentes puntos de tiempo (paso 4.13). Los resultados representativos de estos pasos son gráficos de proporciones que muestran el número relativo de células DPW en cada categoría de subtipo de fibroblastos (Figura complementaria 12) y el número relativo de subtipos de fibroblastos en cada categoría de DPW (Figura complementaria 13). Estos resultados apuntan a un cambio significativo en las proporciones de subtipos de fibroblastos a lo largo del curso temporal de la cicatrización, con el primer subtipo de fibroblastos (grupo 0) muy dominante en las heridas en etapa temprana (D1 y D3), el segundo subtipo (grupo 1) dominante durante la resolución de la herida (D14) y el tercer subtipo (grupo 2) siendo más alto durante la fase proliferativa de la cicatrización de la herida (D7).

A partir del método #5, el protocolo recorre los pasos para analizar un conjunto de datos de cicatrización de heridas unicelulares utilizando la función de puntuación del módulo en Seurat. El protocolo describe primero los pasos del uso de un archivo de texto con tabulación para cargar conjuntos de genes en variables en R (pasos 5.1-5.2), seguido de la aplicación de la función de puntuación del módulo a tres conjuntos de genes relacionados con las tres fases principales de la cicatrización de heridas (paso 5.3). En el paso 5.4, la función de diagrama de puntos se utiliza para visualizar las puntuaciones agregadas de los módulos en dos categorías de metadatos diferentes, y los resultados representativos de este paso (Figura 10) son diagramas de puntos que muestran la expresión promedio de los principales módulos de la fase de curación en las células en la categoría de días posteriores a la herida (DPW, derecha) y en la categoría de tipos de células principales (izquierda). Estos resultados muestran que la aplicación de perfiles de expresión génica basados en secuenciación masiva a conjuntos de datos de expresión de una sola célula de manera pseudomasiva es un método poderoso para enfoques bioinformáticos comparativos mediante la utilización de conjuntos de datos publicados previamente en el campo de la cicatrización de heridas.

A partir del método # 6, el protocolo recorre los pasos para analizar un conjunto de datos de curación de heridas unicelulares derivado de Seurat utilizando el paquete CellChat y el flujo de trabajo de acuerdo con una pregunta científica específica de comparar células derivadas de heridas de fase temprana en comparación con heridas de fase tardía. En primer lugar, el protocolo divide el conjunto de datos general de Seurat en dos puntos temporales posteriores a la lesión, uno durante la fase inflamatoria (día 1 (D1)) y el otro durante la resolución de la herida (día 14 (D14)) (paso 6.1). Se crean dos objetos CellChat, y el protocolo pasa por todas las funciones típicas del protocolo CellChat para calcular todas las interacciones putativas entre los tipos de células identificados en el método #3 del protocolo (pasos 6.2-6.3). En el paso 6.4, se realiza la función de diagrama de dispersión de señalización para visualizar las fuerzas de interacción entrantes y salientes en todos los tipos de células principales en cada punto de tiempo de cicatrización de heridas. Los resultados representativos de este paso (Figura complementaria 14) son diagramas de dispersión que muestran las intensidades de las interacciones entrantes (eje y) y salientes (eje x) para los principales tipos de células en los puntos de tiempo D1 (izquierda) y D14 (derecha). Estos resultados mostraron que las células inmunitarias, como los neutrófilos y los macrófagos, tenían las mayores fuerzas de interacción célula-célula durante la fase inflamatoria, pero los fibroblastos dominaban las interacciones célula-célula durante la resolución de heridas, lo que confirma décadas de investigación en la cicatrización de heridas. Los siguientes pasos centran el análisis en una de las vías significativamente enriquecidas, la vía del colágeno (pasos 6.5-6.6). En el paso 6.7, se realiza la función de diagrama de círculos para visualizar las interacciones de la vía de señalización del colágeno entre los tipos de células en los dos puntos de tiempo. Los resultados representativos de este paso (Figura complementaria 15) son gráficos circulares que muestran las interacciones de señalización de la vía del colágeno inferidas entre todos los tipos de células en D1 (izquierda) y D14 (derecha). En el paso 6.8, las mismas interacciones se visualizan utilizando la función de diagrama de acordes, con los resultados representativos (Figura complementaria 16) que son diagramas de cuerdas que muestran las interacciones de señalización de la vía del colágeno inferidas entre todos los tipos de células en cada punto de tiempo. Como era de esperar, estos resultados mostraron que los fibroblastos eran las principales células fuente de la vía de señalización del colágeno, aunque el flujo de información estaba más restringido a las células inmunitarias en D1 en comparación con D14. Para centrarse en el fibroblasto como célula fuente en las interacciones célula-célula, el paso 6.9 repite la función de diagrama de cuerdas agregando un parámetro de celda fuente, y los resultados representativos (Figura complementaria 17) son diagramas de cuerdas que muestran las interacciones de señalización de la vía del colágeno inferidas con los fibroblastos como células fuente en cada punto de tiempo. En el paso 6.10, se realizan dos funciones para visualizar las contribuciones de cada par ligando-receptor en la vía de señalización del colágeno con fibroblastos como células fuente, una usando gráficos de burbujas (paso 6.10.1) y la otra usando diagramas de cuerdas (paso 6.10.2). Los resultados representativos muestran las contribuciones inferidas de cada par ligando-receptor en la señalización de la vía del colágeno con fibroblastos como células fuente en los puntos de tiempo D1 (izquierda) y D14 (derecha) utilizando ambos gráficos de burbujas (Figura complementaria 18) y diagramas de acordes (Figura complementaria 19). Estos resultados mostraron que en D1 la vía del colágeno proveniente de los fibroblastos estaba restringida a neutrófilos y macrófagos con un dominio de los receptores Cd44 y Sdc4, pero en D14 otras células actuaron como receptoras a través de una variedad de receptores, incluidas las integrinas. Para centrarse en la interacción ligando-receptor Col1a1-Cd44, que mostró fuertes fortalezas en las interacciones de fibroblastos, se establece un parámetro (paso 6.11) y luego se usa en el paso 6.12 en una función de diagrama de cuerdas para visualizar esta interacción ligando-receptor particular entre todos los tipos de células, con los resultados representativos (Figura complementaria 20) son diagramas de cuerdas que muestran las interacciones ligando-receptor Col1a1-Cd44 inferidas entre todos los tipos de células en los puntos de tiempo D1 (izquierda) y D14 (derecha). Estos resultados mostraron que mientras que en D1 esta interacción se limita a los fibroblastos como células fuente, en D14, los macrófagos y las células de músculo liso también actúan como células fuente. A continuación, el protocolo describe cómo realizar un análisis diferencial de CellChat combinando primero los objetos CellChat D1 y D14 (paso 6.13). En el paso 6.14, se realiza la función de comparación de interacciones para visualizar el número total y las fuerzas relativas de las interacciones célula-célula entre los dos puntos de tiempo de cicatrización de heridas, y los resultados representativos (Figura complementaria 21) son los gráficos de barras resultantes que muestran el número total (izquierda) y las fuerzas (derecha) de las interacciones inferidas en las células que comprenden heridas D1 y D14, con un mayor número de interacciones en D14 en comparación con mayores fuerzas relativas de interacciones en D1. En los pasos 6.15 y 6.16, se utilizan dos funciones para visualizar las fuerzas diferenciales de interacción célula-célula entre cada tipo de célula a medida que la herida pasa del día 1 al día 14 con sus respectivos resultados representativos, siendo el primero un gráfico circular (paso 6.15, Figura complementaria 22) y el segundo es un mapa de calor (paso 6.16, Figura complementaria 23), donde el aumento de las interacciones en D14 en comparación con D1 se muestra en rojo y las que están disminuidas se muestran en azul. Como era de esperar, las interacciones mediadas por neutrófilos y macrófagos aumentan en D1, y las interacciones mediadas por fibroblastos aumentan en D14. En el paso 6.17, la función de clasificación se utiliza para crear un gráfico que clasifica las contribuciones relativas de las vías individuales a las interacciones célula-célula con los fibroblastos como células fuente en D14 en comparación con D1, y los resultados representativos (Figura complementaria 24) muestran el gráfico de rango resultante con D1 representado en la parte superior en rojo y D14 en la parte inferior en azul, con varias vías representadas exclusivamente en D1 o D14 y muchas otras que muestran un gradiente de activación. Finalmente, en el paso 6.18, se utilizan dos funciones de diagrama de burbujas para mostrar las contribuciones relativas de los pares ligando-receptor individuales en la vía de señalización del colágeno con fibroblastos como células fuente en D14 en comparación con D1, con los resultados representativos correspondientes (Figura complementaria 25) que muestran pares de señalización aumentados (izquierda) y disminuidos (derecha) en D14 en comparación con D1 en las muchas interacciones célula-célula en el eje x. Como era de esperar, los fibroblastos tuvieron muchas más interacciones salientes entre pares ligando-receptor en varias células receptoras en heridas D14 en comparación con las heridas D1, donde la comunicación fue más limitada hacia neutrófilos y macrófagos durante la fase inflamatoria.

A partir del método #7, el protocolo recorre los pasos para integrar dos conjuntos de datos de cicatrización de heridas unicelulares utilizando Seurat. El protocolo describe primero los pasos para fusionar dos lotes de los conjuntos de datos unicelulares publicados y aplicar el flujo de trabajo estándar de Seurat al conjunto de datos combinado (pasos 7.1-7.4). En el paso 7.5, la función de gráfico dimensional se utiliza para visualizar el gráfico UMAP de acuerdo con los números de clúster y lote del conjunto de datos de cicatrización de heridas fusionado pero aún no integrado. Los resultados representativos de este paso (Figura complementaria 26) son gráficos UMAP que visualizan la distribución de los grupos de Seurat (izquierda) y los números de lote (derecha), lo que muestra que no parece haber ningún efecto significativo por lotes para estos dos conjuntos de datos antes de la integración de datos. A continuación, el protocolo realiza la integración de datos utilizando el método RPCA y el flujo de trabajo de seguimiento de Seurat del conjunto de datos integrado (pasos 7.7-7.8). En el paso 7.9, la función de gráfico dimensional se utiliza para visualizar el gráfico UMAP de acuerdo con los números de clúster y lote del conjunto de datos integrado de cicatrización de heridas. Los resultados representativos de este paso (Figura complementaria 27) son gráficos UMAP que visualizan la distribución de los grupos de Seurat (izquierda) y los números de lote (derecha), lo que muestra que ahora había una superposición aún mayor entre los dos lotes en diferentes grupos. Los resultados también muestran la aparición de un grupo adicional después de la integración de los datos, lo que puede apuntar a una mayor capacidad para identificar subtipos de células potencialmente significativos después de controlar los efectos técnicos de los lotes de datos.

figure-results-1
Figura 1: Gráfico UMAP que muestra todas las celdas del conjunto de datos agrupadas alrededor de 8 grupos principales codificados por colores. Resultados obtenidos de un ordenador con Windows (izquierda) y MacOS (derecha). Esta cifra corresponde al paso 3.5. Haga clic aquí para ver una versión más grande de esta figura.

figure-results-2
Figura 2: Gráfico UMAP que muestra todas las celdas del conjunto de datos distribuidas según su origen en el tiempo/espacio, sin agrupamiento aparente según la anotación en el tiempo/espacio. Esta cifra corresponde al paso 3.6. Haga clic aquí para ver una versión más grande de esta figura.

figure-results-3
Figura 3: Capturas de pantalla recortadas de las salidas de EnrichR, que muestran los principales tipos de células enriquecidas para cada grupo de células. Esta cifra corresponde al paso 3.13. Haga clic aquí para ver una versión más grande de esta figura.

figure-results-4
Figura 4: Gráfico UMAP que muestra todas las celdas del conjunto de datos agrupadas alrededor de los principales tipos de células codificadas por colores. Esta cifra corresponde al paso 3.15. Haga clic aquí para ver una versión más grande de esta figura.

figure-results-5
Figura 5: Cuadrícula de gráficos UMAP que muestran la alta expresión de los genes marcadores celulares principales dentro de los principales grupos de tipos de células. Esta cifra corresponde al paso 3.16. Haga clic aquí para ver una versión más grande de esta figura.

figure-results-6
Figura 6: Diagramas de puntos que confirman el alto nivel de expresión de los genes marcadores celulares superiores solo en sus respectivos tipos de células principales. Esta cifra corresponde al paso 3.18. Haga clic aquí para ver una versión más grande de esta figura.

figure-results-7
Figura 7: Gráfico de proporciones que muestra el número relativo de los principales tipos de células en cada categoría de DPW. Esta cifra corresponde al paso 3.23. Haga clic aquí para ver una versión más grande de esta figura.

figure-results-8
Figura 8: Gráfico UMAP que muestra los fibroblastos en el conjunto de datos agrupados alrededor de los 3 subtipos de células codificadas por colores. Esta cifra corresponde al paso 4.5. Haga clic aquí para ver una versión más grande de esta figura.

figure-results-9
Figura 9: Diagramas de puntos que confirman la alta expresión de marcadores de subtipos de fibroblastos solo en sus respectivas categorías de grupos, pero distribuidos de manera justa en todas las categorías de DPW. Esta cifra corresponde al paso 4.10. Haga clic aquí para ver una versión más grande de esta figura.

figure-results-10
Figura 10: Diagramas de puntos que muestran la expresión promedio de los principales módulos de fase de curación en todas las células por DPW y por tipos de células principales. Esta cifra corresponde al paso 5.4. Haga clic aquí para ver una versión más grande de esta figura.

Figura complementaria 1: Resultados que muestran que existe una distribución bastante uniforme de los genes detectados para cada código de barras, lo cual es importante para la integridad del conjunto de datos y el análisis posterior de los puntos de tiempo de cicatrización de heridas. Esta cifra corresponde al paso 2.6.11. Haga clic aquí para descargar esta figura.

Figura complementaria 2: Diagramas de dispersión que muestran que hay una serie de células con un gran contenido mitocondrial, lo que se correlaciona con recuentos bajos de ARN --- se trata de células muertas o moribundas. Esta cifra corresponde al paso 2.10. Haga clic aquí para descargar esta figura.

Figura complementaria 3: Diagramas de dispersión que muestran que la distribución de genes detectados y el porcentaje de ARN mitocondrial por célula ahora es más normal, despejando el camino para análisis posteriores sólidos. Esta cifra corresponde al paso 2.12. Haga clic aquí para descargar esta figura.

Figura complementaria 4: Gráfico de violín que muestra que hay un número de celdas con una puntuación de doblete relativamente alta, y que 0.25 parece ser un límite natural, por encima del cual hay una población de probables dobletes. Esta cifra corresponde al paso 2.15. Haga clic aquí para descargar esta figura.

Figura complementaria 5: Diagrama de codo que muestra que gran parte de la variación principal ocurre dentro de las primeras 13 dimensiones. Esta cifra corresponde al paso 3.2. Haga clic aquí para descargar esta figura.

Figura complementaria 6: Diagrama de puntos que confirma el alto nivel de expresión de los genes marcadores de células superiores solo en sus respectivos grupos de Seurat. Esta cifra corresponde al paso 3.17. Haga clic aquí para descargar esta figura.

Figura complementaria 7: Gráfico UMAP que muestra la localización de las anotaciones de curso temporal de heridas en el conjunto de datos de curación de heridas. Esta cifra corresponde al paso 3.20. Haga clic aquí para descargar esta figura.

Figura complementaria 8: Gráfico de proporción que muestra el número relativo de células DPW en cada categoría principal de tipo de célula. Esta cifra corresponde al paso 3.22. Haga clic aquí para descargar esta figura.

Figura complementaria 9: Gráfico de codo que muestra que gran parte de la variación principal en el conjunto de datos de fibroblastos ocurre dentro de las primeras 9 dimensiones. Esta cifra corresponde al paso 4.2. Haga clic aquí para descargar esta figura.

Figura complementaria 10: Gráfico UMAP que muestra los fibroblastos en el conjunto de datos distribuidos según su anotación DPW. Esta cifra corresponde al paso 4.6. Haga clic aquí para descargar esta figura.

Figura complementaria 11: Diagrama de puntos que confirma la alta expresión de marcadores de subtipos de fibroblastos principalmente en el grupo de fibroblastos original. Esta cifra corresponde al paso 4.11. Haga clic aquí para descargar esta figura.

Figura complementaria 12: Gráfico de proporciones que muestra el número relativo de subtipos de fibroblastos en cada categoría de DPW. Esta cifra corresponde al paso 4.12. Haga clic aquí para descargar esta figura.

Figura complementaria 13: Gráfico de proporciones que muestra el número relativo de fibroblastos en DPW en cada categoría de subtipo de fibroblastos. Esta cifra corresponde al paso 4.13. Haga clic aquí para descargar esta figura.

Figura complementaria 14: Diagramas de dispersión que muestran las intensidades de las interacciones entrantes (eje y) y salientes (eje x) para los principales tipos de células en los puntos de tiempo del día 1 (D1, izquierda) y el día 14 (D14, derecha). Esta cifra corresponde al paso 6.4. Haga clic aquí para descargar esta figura.

Figura complementaria 15: Gráficos circulares que muestran las interacciones de señalización de la vía del colágeno inferidas entre todos los tipos de células en cada categoría de DPW. Esta cifra corresponde al paso 6.7. Haga clic aquí para descargar esta figura.

Figura complementaria 16: Diagramas de cuerdas que muestran las interacciones de señalización de la vía del colágeno inferidas entre todos los tipos de células en cada categoría de DPW. Esta cifra corresponde al paso 6.8. Haga clic aquí para descargar esta figura.

Figura complementaria 17: Diagramas de cuerdas que muestran las interacciones de señalización de la vía del colágeno inferidas con los fibroblastos como células fuente en cada categoría de DPW. Esta cifra corresponde al paso 6.9. Haga clic aquí para descargar esta figura.

Figura complementaria 18: Gráficos de burbujas que muestran las contribuciones inferidas de cada par ligando-receptor en la señalización de la vía del colágeno con fibroblastos como células fuente en cada categoría de DPW. Esta cifra corresponde al paso 6.10.1. Haga clic aquí para descargar esta figura.

Figura complementaria 19: Diagramas de cuerdas que muestran las contribuciones inferidas de cada par ligando-receptor en la señalización de la vía del colágeno con fibroblastos como células fuente en cada categoría de DPW. Esta cifra corresponde al paso 6.10.2. Haga clic aquí para descargar esta figura.

Figura complementaria 20: Diagramas de cuerdas que muestran las interacciones ligando-receptor Col1a1-Cd44 inferidas entre todos los tipos de células en cada categoría de DPW. Esta cifra corresponde al paso 6.12. Haga clic aquí para descargar esta figura.

Figura complementaria 21: Gráficos de barras que muestran el número (izquierda) y la fuerza (derecha) de las interacciones inferidas en las heridas del día 1 y el día 14. Esta cifra corresponde al paso 6.14. Haga clic aquí para descargar esta figura.

Figura complementaria 22: Gráfico circular que muestra las fuerzas de interacción diferencial célula-célula entre cada tipo de célula a medida que la herida pasa del día 1 (azul) al día 14 (rojo) DPW. Esta cifra corresponde al paso 6.15. Haga clic aquí para descargar esta figura.

Figura complementaria 23: Mapa de calor que muestra las fuerzas de interacción diferencial célula-célula entre cada tipo de célula a medida que la herida pasa del día 1 (azul) al día 14 (rojo) DPW. Esta cifra corresponde al paso 6.16. Haga clic aquí para descargar esta figura.

Figura complementaria 24: Gráfico de clasificación que muestra las contribuciones relativas de las vías individuales a las interacciones célula-célula entre fibroblastos y otros tipos de células en el día 1 frente al día 14 DPW. Esta cifra corresponde al paso 6.17. Haga clic aquí para descargar esta figura.

Figura complementaria 25: Gráficos de burbujas que muestran las contribuciones relativas de los pares ligando-receptor individuales en la vía de señalización del colágeno con fibroblastos como células fuente en el día 1 frente al día 14 DPW. Esta cifra corresponde al paso 6.18. Haga clic aquí para descargar esta figura.

Figura complementaria 26: Gráficos UMAP que muestran la distribución de los clústeres de Seurat (izquierda) y los números de lote (derecha) antes de la integración de datos. Esta cifra corresponde al paso 7.5. Haga clic aquí para descargar esta figura.

Figura complementaria 27: Gráficos UMAP que muestran la distribución de los grupos de Seurat (izquierda) y los números de lote (derecha) después de la integración de datos. Esta cifra corresponde al paso 7.9. Haga clic aquí para descargar esta figura.

Expediente complementario 1: JoVE_Rscript.R: Archivo de script de código R principal, que incluye todos los pasos y explicaciones descritos para todas las partes del protocolo. Haga clic aquí para descargar este archivo.

Expediente complementario 2: JoVE_PhaseSpecificGenes.txt. Archivo de texto delimitado por tabulaciones, que contiene las listas de genes que se cargan en el paso 5.1 del protocolo. Haga clic aquí para descargar este archivo.

Expediente complementario 3: JoVE_Rscript_b3.R. Archivo de script de código R complementario, que incluye todos los pasos y explicaciones necesarios para analizar el lote #3 del conjunto de datos para su uso en el paso 7.1 del protocolo. Haga clic aquí para descargar este archivo.

Tabla complementaria 1: JoVE_DEGs_cellMarkers.xlsx. Archivo de Excel, que contiene la salida completa de los genes clasificados expresados diferencialmente utilizados en el paso 3.10 del protocolo. Haga clic aquí para descargar esta tabla.

Tabla complementaria 2: Los 5 principales genes regulados y expresados al alza para cada grupo de seurat. Haga clic aquí para descargar esta tabla.

Discussion

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

En este protocolo, RStudio se utiliza para ejecutar líneas de código prescritas que permiten un análisis básico de un conjunto de datos complejo de una sola célula utilizando Seurat. Se presentan varios métodos que son relevantes para la investigación de la cicatrización de heridas, incluida la instalación del entorno de codificación R, la descarga de un conjunto de datos de curación de heridas unicelulares publicado anteriormente, la realización de pasos críticos de control de calidad y flujos de trabajo estándar de análisis de células individuales, incluidas visualizaciones, anotaciones de tipos de células principales, análisis de subtipos de células y análisis integradores con Seurat, y la realización de análisis de interacción célula-célula con CellChat.

Los métodos introducidos en este documento son viñetas simplificadas de flujos de trabajo típicos para el análisis de una sola célula utilizando R y sus populares paquetes científicos de código abierto, Seurat21 y CellChat22. De hecho, el flujo de trabajo es solo un ejemplo del tipo de análisis que se puede lograr con un complejo conjunto de datos de curación de heridas unicelulares. Las posibles modificaciones a este método son casi infinitas, con la única restricción de la investigación científica particular del usuario. Por ejemplo, el usuario puede cambiar algunos de los parámetros clave, como los tipos de células y los puntos de tiempo, de acuerdo con las preguntas de investigación que desee hacer de este conjunto de datos. Los autores también esperan que el usuario se sienta lo suficientemente cómodo como para adaptar este flujo de trabajo a su propio conjunto de datos de interés de una sola celda; Sin embargo, se debe tener cuidado al usar este flujo de trabajo para analizar otros conjuntos de datos, ya que cada experimento puede propagar problemas técnicos y de preparación de muestras a los propios datos. Por lo tanto, es imperativo que el usuario lea y comprenda todos los detalles experimentales antes de interpretar los resultados de cualquier conjunto de datos unicelulares publicados y reanalizados anteriormente. Es importante recordar que las herramientas bioinformáticas son un método poderoso para la exploración de procesos biológicos y la generación de hipótesis, y que cualquier interpretación biológica crítica de los resultados debe validarse en experimentos de seguimiento.

A lo largo del protocolo, tenga en cuenta que se pueden realizar modificaciones importantes en áreas particulares del flujo de trabajo para realizar otras tareas. Sin embargo, los detalles de todas las posibles combinaciones de modificaciones al flujo de trabajo están más allá del alcance de este manuscrito. Por ejemplo, la resolución utilizada para la agrupación de células y las dimensiones utilizadas para el análisis UMAP son necesariamente subjetivas, y las herramientas presentadas aquí permiten tanto análisis a gran escala (como se demostró aquí para tipos de células principales ampliamente definidos) como análisis muy específicos que podrían implicar la subagrupación de células en subpoblaciones más raras dentro del conjunto de datos más grande. Para obtener más información sobre este aspecto del método de análisis unicelular, y para obtener detalles sobre todos los demás parámetros que pueden cambiarse en la canalización del análisis unicelular, los autores remiten al usuario a las publicaciones de Seurat21,26 y al sitio web (https://satijalab.org/seurat/), donde los autores de esta herramienta en evolución brindan explicaciones detalladas, viñetas y tutoriales.

Este manuscrito presentó algunas de las herramientas más citadas y utilizadas en la literatura de transcriptómica unicelular, a saber, Seurat21 y CellChat22, para análisis de interacción unicelular y célula-célula, respectivamente. Sin embargo, existen otras herramientas que realizan funciones similares de maneras ligeramente diferentes. Para el análisis de conjuntos de datos unicelulares, existen Scran27, Scater 28 y ScanPy29 basado en Python, que utilizan varios métodos para la integración de conjuntos de datos25. En este protocolo, se demostró la anotación manual de tipos de células, que se basa en el juicio del usuario para interpretar los enriquecimientos de marcadores de células de grupo, pero ahora existen varias herramientas que permiten la clasificación automatizada de tipos de células, como SingleR30 y scGate31, entre otras. Para los análisis de comunicación célula-célula, CellChat se demostró en este protocolo, pero existen otras herramientas para estimar las comunicaciones célula-célula, incluidas CellPhoneDB32, Cytotalk33 y otras bases de datos ligando-receptor que se implementan dentro del marco de consenso LIANA (LIgand-receptor ANalysis framework)34. Todas las herramientas bioinformáticas son únicas y vienen con sus propias peculiaridades y parámetros modificables. Por lo tanto, es importante que el usuario lea detenidamente la documentación asociada a cada herramienta para comprender sus matices antes de interpretar cualquier resultado generado a partir de su uso. Finalmente, independientemente de las herramientas bioinformáticas que se utilicen, es fundamental recordar que dichas herramientas evolucionan continuamente y que las diferentes versiones de los paquetes pueden producir diferentes resultados.

En R, la sintaxis es crítica, y una puntuación, comillas, corchetes o incluso una letra en mayúscula mal colocada darán lugar a un error. Por lo tanto, es vital que el usuario preste atención a los detalles al escribir código y que sea especialmente consciente al copiar líneas de código para adaptarlo a nuevas preguntas y conjuntos de datos científicos. Para solucionar los errores específicos que uno puede encontrar, los autores recomiendan simplemente copiar y pegar el mensaje de error en el motor de búsqueda web favorito del usuario y navegar por los resultados de foros de bioinformática como GitHub y Stack Overflow, ya que los errores más comunes probablemente ya hayan sido respondidos por un usuario avanzado experto. En algunos foros, las respuestas más exitosas son "votadas" por otros usuarios que han encontrado que la solución es la mejor para el problema. El usuario debe tener cuidado de no simplemente copiar y pegar líneas de código que encontró en Internet en su propia computadora (especialmente si una solución requiere cambiar la configuración del sistema fuera del lenguaje de programación R), ya que existe la posibilidad de que dichos programas sean maliciosos. Un método emergente emocionante para solucionar errores de codificación es el uso de los poderosos modelos generativos de IA de lenguaje grande como ChatGPT de OpenAI, Copilot de Microsoft o Gemini de Google. Estos modelos han demostrado ser especialmente útiles para la ingeniería de software en general y la resolución de problemas en particular. Para esto, el usuario puede copiar y pegar líneas enteras de su código después de proporcionar un mensaje simple al chatbot sobre la intención del usuario para el código. Existe la advertencia habitual de que estos modelos no son infalibles, y es posible que el usuario tenga que probar múltiples indicaciones para generar una respuesta que sea apropiada para resolver el problema.

Disclosures

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Los autores no tienen conflictos de intereses que divulgar.

Acknowledgements

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

El laboratorio de M.S. Wietecha recibió fondos de la subvención R35-GM154921 de NIH / NIGMS, la Beca de Investigación de la Sociedad de Curación de Heridas y el Departamento de Biología Oral de la Facultad de Odontología de la UIC.

Materials

List of materials used in this article
NameCompanyCatalog NumberComments
Computadora portátil o de escritorioN/AN/AEjecutar Windows o MacOS
RN/AVersión 4.4.1Descarga gratuita desde https://cran.rstudio.com/
RstudioSoftware Posit, PBCVersión 2024.09.0Descarga gratuita desde https://posit.co/download/rstudio-desktop/
Office ExcelMicrosoftCualquier versiónPara el análisis de datos de tablas
Navegador de InternetN/AN/APara navegar a sitios web
RRepositorioVersion
Herramientas de desarrolloCRAN2.4.5
readxlCRAN1.4.3
openxlsxCRAN4.2.7.1
tidyverseCRAN2.0.0
scPersonalizarCRAN2.1.2
BiocManagerBioconductor1.30.25
NMFBioconductor0.28
Mapa de calor complejoBioconductor2.20.0
BiocNeighborsBioconductor1.22.0
Experimento de una sola célulaBioconductor1.26.0
circlizarBioconductor0.4.16
bordeadoraBioconductor4.2.1
scDblFinderBioconductor1.18.0
SeuratCRAN5.1.0
Chat celularGithub2.1.2

References

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,
  1. Eming, S. A., Martin, P., Tomic-Canic, M. Wound repair and regeneration: mechanisms, signaling, and translation. Sci Transl Med. 6 (265), 265sr6(2014).
  2. Wietecha, M. S., et al. Phase-specific signatures of wound fibroblasts and matrix patterns define cancer-associated fibroblast subtypes. Matrix Biol. 119, 19-56 (2023).
  3. Rodrigues, M., Kosaric, N., Bonham, C. A., Gurtner, G. C. Wound healing: a cellular perspective. Physiol Rev. 99 (1), 665-706 (2019).
  4. Chen, L., Mirza, R., Kwon, Y., DiPietro, L. A., Koh, T. J. The murine excisional wound model: contraction revisited. Wound Repair Regen. 23 (6), 874-877 (2015).
  5. Rhea, L., Dunnwald, M. Murine excisional wound healing model and histological morphometric wound analysis. J Vis Exp. (162), e61616(2020).
  6. Fischer, K. S., et al. Protocol for the splinted, human-like excisional wound model in mice. Bio-Protocol. 13 (3), e4606(2023).
  7. Iglesias-Bartolome, R., et al. Transcriptional signature primes human oral mucosa for rapid wound healing. Sci Transl Med. 10 (451), aap8798(2018).
  8. Chen, L., Arbieva, Z. H., Guo, S., Marucha, P. T., Mustoe, T. A., DiPietro, L. A. Positional differences in the wound transcriptome of skin and oral mucosa. BMC Genomics. 11, 471(2010).
  9. Leonardo, T. R., et al. Transcriptional changes in human palate and skin healing. Wound Repair. 31 (2), 156-170 (2023).
  10. Rognoni, E., et al. Fibroblast state switching orchestrates dermal maturation and wound healing. Mol Syst Biol. 14 (8), e8174(2018).
  11. Bergmeier, V., et al. Identification of a myofibroblast-specific expression signature in skin wounds. Matrix Biol. 65, 59-74 (2018).
  12. Plikus, M. V., et al. Regeneration of fat cells from myofibroblasts during wound healing. Science. 355 (6326), 748-752 (2017).
  13. Shook, B. A., et al. Myofibroblast proliferation and heterogeneity are supported by macrophages during skin repair. Science. 362 (6417), aar2971(2018).
  14. Rinkevich, Y., et al. Skin fibrosis. Identification and isolation of a dermal lineage with intrinsic fibrogenic potential. Science. 348 (6232), aaa2151(2015).
  15. Guerrero-Juarez, C. F., et al. Single-cell analysis reveals fibroblast heterogeneity and myeloid-derived adipocyte progenitors in murine skin wounds. Nat Commun. 10 (1), 650(2019).
  16. Gay, D., et al. Phagocytosis of Wnt inhibitor SFRP4 by late wound macrophages drives chronic Wnt activity for fibrotic skin healing. Sci Adv. 6 (12), eaay3704(2020).
  17. Haensel, D., et al. Defining epidermal basal cell states during skin homeostasis and wound healing using single-cell transcriptomics. Cell Rep. 30 (11), 3932-3947.e6 (2020).
  18. Phan, Q. M., Sinha, S., Biernaskie, J., Driskell, R. R. Single-cell transcriptomic analysis of small and large wounds reveals the distinct spatial organization of regenerative fibroblasts. Exp Dermatol. 30 (1), 92-101 (2021).
  19. Foster, D. S., et al. Integrated spatial multiomics reveals fibroblast fate during tissue repair. Proc Natl Acad Sci U S A. 118 (41), e2110025118(2021).
  20. Hu, K. H., et al. Transcriptional space-time mapping identifies concerted immune and stromal cell patterns and gene programs in wound healing and cancer. Cell Stem Cell. 30 (6), 885-903.e10 (2023).
  21. Hao, Y., et al. Dictionary learning for integrative, multimodal and scalable single-cell analysis. Nat Biotechnol. 42 (2), 293-304 (2024).
  22. Jin, S., et al. Inference and analysis of cell-cell communication using CellChat. Nat Commun. 12 (1), 1088(2021).
  23. Germain, P. -L., Lun, A., Garcia Meixide, C., Macnair, W., Robinson, M. D. Doublet identification in single-cell sequencing data using scDblFinder. F1000Research. 10, 979(2021).
  24. Jin, S., Plikus, M. V., Nie, Q. CellChat for systematic analysis of cell-cell communication from single-cell transcriptomics. Nat Protoc. 20 (1), 180-219 (2024).
  25. Luecken, M. D., et al. Benchmarking atlas-level data integration in single-cell genomics. Nat Methods. 19 (1), 41-50 (2022).
  26. Hao, Y., et al. Integrated analysis of multimodal single-cell data. Cell. 184 (13), 3573-3587.e29 (2021).
  27. Lun, A. T. L., McCarthy, D. J., Marioni, J. C. A step-by-step workflow for low-level analysis of single-cell RNA-seq data with Bioconductor. F1000Research. 5, 2122(2016).
  28. McCarthy, D. J., Campbell, K. R., Lun, A. T. L., Wills, Q. F. Scater: pre-processing, quality control, normalization and visualization of single-cell RNA-seq data in R. Bioinformatics (Oxford, England). 33 (8), 1179-1186 (2017).
  29. Wolf, F. A., Angerer, P., Theis, F. J. SCANPY: large-scale single-cell gene expression data analysis. Genome Biol. 19 (1), 15(2018).
  30. Aran, D., et al. Reference-based analysis of lung single-cell sequencing reveals a transitional profibrotic macrophage. Nat Immunol. 20 (2), 163-172 (2019).
  31. Andreatta, M., Berenstein, A. J., Carmona, S. J. scGate: marker-based purification of cell types from heterogeneous single-cell RNA-seq datasets. Bioinformatics. 38 (9), 2642-2644 (2022).
  32. Efremova, M., Vento-Tormo, M., Teichmann, S. A., Vento-Tormo, R. CellPhoneDB: inferring cell-cell communication from combined expression of multi-subunit ligand-receptor complexes. Nat Protoc. 15 (4), 1484-1506 (2020).
  33. Hu, Y., Peng, T., Gao, L., Tan, K. CytoTalk: de novo construction of signal transduction networks using single-cell transcriptomic data. Sci Adv. 7 (16), eabf1356(2021).
  34. Dimitrov, D., et al. Comparison of methods and resources for cell-cell communication inference from single-cell RNA-Seq data. Nat Commun. 13 (1), 3224(2022).

Reprints and Permissions

Request permission to reuse the text or figures of this JoVE article

Request Permission

Tags

Single Cell TranscriptomicsWound HealingSeurat AnalysisCellChat WorkflowMouse Skin DatasetCell Type AnnotationUMAP VisualizationDifferential Gene ExpressionCell CommunicationBioinformatics Workflow

Related Articles