Method Article

Utilizzo di R, Seurat e CellChat per analizzare un set di dati di trascrittomica a singola cellula della guarigione delle ferite cutanee di topo

DOI:

10.3791/67266

August 1st, 2025

In This Article

Summary

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

Qui, presentiamo un flusso di lavoro visivo passo-passo per l'analisi di un set di dati di trascrittomica con andamento temporale a singola cellula della guarigione delle ferite cutanee di topo utilizzando R. Il protocollo include una pipeline standard per il download di set di dati, il controllo qualità, le visualizzazioni e le annotazioni del tipo di cella utilizzando Seurat e l'analisi dell'interazione cellula-cellula utilizzando CellChat.

Abstract

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

Il processo di guarigione delle ferite è regolato da complesse interazioni tra diversi tipi di cellule nello spazio e nel tempo. Attraverso la profilazione delle singole cellule all'interno del loro ambiente complesso, i metodi di trascrittomica a singola cellula consentono lo studio dell'eterogeneità cellulare, delle reti di comunicazione cellulare e delle interazioni cellula-cellula coinvolte nel processo di guarigione delle ferite. Tuttavia, molti strumenti di analisi di singole cellule vengono eseguiti all'interno di un ambiente di codifica informatica e il loro uso più diffuso da parte degli scienziati che si occupano di guarigione delle ferite è ostacolato dall'apparente mancanza di competenze bioinformatiche. Pertanto, viene presentato un flusso di lavoro passo-passo che mostra come utilizzare un ambiente di codifica grafica chiamato RStudio per eseguire un'analisi di base a singola cellula di un set di dati temporali di guarigione delle ferite cutanee escissionali del topo. Questo protocollo visivo e guidato consentirà agli scienziati senza alcun background bioinformatico di scaricare un set di dati sulla guarigione delle ferite precedentemente pubblicato, eseguire passaggi critici di controllo della qualità, eseguire un flusso di lavoro standard di analisi di singole cellule, comprese le visualizzazioni di set di dati e le annotazioni del tipo di cellula utilizzando Seurat, eseguire analisi dei sottotipi cellulari, eseguire analisi di punteggio dei moduli, eseguire analisi di interazione cellula-cellula utilizzando CellChat ed eseguire analisi integrative di più set di dati utilizzando Seurat. Vengono fornite spiegazioni narrative per ogni passaggio del protocollo e vengono presentati i risultati grafici di ogni riga di codice per guidare in sicurezza l'utente attraverso il flusso di lavoro. L'obiettivo di questa introduzione visiva a una pipeline di analisi di singole cellule è quello di consentire a un maggior numero di scienziati che si occupano di guarigione delle ferite di utilizzare gli strumenti bioinformatici direttamente nei propri laboratori, al fine di facilitare analisi più approfondite dei propri set di dati di singole cellule, nonché di rianalisi più diffuse di set di dati di singole cellule precedentemente pubblicati.

Introduction

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

La guarigione delle ferite è uno dei processi più complessi nella biologia dei mammiferi e coinvolge uno spettro di tre fasi di guarigione: infiammatoria, proliferativa e risoluzione 1,2. Queste fasi di guarigione classificano ampiamente le azioni coordinate di dozzine di tipi di cellule e centinaia dei loro prodotti molecolari nello spazio e nel tempo di riparazione delle ferite3. Diversi decenni di studi istologici e molecolari basati sul campionamento del tessuto della ferita nel corso della guarigione hanno chiarito i modelli cellulari generali della riparazione tissutale3, in particolare in modelli murini riproducibili di guarigione delle ferite cutanee escissionali 4,5,6. Solo negli ultimi due decenni è diventato possibile apprezzare più pienamente la complessità della guarigione delle ferite, a partire dall'avvento delle analisi trascrittomiche ad alto rendimento delle ferite alle scale dei tessuti sfusi 7,8,9 e delle cellule 10,11,12,13,14. Più recentemente, diversi studi hanno profilato trascrizionalmente le ferite cutanee a livello di singola cellula, identificando nuovi sottotipi di cellule della ferita e mostrando come possono interagire tra loro durante la guarigione 15,16,17,18,19,20. Hu et al. hanno utilizzato un innovativo approccio di sequenziamento spaziale dell'RNA a singola cellula per profilare le ferite cutanee durante il corso temporale della guarigione a diverse distanze radiali dal centro della ferita, che ha rivelato nuovi "movimenti" intercellulari e molecolari attraverso lo spazio e il tempo20. Tali studi stanno svelando la complessità della guarigione delle ferite con dettagli senza precedenti e stanno iniziando a dipingere un quadro di enorme eterogeneità cellulare e molecolare.

I recenti importanti progressi nei metodi di analisi bioinformatica stanno rendendo possibile dare un senso biologico ai complessi set di dati multi-omici generati nel campo della ricerca sulla guarigione delle ferite. I pacchetti di analisi a singola cellula come Seurat forniscono strumenti per l'analisi e l'integrazione di set di dati, compresa la classificazione dei tipi di cellule in tessuti complessi come le ferite21. Per l'interpretazione a valle dei dati di singole cellule, strumenti come CellChat vengono utilizzati per identificare programmi di interazione cellula-cellula putativi che possono spiegare come le cellule si coordinano per riparare le ferite22. Sebbene questi strumenti siano ben documentati e ben citati, devono essere eseguiti all'interno di un ambiente di codifica informatica come R, un linguaggio di programmazione statistica e grafica più comunemente utilizzato nei campi bioinformatici della genomica e della trascrittomica. Mentre i biologi e i medici nel campo della guarigione delle ferite utilizzano sempre più approcci a singola cellula per studiare la riparazione dei tessuti, pochi hanno la formazione bioinformatica necessaria per utilizzare strumenti come Seurat e CellChat direttamente nei propri laboratori. Tale barriera nell'uso di questi strumenti bioinformatici non solo impedisce agli scienziati di analizzare più a fondo i propri set di dati senza l'aiuto di bioinformatici, ma impedisce anche agli scienziati di rianalizzare in modo affidabile la ricchezza di dati di singole cellule già pubblicati da altri gruppi.

Pertanto, qui viene presentato un flusso di lavoro passo-passo per consentire agli scienziati senza background bioinformatico di analizzare un set di dati sulla guarigione delle ferite a singola cellula precedentemente pubblicato e disponibile al pubblico20. Il protocollo utilizza l'ambiente di codifica grafica R prevalente e gratuito chiamato RStudio e dimostra come navigare in questo ambiente per eseguire righe di codice prescritte che consentono un'analisi di base di un complesso set di dati a singola cella utilizzando Seurat e CellChat. All'interno di questo protocollo, vengono presentati i sette principali metodi rilevanti per la ricerca sulla guarigione delle ferite, tra cui: 1) installazione dell'ambiente di codifica, 2) download del set di dati e delle fasi critiche di controllo della qualità, 3) flussi di lavoro di analisi di singole cellule, comprese visualizzazioni e annotazioni del tipo di cella, 4) analisi dei sottotipi cellulari, 5) analisi del punteggio dei moduli, 6) analisi dell'interazione cellula-cellula e 7) analisi integrative di più set di dati. All'interno di ogni metodo, viene fornito il codice effettivo che l'utente può eseguire fianco a fianco con il protocollo e vengono mostrati i risultati grafici effettivi di ogni riga di codice per guidare l'utente attraverso il flusso di lavoro. L'obiettivo principale di questa introduzione guidata e visiva a RStudio e di un flusso di lavoro fondamentale per l'analisi di singole cellule è quello di consentire a un maggior numero di scienziati che si occupano di guarigione delle ferite di utilizzare direttamente questi potenti strumenti al fine di consentire progressi più rapidi nel campo della ricerca.

Protocol

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

NOTA: Nei seguenti flussi di lavoro che descrivono in dettaglio sette metodi bioinformatici, tutti i passaggi dei protocolli sono accompagnati dai rispettivi blocchi di codice che devono essere eseguiti direttamente sull'interfaccia RStudio dell'utente nell'ordine in cui sono elencati. Per rendere questo protocollo il più semplice possibile, è incluso un file di script R (File supplementare 1: JoVE_Rscript.R), che può essere caricato direttamente nella sessione RStudio dell'utente, in modo che ogni riga di codice possa essere semplicemente eseguita. In questo modo si evita all'utente di dover digitare o copiare e incollare il codice dal documento del protocollo, il che potrebbe introdurre errori. Tutte le istruzioni del protocollo sono incluse anche nel file di script R sotto forma di commenti, indicati da un simbolo hashtag '#' all'inizio di ogni riga di commento.

