Method Article

Usando R, Seurat e CellChat para analisar um conjunto de dados transcriptômicos de célula única da cicatrização de feridas na pele de camundongos

DOI:

10.3791/67266

August 1st, 2025

In This Article

Summary

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

Aqui, apresentamos um fluxo de trabalho visual passo a passo para analisar um conjunto de dados transcriptômicos de curso de tempo de célula única de cicatrização de feridas na pele de camundongos usando R. O protocolo inclui um pipeline padrão para download de conjuntos de dados, controle de qualidade, visualizações e anotações de tipo de célula usando Seurat e análise de interação célula-célula usando CellChat.

Abstract

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

O processo de cicatrização de feridas é regulado por interações complexas entre diferentes tipos de células no espaço e no tempo. Por meio do perfil de células individuais em seu ambiente complexo, os métodos transcriptômicos de célula única permitem a investigação da heterogeneidade celular, redes de comunicação celular e interações célula-célula envolvidas no processo de cicatrização de feridas. No entanto, muitas ferramentas de análise de célula única são executadas em um ambiente de codificação de computador, e seu uso mais difundido por cientistas de cicatrização de feridas é frustrado pela aparente falta de experiência em bioinformática. Portanto, um fluxo de trabalho passo a passo é apresentado mostrando como usar um ambiente de codificação gráfica chamado RStudio para realizar uma análise básica de célula única de um conjunto de dados de cicatrização de feridas cutâneas excisionais de camundongos temporais. Este protocolo visual e guiado permitirá que cientistas sem experiência em bioinformática baixem um conjunto de dados de cicatrização de feridas publicado anteriormente, executem etapas críticas de controle de qualidade, executem um fluxo de trabalho de análise de célula única padrão, incluindo visualizações de conjuntos de dados e anotações de tipo de célula usando Seurat, executem análises de subtipo de célula, executem análises de pontuação de módulo, executem análises de interação célula-célula usando CellChat e realizem análises integrativas de vários conjuntos de dados usando Seurat. Explicações narrativas são fornecidas para cada etapa do protocolo e os resultados gráficos de cada linha de código são apresentados para guiar o usuário com segurança pelo fluxo de trabalho. O objetivo desta introdução visual a um pipeline de análise de célula única é permitir que mais cientistas de cicatrização de feridas usem ferramentas de bioinformática diretamente em seus próprios laboratórios, a fim de facilitar análises mais profundas de seus próprios conjuntos de dados de célula única, bem como reanálises mais amplas de conjuntos de dados de célula única publicados anteriormente.

Introduction

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

A cicatrização de feridas é um dos processos mais complexos da biologia de mamíferos e envolve um espectro de três fases de cicatrização: Inflamatória, Proliferativa e Resolução 1,2. Essas fases de cicatrização classificam amplamente as ações coordenadas de dezenas de tipos de células e centenas de seus produtos moleculares no espaço e no tempo de reparo de feridas3. Várias décadas de estudos histológicos e moleculares baseados em amostras de tecido de feridas ao longo do curso de cicatrização elucidaram os padrões celulares abrangentes de reparo de tecidos3, particularmente em modelos de camundongos reprodutíveis de cicatrização de feridas cutâneas excisionais 4,5,6. Somente nas últimas duas décadas tornou-se possível apreciar mais plenamente a complexidade da cicatrização de feridas, começando com o advento das análises transcriptômicas de alto rendimento de feridas nas escamas de tecidos a granel 7,8,9 e células 10,11,12,13,14. Mais recentemente, vários estudos traçaram o perfil transcricional de feridas cutâneas no nível de célula única, identificando novos subtipos de células da ferida e mostrando como elas podem interagir umas com as outras durante a cicatrização 15,16,17,18,19,20. Hu et al. usaram uma abordagem inovadora de sequenciamento espacial de RNA de célula única para traçar o perfil de feridas cutâneas ao longo do curso de cicatrização em várias distâncias radiais do centro da ferida, o que revelou novos 'movimentos' intercelulares e moleculares no espaço e no tempo20. Tais estudos estão desvendando a complexidade da cicatrização de feridas em detalhes sem precedentes e estão começando a pintar um quadro de tremenda heterogeneidade celular e molecular.

Os principais avanços recentes nos métodos de análise de bioinformática estão tornando possível dar sentido biológico aos complexos conjuntos de dados multiômicos gerados no campo da pesquisa de cicatrização de feridas. Pacotes de análise de célula única, como o Seurat, fornecem ferramentas para análise robusta e integração de conjuntos de dados, incluindo a classificação de tipos de células em tecidos complexos, como feridas21. Para a interpretação a jusante de dados de uma única célula, ferramentas como o CellChat são usadas para identificar programas putativos de interação célula-célula que podem explicar como as células se coordenam para reparar feridas22. Embora essas ferramentas sejam bem documentadas e bem citadas, elas devem ser executadas em um ambiente de codificação de computador, como R, uma linguagem de programação estatística e gráfica que é mais comumente usada nos campos de bioinformática da genômica e transcriptômica. Embora biólogos e médicos no campo da cicatrização de feridas estejam usando cada vez mais abordagens de célula única para estudar o reparo de tecidos, poucos têm o treinamento em bioinformática necessário para usar ferramentas como Seurat e CellChat diretamente em seus próprios laboratórios. Essa barreira no uso dessas ferramentas de bioinformática não apenas impede que os cientistas analisem mais profundamente seus próprios conjuntos de dados sem a ajuda de bioinformáticos, mas também impede que os cientistas reanalisem de forma confiável a riqueza de dados de célula única já publicados por outros grupos.

Portanto, um fluxo de trabalho passo a passo é apresentado aqui para permitir que cientistas sem experiência em bioinformática analisem um conjunto de dados de cicatrização de feridas de célula única publicado anteriormente e disponível publicamente20. O protocolo usa o ambiente de codificação gráfica R predominante e livre chamado RStudio e demonstra como navegar nesse ambiente para executar linhas de código prescritas que permitem uma análise básica de um conjunto de dados complexo de célula única usando Seurat e CellChat. Dentro deste protocolo, são apresentados os sete principais métodos relevantes para a pesquisa de cicatrização de feridas, incluindo: 1) instalação do ambiente de codificação, 2) download do conjunto de dados e etapas críticas de controle de qualidade, 3) fluxos de trabalho de análise de célula única, incluindo visualizações e anotações de tipo de célula, 4) análises de subtipo de célula, 5) análises de pontuação de módulo, 6) análises de interação célula-célula e 7) análises integrativas de vários conjuntos de dados. Dentro de cada método, o código real é fornecido para o usuário executar lado a lado com o protocolo, e os resultados gráficos reais de cada linha de código são mostrados para guiar o usuário pelo fluxo de trabalho. O objetivo principal desta introdução guiada e visual ao RStudio e um fluxo de trabalho fundamental de análise de célula única é permitir que mais cientistas de cicatrização de feridas usem essas ferramentas poderosas diretamente para permitir um progresso mais rápido no campo da pesquisa.

Protocol

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

NOTA: Nos fluxos de trabalho a seguir, detalhando sete métodos de bioinformática, todas as etapas dos protocolos são acompanhadas por seus respectivos blocos de código que devem ser executados diretamente na interface RStudio do próprio usuário na ordem em que são listados. Para tornar esse protocolo o mais amigável possível, um arquivo de script R é incluído (Arquivo Suplementar 1: JoVE_Rscript.R), que pode ser carregado diretamente na sessão RStudio do usuário, para que cada linha de código possa ser simplesmente executada. Isso evita que o usuário tenha que digitar ou copiar e colar o código do documento de protocolo, o que pode introduzir erros. Todas as instruções de protocolo também são incluídas no arquivo de script R na forma de comentários, indicados por um símbolo de hashtag '#' no início de cada linha de comentário.

1. Instalando o R, o RStudio e os pacotes R necessários para o fluxo de trabalho de análise de célula única

  1. Baixe e instale o R (versão 4.4.1) no computador. Use o link que corresponde ao sistema operacional do computador.
    1. Se estiver usando um computador com Microsoft Windows, use este link: https://cran.rstudio.com/bin/windows/base/
    2. Se estiver usando um computador com MacOS, use este link: https://cran.rstudio.com/bin/macosx/
  2. Instale a versão mais recente do RStudio no computador. Clique no link a seguir e siga as instruções:
    https://www.rstudio.com/products/rstudio/download/#download
  3. Instale o Rtools (versão 4.4), que permitirá que o R compile determinados pacotes. Clique no link a seguir e siga as instruções:
    1. Se estiver usando o Windows, use este link: https://cran.rstudio.com/bin/windows/Rtools/
    2. Se estiver usando o MacOS, use este link:
      https://mac.r-project.org/tools/
  4. Defina o diretório de trabalho local; Esta é a pasta no computador onde todos os arquivos serão carregados e salvos. Defina o diretório de trabalho selecionando Sessão na barra de menus do RStudio e clicando em Definir diretório de trabalho > Escolher diretório e selecionando a pasta desejada.
    1. Se estiver usando um computador Windows, use o comando a seguir para definir o diretório de trabalho. Altere [Directory] na linha de código a seguir para a estrutura de diretório real. Lembre-se de que o delimitador de diretório em R é o caractere "/"
      setwd("C:/[Directory]")
    2. Se estiver usando um computador MacOS, o comando a seguir também definirá o diretório de trabalho. Altere [Directory] na linha de código a seguir para a estrutura de diretório real. Lembre-se de que o delimitador de diretório em R é o caractere "/"
      setwd("~/[Directory]")
    3. A qualquer momento durante uma sessão do R, verifique o diretório de trabalho usando a seguinte linha de código:
      getwd()
    4. No RStudio, explore visualmente a estrutura do diretório de trabalho, incluindo todos os arquivos e pastas contidos nela, na janela à direita na guia Arquivos . Para navegar no explorador de arquivos do RStudio até o diretório de trabalho, clique no ícone de engrenagem -> Ir para o diretório de trabalho.
  5. Instale os seguintes pacotes do repositório de pacotes R CRAN, que são dependências necessárias para o protocolo. Para instalar esses pacotes, execute os comandos a seguir.
    install.packages("devtools")
    install.packages("readxl")
    install.packages("openxlsx")
    install.packages("tidyverse")
    install.packages("scCustomize")

    NOTA: Durante a instalação de pacotes R, é normal que várias janelas apareçam e desapareçam. Se aparecer uma janela solicitando a compilação de um pacote, clique em SIM. Se for exibida uma janela solicitando a reinicialização do R antes de instalar o pacote, clique em NÃO.
  6. Instale os seguintes pacotes do repositório de pacotes R coletado Bioconductor
    (https://bioconductor.org/), que são dependências necessárias para o protocolo. Para instalar esses pacotes, execute os comandos a seguir.
    if (! requireNamespace("BiocManager", quietly = TRUE) )
      install.packages("BiocManager")
    BiocManager::install("NMF", update=F)
    BiocManager::install("ComplexHeatmap", update=F)
    BiocManager::install("BiocNeighbors", update=F)
    BiocManager::install("SingleCellExperiment", update=F)
    BiocManager::install("circlize", update=F)
    BiocManager::install("edgeR", update=F)
    BiocManager::install("scDblFinder", update=F)
  7. Instale os pacotes a seguir, que são necessários para o fluxo de trabalho descrito neste manuscrito.
    install.packages("Seurat")
    devtools::install_github("jinworks/CellChat")
  8. Carregue cada pacote para confirmar se as instalações foram bem-sucedidas. Caso algum dos pacotes resulte em um erro de "pacote não encontrado", reinstale-o usando o código apropriado acima.
    library(readxl)
    library(openxlsx)
    library(tidyverse)
    library(scCustomize)
    library(edgeR)
    library(scDblFinder)
    library(Seurat)
    library(CellChat)

2. Carregamento em um conjunto de dados de cicatrização de feridas de célula única e execução de etapas de controle de qualidade

NOTA: Para este fluxo de trabalho de bioinformática, é realizada uma reanálise de um experimento de cicatrização de feridas cutâneas de célula única espaço-temporal publicado anteriormente20. Os arquivos do conjunto de dados são armazenados no repositório NCBI Gene Expression Omnibus (GEO) (https://www.ncbi.nlm.nih.gov/geo/).

  1. Navegue até os arquivos do conjunto de dados do GEO usando o número de acesso GSE204777. Use o link a seguir e revise o desenho experimental do estudo: https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE204777
  2. Na página do repositório GEO, há cinco lotes individuais de dados obtidos de cinco pistas de sequenciamento. Clique no primeiro conjunto de dados, intitulado GSM6190913. Veja a seguir um link direto para o exemplo: https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSM6190913
  3. Role para baixo até a parte inferior da página e baixe os três arquivos a seguir, usando os links ftp ou html . No explorador de arquivos do computador, mova esses três arquivos para um diretório chamado b1. Certifique-se de que a pasta b1 esteja localizada dentro do diretório de trabalho definido na Etapa 1.4.
    Nome do arquivo: GSM6190913_b1_barcodes.tsv.gz / tamanho do arquivo: 18.5 Mb
    Nome do arquivo: GSM6190913_b1_features.tsv.gz / tamanho do arquivo: 254.1 Kb
    Nome do arquivo: GSM6190913_b1_matrix.mtx.gz / tamanho do arquivo: 151.2 Mb
  4. Obtenha as informações do diretório para os arquivos de seqüenciamento de célula única baixados na etapa 2.3.
    b1_data_dir <- file.path(getwd(), "b1")
  5. Carregue os arquivos de sequenciamento de célula única. O parâmetro gene.column especifica a nomenclatura de gene/recurso usada. Nesse caso, use gene.column = 2 para símbolos de gene (gene.column = 1 é para nomes de genes Ensembl).
    b1 <- Read10X_GEO(data_dir = b1_data_dir, gene.column = 2)
    NOTA: A maioria dos conjuntos de dados de célula única não tem dados multiplexados adicionais, portanto, os arquivos 10x gerados usando esta etapa não teriam várias camadas. Para o conjunto de dados multiplexado atual, prossiga com a etapa 2.6. Para conjuntos de dados sem dados de multiplexação, pule para a etapa 2.7.
  6. Demultiplexe o conjunto de dados de célula única usando códigos de barras espaço-temporais.
    1. Para o conjunto de dados de trabalho, separe os dados de expressão gênica e HTO (multiplexação).
      dataset_rna_counts <- b1$GSM6190913_b1_$`Gene Expression`
      ​dataset_barcodes <- b1$GSM6190913_b1_$`Antibody Capture`
    2. Crie um objeto Seurat usando os dados de expressão gênica, filtrando imediatamente os genes expressos em menos de 5 células e células com menos de 200 genes detectados.
      dataset <- CreateSeuratObject(counts = dataset_rna_counts, min.cells = 5, min.features = 200)
    3. Crie um conjunto de dados de expressão gênica como uma camada e gere uma lista de células e códigos de barras comuns a ambos os ensaios.
      dataset_rna_counts2 <- LayerData(dataset, data = "RNA")
      ​dataset_joint.barcodes <- intersect(colnames(dataset_rna_counts2), colnames(dataset_barcodes))
    4. Subconjunto de expressão gênica e contagem de HTO por códigos de barras de células conjuntas.
      dataset_rna_counts2 <- dataset_rna_counts2[, dataset_joint.barcodes]
      ​dataset_barcodes2 <- as.matrix(dataset_barcodes[, dataset_joint.barcodes])
    5. Confirme se o HTO tem os nomes de código de barras esperados.
      ​rownames(dataset_barcodes2)
    6. Crie um novo ensaio para armazenar informações de código de barras e adicione este ensaio ao objeto Seurat criado anteriormente.
      dataset_barcode_assay <- CreateAssayObject(counts = dataset_barcodes2)
      ​dataset[["barcodes"]] <- dataset_barcode_assay
    7. Valide se o objeto agora contém vários ensaios.
      DefaultAssay(dataset)
    8. Normalize os dados do código de barras e execute a demultiplexação por meio da função HTODemux. Este método é descrito em detalhes na seguinte vinheta Seurat: https://satijalab.org/seurat/articles/hashing_vignette
      ​dataset <- HTODemux(dataset, assay = "barcodes", positive.quantile = 0.99)
    9. Agrupe as células com base nos resultados da classificação global e remova as células sem classificação de código de barras.
      Idents(dataset) <- "barcodes_classification.global"
      ​dataset <- subset(dataset, idents = "Negative", invert = TRUE)
    10. Agrupe as células com base no sinal HTO máximo.
      Idents(dataset) <- "barcodes_maxID"
    11. Visualize a distribuição dos genes detectados nas células de acordo com seus códigos de barras multiplexados (Figura Suplementar 1).
      VlnPlot(dataset, features = "nFeature_RNA", pt.size = 0.1, log = TRUE)
    12. Renomeie os códigos de barras para suas atribuições reais de tempo de ferimento (dias após o ferimento) e espaço (2-8 mm) (retirados do manuscrito original) e atribua-os a uma nova variável de metadados chamada time_space.
      Idents(dataset) <- "barcodes_maxID"
      levels(dataset)
      dataset <- RenameIdents(dataset,
      "Barcode-1" ="D01_2mm",
      "Barcode-2" ="D01_4mm",
      "Barcode-3" ="D01_6mm",
      "Barcode-4" ="D01_8mm",
      "Barcode-5" ="D03_2mm",
      "Barcode-6" ="D03_4mm",
      "Barcode-7" ="D03_6mm",
      "Barcode-8" ="D03_8mm",
      "Barcode-9" ="D07_2mm",
      "Barcode-10" ="D07_4mm",
      "Barcode-11" ="D07_6mm",
      "Barcode-12" ="D07_8mm",
      "Barcode-13" ="D14_2mm",
      "Barcode-14" ="D14_4mm",
      "Barcode-15" ="D14_6mm",
      "Barcode-16" ="D14_8mm",
      "Barcode-17" ="UW")
      levels(dataset)
      dataset[["time_space"]] <- Idents(dataset)
  7. Para conjuntos de dados sem dados de multiplexação: crie um objeto Seurat, filtrando imediatamente os genes expressos em menos de 5 células e células com menos de 200 genes detectados.
    dataset <- CreateSeuratObject(counts = b1, min.cells = 5, min.features = 200)
  8. Mude para a análise do ensaio de expressão gênica do conjunto de dados.
    DefaultAssay(dataset) <- "RNA"
    Idents(dataset) <- "data"
  9. Como uma etapa importante do controle de qualidade, calcule a porcentagem de genes mitocondriais em cada célula e atribua-a como uma variável de metadados. Este método é descrito em detalhes na seguinte vinheta Seurat: https://satijalab.org/seurat/articles/pbmc3k_tutorial#qc-and-selecting-cells-for-further-analysis
    dataset[["percent.mt"]] <- PercentageFeatureSet(dataset, pattern = "^mt-")
  10. Visualize a distribuição dos genes detectados, o número de RNA e a porcentagem mitocondrial em todas as células (Figura Suplementar 2).
    plot1 <- FeatureScatter(dataset, feature1 = "nCount_RNA", feature2 = "percent.mt")
    plot2 <- FeatureScatter(dataset, feature1 = "nFeature_RNA", feature2 = " percent.mt ")
    plot1 + plot2
  11. Existem várias células com grande conteúdo mitocondrial, que se correlaciona com baixas contagens de RNA; Estas são células mortas ou moribundas. Remova essas células de baixa qualidade do conjunto de dados usando um corte justo. Nesse caso, use os valores do conjunto de dados original descrito no estudo publicado anteriormente20, no qual células com mais de 25% de genes mitocondriais são removidas.
    dataset <- subset(dataset, subset = nFeature_RNA > 200 & percent.mt < 25)
  12. Visualize a distribuição dos genes detectados, o número de RNA e a porcentagem mitocondrial em todas as células após a remoção de células de baixa qualidade (Figura Suplementar 3).
    plot1 <- FeatureScatter(dataset, feature1 = "nCount_RNA", feature2 = "percent.mt")
    plot2 <- FeatureScatter(dataset, feature1 = "nFeature_RNA", feature2 = " percent.mt ")
    plot1 + plot2
  13. Como uma etapa adicional importante de controle de qualidade, detecte prováveis duplicatas no conjunto de dados. Estas são células que foram unidas durante o sequenciamento de gotículas e, portanto, resultarão em expressões gênicas que não estão no nível de uma única célula. Para combater esse problema, várias ferramentas foram desenvolvidas. É importante observar que cada ferramenta faz certas suposições sobre dados de célula única, portanto, é importante que o usuário leia toda a documentação relevante antes de usar qualquer ferramenta. Neste fluxo de trabalho, implemente um método chamado scDblFinder23. Observe que esse método usa um algoritmo que impõe uma taxa dupla esperada fixa. Use os comandos a seguir para executar o pipeline scDblFinder.
    DefaultAssay(dataset) <- "RNA"
    sce <- scDblFinder(GetAssayData(dataset, assay="RNA", slot="counts"), samples=Idents(dataset))

    NOTA: Conjuntos de dados multiplexados de célula única, como este, também podem ser rastreados para dublês, removendo células que expressam vários códigos de barras. Esse fluxo de trabalho não demonstrou esse método porque a maioria dos conjuntos de dados de célula única não tem esse recurso exclusivo. Em vez disso, um pipeline mais generalizável para triagem de dublês é mostrado usando o método scDblFinder.
  14. Atribua a pontuação de duplicata a uma nova variável de metadados.
    dataset$scDblFinder.score <- sce$scDblFinder.score
  15. Visualize a distribuição da pontuação dupla em todas as células (Figura Suplementar 4).
    VlnPlot(dataset, features = "scDblFinder.score", raster=FALSE, pt.size=0.5)
  16. Remova as células acima do limite de pontuação dupla de 0,25. Esse limite foi escolhido com base no gráfico de violino gerado acima, que mostrou que a maioria das células no conjunto de dados poderia ser atribuída a pontuações duplas muito altas ou muito baixas, e 0,25 é um corte razoável para esse conjunto de dados que removeria a grande maioria dos dubletos prováveis sem remover muitos dubletos improváveis.
    dataset <- subset(dataset, scDblFinder.score < 0.25)
  17. Salve o objeto Seurat do conjunto de dados como um arquivo RDS no diretório de trabalho.
    saveRDS(dataset, "dataset_post_Method2.rds")

3. Analisando um conjunto de dados de cicatrização de feridas de célula única usando Seurat

NOTA: (Etapa opcional) Se iniciar o fluxo de trabalho aqui, carregue o arquivo RDS salvo como um objeto Seurat.

dataset <- readRDS("dataset_post_Method2.rds")

  1. Execute o fluxo de trabalho padrão do Seurat para normalização de conjunto de dados de célula única, dimensionamento e análise de componentes principais (PCA). Esse fluxo de trabalho padrão é descrito nas seguintes vinhetas do Seurat:
    Seurat - Tutorial de agrupamento guiado: https://satijalab.org/seurat/articles/pbmc3k_tutorial
    Lista de comandos 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. Visualize a quantidade de variação do conjunto de dados em relação às primeiras 50 dimensões do PCA (Figura Suplementar 5).
    ElbowPlot(dataset, reduction = "pca", ndims = 50)
    Grande parte da maior variação ocorre nas primeiras 13 dimensões.
  3. Execute o agrupamento de células do conjunto de dados usando um intervalo de dimensões PCA definido de 1 a 13 e uma resolução definida de 0,1.
    dataset <- FindNeighbors(dataset, verbose = TRUE, dims = 1:13)
    dataset <- FindClusters(dataset, verbose = TRUE, resolution = 0.1)

    NOTA: Esse fluxo de trabalho se concentra em diferenças de grande escala nos tipos de células. Portanto, ele usa um parâmetro bastante conservador para o intervalo de dimensões do PCA, em que as primeiras 13 dimensões são mostradas para representar a grande maioria da variação dentro do conjunto de dados. Para discriminação de células em subtipos menores e mais raros, o usuário pode usar um número maior de dimensões para análise downstream, uma vez que esses subtipos de células raras provavelmente são responsáveis por níveis mais baixos de variação do conjunto de dados. O parâmetro de resolução varia de 0 a 1 e determina a magnitude da separação categórica imposta ao conjunto de dados. A configuração deste parâmetro depende da pergunta de pesquisa do usuário. Para agrupamento de células em vários subtipos pequenos e raros, use resoluções mais altas para análise downstream. Como esse fluxo de trabalho visa explorar diferenças mais amplas entre os principais tipos de células, ele usa um valor de resolução bastante pequeno de 0,1, que deve agrupar as células em grupos menores e maiores. O uso das configurações mencionadas na etapa 3.3 discriminará 8 clusters de células exclusivos. Esses clusters são atribuídos automaticamente a uma variável de metadados chamada "seurat_clusters".
  4. Execute a redução dimensional UMAP e a análise de localização de vizinhos usando as primeiras 13 dimensões PCA. Adicione o número semente 123 para garantir a reprodutibilidade da projeção de dados resultante.
    dataset <- RunUMAP(dataset, verbose = TRUE, dims = 1:13, seed.use = 123)
    NOTA: O algoritmo UMAP é estocástico e introduz aleatoriedade na redução dimensional (consulte "Estabilidade e reprodutibilidade" em https://cran.r-project.org/web/packages/umap/vignettes/umap.html). Embora o uso de uma semente consistente forneça um "nível mínimo de reprodutibilidade" para o algoritmo, o gráfico resultante ainda pode ser ligeiramente diferente do que é mostrado nas figuras representativas e nos resultados a jusante. Os testes descobriram que os resultados serão especialmente diferentes entre os computadores que executam o Windows e aqueles que executam o MacOS, provavelmente devido a diferentes implementações de aleatoriedade nesses sistemas operacionais.
  5. Visualize o agrupamento das células em um gráfico UMAP (Figura 1).
    DimPlot(dataset, group.by = "seurat_clusters", raster = FALSE, label = TRUE)
    NOTA: A aleatoriedade do algoritmo UMAP pode gerar gráficos ligeiramente diferentes, conforme mostrado na figura que mostra gráficos UMAP alternativos gerados usando o mesmo código acima em computadores que executam Windows e MacOS; Observe as pequenas diferenças nas formas dos clusters. É, portanto, imperativo que o usuário salve e marque a data e hora de todos os dados e gráficos à medida que são gerados, e que todas as análises downstream em clusters sejam feitas com cuidado e com compreensão biológica em mente, conforme descrito abaixo para anotação de tipo de célula.
  6. Como os rótulos do experimento original que se referem a onde e quando as células vieram durante a cicatrização de feridas estão incluídos, visualize a anotação de tempo/espaço da ferida das células em um gráfico UMAP (Figura 2).
    DimPlot(dataset, group.by = "time_space", raster = FALSE, label = FALSE)
  7. Gere uma tabela de associação de cluster de células com a anotação de tempo/espaço da ferida.
    table(dataset$time_space, dataset$seurat_clusters)
  8. Determine as identidades dos principais tipos de células no conjunto de dados. Para fazer isso, calcule os genes diferencialmente expressos (DEG) entre todos os clusters. Obtenha listas DEG para clusters, atribua-as a uma variável e salve a saída como um arquivo de texto delimitado no diretório de trabalho.
    NOTA: Esta etapa é intensiva em CPU e pode levar muito tempo, dependendo do hardware do usuário.
    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. Baixe e abra o arquivo dataset_cluster_markers.txt incluído em uma planilha (por exemplo, Excel) copiando o conteúdo do arquivo de texto e usando o Assistente de importação de texto para especificar o delimitador de vírgula e a identidade das colunas de nome do gene como Texto. Indicar que os nomes dos genes são 'Texto' é importante, caso contrário, o Excel converterá automaticamente certos nomes de genes em datas, por exemplo, 7 de setembro mudando para 7 de setembro.
  10. Em uma planilha, filtre os resultados de acordo com os seguintes parâmetros recomendados:
    1. Classifique a coluna avg_log2FC da maior para a menor para organizar todas as linhas de acordo com as alterações decrescentes delog 2 vezes (log2FC).
    2. Classifique a coluna de cluster da menor para a maior para organizar todas as linhas de acordo com o aumento dos números de cluster Seurat.
    3. Filtre a coluna avg_log2FC para números maiores ou iguais a 2,5 para mostrar apenas os genes mais diferencialmente expressos (DEGs) no cluster indicado em comparação com outros clusters.
    4. Filtre a coluna pct.1 para números maiores ou iguais a 0,4. Esta coluna refere-se à porcentagem de células no cluster indicado que expressam o gene indicado (Cluster %) e definir o limite em 0,4 significa que apenas os genes expressos em pelo menos 40% das células no cluster indicado são mostrados.
    5. Filtre a coluna pct.2 para números menores ou iguais a 0,2. Esta coluna refere-se à porcentagem de células NÃO no cluster indicado que expressam o gene indicado (% não cluster), e definir o limite em 0,2 significa que apenas genes expressos em no máximo 20% das células NÃO no cluster indicado são mostrados.
    6. Filtre a coluna p_val_adj para números menores ou iguais a 0,01. Esta coluna refere-se ao valor P ajustado ou à taxa de descoberta falsa (FDR), indicando a força estatística do DEG indicado, e definir o limite em 0,01 significa que apenas genes com um FDR < 0,01 são mostrados.
      NOTA: A Tabela Suplementar 1 (JoVE_DEGs_cellMarkers.xlsx) contém a saída total de genes diferencialmente expressos classificados usados na etapa 3.10 do protocolo. A Tabela Suplementar 2 mostra os 5 principais genes para cada cluster nesta análise, com os genes em negrito usados para visualizações subsequentes.
  11. Para anotação imparcial do tipo de célula de clusters, use a ferramenta de análise de enriquecimento baseada na Web EnrichR.
    Use o link: https://maayanlab.cloud/Enrichr/
  12. Copie as listas de DEGs para cada cluster em uma janela EnrichR separada e clique em Analisar. A ferramenta EnrichR executa a lista de genes em centenas de bancos de dados selecionados e classifica todos os termos enriquecidos em cada categoria.
  13. Para fins de anotação de tipo de célula, clique na guia Tipos de célula acima e concentre-se nos 5 principais enriquecimentos nos três bancos de dados selecionados por marcadores de célula no lado esquerdo (Figura 3):
    CellMarker 2024 (http://bio-bigdata.hrbmu.edu.cn/CellMarker/)
    Tabula Sapiens (https://tabula-sapiens-portal.ds.czbiohub.org/)
    PanglaoDB Aumentado (https://panglaodb.se/)
  14. Com base nos enriquecimentos dos DEGs nesses bancos de dados, confirme a provável identidade dos 8 clusters. Observe que existem dois clusters (2, 6) que se enriquecem como fibroblastos; Portanto, combine esses clusters em anotações de tipo de célula única. Atribua as identidades de tipo de célula como rótulos a uma nova variável de metadados chamada 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. Visualize os clusters de células renomeados como anotações em um gráfico UMAP (Figura 4).
    DimPlot(dataset, group.by = "cell_types", raster = FALSE, label = FALSE)
  16. Visualize a localização dos principais genes marcadores de cluster (em negrito) da Tabela 1 em uma série de gráficos UMAP (Figura 5).
    DefaultAssay(dataset) <- "RNA"
    FeaturePlot(dataset, features = c("Arg1", "Retnlg", "Fgf7", "Dsp", "Tie1", "Cd3g", "Cdh4", "Rgs5"), raster=FALSE, ncol = 4)
  17. Visualize os DEGs dos marcadores de cluster superiores em um gráfico de pontos, agrupados pelos números de cluster originais (Figura Suplementar 6).
    DotPlot(dataset, group.by = "seurat_clusters", features = c("Arg1","Retnlg","Fgf7","Dsp","Tie1", "Cd3g","Cdh4","Rgs5")) + RotatedAxis() + scale_colour_gradient2(low = "blue", mid = "grey", high = "red")
  18. Visualize os DEGs dos principais marcadores de cluster em um gráfico de pontos, agrupados pelos tipos de células anotadas (Figura 6).
    DotPlot(dataset, group.by = "cell_types", features = c("Arg1","Retnlg","Fgf7","Dsp","Tie1", "Cd3g","Cdh4","Rgs5")) + RotatedAxis() + scale_colour_gradient2(low = "blue", mid = "grey", high = "red")
  19. Para realizar análises de séries temporais, primeiro simplifique o conjunto de dados para remover o componente espacial. Para análises de curso de tempo, agrupe as anotações de tempo/espaço da ferida em dias gerais pós-ferimento (DPW) com uma nova variável de metadados chamada "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. Visualize os novos agrupamentos de tempo de curso da ferida em um gráfico UMAP (Figura Suplementar 7).
    DimPlot(dataset, group.by = "DPW", raster = FALSE, label = FALSE)
  21. Gere tabelas mostrando quantas células de cada tipo ocorrem em cada DPW.
    ​table(dataset$DPW, dataset$cell_types)
    1. Etapa opcional: Para obter também listas DEG para grupos de tempo de enrolamento, atribua-os a uma variável e salve a saída como um arquivo de texto delimitado.
      Idents(dataset) <- "DPW"
      Cell_DPW_markers <- FindAllMarkers(dataset, max.cells.per.ident = 500, only.pos = TRUE, min.pct = 0.10, logfc.threshold = 0.25)
      write.csv(Cell_DPW_markers, file = file.path(getwd(), "dataset_DPW_markers.txt"))
  22. Converta o número de células em proporções por categoria para entender melhor as mudanças relativas na composição do tipo de célula ao longo do curso de cicatrização. Visualize a proporção de DPW em cada tipo de célula (Figura Suplementar 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. Visualize a proporção de tipos de células em cada DPW ( Figura 7).
    pt2 <- table(dataset$cell_types, dataset$DPW)
    pt2 <- as.data.frame(pt2)
    pt2$Var1 <- as.character(pt2$Var1)
    ggplot(pt2, aes(x = Var2, y = Freq, fill = Var1)) +
    theme_bw(base_size = 15) +
    geom_col(position = "fill", width = 0.5) +
    xlab("Sample") +
    ylab("Proportion") +
    theme(legend.title = element_blank())
  24. Salve o objeto Seurat do conjunto de dados como um arquivo RDS no diretório de trabalho.
    saveRDS(dataset, "dataset_post_Method3.rds")

4. Analisando subtipos de células usando Seurat

NOTA: O poder da análise de célula única permite a descoberta e análise de subtipos raros dentro dos principais tipos de células analisados acima. Este exemplo se concentra em fibroblastos, que inicialmente se agruparam em dois aglomerados de Seurat antes de serem combinados em uma única categoria. Esta parte do protocolo se concentra especificamente nos fibroblastos, excluindo todos os outros tipos de células, e explora suas identidades e propriedades temporais durante a cicatrização de feridas. Como uma etapa opcional, se necessário, carregue o arquivo RDS salvo como um objeto Seurat.

dataset <- readRDS("dataset_post_Method3.rds")

  1. Subconjunto do conjunto de dados original de acordo com a identidade da célula de fibroblastos.
    Idents(dataset) <- "cell_types"
    dataset_fibroblast <- subset(dataset, idents = "Fibroblast")
  2. Execute o PCA neste conjunto de dados menor e visualize a quantidade de variação do conjunto de dados em relação às dimensões do PCA (Figura Suplementar 9).
    dataset_fibroblast <- RunPCA(dataset_fibroblast, verbose = TRUE)
    ElbowPlot(dataset_fibroblast, reduction = "pca", ndims = 50)

    NOTA: Grande parte da maior variação ocorre nas primeiras 9 dimensões.
  3. Execute o agrupamento de células do conjunto de dados usando um intervalo de dimensões PCA definido de 1 a 9 e uma resolução definida de 0,1.
    dataset_fibroblast <- FindNeighbors(dataset_fibroblast, verbose = TRUE, dims = 1:9)
    dataset_fibroblast <- FindClusters(dataset_fibroblast, verbose = TRUE, resolution = 0.1)

    NOTA: Usando essas configurações, o algoritmo discrimina 3 aglomerados de fibroblastos exclusivos. Esses clusters são atribuídos automaticamente a uma variável de metadados chamada seurat_clusters.
  4. Execute a redução dimensional UMAP e a análise de localização de vizinhos usando as primeiras 9 dimensões PCA. Adicione o número semente 123 para garantir a reprodutibilidade da projeção de dados resultante.
    dataset_fibroblast <- RunUMAP(dataset_fibroblast, verbose = TRUE, dims = 1:9, seed.use = 123)
  5. Visualize o agrupamento das células em um gráfico UMAP (Figura 8).
    DimPlot(dataset_fibroblast, group.by = "seurat_clusters", raster = FALSE, label = TRUE)
  6. Visualize a anotação do curso de tempo da ferida das células em um gráfico UMAP (Figura Suplementar 10).
    DimPlot(dataset_fibroblast, group.by = "DPW", raster = FALSE, label = FALSE)
  7. Obtenha listas DEG para os três subtipos de fibroblastos e salve-as em um arquivo de texto no diretório de trabalho.
    Idents(dataset_fibroblast) <- "seurat_clusters"
    fibroblast_markers <- FindAllMarkers(dataset_fibroblast, max.cells.per.ident = 500, only.pos = TRUE, min.pct = 0.10, logfc.threshold = 0.25)
    write.csv(fibroblast_markers, file = file.path(getwd(), "fibroblast_cluster_markers.txt"))
  8. Siga etapas semelhantes às acima (etapas 3.9-3.10) em uma planilha para filtrar os DEGs nos principais marcadores de subtipo de fibroblastos.
  9. Defina uma lista de genes personalizada como uma variável copiando os 5 principais marcadores de subtipo de fibroblastos para cada um dos três clusters do arquivo de texto DEG.
    FB_type_marker <- c("Plac8", "Cthrc1", "Adam12", "Ifi211", "Plat", "Cdh4", "Aldh3a1", "Ppp1r14a", "Oxtr", "Serpina3c", "Sostdc1", "Scube3", "Ptprz1", "Corin", "Alx4")
  10. Visualize os genes na lista no conjunto de dados somente de fibroblastos chamando a variável no parâmetro features do 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. Visualize os genes na lista no conjunto de dados de célula única original chamando a variável no parâmetro features do dotplot (Figura Suplementar 11).
    DotPlot(dataset, group.by="cell_types", features = FB_type_marker) + RotatedAxis() + scale_colour_gradient2(midpoint = 0, low = "blue", mid = "grey", high = "red")
  12. Visualize a proporção de subtipos de fibroblastos em cada categoria DPW (Figura Suplementar 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. Visualize a proporção de células de fibroblastos DPW em cada categoria de subtipo de fibroblastos (Figura Suplementar 13).
    pt4 <- table(dataset_fibroblast$DPW, dataset_fibroblast$seurat_clusters)
    pt4 <- as.data.frame(pt4)
    pt4$Var1 <- as.character(pt4$Var1)
    ggplot(pt4, aes(x = Var2, y = Freq, fill = Var1)) +
    theme_bw(base_size = 15) +
    geom_col(position = "fill", width = 0.5) +
    xlab("Sample") +
    ylab("Proportion") +
    theme(legend.title = element_blank())
  14. Salve o objeto Seurat do conjunto de dados como um arquivo RDS no diretório de trabalho.
    saveRDS(dataset_fibroblast, "dataset_fibroblast_post_Method4.rds")

5. Exemplo de uma análise de acompanhamento via pontuação do módulo

NOTA: Um método útil para analisar conjuntos de dados de célula única é chamado de pontuação de módulo. Nesse fluxo de trabalho, pode-se definir uma lista de genes de acordo com o conhecimento prévio e, em seguida, calcular as pontuações do módulo, que podem identificar possíveis enriquecimentos da lista de genes dentro de cada célula. Essas pontuações podem ser calculadas em média nas anotações das células para revelar padrões potenciais de enriquecimentos.

Aqui, use listas de genes de um estudo publicado anteriormente2, onde genes específicos da fase de cicatrização de feridas foram identificados usando amostras sequenciadas de RNA em massa de todo o continuum de cicatrização. As listas de genes foram salvas em um arquivo de texto delimitado por tabulação (Arquivo Suplementar 2: JoVE_PhaseSpecificGenes.txt) que agora pode ser baixado no diretório de trabalho e usado para gerar listas de genes que identificam as três principais fases de cicatrização.

  1. Carregue listas de genes em uma variável lendo o arquivo TEXT.
    PhaseSpecificGenes <- read_delim("JoVE_PhaseSpecificGenes.txt", delim="\t", col_names = T)
  2. Separe as colunas em variáveis individuais da lista de genes e altere os genes para nomes de camundongos que tenham sua primeira letra maiúscula.
    PS_Inflammatory <- PhaseSpecificGenes[1]
    PS_Inflammatory_ms <- lapply(PS_Inflammatory, str_to_sentence)
    PS_Proliferative <- PhaseSpecificGenes[2]
    PS_Proliferative_ms <- lapply(PS_Proliferative, str_to_sentence)
    PS_Resolution <- PhaseSpecificGenes[3]
    PS_Resolution_ms <- lapply(PS_Resolution, str_to_sentence)

    NOTA: (Opcional) Se necessário, carregue o arquivo RDS salvo como um objeto Seurat.
    dataset <- readRDS("dataset_post_Method3.rds")
  3. Use as listas de genes como módulos para pontuar cada célula no conjunto de dados de acordo com as três fases de cicatrização.
    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. Visualize as pontuações agregadas do módulo por categoria de célula, incluindo DPW e principais tipos de células (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. Exemplo de uma análise de acompanhamento via CellChat

NOTA: Outro método útil e bem citado para a análise de conjuntos de dados de célula única é inferir interações célula-célula. Neste fluxo de trabalho, use o pacote CellChat, que infere as comunicações célula-célula analisando as interações diferenciais ligante-receptor entre grupos de células22. Recentemente, os desenvolvedores do CellChat publicaram um protocolo passo a passo detalhado para seu uso generalizado24, e este é um excelente recurso para os usuários enquanto eles trabalham no fluxo de trabalho a seguir e o aplicam aos seus conjuntos de dados. Como exemplo, o fluxo de trabalho a seguir compara as interações de todas as células principais em feridas em 1 vs 14 dias após a lesão (DPW). Cada etapa não é descrita em detalhes, uma vez que todas as etapas já foram descritas na publicação oficial do CellChat24 , bem como nos tutoriais, vinculados aqui:

Inferência e análise da comunicação célula-célula usando
Bate-papo celular: https://github.com/jinworks/CellChat/blob/master/tutorial/CellChat-vignette.html

Análise comparativa de vários conjuntos de dados usando o CellChat:
https://github.com/jinworks/CellChat/blob/master/tutorial/Comparison_analysis_of_multiple_datasets.html

Etapa opcional: se necessário, carregue o arquivo RDS salvo como um objeto Seurat:

dataset <- readRDS("dataset_post_Method3.rds")

  1. Subconjunto do conjunto de dados original em dois conjuntos de dados de acordo com a anotação DPW.
    Idents(dataset) <- "DPW"
    dataset_D1 <- subset(dataset, ident = "D1")
    dataset_D14 <- subset(dataset, ident = "D14")
  2. Defina a anotação pela qual o CellChat será executado --- neste caso, use os tipos de células principais.
    Idents(dataset_D1) <- "cell_types"
    Idents(dataset_D14) <- "cell_types"
  3. Crie os objetos do CellChat e siga o fluxo de trabalho típico do CellChat. Consulte os tutoriais vinculados acima como referências detalhadas para cada etapa.
    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. Visualize as forças de interação de entrada e saída em todos os principais tipos de células em cada ponto de tempo de cicatrização de feridas (Figura Suplementar 14).
    netAnalysis_signalingRole_scatter(cellchat_D1)
    netAnalysis_signalingRole_scatter(cellchat_D14)

    Os fibroblastos aumentam drasticamente suas interações entre D1 e D14 DPW.
  5. Mostre as listas de todas as vias de comunicação célula-célula inferidas significativas.
    cellchat_D1@netP$pathways
    cellchat_D14@netP$pathways

    A via do colágeno é uma das vias significativas em D1 e D14 DPW.
  6. Concentre-se na via de sinalização do colágeno e sua interação com os fibroblastos.
    pathways.show <- c("COLLAGEN")
  7. Visualize as interações da via de sinalização do colágeno entre os tipos de células usando diagramas circulares (Figura Suplementar 15).
    par(mfrow=c(1,2))
    netVisual_aggregate(cellchat_D1, signaling = pathways.show, layout = "circle")
    netVisual_aggregate(cellchat_D14, signaling = pathways.show, layout = "circle")
    par(mfrow=c(1,1))
  8. Visualize as interações da via de sinalização do colágeno entre os tipos de células usando diagramas de acordes (Figura Suplementar 16).
    par(mfrow=c(1,2))
    strwidth <- function(x) {0.5}
    netVisual_aggregate(cellchat_D1, signaling = pathways.show, layout = "chord", vertex.label.cex = 0.6)
    netVisual_aggregate(cellchat_D14, signaling = pathways.show, layout = "chord", vertex.label.cex = 0.6)
    par(mfrow=c(1,1))
  9. Visualize as interações da via de sinalização COLLAGEN com fibroblastos como células de origem (Figura Suplementar 17).
    NOTA: Os tipos de células nos objetos cellchat são listados como IDs na ordem em que foram atribuídos no objeto Seurat original: 1 = Macrófago, 2 = Neutrófilo, 3 = Fibroblasto, 4 = Célula epitelial, 5 = Célula endotelial, 6 = Célula T, 7 = Célula muscular lisa.
    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. Visualize as contribuições de cada par ligante-receptor na via de sinalização COLLAGEN com fibroblastos como células de origem.
    1. Usando gráficos de bolhas (Figura Suplementar 18):
      gg1 <- netVisual_bubble(cellchat_D1, sources.use = 3, targets.use = NULL, signaling = pathways.show, remove.isolate = FALSE)
      gg2 <- netVisual_bubble(cellchat_D14, sources.use = 3, targets.use = NULL, signaling = pathways.show, remove.isolate = FALSE)
      ​gg1 + gg2
    2. Usando diagramas de acordes (Figura Suplementar 19):
      par(mfrow=c(1,2))
      strwidth <- function(x) {0.4}
      netVisual_chord_gene(cellchat_D1, sources.use = 3, targets.use = NULL, signaling = pathways.show, lab.cex = 0.6, show.legend= F)
      netVisual_chord_gene(cellchat_D14, sources.use = 3, targets.use = NULL, signaling = pathways.show, lab.cex = 0.6, legend.pos.x = 60)
      ​par(mfrow=c(1,1))
  11. Concentre-se na interação ligante-receptor Col1a1-Cd44 dentro da via de sinalização COGLANCE.
    ​LR.show <- "COL1A1_CD44"
  12. Visualize as interações ligante-receptor Col1a1-Cd44 entre os tipos de células usando diagramas de cordas (Figura Suplementar 20).
    strwidth <- function(x) {0.5}
    netVisual_individual(cellchat_D1, signaling = pathways.show, pairLR.use = LR.show, layout = "chord")
    netVisual_individual(cellchat_D14, signaling = pathways.show, pairLR.use = LR.show, layout = "chord")
  13. Execute a análise diferencial do CellChat gerando um objeto CellChat combinado.
    object.list_D14_v_D1 <- list(D1 = cellchat_D1, D14 = cellchat_D14)
    cellchat_D14_v_D1 <- mergeCellChat(object.list_D14_v_D1, add.names = names(object.list_D14_v_D1))
  14. Visualize os números totais e as forças relativas das interações célula-célula nos pontos de tempo de cicatrização de feridas (Figura Suplementar 21).
    gg1 <- compareInteractions(cellchat_D14_v_D1, show.legend = F)
    gg2 <- compareInteractions(cellchat_D14_v_D1, show.legend = F, measure = "weight")
    gg1 + gg2
  15. Visualize usando um gráfico circular as forças de interação célula-célula diferencial entre cada tipo de célula à medida que a ferida faz a transição do dia 1 para o dia 14 (Figura Suplementar 22).
    netVisual_diffInteraction(cellchat_D14_v_D1, weight.scale = T, measure = "weight")
  16. Visualize usando um mapa de calor as forças de interação célula-célula diferencial entre cada tipo de célula à medida que a ferida faz a transição do dia 1 para o dia 14 (Figura Suplementar 23).
    netVisual_heatmap(cellchat_D14_v_D1, measure = "weight")
  17. Visualize usando um gráfico de classificação as contribuições relativas de vias individuais para interações célula-célula com fibroblastos como células de origem no dia 14 vs dia 1 ( Figura Suplementar 24).
    rankNet(cellchat_D14_v_D1, mode = "comparison", measure = "weight", sources.use = 3, targets.use = NULL, stacked = T, do.stat = TRUE)
  18. Visualize usando gráficos de bolhas as contribuições relativas de pares individuais de ligante-receptor na via de sinalização do colágeno com fibroblastos como células de origem no dia 14 em comparação com o dia 1 (Figura Suplementar 25).
    gg1 <- netVisual_bubble(cellchat_D14_v_D1, sources.use = 3, targets.use = NULL, signaling = pathways.show, comparison = c(1, 2), max.dataset = 2, title.name = "Increased signaling in D14", angle.x = 45, remove.isolate = F)
    gg2 <- netVisual_bubble(cellchat_D14_v_D1, sources.use = 3, targets.use = NULL, signaling = pathways.show, comparison = c(1, 2), max.dataset = 1, title.name = "Decreased signaling in D14", angle.x = 45, remove.isolate = F)
    gg1 + gg2
  19. Assim como os objetos Seurat, os objetos CellChat podem ser salvos e abertos como arquivos RDS.
    saveRDS(cellchat_D1, "cellchat_D1.rds")
    saveRDS(cellchat_D14, "cellchat_D14.rds")
    saveRDS(cellchat_D14_v_D1, "cellchat_D14_v_D1.rds")
  20. Etapa opcional: os objetos CellChat também podem ser abertos a partir de arquivos RDS.
    cellchat_D1 <- readRDS("cellchat_D1.rds")
    cellchat_D14 <- readRDS("cellchat_D14.rds")
    cellchat_D14_v_D1 <- readRDS("cellchat_D14_v_D1.rds")

7. Exemplo de uma análise integrativa combinando vários conjuntos de dados unicelulares

NOTA: Os conjuntos de dados de célula única geralmente são separados em vários arquivos porque foram sequenciados em lotes ou grupos. Este fluxo de trabalho mostra como integrar dois dos cinco lotes do conjunto de dados de cicatrização de feridas 20. Os métodos atuais para integração de conjuntos de dados são descritos pelas seguintes vinhetas Seurat:

Introdução à integração scRNA-seq:
https://satijalab.org/seurat/articles/integration_introduction

Análise integrativa no Seurat v5:

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

Nota: Existem vários métodos de integração de conjuntos de dados de célula única, cada um com seus próprios pontos fortes e fracos. Para obter detalhes, consulte o benchmark abrangente de métodos de integração25. É importante que o usuário leia toda a documentação relevante antes de confiar em qualquer método de integração.

  1. Repita todas as etapas do Método 2 para outro lote do conjunto de dados Hu et al.20. No protocolo a seguir, o lote #3 é usado. O arquivo de script R suplementar está incluído e pode ser usado para processar o lote #3 (Arquivo Suplementar 3: JoVE_Rscript_b3. Lembre-se de criar e usar uma nova variável para o conjunto de dados --- no código abaixo, use "dataset_b3" para o lote de conjuntos de dados #3.
    1. Etapa opcional: se necessário, abra os dois conjuntos de dados como objetos Seurat de seus arquivos RDS salvos no diretório de trabalho:
      dataset <- readRDS("dataset_post_Method2.rds")
      dataset_b3 <- readRDS("dataset_b3_post_Method2.rds")
  2. Atribua uma nova variável a cada conjunto de dados chamado "lote" para rotular o conjunto de dados de origem em análises subsequentes.
    dataset@meta.data$batch <- "b1"
    dataset_b3@meta.data$batch <- "b3"
  3. Execute a mesclagem Seurat dos dois conjuntos de dados, adicionando anotações de ID de célula baseadas em lote e, em seguida, execute o fluxo de trabalho Seurat padrão para o conjunto de dados mesclado, conforme descrito no Método 3.
    dataset_merged <- merge(x = dataset, y = c(dataset_b3), add.cell.ids = c("b1", "b3"), merge.data = TRUE)
    DefaultAssay(dataset_merged) <- "RNA"
    dataset_merged <- NormalizeData(dataset_merged)
    dataset_merged <- FindVariableFeatures(dataset_merged)
    dataset_merged <- ScaleData(dataset_merged)
    dataset_merged <- RunPCA(dataset_merged)
    ElbowPlot(dataset_merged, reduction = "pca", ndims = 50)
  4. Execute clustering e análise UMAP no conjunto de dados combinado antes da integração de dados.
    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. Visualize o gráfico UMAP de acordo com os números de cluster e lote (Figura Suplementar 26).
    DimPlot(dataset_merged, reduction = "umap.unintegrated", group.by = c("seurat_clusters", "batch"))
  6. Mostre a distribuição dos números de células em cada cluster de acordo com o número do lote.
    table(dataset_merged$batch, dataset_merged$seurat_clusters)
    NOTA: A partir do gráfico UMAP e da tabela, não parece haver nenhum efeito de lote significativo para esses dois conjuntos de dados. A evidência de efeitos de lote se manifestaria como discrepâncias inesperadas na distribuição de clusters entre os dois conjuntos de dados, o que poderia significar que existem diferenças técnicas potenciais entre os conjuntos de dados que estão substituindo as semelhanças biológicas reais.
  7. Execute a integração de dados Seurat usando o método RPCA. Para obter mais informações sobre este e outros métodos de integração de dados, leia a vinheta Seurat vinculada acima.
    dataset_merged <- IntegrateLayers(
    object = dataset_merged, method = RPCAIntegration,
    orig.reduction = "pca", new.reduction = "integrated.rpca",
    verbose = TRUE
    )
  8. Execute clustering e análise UMAP no conjunto de dados combinado após a integração de dados.
    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. Visualize o gráfico UMAP de acordo com os números de cluster e lote após a integração (Figura Suplementar 27).
    DimPlot(dataset_merged, reduction = "umap.rpca", group.by = c("seurat_clusters","batch"))
  10. Mostrar a distribuição dos números de células em cada cluster de acordo com o número do lote após a integração.
    table(dataset_merged$batch, dataset_merged$seurat_clusters)
    A partir do gráfico UMAP e da tabela dos dados integrados, agora há uma excelente sobreposição entre os dois lotes em diferentes clusters. Curiosamente, a integração dos dados resultou na identificação de um cluster adicional usando os mesmos parâmetros de agrupamento.
  11. Após a integração do conjunto de dados e antes das análises downstream, as camadas do conjunto de dados mesclado devem ser unidas.
    dataset_merged <- JoinLayers(dataset_merged)
  12. Salve o objeto Seurat do conjunto de dados como um arquivo RDS no diretório de trabalho.
    saveRDS(dataset_merged, "merged_dataset_post_Method7.rds")

Results

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

Começando no método #2, o protocolo percorre as etapas de carregamento e execução de etapas de controle de qualidade em um conjunto de dados de cicatrização de feridas de célula única. Depois de criar o objeto Seurat (etapa 2.6.2), uma série de etapas mescla os dois ensaios dentro do conjunto de dados (RNA e proteína; etapas 2.6.3-2.6.7) e realiza a descomplexação do ensaio de proteína de acordo com códigos de barras espaço-temporais (etapas 2.6.8-2.6.9). A função de descomplexação atribui vários rótulos de metadados a cada célula no conjunto de dados, incluindo "barcodes_maxID", que identifica o código de barras espaço-temporal mais provável de cada célula (etapa 2.6.10). Na etapa 2.6.11, a função de plotagem de violino é executada para visualizar a distribuição de genes detectados nas células com base em seus códigos de barras multiplexados. O resultado representativo desta etapa (Figura Suplementar 1) mostra que há uma distribuição bastante uniforme de genes detectados para cada código de barras, o que é importante para a integridade do conjunto de dados e análise a jusante dos pontos de tempo de cicatrização de feridas. Depois de atribuir o rótulo apropriado aos códigos de barras de proteínas (etapa 2.6.12), o protocolo mostra como executar etapas de controle de qualidade no ensaio de RNA do conjunto de dados, começando com o cálculo da porcentagem de genes mitocondriais em cada célula (etapa 2.9). Na etapa 2.10, a função de gráfico de dispersão de recursos é executada para visualizar a distribuição dos genes detectados, o número de RNA e a porcentagem mitocondrial em todas as células. Os resultados representativos desta etapa (Figura Suplementar 2) mostram que há uma série de células com grande conteúdo mitocondrial, que se correlaciona com baixas contagens de RNA e identifica células mortas ou moribundas. Após a remoção de células com baixa contagem de RNA e grande conteúdo mitocondrial (etapa 2.11), na etapa 2.12 outra função de gráfico de dispersão de características é executada no conjunto de dados do subconjunto, e o resultado representativo desta etapa (Figura Suplementar 3) mostra que a distribuição de genes detectados e porcentagem de RNA mitocondrial por célula agora é mais normal, abrindo caminho para análises robustas a jusante. Em seguida, o protocolo descreve o uso da função scDblFinder para identificar prováveis duplicatas no conjunto de dados e atribui um novo metadado chamado "scDblFinder.score" a cada célula (etapas 2.13-2.14). Na etapa 2.15, a função de plotagem de violino é executada para visualizar a distribuição das pontuações duplas no conjunto de dados, e o resultado representativo desta etapa (Figura Suplementar 4) mostra que há várias células com pontuações duplas relativamente altas e que 0,25 parece ser um corte natural acima do qual há uma população de prováveis dublês. Portanto, as etapas a seguir usam esse parâmetro para subdefinir o conjunto de dados para células abaixo do limite (etapa 2.16), concluindo assim as etapas de controle de qualidade para esse conjunto de dados de célula única.

Começando no método #3, o protocolo percorre as etapas para analisar o conjunto de dados de cicatrização de feridas de célula única com controle de qualidade usando o pacote e o fluxo de trabalho Seurat. Após a normalização e escalonamento dos dados de RNA, a análise de PCA é realizada (etapa 3.1). Na etapa 3.2, a função de gráfico de cotovelo é usada para visualizar a quantidade de variação do conjunto de dados em relação às primeiras 50 dimensões do PCA e o resultado representativo desta etapa (Figura Suplementar 5) mostra que grande parte da maior variação ocorre nas primeiras 13 dimensões, conforme identificado pela dobra no gráfico. O protocolo então mostra como encontrar vizinhos e realizar agrupamento de células (etapa 3.3) e redução dimensional UMAP (etapa 3.4) do conjunto de dados usando as primeiras 13 dimensões de PCA e um parâmetro de resolução de agrupamento relativamente baixo de 0,1, ambos escolhidos para identificar os principais tipos de células mais generalizáveis em feridas. Na etapa 3.5, a função de plotagem dimensional é executada para visualizar o agrupamento das células em um gráfico UMAP e o resultado representativo dessa etapa (Figura 1) mostra que todas as células no conjunto de dados estão agrupadas em torno de 8 grupos principais de clusters Seurat codificados por cores, com gráficos UMAP ligeiramente diferentes obtidos de um computador executando Windows (esquerda) e MacOS (direita). Na etapa 3.6, outra função de plotagem dimensional é executada para visualizar a anotação de tempo/espaço da ferida das células e o resultado representativo desta etapa (Figura 2) mostra que todas as células no conjunto de dados estão espalhadas de acordo com sua origem de tempo/espaço, sem agrupamento aparente de acordo com a anotação de tempo/espaço. Em seguida, o protocolo descreve como obter listas de genes diferencialmente expressos e salvá-los em um arquivo de texto (etapa 3.8), abrir a tabela de dados em uma planilha e executar várias etapas de filtragem para obter os marcadores de cluster mais bem classificados para cada cluster de células (etapas 3.9-3.10.6). O resultado representativo dessas etapas (Tabela Suplementar 1) é o arquivo de planilha final contendo a saída total de genes diferencialmente expressos classificados, enquanto outro resultado representativo (Tabela Suplementar 2) é uma tabela simplificada que mostra os 5 principais genes regulados e expressos para cada cluster Seurat. O protocolo então descreve como usar uma ferramenta de análise de enriquecimento funcional baseada na web chamada EnrichR para identificar tipos de células putativas de acordo com os principais genes marcadores de cluster (etapas 3.11-3.12) e os resultados representativos dessas etapas (Figura 3) são capturas de tela cortadas das saídas do EnrichR mostrando os principais tipos de células enriquecidas para cada um dos oito clusters de células. O protocolo então atribui um novo rótulo de metadados chamado "cell_types" a todas as células nos respectivos clusters Seurat de acordo com suas anotações de tipo de célula mais enriquecidas (etapa 3.14). Na etapa 3.15, a função de plotagem dimensional é executada para visualizar os clusters de células renomeados como anotações de tipo de célula em um gráfico UMAP e os resultados representativos dessa etapa (Figura 4) mostrou que todas as células no conjunto de dados se agrupavam em torno dos principais tipos de células codificadas por cores. Na etapa 3.16, a função de gráfico de características foi usada para visualizar a localização dos principais genes marcadores de cluster (da Tabela Suplementar 2) em uma série de gráficos UMAP, e os resultados representativos (Figura 5) são uma grade de gráficos UMAP que mostram a alta expressão dos principais genes marcadores celulares em seus respectivos locais de agrupamento de tipos de células principais. Nas etapas 3.17 e 3.18, a função de gráfico de pontos foi executada para visualizar os níveis relativos de expressão dos principais genes marcadores de cluster nas células, primeiro agrupados por seus números de cluster Seurat originais (etapa 3.17) e, em segundo lugar, agrupados por rótulos de tipo de célula anotados (etapa 3.18). Os resultados representativos dessas etapas confirmaram o alto nível de expressão dos principais genes marcadores celulares apenas em seus respectivos clusters Seurat (Figura 6 suplementar) e apenas em seus respectivos tipos de células principais (Figura 6). A próxima etapa do protocolo simplifica os rótulos originais baseados em proteínas espaço-temporais em anotações estritamente temporais, que identificam as células com base nos dias pós-ferimento (DPW) de onde se originaram. Na etapa 3.20, a função de plotagem dimensional é executada para visualizar as células como anotações DPW em um gráfico UMAP e os resultados representativos dessa etapa (Figura Suplementar 7) mostrou a localização das anotações de curso de tempo da ferida no conjunto de dados de cicatrização de feridas de célula única. Como esperado, as anotações do dia 1 (D1) dominaram os aglomerados de neutrófilos e macrófagos, enquanto os pontos de tempo de cicatrização de feridas posteriores foram mais representados em outros tipos de células. As etapas a seguir no protocolo usaram gráficos de barras empilhadas para primeiro visualizar as proporções de DPW em diferentes tipos de células (etapa 3.22) e, em seguida, para visualizar as proporções de tipos de células em diferentes pontos de tempo (3.23). Os resultados representativos dessas etapas são gráficos de proporção que mostram o número relativo de células DPW em cada categoria de tipo de célula principal (Figura 8 suplementar) e o número relativo dos principais tipos de células em cada categoria de DPW (Figura 7). Esses resultados confirmaram a conhecida cascata celular de cicatrização de feridas na pele, em que as células imunes (neutrófilos e macrófagos) dominam os primeiros momentos durante a fase inflamatória, e os outros tipos de células (células epiteliais e células endoteliais) começam a aparecer durante a fase proliferativa, com os fibroblastos sendo especialmente dominantes nos últimos momentos durante a resolução da ferida.

Começando no método #4, o protocolo descreve as etapas para usar o Seurat para se concentrar em um tipo de célula principal individual no conjunto de dados de célula única, a fim de identificar possíveis subtipos celulares durante a cicatrização de feridas. O protocolo se concentra em fibroblastos, que inicialmente se agruparam em dois aglomerados Seurat antes de serem combinados em uma única categoria, e descreve como criar um novo objeto Seurat que contém apenas os fibroblastos do conjunto de dados original (etapa 4.1). O fluxo de trabalho Seurat é executado neste conjunto de dados específico de fibroblastos (etapas 4.2-4.4), com a etapa 4.2 resultando em um gráfico de cotovelo (Figura Suplementar 9) mostrando que grande parte da maior variação no conjunto de dados de fibroblastos ocorre nas primeiras 9 dimensões do PCA. Na etapa 4.5, a função de gráfico dimensional é executada para visualizar o agrupamento das células em um gráfico UMAP, e os resultados representativos desta etapa (Figura 8) mostraram os fibroblastos no conjunto de dados agrupados em torno dos 3 subtipos de células codificadas por cores. A visualização do conjunto de dados de fibroblastos de acordo com sua anotação DPW (etapa 4.6) resultou em um gráfico UMAP (Figura Suplementar 10) mostrando fibroblastos no conjunto de dados distribuídos de acordo com sua anotação DPW. Em seguida, o protocolo descreve como obter listas de genes diferencialmente expressos e salvá-los em um arquivo de texto (etapa 4.7), abrir a tabela de dados no Excel e executar várias etapas de filtragem para obter os marcadores de cluster mais bem classificados para cada cluster de células (etapa 4.8) e atribuir uma nova variável listando os principais genes marcadores de fibroblastos chamados "FB_type_marker" (etapa 4.9). Na etapa 4.10, a função de gráfico de pontos é usada para visualizar os genes na lista no conjunto de dados somente de fibroblastos, chamando a variável "FB_type_marker" no parâmetro features, e os resultados representativos desta etapa (Figura 9) são gráficos de pontos confirmando a alta expressão de marcadores de subtipo de fibroblastos apenas em suas respectivas categorias de cluster (superior), mas bastante distribuídos em todas as categorias DPW (inferior). Na etapa 4.11, a mesma variável de características é chamada para visualizar os genes marcadores de fibroblastos no conjunto de dados geral de cicatrização de feridas, e o resultado representativo (Figura Suplementar 11) é um gráfico de pontos que confirmou a alta expressão de marcadores de subtipo de fibroblastos principalmente no fibroblasto original. Finalmente, as etapas a seguir no protocolo usaram gráficos de barras empilhadas para primeiro visualizar as proporções de DPW nos três subtipos de fibroblastos (etapa 4.12) e, em seguida, para visualizar as proporções de subtipos de fibroblastos em diferentes pontos de tempo (etapa 4.13). Os resultados representativos dessas etapas são gráficos de proporção que mostram o número relativo de células DPW em cada categoria de subtipo de fibroblasto (Figura Suplementar 12) e o número relativo de subtipos de fibroblastos em cada categoria DPW (Figura Suplementar 13). Esses resultados apontam para uma mudança significativa nas proporções do subtipo de fibroblastos ao longo do curso da cicatrização, com o primeiro subtipo de fibroblastos (cluster 0) fortemente dominante em feridas em estágio inicial (D1 e D3), o segundo subtipo (cluster 1) dominante durante a resolução da ferida (D14) e o terceiro subtipo (cluster 2) sendo mais alto durante a fase proliferativa da cicatrização da ferida (D7).

Começando no método #5, o protocolo percorre as etapas para analisar um conjunto de dados de cicatrização de feridas de célula única usando a função de pontuação do módulo em Seurat. O protocolo primeiro descreve as etapas de uso de um arquivo de texto com tabulação para carregar conjuntos de genes em variáveis em R (etapas 5.1-5.2), seguido pela aplicação da função de pontuação do módulo a três conjuntos de genes relacionados às três fases principais da cicatrização de feridas (etapa 5.3). Na etapa 5.4, a função de gráfico de pontos é usada para visualizar as pontuações agregadas do módulo em duas categorias de metadados diferentes, e os resultados representativos para esta etapa (Figura 10) são gráficos de pontos que mostram a expressão média dos principais módulos da fase de cicatrização entre as células na categoria dias pós-ferimento (DPW, à direita) e na categoria de tipos de células principais (à esquerda). Esses resultados mostram que a aplicação de perfis de expressão gênica baseados em sequenciamento em massa a conjuntos de dados de expressão de célula única de maneira pseudo-massiva é um método poderoso para abordagens comparativas de bioinformática, utilizando conjuntos de dados publicados anteriormente no campo da cicatrização de feridas.

Começando no método #6, o protocolo percorre as etapas para analisar um conjunto de dados de cicatrização de feridas de célula única derivado de Seurat usando o pacote CellChat e o fluxo de trabalho de acordo com uma questão científica específica de comparar células derivadas de feridas de fase inicial em comparação com a fase tardia. O protocolo primeiro subdivide o conjunto de dados Seurat geral em dois pontos de tempo após a lesão, um durante a fase inflamatória (dia 1 (D1)) e outro durante a resolução da ferida (dia 14 (D14)) (etapa 6.1). Dois objetos CellChat são criados e o protocolo passa por todas as funções típicas do protocolo CellChat para calcular todas as interações putativas entre os tipos de célula identificados no método #3 do protocolo (etapas 6.2-6.3). Na etapa 6.4, a função de gráfico de dispersão de sinalização é executada para visualizar as forças de interação de entrada e saída em todos os principais tipos de células em cada ponto de tempo de cicatrização de feridas. Os resultados representativos desta etapa (Figura suplementar 14) são gráficos de dispersão que mostram os pontos fortes das interações de entrada (eixo y) e saída (eixo x) para os principais tipos de células nos pontos de tempo D1 (esquerda) e D14 (direita). Esses resultados mostraram que as células imunes, como neutrófilos e macrófagos, tiveram maiores forças de interação célula-célula durante a fase inflamatória, mas os fibroblastos dominaram as interações célula-célula durante a resolução da ferida, o que confirma décadas de pesquisa em cicatrização de feridas. As etapas a seguir concentram a análise em uma das vias significativamente enriquecidas, a via do colágeno (etapas 6.5-6.6). Na etapa 6.7, a função de diagrama de círculo é executada para visualizar as interações da via de sinalização do colágeno entre os tipos de células nos dois pontos de tempo. Os resultados representativos desta etapa (Figura suplementar 15) são gráficos circulares que mostram as interações de sinalização da via do colágeno inferida entre todos os tipos de células em D1 (esquerda) e D14 (direita). Na etapa 6.8, as mesmas interações são visualizadas usando a função de diagrama de acordes, com os resultados representativos (Figura suplementar 16) sendo diagramas de acordes mostrando as interações de sinalização da via do colágeno inferida entre todos os tipos de células em cada ponto de tempo. Como esperado, esses resultados mostraram que os fibroblastos foram as principais células de origem da via de sinalização do colágeno, embora o fluxo de informações tenha sido mais restrito às células imunes em D1 em comparação com D14. Para focar no fibroblasto como uma célula fonte nas interações célula-célula, a etapa 6.9 repete a função do diagrama de acordes adicionando um parâmetro de célula fonte e os resultados representativos (Figura Suplementar 17) são diagramas de cordas que mostram as interações de sinalização da via do colágeno inferida com fibroblastos como células de origem em cada ponto de tempo. Na Etapa 6.10, duas funções são executadas para visualizar as contribuições de cada par ligante-receptor na via de sinalização do colágeno com fibroblastos como células de origem, uma usando gráficos de bolhas (etapa 6.10.1) e a outra usando diagramas de acordes (etapa 6.10.2). Os resultados representativos mostram as contribuições inferidas de cada par ligante-receptor na sinalização da via do colágeno com fibroblastos como células-fonte nos pontos de tempo D1 (esquerda) e D14 (direita) usando ambos os gráficos de bolhas (Figura suplementar 18) e diagramas de acordes (Figura suplementar 19). Esses resultados mostraram que em D1 a via do colágeno proveniente de fibroblastos estava restrita a neutrófilos e macrófagos com dominância dos receptores Cd44 e Sdc4, mas em D14 outras células atuaram como receptores por meio de uma variedade de receptores, incluindo integrinas. Para focar na interação ligante-receptor Col1a1-Cd44, que mostrou fortes forças nas interações de fibroblastos, um parâmetro é definido (etapa 6.11) e, em seguida, usado na etapa 6.12 em uma função de diagrama de acordes para visualizar essa interação ligante-receptor específica entre todos os tipos de células, com os resultados representativos (Figura suplementar 20) sendo diagramas de cordas mostrando as interações ligante-receptor Col1a1-Cd44 inferidas entre todos os tipos de células nos pontos de tempo D1 (esquerda) e D14 (direita). Esses resultados mostraram que, enquanto em D1 essa interação é restrita aos fibroblastos como células-fonte, em D14, macrófagos e células musculares lisas também atuam como células-fonte. Em seguida, o protocolo descreve como realizar a análise diferencial do CellChat mesclando primeiro os objetos D1 e D14 do CellChat (etapa 6.13). Na etapa 6.14, a função de comparação de interações é executada para visualizar os números totais e as forças relativas das interações célula-célula entre os dois pontos de tempo de cicatrização de feridas e os resultados representativos (Figura suplementar 21) são os gráficos de barras resultantes que mostram os números totais (esquerda) e as forças (direita) das interações inferidas em células que compreendem feridas D1 e D14, com maior número de interações em D14 em oposição a maiores intensidades relativas de interações em D1. Nas etapas 6.15 e 6.16, duas funções são usadas para visualizar as forças de interação célula-célula diferencial entre cada tipo de célula à medida que a ferida faz a transição do dia 1 para o dia 14 com seus respectivos resultados representativos, sendo a primeira um gráfico de círculo (etapa 6.15, Figura suplementar 22) e o segundo sendo um mapa de calor (etapa 6.16, Figura suplementar 23), onde o aumento das interações em D14 em comparação com D1 mostrado em vermelho e as que são diminuídas mostradas em azul. Como esperado, as interações mediadas por neutrófilos e macrófagos são aumentadas em D1 e as interações mediadas por fibroblastos são aumentadas em D14. Na etapa 6.17, a função de classificação é usada para criar um gráfico que classifica as contribuições relativas de vias individuais para interações célula-célula com fibroblastos como células de origem em D14 em comparação com D1, e os resultados representativos (Figura suplementar 24) mostram o gráfico de classificação resultante com D1 representado na parte superior em vermelho e D14 na parte inferior em azul, com várias vias sendo representadas exclusivamente em D1 ou D14 e muitas outras mostrando um gradiente de ativação. Finalmente, na etapa 6.18, duas funções de gráfico de bolhas são usadas para mostrar as contribuições relativas de pares ligantes-receptores individuais na via de sinalização do colágeno com fibroblastos como células de origem em D14 em comparação com D1, com os resultados representativos correspondentes (Figura suplementar 25) mostrando pares de sinalização aumentados (esquerda) e diminuídos (direita) em D14 em comparação com D1 nas muitas interações célula-célula no eixo x. Como esperado, os fibroblastos tiveram muito mais interações de pares ligante-receptor de saída em várias células receptoras em feridas D14 em comparação com feridas D1, onde a comunicação foi mais limitada em relação a neutrófilos e macrófagos durante a fase inflamatória.

Começando no método #7, o protocolo percorre as etapas para integrar dois conjuntos de dados de cicatrização de feridas de célula única usando Seurat. O protocolo primeiro descreve as etapas para mesclar dois lotes dos conjuntos de dados de célula única publicados e aplicar o fluxo de trabalho Seurat padrão ao conjunto de dados mesclado (etapas 7.1 a 7.4). Na etapa 7.5, a função de plotagem dimensional é usada para visualizar o gráfico UMAP de acordo com os números de cluster e lote do conjunto de dados de cicatrização de feridas mesclado, mas ainda não integrado. Os resultados representativos desta etapa (Figura Suplementar 26) são gráficos UMAP que visualizam a distribuição de clusters Seurat (esquerda) e números de lote (direita), mostrando que não parece haver efeitos de lote significativos para esses dois conjuntos de dados antes da integração de dados. Em seguida, o protocolo executa a integração de dados usando o método RPCA e o fluxo de trabalho Seurat de acompanhamento do conjunto de dados integrado (etapas 7.7-7.8). Na etapa 7.9, a função de plotagem dimensional é usada para visualizar o gráfico UMAP de acordo com os números de cluster e lote do conjunto de dados integrado de cicatrização de feridas. Os resultados representativos desta etapa (Figura Suplementar 27) são gráficos UMAP que visualizam a distribuição de clusters Seurat (esquerda) e números de lote (direita), mostrando que agora havia uma sobreposição ainda maior entre os dois lotes em diferentes clusters. Os resultados também mostram o surgimento de um cluster adicional após a integração dos dados, o que pode apontar para o aumento da capacidade de identificar subtipos de células potencialmente significativos após o controle dos efeitos técnicos dos lotes de dados.

figure-results-1
Figura 1: Gráfico UMAP mostrando todas as células no conjunto de dados agrupadas em torno de 8 grupos principais de clusters codificados por cores. Resultados obtidos de um computador com Windows (esquerda) e MacOS (direita). Este número corresponde ao passo 3.5. Clique aqui para ver uma versão maior desta figura.

figure-results-2
Figura 2: Gráfico UMAP mostrando todas as células no conjunto de dados espalhadas de acordo com sua origem de tempo/espaço, sem agrupamento aparente de acordo com a anotação de tempo/espaço. Esta figura corresponde ao passo 3.6. Clique aqui para ver uma versão maior desta figura.

figure-results-3
Figura 3: Capturas de tela cortadas das saídas do EnrichR, mostrando os principais tipos de células enriquecidas para cada cluster de células. Este número corresponde ao passo 3.13. Clique aqui para ver uma versão maior desta figura.

figure-results-4
Figura 4: Gráfico UMAP mostrando todas as células no conjunto de dados agrupadas em torno dos principais tipos de células codificadas por cores. Este número corresponde ao passo 3.15. Clique aqui para ver uma versão maior desta figura.

figure-results-5
Figura 5: Grade de gráficos UMAP mostrando a alta expressão dos principais genes marcadores de células nos principais grupos de tipos de células. Este número corresponde ao passo 3.16. Clique aqui para ver uma versão maior desta figura.

figure-results-6
Figura 6: Gráficos de pontos confirmando o alto nível de expressão dos principais genes marcadores celulares apenas em seus respectivos tipos de células principais. Este valor corresponde ao passo 3.18. Clique aqui para ver uma versão maior desta figura.

figure-results-7
Figura 7: Gráfico de proporções mostrando os números relativos dos principais tipos de células em cada categoria DPW. Este número corresponde ao passo 3.23. Clique aqui para ver uma versão maior desta figura.

figure-results-8
Figura 8: Gráfico UMAP mostrando fibroblastos no conjunto de dados agrupados em torno dos 3 subtipos de células codificadas por cores. Este número corresponde ao passo 4.5. Clique aqui para ver uma versão maior desta figura.

figure-results-9
Figura 9: Gráficos de pontos confirmando a alta expressão de marcadores de subtipo de fibroblastos apenas em suas respectivas categorias de agrupamento, mas distribuídos de forma justa nas categorias DPW. Este número corresponde ao passo 4.10. Clique aqui para ver uma versão maior desta figura.

figure-results-10
Figura 10: Gráficos de pontos mostrando a expressão média dos principais módulos da fase de cicatrização entre as células por DPW e por principais tipos de células. Esta figura corresponde ao passo 5.4. Clique aqui para ver uma versão maior desta figura.

Figura suplementar 1: Resultados mostrando que há uma distribuição bastante uniforme de genes detectados para cada código de barras, o que é importante para a integridade do conjunto de dados e análise a jusante dos pontos de tempo de cicatrização de feridas. Este valor corresponde ao passo 2.6.11. Clique aqui para baixar esta figura.

Figura suplementar 2: Gráficos de dispersão mostrando que há um número de células com grande conteúdo mitocondrial, que se correlaciona com baixas contagens de RNA --- estas são células mortas ou moribundas. Este número corresponde ao passo 2.10. Clique aqui para baixar esta figura.

Figura 3 suplementar: Gráficos de dispersão mostrando que a distribuição de genes detectados e porcentagem de RNA mitocondrial por célula agora é mais normal, abrindo caminho para análises robustas a jusante. Este número corresponde ao passo 2.12. Clique aqui para baixar esta figura.

Figura suplementar 4: Gráfico de violino mostrando que há um número de células com pontuação dupla relativamente alta e que 0,25 parece ser um corte natural, acima do qual há uma população de prováveis dublês. Este número corresponde ao passo 2.15. Clique aqui para baixar esta figura.

Figura 5 suplementar: Gráfico de cotovelo mostrando que grande parte da maior variação ocorre nas primeiras 13 dimensões. Esta figura corresponde ao passo 3.2. Clique aqui para baixar esta figura.

Figura suplementar 6: Gráfico de pontos confirmando o alto nível de expressão dos principais genes marcadores celulares apenas em seus respectivos clusters Seurat. Este valor corresponde ao passo 3.17. Clique aqui para baixar esta figura.

Figura suplementar 7: Gráfico UMAP mostrando a localização das anotações de curso de tempo da ferida em todo o conjunto de dados de cicatrização de feridas. Este número corresponde ao passo 3.20. Clique aqui para baixar esta figura.

Figura suplementar 8: Gráfico de proporção mostrando o número relativo de células DPW em cada categoria de tipo de célula principal. Este número corresponde ao passo 3.22. Clique aqui para baixar esta figura.

Figura suplementar 9: Gráfico de cotovelo mostrando que grande parte da maior variação no conjunto de dados de fibroblastos ocorre nas primeiras 9 dimensões. Este número corresponde ao passo 4.2. Clique aqui para baixar esta figura.

Figura suplementar 10: Gráfico UMAP mostrando fibroblastos no conjunto de dados distribuídos de acordo com sua anotação DPW. Este número corresponde ao passo 4.6. Clique aqui para baixar esta figura.

Figura suplementar 11: Gráfico de pontos confirmando a alta expressão de marcadores de subtipo de fibroblastos principalmente no aglomerado de fibroblastos original. Este valor corresponde ao passo 4.11. Clique aqui para baixar esta figura.

Figura 12 suplementar: Gráfico de proporção mostrando o número relativo de subtipos de fibroblastos em cada categoria DPW. Este número corresponde ao passo 4.12. Clique aqui para baixar esta figura.

Figura suplementar 13: Gráfico de proporção mostrando o número relativo de fibroblastos em DPW em cada categoria de subtipo de fibroblasto. Este número corresponde ao passo 4.13. Clique aqui para baixar esta figura.

Figura suplementar 14: Gráficos de dispersão mostrando as intensidades das interações de entrada (eixo y) e saída (eixo x) para os principais tipos de células nos pontos de tempo do dia 1 (D1, esquerda) e dia 14 (D14, direita). Este número corresponde ao passo 6.4. Clique aqui para baixar esta figura.

Figura suplementar 15: Gráficos circulares mostrando as interações de sinalização da via do colágeno inferida entre todos os tipos de células em cada categoria DPW. Este número corresponde ao passo 6.7. Clique aqui para baixar esta figura.

Figura suplementar 16: Diagramas de cordas mostrando as interações de sinalização da via de colágeno inferida entre todos os tipos de células em cada categoria DPW. Este número corresponde ao passo 6.8. Clique aqui para baixar esta figura.

Figura suplementar 17: Diagramas de acordes mostrando as interações de sinalização da via do colágeno inferida com fibroblastos como células de origem em cada categoria DPW. Este número corresponde ao passo 6.9. Clique aqui para baixar esta figura.

Figura suplementar 18: Gráficos de bolhas mostrando as contribuições inferidas de cada par ligante-receptor na sinalização da via de colágeno com fibroblastos como células de origem em cada categoria de DPW. Esta figura corresponde ao passo 6.10.1. Clique aqui para baixar esta figura.

Figura suplementar 19: Diagramas de acordes mostrando as contribuições inferidas de cada par ligante-receptor na sinalização da via do colágeno com fibroblastos como células fonte em cada categoria DPW. Este número corresponde ao passo 6.10.2. Clique aqui para baixar esta figura.

Figura suplementar 20: Diagramas de cordas mostrando as interações ligante-receptor Col1a1-Cd44 inferidas entre todos os tipos de células em cada categoria DPW. Este número corresponde ao passo 6.12. Clique aqui para baixar esta figura.

Figura suplementar 21: Gráficos de barras mostrando o número (esquerda) e a força (direita) das interações inferidas nas feridas do dia 1 e do dia 14. Este número corresponde ao passo 6.14. Clique aqui para baixar esta figura.

Figura suplementar 22: Gráfico de círculo mostrando as forças de interação célula-célula diferencial entre cada tipo de célula à medida que a ferida faz a transição do dia 1 (azul) para o dia 14 (vermelho) DPW. Este número corresponde ao passo 6.15. Clique aqui para baixar esta figura.

Figura suplementar 23: Mapa de calor mostrando as forças diferenciais de interação célula-célula entre cada tipo de célula à medida que a ferida faz a transição do dia 1 (azul) para o dia 14 (vermelho) DPW. Este número corresponde ao passo 6.16. Clique aqui para baixar esta figura.

Figura suplementar 24: Gráfico de classificação mostrando as contribuições relativas de vias individuais para interações célula-célula entre fibroblastos e outros tipos de células no dia 1 vs dia 14 DPW. Este valor corresponde ao passo 6.17. Clique aqui para baixar esta figura.

Figura suplementar 25: Gráficos de bolhas mostrando as contribuições relativas de pares individuais de ligante-receptor na via de sinalização do colágeno com fibroblastos como células-fonte no dia 1 vs dia 14 DPW. Este número corresponde ao passo 6.18. Clique aqui para baixar esta figura.

Figura suplementar 26: Gráficos UMAP mostrando a distribuição de clusters Seurat (esquerda) e números de lote (direita) antes da integração de dados. Este número corresponde ao passo 7.5. Clique aqui para baixar esta figura.

Figura suplementar 27: Gráficos UMAP mostrando a distribuição de clusters Seurat (esquerda) e números de lote (direita) após a integração de dados. Este número corresponde ao passo 7.9. Clique aqui para baixar esta figura.

Arquivo Suplementar 1: JoVE_Rscript.R: Arquivo de script de código R principal, que inclui todas as etapas e explicações descritas para todas as partes do protocolo. Clique aqui para baixar este arquivo.

Arquivo Suplementar 2: JoVE_PhaseSpecificGenes.txt. Arquivo de texto delimitado por tabulação, que contém as listas de genes que são carregados na etapa 5.1 do protocolo. Clique aqui para baixar este arquivo.

Arquivo Suplementar 3: JoVE_Rscript_b3.R. Arquivo de script de código R suplementar, que inclui todas as etapas e explicações necessárias para analisar o lote #3 do conjunto de dados para uso na etapa 7.1 do protocolo. Clique aqui para baixar este arquivo.

Tabela Suplementar 1: JoVE_DEGs_cellMarkers.xlsx. Arquivo Excel, que contém a saída completa de genes diferencialmente expressos classificados usados na etapa 3.10 do protocolo. Clique aqui para baixar esta tabela.

Tabela suplementar 2: Os 5 principais genes regulados e expressos para cada cluster de seurat. Clique aqui para baixar esta tabela.

Discussion

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

Nesse protocolo, o RStudio é usado para executar linhas de código prescritas que permitem uma análise básica de um conjunto de dados complexo de célula única usando o Seurat. São apresentados vários métodos relevantes para a pesquisa de cicatrização de feridas, incluindo a instalação do ambiente de codificação R, o download de um conjunto de dados de cicatrização de feridas de célula única publicado anteriormente, a execução de etapas críticas de controle de qualidade e fluxos de trabalho de análise de célula única padrão, incluindo visualizações, anotações de tipo de célula principal, análises de subtipo de célula e análises integrativas usando Seurat e realizando análises de interação célula-célula usando CellChat.

Os métodos apresentados aqui são vinhetas simplificadas de fluxos de trabalho típicos para análise de célula única usando R e seus populares pacotes científicos de código aberto, Seurat21 e CellChat22. De fato, o fluxo de trabalho é apenas um exemplo do tipo de análise que se pode realizar com um conjunto de dados complexo de cicatrização de feridas de célula única. As possíveis modificações a este método são quase infinitas, com a única restrição sendo a investigação científica particular do usuário. Por exemplo, o usuário pode alterar alguns dos principais parâmetros, como tipos de células e pontos de tempo, de acordo com as perguntas de pesquisa que deseja fazer a esse conjunto de dados. Os autores também esperam que o usuário se sinta confortável o suficiente para adaptar esse fluxo de trabalho ao seu próprio conjunto de dados de célula única de interesse; No entanto, deve-se ter cuidado ao usar esse fluxo de trabalho para analisar outros conjuntos de dados, pois cada experimento pode propagar problemas técnicos e de preparação de amostras para os próprios dados. Portanto, é imperativo que o usuário leia e entenda todos os detalhes experimentais antes de interpretar os resultados de quaisquer conjuntos de dados de célula única publicados e reanalisados anteriormente. É importante lembrar que as ferramentas de bioinformática são um método poderoso para a exploração de processos biológicos e geração de hipóteses, e que quaisquer interpretações biológicas críticas dos resultados devem ser validadas em experimentos de acompanhamento.

Ao longo do protocolo, observe que grandes modificações podem ser feitas em áreas específicas do fluxo de trabalho para realizar outras tarefas. No entanto, os detalhes de todas as combinações possíveis de modificações no fluxo de trabalho estão além do escopo deste manuscrito. Por exemplo, a resolução usada para agrupamento de células e as dimensões usadas para análise UMAP são necessariamente subjetivas, e as ferramentas apresentadas aqui permitem análises em larga escala (como foi demonstrado aqui para os principais tipos de células amplamente definidos) e análises muito específicas que podem envolver o subagrupamento de células em subpopulações mais raras dentro do conjunto de dados maior. Para obter mais informações sobre esse aspecto do método de análise de célula única e para obter detalhes sobre todos os outros parâmetros que podem ser alterados no pipeline de análise de célula única, os autores encaminham o usuário para as publicações Seurat21,26 e o site (https://satijalab.org/seurat/), onde os autores dessa ferramenta em evolução fornecem explicações, vinhetas e tutoriais detalhados.

Este manuscrito apresentou algumas das ferramentas mais citadas e utilizadas na literatura transcriptômica de célula única, a saber, Seurat21 e CellChat22, para análises de interação célula única e célula-célula, respectivamente. No entanto, existem outras ferramentas que executam funções semelhantes de maneiras ligeiramente diferentes. Para análise de conjunto de dados de célula única, existem Scran27, Scater 28 e ScanPy29 baseado em Python, que usam vários métodos para integração de conjuntos de dados25. Neste protocolo, foi demonstrada a anotação manual de tipos de células, que depende do julgamento do usuário para interpretar os enriquecimentos de marcadores de células cluster, mas agora existem várias ferramentas que permitem a classificação automatizada de tipos de células, como SingleR30 e scGate31, entre outras. Para análises de comunicação célula-célula, o CellChat foi demonstrado neste protocolo, mas existem outras ferramentas para estimar as comunicações célula-célula, incluindo CellPhoneDB32, Cytotalk33 e outros bancos de dados ligante-receptor que são implementados dentro da estrutura de consenso LIANA (LIgand-receptor ANalysis framework)34. Todas as ferramentas de bioinformática são únicas e vêm com suas próprias peculiaridades e parâmetros modificáveis. Portanto, é importante que o usuário leia atentamente a documentação associada a cada ferramenta para entender suas nuances antes de interpretar qualquer saída gerada a partir de seu uso. Finalmente, quaisquer que sejam as ferramentas de bioinformática usadas, é fundamental lembrar que essas ferramentas estão em constante evolução e que diferentes versões dos pacotes podem produzir resultados diferentes.

Em R, a sintaxe é crítica e uma pontuação mal colocada, aspas, colchetes ou até mesmo uma letra maiúscula incorreta resultará em um erro. Portanto, é vital que o usuário preste atenção aos detalhes ao digitar o código e esteja especialmente atento ao copiar linhas de código para adaptá-lo a novas questões científicas e conjuntos de dados. Para solucionar os erros específicos que podem ser encontrados, os autores recomendam simplesmente copiar e colar a mensagem de erro no mecanismo de pesquisa da web favorito do usuário e navegar pelos resultados de fóruns de bioinformática, como GitHub e Stack Overflow, pois os erros mais comumente encontrados provavelmente já foram respondidos por um usuário avançado experiente. Em alguns fóruns, as respostas mais bem-sucedidas são 'votadas' por outros usuários que acharam a solução melhor para o problema. O usuário deve ter cuidado para não simplesmente copiar e colar linhas de código encontradas na Internet em seu próprio computador (especialmente se uma solução exigir a alteração das configurações do sistema fora da linguagem de programação R), pois há uma chance de que tais programas possam ser maliciosos. Um método emergente empolgante de solução de erros de codificação é usar os poderosos modelos generativos de IA de linguagem grande, como o ChatGPT da OpenAI, o Copilot da Microsoft ou o Gemini do Google. Esses modelos provaram ser especialmente úteis para engenharia de software em geral e solução de problemas em particular. Para isso, o usuário pode copiar e colar linhas inteiras de seu código após fornecer um simples prompt ao chatbot sobre a intenção do usuário para o código. A ressalva usual existe de que esses modelos não são infalíveis e o usuário pode ter que tentar vários prompts para gerar uma resposta apropriada para resolver o problema.

Disclosures

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

Os autores não têm conflitos de interesse a divulgar.

Acknowledgements

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

O laboratório de MS Wietecha recebeu financiamento da bolsa NIH/NIGMS R35-GM154921, da Bolsa de Pesquisa da Sociedade de Cicatrização de Feridas e do Departamento de Biologia Oral da Faculdade de Odontologia da UIC.

Materials

List of materials used in this article
NameCompanyCatalog NumberComments
Laptop ou computador de mesaN/AN/AExecutando Windows ou MacOS 
RN/AVersão 4.4.1Grátis para baixar em https://cran.rstudio.com/
EstúdioPosit Software, PBCVersão 2024.09.0Grátis para baixar do https://posit.co/download/rstudio-desktop/
Escritório ExcelMicrosoftQualquer versãoPara análise de dados de tabela
Navegador de InternetN/AN/APara navegar em sites
< pacotes strong>RRepositórioVersão
Ferramentas de desenvolvimentoCRAN2.4.5
readxlCRAN1.4.3
openxlsxCRAN4.2.7.1
arrumadoCRAN2.0.0
scPersonalizarCRAN2.1.2
BiocManagerBiocondutor1.30.25
NMFBiocondutor0.28
Mapa de calor complexoBiocondutor2.20.0
BiocVizinhosBiocondutor1.22.0
Experimento de célula únicaBiocondutor1.26.0
circliseBiocondutor0.4.16
EdgerBiocondutor4.2.1
scDblFinderBiocondutor1.18.0
SeuratCRAN5.1.0
Bate-papo celularGithub2.1.2

References

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

Reprints and Permissions

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

Request Permission

Tags

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

Related Articles