1. Installazione di R, RStudio e dei pacchetti R necessari per il flusso di lavoro di analisi a cella singola

  1. Scaricare e installare R (versione 4.4.1) sul computer. Utilizzare il collegamento che corrisponde al sistema operativo del computer.
    1. Se si utilizza un computer con Microsoft Windows, utilizzare questo link: https://cran.rstudio.com/bin/windows/base/
    2. Se utilizzi un computer con MacOS, utilizza questo link: https://cran.rstudio.com/bin/macosx/
  2. Installare l'ultima versione di RStudio sul computer. Clicca sul seguente link e segui le istruzioni:
    https://www.rstudio.com/products/rstudio/download/#download
  3. Installa Rtools (versione 4.4), che consentirà a R di compilare determinati pacchetti. Clicca sul seguente link e segui le istruzioni:
    1. Se si utilizza Windows, utilizzare questo link: https://cran.rstudio.com/bin/windows/Rtools/
    2. Se utilizzi MacOS, utilizza questo link:
      https://mac.r-project.org/tools/
  4. Impostare la directory di lavoro locale; Questa è la cartella sul computer da cui verranno caricati e salvati tutti i file. Impostare la directory di lavoro selezionando Sessione nella barra dei menu di RStudio e facendo clic su Imposta directory di lavoro > Scegli directory e selezionando la cartella desiderata.
    1. Se si utilizza un computer Windows, utilizzare il comando seguente per impostare la directory di lavoro. Modificare [Directory] nella riga di codice seguente con la struttura di directory effettiva. Tieni presente che il delimitatore di directory in R è il carattere "/"
      setwd("C:/[Directory]")
    2. Se si utilizza un computer MacOS, il seguente comando imposterà anche la directory di lavoro. Modificare [Directory] nella riga di codice seguente con la struttura di directory effettiva. Tieni presente che il delimitatore di directory in R è il carattere "/"
      setwd("~/[Directory]")
    3. In qualsiasi momento durante una sessione R, controllare la directory di lavoro usando la riga di codice seguente:
      getwd()
    4. In RStudio esplorare visivamente la struttura delle directory di lavoro, inclusi tutti i file e le cartelle in essa contenuti, all'interno della finestra di destra nella scheda File . Per passare da Esplora file di RStudio alla directory di lavoro, fare clic sull'icona a forma di ingranaggio > Vai alla directory di lavoro.
  5. Installare i pacchetti seguenti dal CRAN del repository di pacchetti R, che sono dipendenze necessarie per il protocollo. Per installare questi pacchetti, eseguire i comandi seguenti.
    install.packages("devtools")
    install.packages("readxl")
    install.packages("openxlsx")
    install.packages("tidyverse")
    install.packages("scCustomize")

    NOTA: Durante l'installazione dei pacchetti R, è normale che appaiano e scompaiano varie finestre. Se viene visualizzata una finestra che richiede di compilare un pacchetto, fare clic su . Se viene visualizzata una finestra che richiede di riavviare R prima di installare il pacchetto, fare clic su NO.
  6. Installare i pacchetti seguenti dal repository di pacchetti R curato Bioconductor
    (https://bioconductor.org/), che sono dipendenze necessarie per il protocollo. Per installare questi pacchetti, eseguire i comandi seguenti.
    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. Installare i seguenti pacchetti, necessari per il flusso di lavoro descritto in questo manoscritto.
    install.packages("Seurat")
    devtools::install_github("jinworks/CellChat")
  8. Caricare in ogni pacchetto per confermare che le installazioni sono andate a buon fine. Nel caso in cui uno qualsiasi dei pacchetti risulti in un errore "pacchetto non trovato", reinstallarlo utilizzando il codice appropriato sopra.
    library(readxl)
    library(openxlsx)
    library(tidyverse)
    library(scCustomize)
    library(edgeR)
    library(scDblFinder)
    library(Seurat)
    library(CellChat)

2. Caricamento in un set di dati di guarigione delle ferite a cellula singola ed esecuzione delle fasi di controllo qualità

NOTA: Per questo flusso di lavoro bioinformatico, viene condotta una rianalisi di un esperimento di guarigione delle ferite cutanee spazio-temporali a cellula singola precedentemente pubblicato20. I file del set di dati sono memorizzati nel repository NCBI Gene Expression Omnibus (GEO) curato (https://www.ncbi.nlm.nih.gov/geo/).

  1. Passare ai file del set di dati da GEO utilizzando il numero di accesso GSE204777. Utilizza il seguente link e rivedi il disegno sperimentale dello studio: https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE204777
  2. All'interno della pagina del repository GEO, sono presenti cinque singoli batch di dati ottenuti da cinque corsie di sequenziamento. Fare clic sul primo set di dati, intitolato GSM6190913. Di seguito è riportato un collegamento diretto all'esempio: https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSM6190913
  3. Scorri verso il basso fino alla fine della pagina e scarica i seguenti tre file, utilizzando i collegamenti ftp o html . All'interno di Esplora file del computer, sposta questi tre file in una directory chiamata b1. Assicurarsi che la cartella b1 si trovi all'interno della directory di lavoro impostata nel passaggio 1.4.
    Nome del file: GSM6190913_b1_barcodes.tsv.gz / Dimensioni del file: 18.5 Mb
    Nome del file: GSM6190913_b1_features.tsv.gz / Dimensione del file: 254.1 Kb
    Nome del file: GSM6190913_b1_matrix.mtx.gz / Dimensioni del file: 151.2 Mb
  4. Ottenere le informazioni sulla directory per i file di sequenziazione a cella singola scaricati nel passaggio 2.3.
    b1_data_dir <- file.path(getwd(), "b1")
  5. Caricare i file di sequenziamento a cella singola. Il parametro gene.column specifica la denominazione del gene/caratteristica utilizzata. In questo caso, usa gene.column = 2 per i simboli dei geni (gene.column = 1 è per i nomi dei geni Ensembl).
    b1 <- Read10X_GEO(data_dir = b1_data_dir, gene.column = 2)
    NOTA: La maggior parte dei set di dati a cella singola non dispone di dati multiplex aggiuntivi, pertanto i file 10x generati utilizzando questo passaggio non avrebbero più livelli. Per il set di dati multiplex corrente, procedere con il passaggio 2.6. Per i set di dati senza multiplexing dei dati, andare al passaggio 2.7.
  6. Demultiplexare il set di dati a cella singola utilizzando codici a barre spazio-temporali.
    1. Per il set di dati di lavoro, separare i dati di espressione genica e HTO (multiplexing).
      dataset_rna_counts <- b1$GSM6190913_b1_$`Gene Expression`
      ​dataset_barcodes <- b1$GSM6190913_b1_$`Antibody Capture`
    2. Crea un oggetto Seurat utilizzando i dati di espressione genica, filtrando immediatamente i geni espressi in meno di 5 cellule e le cellule con meno di 200 geni rilevati.
      dataset <- CreateSeuratObject(counts = dataset_rna_counts, min.cells = 5, min.features = 200)
    3. Crea un set di dati sull'espressione genica come livello e genera un elenco di cellule e codici a barre comuni a entrambi i saggi.
      dataset_rna_counts2 <- LayerData(dataset, data = "RNA")
      ​dataset_joint.barcodes <- intersect(colnames(dataset_rna_counts2), colnames(dataset_barcodes))
    4. Sottoinsieme di espressione genica e conta HTO mediante codici a barre di cellule congiunte.
      dataset_rna_counts2 <- dataset_rna_counts2[, dataset_joint.barcodes]
      ​dataset_barcodes2 <- as.matrix(dataset_barcodes[, dataset_joint.barcodes])
    5. Verificare che l'HTO abbia i nomi dei codici a barre previsti.
      ​rownames(dataset_barcodes2)
    6. Creare un nuovo test per memorizzare le informazioni sul codice a barre e aggiungere questo test all'oggetto Seurat creato in precedenza.
      dataset_barcode_assay <- CreateAssayObject(counts = dataset_barcodes2)
      ​dataset[["barcodes"]] <- dataset_barcode_assay
    7. Verificare che l'oggetto contenga ora più saggi.
      DefaultAssay(dataset)
    8. Normalizza i dati dei codici a barre ed esegui il demultiplexing tramite la funzione HTODemux. Questo metodo è descritto in dettaglio nella seguente vignetta Seurat: https://satijalab.org/seurat/articles/hashing_vignette
      ​dataset <- HTODemux(dataset, assay = "barcodes", positive.quantile = 0.99)
    9. Raggruppa le celle in base ai risultati della classificazione globale e rimuovi le celle senza classificazione con codice a barre.
      Idents(dataset) <- "barcodes_classification.global"
      ​dataset <- subset(dataset, idents = "Negative", invert = TRUE)
    10. Raggruppa le cellule in base al segnale HTO massimo.
      Idents(dataset) <- "barcodes_maxID"
    11. Visualizzare la distribuzione dei geni rilevati nelle cellule in base ai loro codici a barre multiplex (Figura 1 supplementare).
      VlnPlot(dataset, features = "nFeature_RNA", pt.size = 0.1, log = TRUE)
    12. Rinomina i codici a barre con le assegnazioni effettive del tempo di avvolgimento (giorni dopo l'avvolgimento) e dello spazio (2-8 mm) (presi dal manoscritto originale) e assegnali a una nuova variabile di metadati chiamata 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. Per set di dati senza multiplexing dei dati: crea un oggetto Seurat, filtrando immediatamente i geni espressi in meno di 5 cellule e le cellule con meno di 200 geni rilevati.
    dataset <- CreateSeuratObject(counts = b1, min.cells = 5, min.features = 200)
  8. Passa all'analisi del saggio di espressione genica del set di dati.
    DefaultAssay(dataset) <- "RNA"
    Idents(dataset) <- "data"
  9. Come importante passaggio del controllo di qualità, calcola la percentuale di geni mitocondriali in ciascuna cellula e assegnala come variabile di metadati. Questo metodo è descritto in dettaglio nella seguente vignetta Seurat: https://satijalab.org/seurat/articles/pbmc3k_tutorial#qc-and-selecting-cells-for-further-analysis
    dataset[["percent.mt"]] <- PercentageFeatureSet(dataset, pattern = "^mt-")
  10. Visualizzare la distribuzione dei geni rilevati, il numero di RNA e la percentuale mitocondriale in tutte le cellule (Figura 2 supplementare).
    plot1 <- FeatureScatter(dataset, feature1 = "nCount_RNA", feature2 = "percent.mt")
    plot2 <- FeatureScatter(dataset, feature1 = "nFeature_RNA", feature2 = " percent.mt ")
    plot1 + plot2
  11. Ci sono un certo numero di cellule con un grande contenuto mitocondriale, che è correlato a un basso numero di RNA; Queste sono cellule morte o morenti. Rimuovi queste celle di bassa qualità dal set di dati utilizzando un taglio equo. In questo caso, utilizzare i valori del set di dati originale descritto nello studio20 precedentemente pubblicato, in cui vengono rimosse cellule con più del 25% di geni mitocondriali.
    dataset <- subset(dataset, subset = nFeature_RNA > 200 & percent.mt < 25)
  12. Visualizzare la distribuzione dei geni rilevati, il numero di RNA e la percentuale mitocondriale in tutte le cellule dopo aver rimosso le cellule di bassa qualità (Figura 3 supplementare).
    plot1 <- FeatureScatter(dataset, feature1 = "nCount_RNA", feature2 = "percent.mt")
    plot2 <- FeatureScatter(dataset, feature1 = "nFeature_RNA", feature2 = " percent.mt ")
    plot1 + plot2
  13. Come ulteriore importante passaggio del controllo di qualità, rilevare probabili doppietti nel set di dati. Si tratta di cellule che sono state unite durante il sequenziamento delle goccioline e quindi si tradurranno in espressioni geniche che non sono a livello di singola cellula. Per contrastare questo problema, sono stati sviluppati diversi strumenti. È importante notare che ogni strumento fa determinate ipotesi sui dati a cella singola, quindi è importante che l'utente legga tutta la documentazione pertinente prima di utilizzare qualsiasi strumento. In questo flusso di lavoro, implementare un metodo denominato scDblFinder23. Si noti che questo metodo utilizza un algoritmo che impone un tasso di doppietta previsto fisso. Usare i comandi seguenti per eseguire la pipeline scDblFinder.
    DefaultAssay(dataset) <- "RNA"
    sce <- scDblFinder(GetAssayData(dataset, assay="RNA", slot="counts"), samples=Idents(dataset))

    NOTA: I set di dati multiplexati a cella singola come questo possono anche essere sottoposti a screening per i doppietti rimuovendo le celle che esprimono più codici a barre. Questo flusso di lavoro non ha dimostrato questo metodo perché la maggior parte dei set di dati a cella singola non dispone di questa funzionalità univoca. Invece, una pipeline più generalizzabile per lo screening dei doppietti viene mostrata utilizzando il metodo scDblFinder.
  14. Assegnare il punteggio del doppietto a una nuova variabile di metadati.
    dataset$scDblFinder.score <- sce$scDblFinder.score
  15. Visualizza la distribuzione del punteggio del doppietto in tutte le celle (Figura 4 supplementare).
    VlnPlot(dataset, features = "scDblFinder.score", raster=FALSE, pt.size=0.5)
  16. Rimuovi le celle al di sopra della soglia del punteggio doppio di 0,25. Questa soglia è stata scelta in base al grafico a violino generato sopra, che ha mostrato che la maggior parte delle celle nel set di dati potrebbe essere assegnata a punteggi doppi molto alti o molto bassi, e 0,25 è un limite ragionevole per questo set di dati che rimuoverebbe la stragrande maggioranza dei probabili doppietti senza rimuovere molti doppietti improbabili.
    dataset <- subset(dataset, scDblFinder.score < 0.25)
  17. Salvare l'oggetto Seurat del set di dati come file RDS nella directory di lavoro.
    saveRDS(dataset, "dataset_post_Method2.rds")

3. Analisi di un set di dati sulla guarigione delle ferite a una singola cellula utilizzando Seurat

NOTA: (Passaggio facoltativo) Se si avvia il flusso di lavoro qui, caricare il file RDS salvato come oggetto Seurat.

dataset <- readRDS("dataset_post_Method2.rds")

  1. Esegui il flusso di lavoro standard di Seurat per la normalizzazione, il ridimensionamento e l'analisi delle componenti principali (PCA) di set di dati a cella singola. Questo flusso di lavoro standard è descritto nelle seguenti vignette Seurat:
    Seurat - Tutorial sul clustering guidato: https://satijalab.org/seurat/articles/pbmc3k_tutorial
    Elenco comandi Seurat: https://satijalab.org/seurat/articles/essential_commands
    DefaultAssay(dataset) <- "RNA"
    dataset <- NormalizeData(object = dataset)
    dataset <- FindVariableFeatures(object = dataset)
    dataset <- ScaleData(object = dataset)
    dataset <- RunPCA(object = dataset)
  2. Visualizzare la quantità di variazione del set di dati rispetto alle prime 50 dimensioni PCA (Figura supplementare 5).
    ElbowPlot(dataset, reduction = "pca", ndims = 50)
    Gran parte della variazione principale si verifica all'interno delle prime 13 dimensioni.
  3. Eseguire il clustering delle celle del set di dati utilizzando un intervallo di dimensioni PCA impostato da 1 a 13 e una risoluzione impostata di 0,1.
    dataset <- FindNeighbors(dataset, verbose = TRUE, dims = 1:13)
    dataset <- FindClusters(dataset, verbose = TRUE, resolution = 0.1)

    NOTA: Questo flusso di lavoro si concentra sulle differenze su larga scala nei tipi di celle. Pertanto, utilizza un parametro abbastanza conservativo per l'intervallo di dimensioni PCA, in cui le prime 13 dimensioni rappresentano la stragrande maggioranza delle variazioni all'interno del set di dati. Per la discriminazione delle cellule in sottotipi più piccoli e più rari, l'utente può utilizzare un numero maggiore di dimensioni per l'analisi a valle, poiché tali sottotipi di cellule rare probabilmente rappresentano livelli inferiori di variazione del set di dati. Il parametro di risoluzione è compreso tra 0 e 1 e determina l'entità della separazione categoriale imposta al set di dati. L'impostazione di questo parametro dipende dalla domanda di ricerca dell'utente. Per raggruppare le cellule in numerosi sottotipi piccoli e rari, utilizzare risoluzioni più elevate per l'analisi a valle. Poiché questo flusso di lavoro mira a esplorare differenze più ampie tra i principali tipi di cellule, utilizza un valore di risoluzione piuttosto piccolo di 0,1, che dovrebbe raggruppare le cellule in un numero inferiore di gruppi più grandi. L'uso delle impostazioni menzionate nel passaggio 3.3 discriminerà 8 gruppi di celle uniche. Questi cluster vengono assegnati automaticamente a una variabile di metadati denominata "seurat_clusters".
  4. Esegui la riduzione dimensionale UMAP e l'analisi dei vicini utilizzando le prime 13 dimensioni PCA. Aggiungere il numero di seme 123 per garantire la riproducibilità della proiezione dei dati risultante.
    dataset <- RunUMAP(dataset, verbose = TRUE, dims = 1:13, seed.use = 123)
    NOTA: L'algoritmo UMAP è stocastico e introduce la casualità nella riduzione dimensionale (vedi "Stabilità e riproducibilità" in https://cran.r-project.org/web/packages/umap/vignettes/umap.html). Sebbene l'utilizzo di un seme coerente fornisca un "livello minimo di riproducibilità" all'algoritmo, il grafico risultante potrebbe comunque essere leggermente diverso da quello mostrato nelle figure rappresentative e nei risultati a valle. I test hanno rilevato che i risultati differiranno in particolare tra i computer che eseguono Windows e quelli che eseguono MacOS, probabilmente a causa delle diverse implementazioni della casualità in questi sistemi operativi.
  5. Visualizzare il raggruppamento delle celle su un grafico UMAP (Figura 1).
    DimPlot(dataset, group.by = "seurat_clusters", raster = FALSE, label = TRUE)
    NOTA: La casualità dell'algoritmo UMAP può generare grafici leggermente diversi, come mostrato nella figura che mostra grafici UMAP alternativi generati utilizzando lo stesso codice di cui sopra su computer con Windows e MacOS; Si notino le lievi differenze nelle forme dei grappoli. È quindi imperativo che l'utente salvi e contrassegni con data e ora tutti i dati e i grafici man mano che vengono generati e che tutte le analisi a valle sui cluster siano effettuate con attenzione e tenendo presente la comprensione biologica, come descritto di seguito per l'annotazione del tipo di cellula.
  6. Poiché sono incluse le etichette dell'esperimento originale che si riferiscono a dove e quando provengono le cellule durante la guarigione della ferita, visualizzare l'annotazione delle cellule nel tempo/spazio della ferita su un grafico UMAP (Figura 2).
    DimPlot(dataset, group.by = "time_space", raster = FALSE, label = FALSE)
  7. Genera una tabella di associazione del cluster di celle con l'annotazione spazio/temporale della ferita.
    table(dataset$time_space, dataset$seurat_clusters)
  8. Determinare le identità dei principali tipi di celle nel set di dati. Per fare ciò, calcola i geni differenzialmente espressi (DEG) tra tutti i cluster. Ottenere elenchi DEG per i cluster, assegnarli a una variabile e salvare l'output come file di testo delimitato all'interno della directory di lavoro.
    NOTA: Questo passaggio richiede un uso intensivo della CPU e può richiedere molto tempo, a seconda dell'hardware dell'utente.
    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. Scaricare e aprire il file di dataset_cluster_markers.txt incluso in un foglio di calcolo (ad esempio, Excel) copiando il contenuto del file di testo e utilizzando l'Importazione guidata testo per specificare il delimitatore della virgola e l'identità delle colonne del nome del gene come Testo. Indicare che i nomi dei geni sono "Testo" è importante, altrimenti Excel convertirà automaticamente alcuni nomi di geni in date, ad esempio il passaggio da Sept7 a September 7.
  10. In un foglio di calcolo, filtra i risultati in base ai seguenti parametri consigliati:
    1. Classificare la colonna avg_log2FC dalla più grande alla più piccola per disporre tutte le righe in base alle variazioni decrescenti del logdi 2 volte (log2FC).
    2. Classificare la colonna del cluster dal più piccolo al più grande per disporre tutte le righe in base all'aumento del numero di cluster Seurat.
    3. Filtra la colonna avg_log2FC per i numeri maggiori o uguali a 2,5 per mostrare solo i geni più differenzialmente espressi (DEG) nel cluster indicato rispetto ad altri cluster.
    4. Filtrare la colonna pct.1 per i numeri maggiori o uguali a 0,4. Questa colonna si riferisce alla percentuale di cellule nel cluster indicato che esprimono il gene indicato (Cluster %) e fissando la soglia a 0,4 significa che vengono mostrati solo i geni espressi in almeno il 40% delle cellule del cluster indicato.
    5. Filtrare la colonna pct.2 per i numeri minori o uguali a 0,2. Questa colonna si riferisce alla percentuale di cellule NON nel cluster indicato che esprimono il gene indicato (Non-cluster %), e fissando la soglia a 0,2 significa che vengono mostrati solo i geni espressi in almeno il 20% delle cellule NON nel cluster indicato.
    6. Filtrare la colonna p_val_adj per i numeri minori o uguali a 0,01. Questa colonna si riferisce al valore P aggiustato o al tasso di false scoperte (FDR), indicando la forza statistica del DEG indicato, e impostando la soglia a 0,01 significa che vengono mostrati solo i geni con un FDR < 0,01.
      NOTA: La Tabella 1 supplementare (JoVE_DEGs_cellMarkers.xlsx) contiene l'output completo dei geni differenzialmente espressi classificati utilizzati nella fase 3.10 del protocollo. La Tabella 2 supplementare mostra i primi 5 geni per ciascun cluster in questa analisi, con i geni in grassetto utilizzati per le visualizzazioni successive.
  11. Per l'annotazione imparziale dei cluster per tipo di cella, utilizzare lo strumento di analisi dell'arricchimento basato sul Web EnrichR.
    Usa il link: https://maayanlab.cloud/Enrichr/
  12. Copia gli elenchi di DEG per ogni cluster in una finestra EnrichR separata, quindi fai clic su Analizza. Lo strumento EnrichR esegue l'elenco dei geni attraverso centinaia di database curati e classifica ogni termine arricchito in ogni categoria.
  13. Ai fini dell'annotazione del tipo di cella, fare clic sulla scheda Tipi di cella in alto e concentrarsi sui primi 5 arricchimenti nei tre database curati per i marcatori di cella sul lato sinistro (Figura 3):
    CellMarker 2024 (http://bio-bigdata.hrbmu.edu.cn/CellMarker/)
    Tabula Sapiens (https://tabula-sapiens-portal.ds.czbiohub.org/)
    PanglaoDB Aumentato (https://panglaodb.se/)
  14. Sulla base degli arricchimenti dei DEG in questi database, confermare la probabile identità degli 8 cluster. Si noti che ci sono due cluster (2, 6) che si arricchiscono come fibroblasti; Pertanto, combinare questi cluster in annotazioni di tipo a cella singola. Assegna le identità del tipo di cella come etichette a una nuova variabile di metadati denominata 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. Visualizzare i cluster di celle rinominati come annotazioni su un grafico UMAP (Figura 4).
    DimPlot(dataset, group.by = "cell_types", raster = FALSE, label = FALSE)
  16. Visualizzare la localizzazione dei geni marcatori del cluster superiore (in grassetto) dalla Tabella 1 su una serie di grafici UMAP (Figura 5).
    DefaultAssay(dataset) <- "RNA"
    FeaturePlot(dataset, features = c("Arg1", "Retnlg", "Fgf7", "Dsp", "Tie1", "Cd3g", "Cdh4", "Rgs5"), raster=FALSE, ncol = 4)
  17. Visualizzare i DEG dell'indicatore di cluster superiore su un grafico a punti, raggruppati in base ai numeri di cluster originali (Figura 6 supplementare).
    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. Visualizzare i DEG dell'indicatore del cluster superiore su un grafico a punti, raggruppati in base ai tipi di cella annotati (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. Per eseguire analisi di serie temporali, è necessario innanzitutto semplificare il set di dati per rimuovere la componente spaziale. Per le analisi dell'andamento temporale, raggruppare le annotazioni temporali/spaziali della ferita in giorni complessivi post-avvolgimento (DPW) con una nuova variabile di metadati chiamata "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. Visualizzare i nuovi raggruppamenti dell'andamento temporale della ferita su un grafico UMAP (Figura 7 supplementare).
    DimPlot(dataset, group.by = "DPW", raster = FALSE, label = FALSE)
  21. Genera tabelle che mostrano quante celle di ciascun tipo sono presenti in ogni DPW.
    ​table(dataset$DPW, dataset$cell_types)
    1. Passaggio facoltativo: per ottenere anche elenchi DEG per gruppi di corsi temporali avvolti, assegnarli a una variabile e salvare l'output come file di testo delimitato.
      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. Converti i numeri delle celle in proporzioni per categoria per comprendere meglio i cambiamenti relativi nella composizione del tipo di cellula durante il corso del tempo di guarigione. Visualizza la proporzione di DPW in ciascun tipo di cella (Figura supplementare 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. Visualizza la proporzione di tipi di cellule in ciascun 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. Salvare l'oggetto Seurat del set di dati come file RDS nella directory di lavoro.
    saveRDS(dataset, "dataset_post_Method3.rds")

4. Analisi dei sottotipi cellulari con Seurat

NOTA: La potenza dell'analisi a singola cellula consente la scoperta e l'analisi di sottotipi rari all'interno dei principali tipi di cellule analizzati sopra. Questo esempio si concentra sui fibroblasti, che inizialmente si sono raggruppati in due cluster di Seurat prima di essere combinati in un'unica categoria. Questa parte del protocollo si concentra specificamente sui fibroblasti, escludendo tutti gli altri tipi di cellule, ed esplora le loro identità e proprietà temporali durante la guarigione delle ferite. Come passaggio facoltativo, se necessario, caricare il file RDS salvato come oggetto Seurat.

dataset <- readRDS("dataset_post_Method3.rds")

  1. Sottoinsiemi del set di dati originale in base all'identità della cellula dei fibroblasti.
    Idents(set di dati) <- "cell_types"
    dataset_fibroblast <- subset(dataset, idents = "Fibroblast")
  2. Eseguire la PCA su questo set di dati più piccolo e visualizzare la quantità di variazione del set di dati rispetto alle dimensioni PCA (Figura 9 supplementare).
    dataset_fibroblast <- RunPCA(dataset_fibroblast, verbose = TRUE)
    ElbowPlot(dataset_fibroblast, reduction = "pca", ndims = 50)

    NOTA: Gran parte della variazione principale si verifica all'interno delle prime 9 dimensioni.
  3. Eseguire il clustering delle celle del set di dati utilizzando un intervallo di dimensioni PCA impostato da 1 a 9 e una risoluzione impostata di 0,1.
    dataset_fibroblast <- FindNeighbors(dataset_fibroblast, verbose = TRUE, dims = 1:9)
    dataset_fibroblast <- FindClusters(dataset_fibroblast, verbose = TRUE, resolution = 0.1)

    NOTA: Utilizzando queste impostazioni, l'algoritmo discrimina 3 cluster di fibroblasti unici. Questi cluster vengono assegnati automaticamente a una variabile di metadati denominata seurat_clusters.
  4. Esegui la riduzione dimensionale UMAP e l'analisi dei vicini utilizzando le prime 9 dimensioni PCA. Aggiungere il numero di seme 123 per garantire la riproducibilità della proiezione dei dati risultante.
    dataset_fibroblast <- RunUMAP(dataset_fibroblast, verbose = TRUE, dims = 1:9, seed.use = 123)
  5. Visualizza il raggruppamento delle celle su un grafico UMAP (Figura 8).
    DimPlot(dataset_fibroblast, group.by = "seurat_clusters", raster = FALSE, label = TRUE)
  6. Visualizzare l'annotazione dell'andamento temporale della ferita delle cellule su un grafico UMAP (Figura 10 supplementare).
    DimPlot(dataset_fibroblast, group.by = "DPW", raster = FALSE, label = FALSE)
  7. Ottenere elenchi DEG per i tre sottotipi di fibroblasti e salvarli in un file di testo nella directory di lavoro.
    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. Segui passaggi simili a quelli sopra descritti (passaggi 3.9-3.10) in un foglio di calcolo per filtrare i DEG nei marcatori del sottotipo di fibroblasti superiori.
  9. Definisci un elenco di geni personalizzato come variabile copiando i primi 5 marcatori del sottotipo di fibroblasti per ciascuno dei tre cluster dal file di testo DEG.
    FB_type_marker <- c("Plac8", "Cthrc1", "Adam12", "Ifi211", "Plat", "Cdh4", "Aldh3a1", "Ppp1r14a", "Oxtr", "Serpina3c", "Sostdc1", "Scube3", "Ptprz1", "Corin", "Alx4")
  10. Visualizzare i geni nell'elenco nel set di dati solo sui fibroblasti chiamando la variabile nel parametro features del dotplot (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. Visualizzare i geni nell'elenco nel set di dati originale a singola cellula chiamando la variabile nel parametro features del dotplot (Figura 11 supplementare).
    DotPlot(dataset, group.by="cell_types", features = FB_type_marker) + RotatedAxis() + scale_colour_gradient2(midpoint = 0, low = "blue", mid = "grey", high = "red")
  12. Visualizzare la proporzione di sottotipi di fibroblasti in ciascuna categoria DPW (Figura supplementare 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. Visualizzare la proporzione di cellule di fibroblasti DPW in ciascuna categoria di sottotipo di fibroblasti (Figura 13 supplementare).
    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. Salvare l'oggetto Seurat del set di dati come file RDS nella directory di lavoro.
    saveRDS(dataset_fibroblast, "dataset_fibroblast_post_Method4.rds")

5. Esempio di analisi di follow-up tramite punteggio del modulo

NOTA: Un metodo utile per l'analisi di set di dati a cella singola è chiamato punteggio dei moduli. In questo flusso di lavoro, è possibile definire un elenco di geni in base alle conoscenze precedenti e quindi calcolare i punteggi dei moduli, che possono identificare potenziali arricchimenti dell'elenco di geni all'interno di ciascuna cellula. Questi punteggi possono essere mediati tra le annotazioni delle celle per rivelare potenziali modelli di arricchimento.

Qui, utilizza gli elenchi di geni diuno studio 2 pubblicato in precedenza, in cui i geni specifici della fase di guarigione delle ferite sono stati identificati utilizzando campioni sequenziati di RNA di massa da tutto il continuum di guarigione. Gli elenchi dei geni sono stati salvati in un file di testo delimitato da tabulazioni (File supplementare 2: JoVE_PhaseSpecificGenes.txt) che ora può essere scaricato nella directory di lavoro e utilizzato per generare elenchi di geni che identificano le tre principali fasi di guarigione.

  1. Carica gli elenchi di geni in una variabile leggendo il file TEXT.
    PhaseSpecificGenes <- read_delim("JoVE_PhaseSpecificGenes.txt", delim="\t", col_names = T)
  2. Separa le colonne in singole variabili dell'elenco dei geni e cambia i geni in nomi di topi con la prima lettera maiuscola.
    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: (Facoltativo) Se necessario, caricare il file RDS salvato come oggetto Seurat.
    dataset <- readRDS("dataset_post_Method3.rds")
  3. Usa gli elenchi di geni come moduli per valutare ogni cellula nel set di dati in base alle tre fasi della guarigione.
    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. Visualizza i punteggi aggregati dei moduli per categoria di celle, inclusi DPW e i principali tipi di celle (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. Esempio di analisi di follow-up tramite CellChat

NOTA: Un altro metodo utile e ben citato per l'analisi di set di dati di singole cellule è l'inferenza di interazioni cellula-cellula. In questo flusso di lavoro, utilizzare il pacchetto CellChat, che deduce le comunicazioni cellula-cellula analizzando le interazioni differenziali ligando-recettore tra i gruppi di cellule22. Recentemente, gli sviluppatori di CellChat hanno pubblicato un protocollo dettagliato passo dopo passo per il suo uso generalizzato24, e questa è un'ottima risorsa per gli utenti mentre lavorano attraverso il seguente flusso di lavoro e lo applicano ai loro set di dati. Ad esempio, il seguente flusso di lavoro confronta le interazioni di tutte le principali cellule nelle ferite a 1 e 14 giorni dopo la ferita (DPW). Ogni passaggio non è descritto in modo molto dettagliato, poiché tutti i passaggi sono già stati descritti nella pubblicazione ufficiale di CellChat24 e nei tutorial, collegati qui:

Inferenza e analisi della comunicazione cellula-cellula mediante
Chat cellulare: https://github.com/jinworks/CellChat/blob/master/tutorial/CellChat-vignette.html

Analisi comparativa di più set di dati utilizzando CellChat:
https://github.com/jinworks/CellChat/blob/master/tutorial/Comparison_analysis_of_multiple_datasets.html

Passaggio facoltativo: se necessario, caricare il file RDS salvato come oggetto Seurat:

dataset <- readRDS("dataset_post_Method3.rds")

  1. Sottoinsiemi del set di dati originale in due set di dati in base all'annotazione DPW.
    Idents(dataset) <- "DPW"
    dataset_D1 <- subset(dataset, ident = "D1")
    dataset_D14 <- subset(dataset, ident = "D14")
  2. Definisci l'annotazione con cui verrà eseguito CellChat --- in questo caso, utilizza i principali tipi di cella.
    Idents(dataset_D1) <- "cell_types"
    Idents(dataset_D14) <- "cell_types"
  3. Crea gli oggetti CellChat e segui il tipico flusso di lavoro di CellChat. Vedere le esercitazioni collegate sopra come riferimenti dettagliati per ogni passaggio.
    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. Visualizzare i punti di forza dell'interazione in entrata e in uscita in tutti i principali tipi di cellule in ogni momento di guarigione della ferita (Figura 14 supplementare).
    netAnalysis_signalingRole_scatter(cellchat_D1)
    netAnalysis_signalingRole_scatter(cellchat_D14)

    I fibroblasti aumentano notevolmente le loro interazioni tra D1 e D14 DPW.
  5. Mostra gli elenchi di tutte le vie di comunicazione cellula-cellula dedotte significative.
    cellchat_D1@netP$pathways
    cellchat_D14@netP$pathways

    La via del collagene è una delle vie significative sia su D1 che su D14 DPW.
  6. Concentrati sulla via di segnalazione del collagene e sulla sua interazione con i fibroblasti.
    pathways.show <- c("COLLAGEN")
  7. Visualizzare le interazioni della via di segnalazione del collagene tra i tipi di cellule utilizzando diagrammi a cerchio (Figura 15 supplementare).
    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. Visualizzare le interazioni della via di segnalazione del collagene tra i tipi di cellule utilizzando diagrammi a corda (Figura 16 supplementare).
    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. Visualizzare le interazioni della via di segnalazione COLLAGEN con i fibroblasti come cellule sorgente (Figura 17 supplementare).
    NOTA: I tipi di cellule negli oggetti cellchat sono elencati come ID nell'ordine in cui sono stati assegnati nell'oggetto Seurat originale: 1 = Macrofago, 2 = Neutrofilo, 3 = Fibroblasto, 4 = Cellula epiteliale, 5 = Cellula endoteliale, 6 = Cellula T, 7 = Cellula muscolare liscia.
    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. Visualizza i contributi di ciascuna coppia ligando-recettore nella via di segnalazione COLLAGEN con i fibroblasti come cellule sorgente.
    1. Utilizzo dei grafici a bolle (Figura 18 supplementare):
      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. Utilizzo dei diagrammi degli accordi (Figura 19 supplementare):
      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. Focus sull'interazione ligando-recettore Col1a1-Cd44 all'interno della via di segnalazione COLLAGEN.
    ​LR.show <- "COL1A1_CD44"
  12. Visualizzare le interazioni ligando-recettore Col1a1-Cd44 tra i tipi di cellule utilizzando diagrammi a corde (Figura 20 supplementare).
    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. Eseguire l'analisi differenziale di CellChat generando un oggetto CellChat combinato.
    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. Visualizzare il numero totale e la forza relativa delle interazioni cellula-cellula nei punti temporali di guarigione della ferita (Figura 21 supplementare).
    gg1 <- compareInteractions(cellchat_D14_v_D1, show.legend = F)
    gg2 <- compareInteractions(cellchat_D14_v_D1, show.legend = F, measure = "weight")
    gg1 + gg2
  15. Visualizzare, utilizzando un grafico circolare, le forze di interazione differenziali cellula-cellula tra ciascun tipo di cellula durante la transizione della ferita dal giorno 1 al giorno 14 (Figura 22 supplementare).
    netVisual_diffInteraction(cellchat_D14_v_D1, weight.scale = T, measure = "weight")
  16. Visualizzare, utilizzando una mappa termica, le forze differenziali di interazione cellula-cellula tra ciascun tipo di cellula durante la transizione della ferita dal giorno 1 al giorno 14 (Figura 23 supplementare).
    netVisual_heatmap(cellchat_D14_v_D1, measure = "weight")
  17. Visualizzare, utilizzando un rank plot, i contributi relativi dei singoli percorsi alle interazioni cellula-cellula con i fibroblasti come cellule sorgente al giorno 14 rispetto al giorno 1 (Figura 24 supplementare).
    rankNet(cellchat_D14_v_D1, mode = "comparison", measure = "weight", sources.use = 3, targets.use = NULL, stacked = T, do.stat = TRUE)
  18. Visualizzare utilizzando i grafici a bolle i contributi relativi delle singole coppie ligando-recettore nella via di segnalazione del collagene con i fibroblasti come cellule sorgente al giorno 14 rispetto al giorno 1 (Figura 25 supplementare).
    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. Proprio come gli oggetti Seurat, gli oggetti CellChat possono essere salvati e aperti come file RDS.
    saveRDS(cellchat_D1, "cellchat_D1.rds")
    saveRDS(cellchat_D14, "cellchat_D14.rds")
    saveRDS(cellchat_D14_v_D1, "cellchat_D14_v_D1.rds")
  20. Passaggio facoltativo: gli oggetti CellChat possono essere aperti anche da file RDS.
    cellchat_D1 <- readRDS("cellchat_D1.rds")
    cellchat_D14 <- readRDS("cellchat_D14.rds")
    cellchat_D14_v_D1 <- readRDS("cellchat_D14_v_D1.rds")

7. Esempio di analisi integrativa combinando più set di dati a singola cellula

NOTA: I set di dati a cella singola sono spesso separati in più file perché sono stati sequenziati in batch o gruppi. Questo flusso di lavoro mostra come integrare due dei cinque lotti del set di dati 20 sulla guarigione delle ferite. I metodi attuali per l'integrazione dei set di dati sono descritti dalle seguenti vignette Seurat:

Introduzione all'integrazione scRNA-seq:
https://satijalab.org/seurat/articles/integration_introduction

Analisi integrativa in Seurat v5:

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

Nota: Esistono numerosi metodi di integrazione di set di dati a cella singola, ognuno con i propri punti di forza e di debolezza. Per i dettagli, si veda il benchmark completo dei metodi di integrazione25. È importante che l'utente legga tutta la documentazione pertinente prima di affidarsi a qualsiasi metodo di integrazione.

  1. Ripetere tutti i passaggi del Metodo 2 per un altro batch del set di dati20 di Hu et al. Nel protocollo seguente viene utilizzato il batch #3. Il file di script R supplementare è incluso e può essere usato per elaborare il batch #3 (file supplementare 3: JoVE_Rscript_b3. R). Ricordarsi di creare e utilizzare una nuova variabile per il set di dati --- nel codice seguente, utilizzare "dataset_b3" per il batch di set di dati #3.
    1. Passaggio facoltativo: se necessario, aprire i due set di dati come oggetti Seurat dai file RDS salvati nella directory di lavoro:
      dataset <- readRDS("dataset_post_Method2.rds")
      dataset_b3 <- readRDS("dataset_b3_post_Method2.rds")
  2. Assegna una nuova variabile a ciascun set di dati denominata "batch" per etichettare il set di dati di origine nelle analisi successive.
    dataset@meta.data$batch <- "b1"
    dataset_b3@meta.data$batch <- "b3"
  3. Eseguire l'unione Seurat dei due set di dati, aggiungendo annotazioni dell'ID cella basate su batch, quindi eseguire il flusso di lavoro Seurat standard per il set di dati unito, come descritto nel Metodo 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. Eseguire il clustering e l'analisi UMAP sul set di dati combinato prima dell'integrazione dei dati.
    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. Visualizzare il grafico UMAP in base ai numeri di cluster e di lotto (Figura 26 supplementare).
    DimPlot(dataset_merged, reduction = "umap.unintegrated", group.by = c("seurat_clusters", "batch"))
  6. Mostra la distribuzione dei numeri di cella in ciascun cluster in base al numero di lotto.
    table(dataset_merged$batch, dataset_merged$seurat_clusters)
    NOTA: Dal grafico UMAP e dalla tabella, non sembrano esserci effetti batch significativi per questi due set di dati. L'evidenza degli effetti batch si manifesterebbe come discrepanze inaspettate nella distribuzione dei cluster tra i due set di dati, il che potrebbe significare che ci sono potenziali differenze tecniche tra i set di dati che prevalgono sulle effettive somiglianze biologiche.
  7. Eseguire l'integrazione dei dati Seurat utilizzando il metodo RPCA. Per ulteriori informazioni su questo e altri metodi di integrazione dei dati, si prega di leggere la vignetta Seurat collegata sopra.
    dataset_merged <- IntegrateLayers(
    object = dataset_merged, method = RPCAIntegration,
    orig.reduction = "pca", new.reduction = "integrated.rpca",
    verbose = TRUE
    )
  8. Esegui il clustering e l'analisi UMAP sul set di dati combinato dopo l'integrazione dei dati.
    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. Visualizzare il grafico UMAP in base ai numeri di cluster e di lotto dopo l'integrazione (Figura 27 supplementare).
    DimPlot(dataset_merged, reduction = "umap.rpca", group.by = c("seurat_clusters","batch"))
  10. Mostra la distribuzione dei numeri di cella in ciascun cluster in base al numero di lotto dopo l'integrazione.
    table(dataset_merged$batch, dataset_merged$seurat_clusters)
    Dal grafico UMAP e dalla tabella dei dati integrati, ora c'è un'eccellente sovrapposizione tra i due batch in diversi cluster. È interessante notare che l'integrazione dei dati ha portato all'identificazione di un cluster aggiuntivo utilizzando gli stessi parametri di clustering.
  11. Dopo l'integrazione del set di dati e prima delle analisi a valle, i livelli del set di dati unito devono essere uniti.
    dataset_merged <- JoinLayers(dataset_merged)
  12. Salvare l'oggetto Seurat del set di dati come file RDS nella directory di lavoro.
    saveRDS(dataset_merged, "merged_dataset_post_Method7.rds")

Results

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

A partire dal metodo #2, il protocollo illustra i passaggi per il caricamento e l'esecuzione delle fasi di controllo della qualità su un set di dati di guarigione delle ferite a cellula singola. Dopo aver creato l'oggetto Seurat (passaggio 2.6.2), una serie di passaggi unisce i due saggi all'interno del set di dati (RNA e proteine; passaggi 2.6.3-2.6.7) ed esegue la decomplessazione del saggio proteico secondo codici a barre spazio-temporali (passaggi 2.6.8-2.6.9). La funzione di decomplessazione assegna diverse etichette di metadati a ciascuna cella del set di dati, tra cui "barcodes_maxID", che identifica il codice a barre spazio-temporale più probabile di ciascuna cella (passaggio 2.6.10). Nel passaggio 2.6.11, viene eseguita la funzione del grafico a violino per visualizzare la distribuzione dei geni rilevati nelle cellule in base ai loro codici a barre multiplexati. Il risultato rappresentativo di questo passaggio (Figura supplementare 1) mostra che esiste una distribuzione abbastanza uniforme dei geni rilevati per ciascun codice a barre, il che è importante per l'integrità del set di dati e l'analisi a valle dei punti temporali di guarigione delle ferite. Dopo aver assegnato l'etichetta appropriata ai codici a barre delle proteine (passaggio 2.6.12), il protocollo mostra quindi come eseguire le fasi di controllo di qualità sul saggio dell'RNA del set di dati, iniziando con il calcolo della percentuale di geni mitocondriali in ciascuna cellula (passaggio 2.9). Nel passaggio 2.10, viene eseguita la funzione del grafico a dispersione delle caratteristiche per visualizzare la distribuzione dei geni rilevati, il numero di RNA e la percentuale mitocondriale in tutte le cellule. I risultati rappresentativi di questa fase (Figura supplementare 2) mostrano che esiste un numero di cellule con un grande contenuto mitocondriale, che è correlato a un basso numero di RNA e identifica le cellule morte o morenti. Dopo aver rimosso le cellule con un basso numero di RNA e un grande contenuto mitocondriale (passaggio 2.11), nel passaggio 2.12 viene eseguita un'altra funzione di grafico a dispersione delle caratteristiche sul set di dati del sottoinsieme e il risultato rappresentativo di questo passaggio (Figura supplementare 3) mostra che la distribuzione dei geni rilevati e la percentuale di RNA mitocondriale per cellula è ora più normale, aprendo la strada a robuste analisi a valle. Successivamente, il protocollo descrive l'uso della funzione scDblFinder per identificare probabili doppietti nel set di dati e assegna un nuovo metadati chiamato "scDblFinder.score" a ciascuna cella (passaggi 2.13-2.14). Nel passaggio 2.15, viene eseguita la funzione del grafico a violino per visualizzare la distribuzione dei punteggi del doppietto nel set di dati e il risultato rappresentativo di questo passaggio (Figura 4 supplementare) mostra che ci sono un numero di celle con punteggi doppietto relativamente alti e che 0,25 sembra essere un limite naturale al di sopra del quale c'è una popolazione di probabili doppietti. Pertanto, i passaggi seguenti utilizzano questo parametro per sottoinsiemare il set di dati nelle celle al di sotto del limite (passaggio 2.16), completando così i passaggi di controllo della qualità per questo set di dati a cella singola.

A partire dal metodo #3, il protocollo illustra i passaggi per l'analisi del set di dati di guarigione delle ferite a cellula singola di qualità controllata utilizzando il pacchetto e il flusso di lavoro Seurat. Dopo la normalizzazione e il ridimensionamento dei dati di RNA, viene eseguita l'analisi PCA (passaggio 3.1). Nel passaggio 3.2, la funzione del grafico a gomito viene utilizzata per visualizzare la quantità di variazione del set di dati rispetto alle prime 50 dimensioni PCA e il risultato rappresentativo di questo passaggio (Figura supplementare 5) mostra che gran parte della variazione maggiore si verifica all'interno delle prime 13 dimensioni, come identificato dalla curva nel grafico. Il protocollo mostra quindi come trovare i vicini ed eseguire il clustering cellulare (passaggio 3.3) e la riduzione dimensionale UMAP (passaggio 3.4) del set di dati utilizzando le prime 13 dimensioni PCA e un parametro di risoluzione di clustering relativamente basso di 0,1, entrambi scelti per identificare i principali tipi di cellule più generalizzabili nelle ferite. Nel passaggio 3.5, viene eseguita la funzione di grafico dimensionale per visualizzare il raggruppamento delle celle su un grafico UMAP e il risultato rappresentativo di questo passaggio (Figura 1) mostra che tutte le celle del set di dati sono raggruppate attorno a 8 gruppi di cluster Seurat principali codificati a colori, con grafici UMAP leggermente diversi ottenuti da un computer con Windows (a sinistra) e MacOS (a destra). Nel passaggio 3.6, viene eseguita un'altra funzione di grafico dimensionale per visualizzare l'annotazione tempo/spazio della ferita delle cellule e il risultato rappresentativo di questo passaggio (Figura 2) mostra che tutte le celle del set di dati sono distribuite in base alla loro origine nel tempo/spazio, senza alcun raggruppamento apparente in base all'annotazione nel tempo/spazio. Il protocollo descrive poi come ottenere elenchi di geni differenzialmente espressi e salvarli in un file di testo (passaggio 3.8), aprire la tabella dei dati in un foglio di calcolo ed eseguire vari passaggi di filtraggio per ottenere i marcatori di cluster più alti per ogni cluster di cellule (passaggi 3.9-3.10.6). Il risultato rappresentativo di queste fasi (Tabella supplementare 1) è il foglio elettronico finale contenente l'output completo dei geni differenzialmente espressi classificati, mentre un altro risultato rappresentativo (Tabella supplementare 2) è una tabella semplificata che mostra i primi 5 geni up-regolati ed espressi per ogni cluster Seurat. Il protocollo descrive quindi come utilizzare uno strumento di analisi dell'arricchimento funzionale basato sul web chiamato EnrichR per identificare i tipi di cellule putative in base ai geni marcatori del cluster superiore (passaggi 3.11-3.12) e i risultati rappresentativi di questi passaggi (Figura 3) sono schermate ritagliate degli output di EnrichR che mostrano i tipi di cellule arricchite più in alto per ciascuno degli otto cluster di cellule. Il protocollo assegna quindi una nuova etichetta di metadati chiamata "cell_types" a tutte le cellule nei rispettivi cluster Seurat in base alle loro annotazioni del tipo di cellula più arricchite (passaggio 3.14). Nel passaggio 3.15, viene eseguita la funzione di grafico dimensionale per visualizzare i cluster di celle rinominati come annotazioni del tipo di cella su un grafico UMAP e i risultati rappresentativi di questo passaggio (Figura 4) ha mostrato che tutte le celle del set di dati si raggruppano attorno ai principali tipi di celle codificate a colori. Nel passaggio 3.16, la funzione feature plot è stata utilizzata per visualizzare la localizzazione dei geni marcatori del cluster superiore (dalla Tabella supplementare 2) su una serie di grafici UMAP e i risultati rappresentativi (Figura 5) sono una griglia di grafici UMAP che mostrano l'alta espressione dei geni marcatori cellulari superiori all'interno delle rispettive posizioni dei cluster dei principali tipi di cellule. Nei passaggi 3.17 e 3.18, la funzione dot plot è stata eseguita per visualizzare i livelli di espressione relativi dei geni marcatori del cluster superiore nelle cellule, prima raggruppati in base ai numeri di cluster Seurat originali (passaggio 3.17) e successivamente raggruppati in base alle etichette dei tipi di cellule annotate (passaggio 3.18). I risultati rappresentativi di questi passaggi hanno confermato l'alto livello di espressione dei geni marcatori cellulari superiori solo nei rispettivi cluster di Seurat (Figura supplementare 6) e solo nei rispettivi tipi di cellule principali (Figura 6). Il passo successivo del protocollo semplifica le etichette originali basate sulle proteine spazio-temporali in annotazioni strettamente temporali, che identificano le cellule in base ai giorni successivi alla ferita (DPW) da cui hanno avuto origine. Nel passaggio 3.20, viene eseguita la funzione di grafico dimensionale per visualizzare le celle come annotazioni DPW su un grafico UMAP e i risultati rappresentativi di questo passaggio (Figura supplementare 7) ha mostrato la localizzazione delle annotazioni sull'andamento temporale della ferita nel set di dati sulla guarigione delle ferite a singola cellula. Come previsto, le annotazioni del giorno 1 (D1) hanno dominato i cluster di neutrofili e macrofagi, mentre i punti temporali di guarigione della ferita erano più rappresentati in altri tipi di cellule. I passaggi seguenti nel protocollo hanno utilizzato grafici a barre impilate per visualizzare prima le proporzioni di DPW tra diversi tipi di cellule (passaggio 3.22) e quindi per visualizzare le proporzioni dei tipi di cellule in diversi punti temporali (3.23). I risultati rappresentativi di queste fasi sono grafici di proporzione che mostrano il numero relativo di cellule DPW in ciascuna categoria di tipo di cellula principale (Figura supplementare 8) e il numero relativo dei principali tipi di cellule in ciascuna categoria DPW (Figura 7). Questi risultati hanno confermato la nota cascata cellulare della guarigione delle ferite cutanee, in cui le cellule immunitarie (neutrofili e macrofagi) dominano i primi punti temporali durante la fase infiammatoria e gli altri tipi di cellule (cellule epiteliali e cellule endoteliali) iniziano a comparire durante la fase proliferativa, con i fibroblasti che sono particolarmente dominanti nei punti temporali successivi durante la risoluzione della ferita.

A partire dal metodo #4, il protocollo delinea i passaggi per l'utilizzo di Seurat per concentrarsi su un singolo tipo di cellula principale nel set di dati a singola cellula al fine di identificare potenziali sottotipi cellulari durante la guarigione delle ferite. Il protocollo si concentra sui fibroblasti, che inizialmente si raggruppavano in due cluster Seurat prima di essere combinati in un'unica categoria, e descrive come creare un nuovo oggetto Seurat che contiene solo i fibroblasti del set di dati originale (passaggio 4.1). Il flusso di lavoro di Seurat viene eseguito su questo set di dati specifico per i fibroblasti (passaggi 4.2-4.4), con il passaggio 4.2 che si traduce in un grafico a gomito (Figura 9 supplementare) che mostra che gran parte della variazione principale nel set di dati dei fibroblasti si verifica all'interno delle prime 9 dimensioni PCA. Nel passaggio 4.5, viene eseguita la funzione di grafico dimensionale per visualizzare il raggruppamento delle cellule su un grafico UMAP e i risultati rappresentativi di questo passaggio (Figura 8) hanno mostrato i fibroblasti nel set di dati raggruppati attorno ai 3 sottotipi di cellule codificati a colori. La visualizzazione del set di dati sui fibroblasti in base all'annotazione DPW (passaggio 4.6) ha portato a un grafico UMAP (Figura 10 supplementare) che mostra i fibroblasti nel set di dati distribuiti in base all'annotazione DPW. Il protocollo descrive poi come ottenere elenchi di geni differenzialmente espressi e salvarli in un file di testo (passaggio 4.7), aprire la tabella dei dati in Excel ed eseguire vari passaggi di filtraggio al fine di ottenere i migliori marcatori di cluster per ciascun cluster di cellule (passaggio 4.8) e assegnare una nuova variabile che elenca i principali geni marcatori di fibroblasti denominati "FB_type_marker" (passaggio 4.9). Nel passaggio 4.10, la funzione dot plot viene utilizzata per visualizzare i geni nell'elenco nel set di dati solo sui fibroblasti chiamando la variabile "FB_type_marker" nel parametro features, e i risultati rappresentativi di questo passaggio (Figura 9) sono dot plot che confermano l'elevata espressione dei marcatori del sottotipo di fibroblasti solo nelle rispettive categorie di cluster (in alto) ma equamente distribuiti in tutte le categorie DPW (in basso). Nel passaggio 4.11, la stessa variabile delle caratteristiche viene chiamata per visualizzare i geni marcatori dei fibroblasti nel set di dati complessivo sulla guarigione delle ferite, e il risultato rappresentativo (Figura 11 supplementare) è un dot plot che ha confermato l'elevata espressione dei marcatori del sottotipo dei fibroblasti principalmente nel fibroblasto originale. Infine, i passaggi successivi del protocollo hanno utilizzato grafici a barre impilate per visualizzare prima le proporzioni di DPW tra i tre sottotipi di fibroblasti (passaggio 4.12) e quindi per visualizzare le proporzioni dei sottotipi di fibroblasti in diversi punti temporali (passaggio 4.13). I risultati rappresentativi di queste fasi sono grafici di proporzione che mostrano il numero relativo di cellule DPW in ciascuna categoria di sottotipi di fibroblasti (Figura supplementare 12) e il numero relativo di sottotipi di fibroblasti in ciascuna categoria DPW (Figura supplementare 13). Questi risultati indicano un cambiamento significativo nelle proporzioni dei sottotipi di fibroblasti nel corso del tempo di guarigione, con il primo sottotipo di fibroblasti (cluster 0) fortemente dominante nelle ferite in fase iniziale (D1 e D3), il secondo sottotipo (cluster 1) dominante durante la risoluzione della ferita (D14) e il terzo sottotipo (cluster 2) più alto durante la fase proliferativa della guarigione delle ferite (D7).

A partire dal metodo #5, il protocollo illustra i passaggi per l'analisi di un set di dati di guarigione delle ferite a singola cellula utilizzando la funzione di punteggio del modulo in Seurat. Il protocollo descrive prima i passaggi dell'utilizzo di un file di testo eliminato da tabulazione per caricare i set di geni nelle variabili in R (passaggi 5.1-5.2), seguiti dall'applicazione della funzione di punteggio del modulo a tre set di geni relativi alle tre fasi principali della guarigione delle ferite (passaggio 5.3). Nel passaggio 5.4, la funzione dot plot viene utilizzata per visualizzare i punteggi aggregati dei moduli in due diverse categorie di metadati e i risultati rappresentativi per questo passaggio (Figura 10) sono dot plot che mostrano l'espressione media dei principali moduli della fase di guarigione tra le cellule nei giorni successivi alla ferita (DPW, a destra) e nella categoria dei principali tipi di cellule (a sinistra). Questi risultati mostrano che l'applicazione di profili di espressione genica basati sul sequenziamento di massa a set di dati di espressione di singole cellule in modo pseudo-bulk è un metodo potente per approcci bioinformatici comparativi utilizzando set di dati precedentemente pubblicati nel campo della guarigione delle ferite.

A partire dal metodo #6, il protocollo illustra i passaggi per l'analisi di un set di dati di guarigione delle ferite a singola cellula derivato da Seurat utilizzando il pacchetto CellChat e il flusso di lavoro in base a una specifica domanda scientifica di confronto tra cellule derivate da ferite in fase iniziale rispetto a ferite in fase avanzata. Il protocollo suddivide innanzitutto il set di dati complessivo di Seurat in due punti temporali post-infortunio, uno durante la fase infiammatoria (giorno 1 (D1)) e l'altro durante la risoluzione della ferita (giorno 14 (D14)) (passaggio 6.1). Vengono creati due oggetti CellChat e il protocollo passa attraverso tutte le funzioni tipiche del protocollo CellChat per calcolare tutte le interazioni putative tra i tipi di cellule identificati nel metodo #3 del protocollo (passaggi 6.2-6.3). Nel passaggio 6.4, viene eseguita la funzione del grafico a dispersione di segnalazione per visualizzare le forze di interazione in entrata e in uscita in tutti i principali tipi di cellule in ogni punto temporale di guarigione della ferita. I risultati rappresentativi di questa fase (Figura supplementare 14) sono grafici a dispersione che mostrano l'intensità delle interazioni in entrata (asse y) e in uscita (asse x) per i principali tipi di celle nei punti temporali D1 (a sinistra) e D14 (a destra). Questi risultati hanno mostrato che le cellule immunitarie come i neutrofili e i macrofagi avevano la più alta forza di interazione cellula-cellula durante la fase infiammatoria, ma i fibroblasti dominavano le interazioni cellula-cellula durante la risoluzione della ferita, il che conferma decenni di ricerca sulla guarigione delle ferite. Le fasi successive focalizzano l'analisi su una delle vie significativamente arricchite, la via del collagene (fasi 6.5-6.6). Nel passaggio 6.7, la funzione del diagramma circolare viene eseguita per visualizzare le interazioni della via di segnalazione del collagene tra i tipi di cellule nei due punti temporali. I risultati rappresentativi di questa fase (Figura supplementare 15) sono grafici circolari che mostrano le interazioni di segnalazione della via del collagene dedotte tra tutti i tipi di cellule a D1 (a sinistra) e D14 (a destra). Nel passaggio 6.8, le stesse interazioni vengono visualizzate utilizzando la funzione del diagramma degli accordi, con i risultati rappresentativi (Figura supplementare 16) sono diagrammi a corde che mostrano le interazioni di segnalazione della via del collagene dedotte tra tutti i tipi di cellule in ogni punto temporale. Come previsto, questi risultati hanno mostrato che i fibroblasti erano le cellule fonte primaria per la via di segnalazione del collagene, sebbene il flusso di informazioni fosse più limitato alle cellule immunitarie a D1 rispetto a D14. Per concentrarsi sul fibroblasto come cellula sorgente nelle interazioni cellula-cellula, il passaggio 6.9 ripete la funzione del diagramma a corde aggiungendo un parametro della cellula sorgente e i risultati rappresentativi (Figura supplementare 17) sono diagrammi a corde che mostrano le interazioni di segnalazione della via del collagene dedotte con i fibroblasti come cellule sorgente in ogni punto temporale. Nel passaggio 6.10, vengono eseguite due funzioni per visualizzare i contributi di ciascuna coppia ligando-recettore nella via di segnalazione del collagene con i fibroblasti come cellule sorgente, una utilizzando grafici a bolle (passaggio 6.10.1) e l'altra utilizzando diagrammi a corda (passaggio 6.10.2). I risultati rappresentativi mostrano i contributi dedotti di ciascuna coppia ligando-recettore nella segnalazione della via del collagene con i fibroblasti come cellule sorgente nei punti temporali D1 (a sinistra) e D14 (a destra) utilizzando entrambi i grafici a bolle (Figura supplementare 18) e diagrammi degli accordi (Figura supplementare 19). Questi risultati hanno mostrato che a D1 la via del collagene proveniente dai fibroblasti era ristretta ai neutrofili e ai macrofagi con una dominanza di recettori Cd44 e Sdc4, ma in D14 altre cellule agivano come ricevitori attraverso una varietà di recettori tra cui le integrine. Per concentrarsi sull'interazione ligando-recettore Col1a1-Cd44, che ha mostrato forti punti di forza nelle interazioni con i fibroblasti, viene impostato un parametro (passo 6.11) e quindi utilizzato nel passaggio 6.12 in una funzione di diagramma a corda per visualizzare questa particolare interazione ligando-recettore tra tutti i tipi di cellule, con i risultati rappresentativi (Figura supplementare 20) sono diagrammi a corda che mostrano le interazioni ligando-recettore Col1a1-Cd44 dedotte tra tutti i tipi di cellule nei punti temporali D1 (a sinistra) e D14 (a destra). Questi risultati hanno mostrato che mentre in D1 questa interazione è limitata ai fibroblasti come cellule sorgente, in D14 anche i macrofagi e le cellule muscolari lisce agiscono come cellule sorgente. Successivamente, il protocollo descrive come eseguire l'analisi differenziale di CellChat unendo prima gli oggetti CellChat D1 e D14 (passaggio 6.13). Nel passaggio 6.14, viene eseguita la funzione di confronto delle interazioni per visualizzare il numero totale e la forza relativa delle interazioni cellula-cellula tra i due punti temporali di guarigione della ferita e i risultati rappresentativi (Figura supplementare 21) sono i grafici a barre risultanti che mostrano il numero totale (a sinistra) e la forza (a destra) delle interazioni dedotte nelle cellule che comprendono le ferite D1 e D14, con un numero maggiore di interazioni in D14 rispetto a forze relative più elevate di interazioni in D1. Nei passaggi 6.15 e 6.16, vengono utilizzate due funzioni per visualizzare le forze differenziali di interazione cellula-cellula tra ciascun tipo di cellula mentre la ferita passa dal giorno 1 al giorno 14 con i rispettivi risultati rappresentativi, la prima è un grafico circolare (passaggio 6.15, Figura supplementare 22) e il secondo è una mappa di calore (passaggio 6.16, Figura supplementare 23), dove le interazioni sono aumentate in D14 rispetto a D1 mostrate in rosso e quelle che sono diminuite mostrate in blu. Come previsto, le interazioni mediate da neutrofili e macrofagi sono aumentate in D1 e le interazioni mediate da fibroblasti sono aumentate in D14. Nel passaggio 6.17, la funzione di classificazione viene utilizzata per creare un grafico che classifica i contributi relativi dei singoli percorsi alle interazioni cellula-cellula con i fibroblasti come cellule sorgente a D14 rispetto a D1 e i risultati rappresentativi (Figura supplementare 24) mostrano il grafico del rango risultante con D1 rappresentato in alto in rosso e D14 in basso in blu, con diversi percorsi rappresentati esclusivamente in D1 o D14 e molti altri che mostrano un gradiente di attivazione. Infine, nel passaggio 6.18, vengono utilizzate due funzioni di bolle per mostrare i contributi relativi delle singole coppie ligando-recettore nella via di segnalazione del collagene con i fibroblasti come cellule sorgente a D14 rispetto a D1, con i corrispondenti risultati rappresentativi (Figura supplementare 25) che mostrano coppie di segnalazione aumentate (a sinistra) e diminuite (a destra) in D14 rispetto a D1 nelle numerose interazioni cellula-cellula sull'asse x. Come previsto, i fibroblasti avevano molte più interazioni ligando-recettore in uscita tra diverse cellule riceventi nelle ferite D14 rispetto alle ferite D1, dove la comunicazione era più limitata verso neutrofili e macrofagi durante la fase infiammatoria.

A partire dal metodo #7, il protocollo illustra i passaggi per l'integrazione di due set di dati di guarigione delle ferite a cellula singola utilizzando Seurat. Il protocollo descrive innanzitutto i passaggi per unire due batch dei set di dati a cella singola pubblicati e applicare il flusso di lavoro Seurat standard al set di dati unito (passaggi 7.1-7.4). Nel passaggio 7.5, la funzione di grafico dimensionale viene utilizzata per visualizzare il grafico UMAP in base ai numeri di cluster e batch del set di dati di guarigione delle ferite unito ma non ancora integrato. I risultati rappresentativi di questa fase (Figura 26 supplementare) sono grafici UMAP che visualizzano la distribuzione dei cluster Seurat (a sinistra) e dei numeri di lotto (a destra), mostrando che non sembrano esserci effetti batch significativi per questi due set di dati prima dell'integrazione dei dati. Il protocollo esegue quindi l'integrazione dei dati utilizzando il metodo RPCA e il flusso di lavoro Seurat di follow-up del set di dati integrato (passaggi 7.7-7.8). Nel passaggio 7.9, la funzione di grafico dimensionale viene utilizzata per visualizzare il grafico UMAP in base ai numeri di cluster e di lotto del set di dati integrato sulla guarigione delle ferite. I risultati rappresentativi di questa fase (Figura 27 supplementare) sono grafici UMAP che visualizzano la distribuzione dei cluster Seurat (a sinistra) e dei numeri di lotto (a destra), mostrando che ora c'era una sovrapposizione ancora maggiore tra i due lotti in cluster diversi. I risultati mostrano anche l'emergere di un ulteriore cluster in seguito all'integrazione dei dati, il che potrebbe indicare una maggiore capacità di identificare sottotipi cellulari potenzialmente significativi dopo il controllo degli effetti tecnici dei lotti di dati.

figure-results-1
Figura 1: Grafico UMAP che mostra tutte le celle del set di dati raggruppate attorno a 8 principali gruppi di cluster codificati a colori. Risultati ottenuti da un computer con sistema operativo Windows (a sinistra) e MacOS (a destra). Questa cifra corrisponde al passaggio 3.5. Clicca qui per visualizzare una versione più grande di questa figura.

figure-results-2
Figura 2: Grafico UMAP che mostra tutte le celle del set di dati distribuite in base alla loro origine nel tempo/spazio, senza alcun raggruppamento apparente in base all'annotazione nel tempo/spazio. Questa cifra corrisponde al passaggio 3.6. Clicca qui per visualizzare una versione più grande di questa figura.

figure-results-3
Figura 3: Schermate ritagliate degli output di EnrichR, che mostrano i tipi di celle arricchite più in alto per ogni cluster di cellule. Questa cifra corrisponde al passaggio 3.13. Clicca qui per visualizzare una versione più grande di questa figura.

figure-results-4
Figura 4: Grafico UMAP che mostra tutte le celle del set di dati raggruppate attorno ai principali tipi di celle codificate a colori. Questa cifra corrisponde al passaggio 3.15. Clicca qui per visualizzare una versione più grande di questa figura.

figure-results-5
Figura 5: Griglia di grafici UMAP che mostrano l'alta espressione dei geni marcatori cellulari superiori all'interno dei principali cluster di tipi cellulari. Questa cifra corrisponde al passaggio 3.16. Clicca qui per visualizzare una versione più grande di questa figura.

figure-results-6
Figura 6: Dot plot che confermano l'alto livello di espressione dei geni marcatori cellulari superiori solo nei rispettivi tipi cellulari principali. Questa cifra corrisponde al passaggio 3.18. Clicca qui per visualizzare una versione più grande di questa figura.

figure-results-7
Figura 7: Grafico delle proporzioni che mostra il numero relativo dei principali tipi di cellule in ciascuna categoria DPW. Questa cifra corrisponde al passaggio 3.23. Clicca qui per visualizzare una versione più grande di questa figura.

figure-results-8
Figura 8: Grafico UMAP che mostra i fibroblasti nel set di dati raggruppato attorno ai 3 sottotipi di cellule codificate a colori. Questa cifra corrisponde al passaggio 4.5. Clicca qui per visualizzare una versione più grande di questa figura.

figure-results-9
Figura 9: Grafici a punti che confermano l'elevata espressione dei marcatori del sottotipo dei fibroblasti solo nelle rispettive categorie di cluster, ma equamente distribuiti in tutte le categorie DPW. Questa cifra corrisponde al passaggio 4.10. Clicca qui per visualizzare una versione più grande di questa figura.

figure-results-10
Figura 10: Grafici a punti che mostrano l'espressione media dei principali moduli della fase di guarigione tra le cellule per DPW e per i principali tipi di cellule. Questa cifra corrisponde al passaggio 5.4. Clicca qui per visualizzare una versione più grande di questa figura.

Figura 1 supplementare: Risultati che mostrano che esiste una distribuzione abbastanza uniforme dei geni rilevati per ciascun codice a barre, il che è importante per l'integrità del set di dati e l'analisi a valle dei punti temporali di guarigione delle ferite. Questa cifra corrisponde al passaggio 2.6.11. Clicca qui per scaricare questa figura.

Figura 2 supplementare: Grafici a dispersione che mostrano che esiste un numero di cellule con un grande contenuto mitocondriale, che è correlato a un basso numero di RNA --- si tratta di cellule morte o morenti. Questa cifra corrisponde al passaggio 2.10. Clicca qui per scaricare questa figura.

Figura 3 supplementare: Grafici a dispersione che mostrano che la distribuzione dei geni rilevati e la percentuale di RNA mitocondriale per cellula sono ora più normali, aprendo la strada a robuste analisi a valle. Questa cifra corrisponde al passaggio 2.12. Clicca qui per scaricare questa figura.

Figura 4 supplementare: Grafico a violino che mostra che ci sono un numero di celle con un punteggio di doppietto relativamente alto e che 0,25 sembra essere un cutoff naturale, al di sopra del quale c'è una popolazione di probabili doppietti. Questa cifra corrisponde al passaggio 2.15. Clicca qui per scaricare questa figura.

Figura 5 supplementare: Grafico a gomito che mostra che gran parte della variazione maggiore si verifica all'interno delle prime 13 dimensioni. Questa cifra corrisponde al passaggio 3.2. Clicca qui per scaricare questa figura.

Figura 6 supplementare: Dot plot che conferma l'alto livello di espressione dei geni marcatori cellulari superiori solo nei rispettivi cluster Seurat. Questa cifra corrisponde al passaggio 3.17. Clicca qui per scaricare questa figura.

Figura 7 supplementare: Grafico UMAP che mostra la localizzazione delle annotazioni sull'andamento temporale della ferita nel set di dati sulla guarigione delle ferite. Questa cifra corrisponde al passaggio 3.20. Clicca qui per scaricare questa figura.

Figura supplementare 8: Grafico delle proporzioni che mostra il numero relativo di cellule DPW in ciascuna categoria di tipo di cella principale. Questa cifra corrisponde al passaggio 3.22. Clicca qui per scaricare questa figura.

Figura 9 supplementare: Grafico a gomito che mostra che gran parte della variazione principale nel set di dati dei fibroblasti si verifica all'interno delle prime 9 dimensioni. Questa cifra corrisponde al passaggio 4.2. Clicca qui per scaricare questa figura.

Figura 10 supplementare: Grafico UMAP che mostra i fibroblasti nel set di dati distribuiti in base alla loro annotazione DPW. Questa cifra corrisponde al passaggio 4.6. Clicca qui per scaricare questa figura.

Figura 11 supplementare: Dot plot che conferma l'elevata espressione dei marcatori del sottotipo dei fibroblasti principalmente nel cluster di fibroblasti originale. Questa cifra corrisponde al passaggio 4.11. Clicca qui per scaricare questa figura.

Figura 12 supplementare: Grafico delle proporzioni che mostra il numero relativo di sottotipi di fibroblasti in ciascuna categoria DPW. Questa cifra corrisponde al passaggio 4.12. Clicca qui per scaricare questa figura.

Figura 13 supplementare: Grafico delle proporzioni che mostra il numero relativo di fibroblasti in DPW in ciascuna categoria di sottotipo di fibroblasti. Questa cifra corrisponde al passaggio 4.13. Clicca qui per scaricare questa figura.

Figura 14 supplementare: Grafici a dispersione che mostrano i punti di forza delle interazioni in entrata (asse y) e in uscita (asse x) per i principali tipi di cellule nei punti temporali del giorno 1 (D1, a sinistra) e del giorno 14 (D14, a destra). Questa cifra corrisponde al passaggio 6.4. Clicca qui per scaricare questa figura.

Figura 15 supplementare: Grafici circolari che mostrano le interazioni di segnalazione della via del collagene dedotte tra tutti i tipi di cellule in ciascuna categoria DPW. Questa cifra corrisponde al passaggio 6.7. Clicca qui per scaricare questa figura.

Figura 16 supplementare: Diagrammi a corda che mostrano le interazioni di segnalazione della via del collagene dedotte tra tutti i tipi di cellule in ciascuna categoria DPW. Questa cifra corrisponde al passaggio 6.8. Clicca qui per scaricare questa figura.

Figura 17 supplementare: Diagrammi a corde che mostrano le interazioni di segnalazione della via del collagene dedotte con i fibroblasti come cellule sorgente in ciascuna categoria DPW. Questa cifra corrisponde al passaggio 6.9. Clicca qui per scaricare questa figura.

Figura 18 supplementare: Grafici a bolle che mostrano i contributi dedotti di ciascuna coppia ligando-recettore nella segnalazione della via del collagene con i fibroblasti come cellule sorgente in ciascuna categoria DPW. Questa cifra corrisponde al passaggio 6.10.1. Clicca qui per scaricare questa figura.

Figura 19 supplementare: Diagrammi a corda che mostrano i contributi dedotti di ciascuna coppia ligando-recettore nella segnalazione della via del collagene con i fibroblasti come cellule sorgente in ciascuna categoria DPW. Questa cifra corrisponde al passaggio 6.10.2. Clicca qui per scaricare questa figura.

Figura 20 supplementare: Diagrammi a corda che mostrano le interazioni ligando-recettore Col1a1-Cd44 dedotte tra tutti i tipi di cellule in ciascuna categoria DPW. Questa cifra corrisponde al passaggio 6.12. Clicca qui per scaricare questa figura.

Figura 21 supplementare: Grafici a barre che mostrano il numero (a sinistra) e la forza (a destra) delle interazioni dedotte nelle ferite del giorno 1 e del giorno 14. Questa cifra corrisponde al passaggio 6.14. Clicca qui per scaricare questa figura.

Figura 22 supplementare: Grafico circolare che mostra le forze di interazione cellula-cellula differenziali tra ciascun tipo di cellula durante la transizione della ferita dal giorno 1 (blu) al giorno 14 (rosso) DPW. Questa cifra corrisponde al passaggio 6.15. Clicca qui per scaricare questa figura.

Figura 23 supplementare: Heatmap che mostra le forze di interazione cellula-cellula differenziali tra ciascun tipo di cellula durante la transizione della ferita dal giorno 1 (blu) al giorno 14 (rosso) DPW. Questa cifra corrisponde al passaggio 6.16. Clicca qui per scaricare questa figura.

Figura 24 supplementare: Rank plot che mostra i contributi relativi dei singoli percorsi alle interazioni cellula-cellula tra fibroblasti e altri tipi di cellule al giorno 1 rispetto al giorno 14 DPW. Questa cifra corrisponde al passaggio 6.17. Clicca qui per scaricare questa figura.

Figura 25 supplementare: Grafici a bolle che mostrano i contributi relativi delle singole coppie ligando-recettore nella via di segnalazione del collagene con i fibroblasti come cellule sorgente al giorno 1 rispetto al giorno 14 DPW. Questa cifra corrisponde al passaggio 6.18. Clicca qui per scaricare questa figura.

Figura 26 supplementare: Grafici UMAP che mostrano la distribuzione dei cluster Seurat (a sinistra) e i numeri di lotto (a destra) prima dell'integrazione dei dati. Questa cifra corrisponde al passaggio 7.5. Clicca qui per scaricare questa figura.

Figura 27 supplementare: Grafici UMAP che mostrano la distribuzione dei cluster Seurat (a sinistra) e i numeri di lotto (a destra) dopo l'integrazione dei dati. Questa cifra corrisponde al passaggio 7.9. Clicca qui per scaricare questa figura.

Fascicolo supplementare 1: JoVE_Rscript.R: File di script del codice R principale, che include tutti i passaggi e le spiegazioni descritti per tutte le parti del protocollo. Clicca qui per scaricare questo file.

Fascicolo supplementare 2: JoVE_PhaseSpecificGenes.txt. File di testo delimitato da tabulazioni, che contiene gli elenchi di geni caricati nel passaggio 5.1 del protocollo. Clicca qui per scaricare questo file.

Fascicolo supplementare 3: JoVE_Rscript_b3.R. File di script del codice R supplementare, che include tutti i passaggi e le spiegazioni necessari per analizzare il batch #3 del set di dati da usare nel passaggio 7.1 del protocollo. Clicca qui per scaricare questo file.

Tabella supplementare 1: JoVE_DEGs_cellMarkers.xlsx. Excel, che contiene l'output completo dei geni differenzialmente espressi classificati utilizzati nel passaggio 3.10 del protocollo. Clicca qui per scaricare questa tabella.

Tabella supplementare 2: I 5 geni sovraregolati ed espressi per ciascun cluster di seurat. Clicca qui per scaricare questa tabella.

Discussion

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

In questo protocollo, RStudio viene utilizzato per eseguire righe di codice prescritte che consentono un'analisi di base di un complesso set di dati a singola cella utilizzando Seurat. Vengono presentati diversi metodi rilevanti per la ricerca sulla guarigione delle ferite, tra cui l'installazione dell'ambiente di codifica R, il download di un set di dati sulla guarigione delle ferite a singola cellula precedentemente pubblicato, l'esecuzione di fasi critiche di controllo della qualità e flussi di lavoro standard per l'analisi di singole cellule, tra cui visualizzazioni, annotazioni sui principali tipi di cellule, analisi dei sottotipi cellulari e analisi integrative utilizzando Seurat e l'esecuzione di analisi di interazione cellula-cellula utilizzando CellChat.

I metodi qui introdotti sono vignette semplificate di flussi di lavoro tipici per l'analisi di singole cellule utilizzando R e i suoi popolari pacchetti scientifici open source, Seurat21 e CellChat22. In effetti, il flusso di lavoro è solo un esempio del tipo di analisi che si può realizzare con un complesso set di dati sulla guarigione delle ferite a cellula singola. Le possibili modifiche a questo metodo sono quasi infinite, con l'unico limite che è la particolare indagine scientifica dell'utente. Ad esempio, l'utente può modificare alcuni dei parametri chiave, come i tipi di celle e i punti temporali, in base alle domande di ricerca che potrebbe voler porre a questo set di dati. Gli autori sperano inoltre che l'utente si senta abbastanza a suo agio da adattare questo flusso di lavoro al proprio set di dati di singola cellula di interesse; Tuttavia, è necessario prestare attenzione quando si utilizza questo flusso di lavoro per analizzare altri set di dati, poiché ogni esperimento può propagare problemi tecnici e di preparazione dei campioni ai dati stessi. Pertanto, è imperativo che l'utente legga e comprenda tutti i dettagli sperimentali prima di interpretare i risultati di qualsiasi set di dati a singola cella precedentemente pubblicato e rianalizzato. È importante ricordare che gli strumenti bioinformatici sono un metodo potente per l'esplorazione dei processi biologici e la generazione di ipotesi, e che qualsiasi interpretazione biologica critica dei risultati deve essere convalidata in esperimenti di follow-up.

In tutto il protocollo, si noti che possono essere apportate modifiche importanti a particolari aree del flusso di lavoro per eseguire altre attività. Tuttavia, i dettagli di tutte le possibili combinazioni di modifiche al flusso di lavoro esulano dallo scopo di questo manoscritto. Ad esempio, la risoluzione utilizzata per il clustering cellulare e le dimensioni utilizzate per l'analisi UMAP sono necessariamente soggettive, e gli strumenti qui presentati consentono sia analisi su larga scala (come è stato dimostrato qui per i principali tipi di cellule ampiamente definiti) sia analisi molto specifiche che potrebbero comportare il sotto-clustering di cellule in sottopopolazioni più rare all'interno del set di dati più ampio. Per ulteriori informazioni su questo aspetto del metodo di analisi a singola cellula e per i dettagli su tutti gli altri parametri che possono essere modificati nella pipeline di analisi a singola cellula, gli autori rimandano l'utente alle pubblicazioni Seurat21,26 e al sito web (https://satijalab.org/seurat/), dove gli autori di questo strumento in evoluzione forniscono spiegazioni approfondite, vignette e tutorial.

Questo manoscritto ha introdotto alcuni degli strumenti più citati e utilizzati nella letteratura sulla trascrittomica a singola cellula, vale a dire Seurat21 e CellChat22, rispettivamente per l'analisi dell'interazione cellula-cellula singola. Tuttavia, esistono altri strumenti che svolgono funzioni simili in modi leggermente diversi. Per l'analisi di set di dati a cella singola, ci sono Scran27, Scater 28 e ScanPy29 basato su Python, che utilizzano vari metodi per l'integrazione del set di dati25. In questo protocollo, è stata dimostrata l'annotazione manuale dei tipi di cellule, che si basa sul giudizio dell'utente per l'interpretazione degli arricchimenti dei marcatori cellulari a grappolo, ma ora esistono vari strumenti che consentono la classificazione automatizzata dei tipi di cellule, come SingleR30 e scGate31, tra gli altri. Per l'analisi della comunicazione cellula-cellula, CellChat è stato dimostrato in questo protocollo, ma esistono altri strumenti per stimare le comunicazioni cellula-cellula, tra cui CellPhoneDB32, Cytotalk33 e altri database ligando-recettore che sono implementati all'interno del framework di consenso LIANA (LIgand-receptor ANalysis framework)34. Tutti gli strumenti bioinformatici sono unici e hanno le loro peculiarità e parametri modificabili. Pertanto, è importante che l'utente legga attentamente la documentazione associata a ciascun strumento al fine di comprenderne le sfumature prima di interpretare qualsiasi output generato dal loro utilizzo. Infine, qualunque siano gli strumenti bioinformatici utilizzati, è fondamentale ricordare che tali strumenti sono in continua evoluzione e che diverse versioni dei pacchetti possono produrre risultati diversi.

In R, la sintassi è fondamentale e una punteggiatura fuori posto, virgolette, parentesi quadre o anche una lettera maiuscola errata risulteranno in un errore. Pertanto, è fondamentale che l'utente presti attenzione ai dettagli durante la digitazione del codice e che sia particolarmente attento quando copia righe di codice al fine di adattarlo a nuove domande scientifiche e set di dati. Per risolvere gli errori specifici che si possono incontrare, gli autori consigliano semplicemente di copiare e incollare il messaggio di errore nel motore di ricerca web preferito dell'utente e di sfogliare i risultati dei forum di bioinformatica come GitHub e Stack Overflow, poiché gli errori più comunemente riscontrati sono già stati probabilmente risolti da un utente esperto. In alcuni forum, le risposte di maggior successo vengono "votate" da altri utenti che hanno trovato la soluzione migliore per il problema. L'utente deve fare attenzione a non copiare e incollare semplicemente righe di codice che ha trovato su Internet nel proprio computer (soprattutto se una soluzione richiede la modifica delle impostazioni di sistema al di fuori del linguaggio di programmazione R), poiché esiste la possibilità che tali programmi possano essere dannosi. Un metodo emergente ed entusiasmante per la risoluzione degli errori di codifica consiste nell'utilizzare i potenti modelli di intelligenza artificiale generativa di grandi dimensioni come ChatGPT di OpenAI, Copilot di Microsoft o Gemini di Google. Questi modelli si sono dimostrati particolarmente utili per l'ingegneria del software in generale e per la risoluzione dei problemi in particolare. Per questo, l'utente può copiare e incollare intere righe del proprio codice dopo aver fornito un semplice prompt al chatbot sull'intenzione dell'utente per il codice. Esiste il solito avvertimento che questi modelli non sono infallibili e l'utente potrebbe dover provare più prompt per generare una risposta appropriata per risolvere il problema.

Disclosures

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

Gli autori non hanno conflitti di interesse da rivelare.

Acknowledgements

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

Il laboratorio di M.S. Wietecha ha ricevuto finanziamenti dalla sovvenzione NIH/NIGMS R35-GM154921, dalla sovvenzione di ricerca della Wound Healing Society e dal Dipartimento di Biologia Orale presso l'UIC College of Dentistry.

Materials

List of materials used in this article
NameCompanyCatalog NumberComments
Computer portatile o desktopN/AN/AEsecuzione di Windows o MacOS 
RN/AVersione 4.4.1Scaricabile gratuitamente da https://cran.rstudio.com/
RstudioPosit Software, PBCVersione 2024.09.0Scaricabile gratuitamente da https://posit.co/download/rstudio-desktop/
Ufficio ExcelValentinaQualsiasi versionePer l'analisi dei dati delle tabelle
Browser InternetN/AN/APer la navigazione nei siti web
Pacchetti RRepositoryVersion
Strumenti di sviluppoCRAN2.4.5
ReadXLCRAN1.4.3
OpenXLSXCRAN4.2.7.1
TidyverseCRAN2.0.0
scPersonalizzaCRAN2.1.2
BiocManagerBioconduttore1.30.25
NMFBioconduttore0.28
Mappa di calore complessaBioconduttore2.20.0
BiocNeighborsBioconduttore1.22.0
Esperimento SingleCellBioconduttore1.26.0
circlizzareBioconduttore0.4.16
orlatoreBioconduttore4.2.1
scDblFinderBioconduttore1.18.0
SeuratCRAN5.1.0
Chat cellulareGithub2.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