É necessária uma assinatura da JoVE para visualizar este conteúdo. Faça login ou comece sua avaliação gratuita.
Apresentamos um fluxo de trabalho flexível e extensível baseado em laboratório Jupyter para a análise não supervisionada de conjuntos de dados multiômicos complexos que combina diferentes etapas de pré-processamento, estimativa do modelo de análise fatorial multiômica e várias análises downstream.
Os mecanismos da doença são geralmente complexos e governados pela interação de vários processos moleculares distintos. Conjuntos de dados complexos e multidimensionais são um recurso valioso para gerar mais insights sobre esses processos, mas a análise de tais conjuntos de dados pode ser desafiadora devido à alta dimensionalidade resultante, por exemplo, de diferentes condições de doença, pontos de tempo e ômicas capturando o processo em diferentes resoluções.
Aqui, mostramos uma abordagem para analisar e explorar um conjunto de dados multiômicos tão complexo de maneira não supervisionada, aplicando a análise fatorial multiômica (MOFA) a um conjunto de dados gerado a partir de amostras de sangue que capturam a resposta imune em síndromes coronarianas agudas e crônicas. O conjunto de dados consiste em vários ensaios em diferentes resoluções, incluindo dados de citocinas em nível de amostra, proteômica plasmática e prime-seq de neutrófilos e dados de RNA-seq de célula única (scRNA-seq). Mais complexidade é adicionada por ter vários pontos de tempo diferentes medidos por paciente e vários subgrupos de pacientes.
O fluxo de trabalho de análise descreve como integrar e analisar os dados em várias etapas: (1) Pré-processamento e harmonização de dados, (2) Estimativa do modelo MOFA, (3) Análise downstream. A Etapa 1 descreve como processar os recursos dos diferentes tipos de dados, filtrar recursos de baixa qualidade e normalizá-los para harmonizar suas distribuições para análise posterior. A etapa 2 mostra como aplicar o modelo MOFA e explorar as principais fontes de variação no conjunto de dados em todas as ômicas e recursos. A etapa 3 apresenta várias estratégias para a análise a jusante dos padrões capturados, vinculando-os às condições da doença e aos potenciais processos moleculares que governam essas condições.
No geral, apresentamos um fluxo de trabalho para exploração de dados não supervisionados de conjuntos de dados multiômicos complexos para permitir a identificação dos principais eixos de variação compostos por diferentes características moleculares que também podem ser aplicadas a outros contextos e conjuntos de dados multiômicos (incluindo outros ensaios, conforme apresentado no caso de uso exemplar).
Os mecanismos da doença são geralmente complexos e governados pela interação de vários processos moleculares distintos. Decifrar os complexos mecanismos moleculares que levam a doenças específicas ou governam a evolução de uma doença é uma tarefa com alta relevância médica, pois pode revelar novos insights para a compreensão e o tratamento de doenças.
Avanços tecnológicos recentes permitem medir esses processos em uma resolução mais alta (por exemplo, no nível de uma única célula) e em várias camadas biológicas (por exemplo, DNA, mRNA, acessibilidade da cromatina, metilação do DNA, proteômica) ao mesmo tempo. Isso leva à geração crescente de grandes conjuntos de dados biológicos multidimensionais, que podem ser analisados em conjunto para gerar mais insights sobre os processos subjacentes. Ao mesmo tempo, combinar e analisar as diferentes fontes de dados de maneira biologicamente significativa continua sendo uma tarefa desafiadora1.
Diferentes limites tecnológicos, ruídos e faixas de variabilidade entre diferentes ômicas representam um desafio. Por exemplo, os dados de sequenciamento de RNA de célula única (scRNA-seq) são muito esparsos e muitas vezes influenciados por grandes efeitos técnicos ou de lote. Além disso, o espaço de recursos costuma ser muito grande, variando entre vários milhares de genes ou proteínas medidos, enquanto os tamanhos das amostras são limitados. Isso é ainda mais complicado por projetos complexos, que podem incluir várias condições de doença, fatores de confusão, pontos de tempo e resoluções. Por exemplo, no caso de uso apresentado, diferentes tipos de dados estavam disponíveis no nível de célula única ou de amostra (em massa). Além disso, os dados podem estar incompletos e nem todas as medidas podem estar disponíveis para todos os indivíduos analisados.
Devido a esses desafios, diferentes ômicas e características incluídas ainda são frequentemente analisadas apenas separadamente2, embora a realização de uma análise integrada não possa apenas fornecer uma imagem completa do processo, mas os ruídos biológicos e técnicos de uma ômica também possam ser compensados por outras ômicas 3,4. Vários métodos diferentes foram propostos para realizar uma análise integrada de dados multiômicos, incluindo métodos bayesianos, métodos baseados em rede 5,6, aprendizado profundo multimodal7 e métodos de redução de dimensionalidade via fatoração de matriz 8,9. Para este último, os resultados de um grande estudo de benchmarking10 mostraram que o método MOFA9 (análise fatorial multiômica) é uma das ferramentas mais adequadas quando os dados devem ser vinculados a anotações clínicas.
Especialmente em ambientes complexos, os métodos de fatoração de matriz não supervisionada são uma abordagem útil para reduzir a complexidade e extrair sinais compartilhados e complementares de diferentes fontes de dados e recursos. Ao decompor o espaço complexo em representações latentes de classificação inferior, as principais fontes de variação dentro dos dados podem ser rapidamente exploradas e vinculadas a covariáveis conhecidas. Caso o mesmo padrão de variação seja compartilhado entre vários recursos (por exemplo, genes ou proteínas), isso pode ser agregado a alguns fatores enquanto o ruído é reduzido. A regularização pode ser usada para aumentar a dispersão dos coeficientes do modelo, o que torna a abordagem adequada em configurações onde o espaço de recursos é grande enquanto o número de amostras é limitado9.
Este protocolo apresenta um fluxo de trabalho de análise flexível que usa o modelo MOFA para mostrar como explorar rapidamente um conjunto de dados multi-ômicos complexo e destilar os principais padrões de variação que caracterizam esse conjunto de dados. O fluxo de trabalho consiste em três etapas principais. Na primeira etapa, Pré-processamento e harmonização de dados, são apresentadas diferentes estratégias de pré-processamento de dados com base em diferentes tipos de dados de entrada (scRNA-seq, proteômica, citocina, dados clínicos). O protocolo elabora como processar os recursos dos diferentes conjuntos de dados de entrada, filtrar recursos de baixa qualidade e normalizá-los para harmonizar suas distribuições. Também mostramos como essas decisões de pré-processamento podem afetar os resultados downstream. Na segunda etapa, o modelo MOFA é aplicado aos dados, e a decomposição da variância resultante pode ser usada para avaliar a integração dos diferentes conjuntos de dados. A terceira etapa mostra como vincular os fatores capturados às covariáveis e descobrir os programas moleculares que definem esses fatores. Com o fluxo de trabalho apresentado, fomos capazes de extrair vários fatores latentes ligados a covariáveis clínicas em um conjunto de dados de pacientes que sofrem de síndromes coronarianas e identificar potenciais programas imunológicos multicelulares subjacentes de um projeto anterior11. Usaremos esse conjunto de dados aqui, mas o protocolo pode ser facilmente aplicado a outros contextos, incluindo outras ômicas.
O conjunto de dados consiste em amostras de pacientes com síndromes coronarianas crônicas estáveis (SCC), síndromes coronarianas agudas (SCA) e um grupo controle com coronárias saudáveis (não CCS) (Figura 1). A SCA é causada pela ruptura da placa na CCS preexistente, levando a uma interrupção aguda do fluxo sanguíneo para o miocárdio e uma subsequente lesão isquêmica do coração. Essa lesão provoca uma resposta inflamatória do sistema imunológico seguida de uma fase reparadora, que dura até vários dias após o evento agudo12. Para poder caracterizar essa resposta imune para pacientes com SCA, amostras de sangue foram coletadas em quatro momentos diferentes: aguda (TP1); após a recanalização (14 [± 8] h) (TP2); 60 [± 12] h mais tarde (TP3); antes da alta (6,5 [±1,5] dias) (TP4) (Figura 1A). Para CCS e pacientes com coronárias saudáveis, apenas um ponto de tempo estava disponível- (TP0). Para todos os pacientes e pontos de tempo diferentes ensaios baseados nas amostras de sangue foram medidos: marcadores clínicos de inflamação (creatina-quinase (CK), CK-MB, Troponina, proteína C reativa (PCR)), scRNA-seq de células mononucleares do sangue periférico (PBMCs), análise de citocinas, proteômica plasmática e dados prime-seq13 de neutrófilos.
Figura 1: Conjunto de dados de entrada multiômica de infarto do miocárdio. Conjunto de dados de entrada: Os dados analisados incluem amostras de sangue de pacientes (n = 62) com síndrome coronariana aguda (SCA), síndromes coronarianas crônicas (SCC) e pacientes com coronárias saudáveis (não CCS). Para pacientes com SCA, amostras de sangue foram incluídas em quatro momentos diferentes (TP1-4), para pacientes com CCS e não CCS em um único momento (TP0). Cada combinação de paciente e ponto de tempo é tratada como uma amostra separada na análise. Diferentes ensaios ômicos foram medidos nas amostras: exames clínicos de sangue (n = 125), scRNA-seq (n = 121), plasma-proteômica (n = 119), ensaio de citocinas (n = 127) e neutrófilo prime-seq (n = 121). Posteriormente, o protocolo descrito foi aplicado para integrar os dados em todas as ômicas e explorá-los usando o modelo MOFA e posterior análise a jusante (análise fatorial, enriquecimento de via). Clique aqui para ver uma versão maior desta figura.
Como entrada para o fluxo de trabalho, conforme apresentado aqui, pegamos contagens brutas de dados scRNA-seq após o processamento com cellranger e controle de qualidade (QC), como, por exemplo, descrito no tutorial de pré-processamento scanpy14 . Para anotação do tipo de célula, usamos o pipeline automatizado Azimute15 . As contagens são então agregadas no nível da amostra para cada tipo de célula, tomando a média em todas as células para cada amostra e tipo de célula (agregação pseudobulk). A proteômica plasmática é incluída como intensidades normalizadas e centradas na mediana e, para neutrófilos, tomamos as contagens de éxons do identificador molecular único (UMI) do prime-seq. Sobre citocinas e valores clínicos, nenhum pré-processamento prévio foi aplicado. Mais detalhes sobre a geração de dados (experimentais) estão descritos no manuscrito correspondente11. Como os resultados apresentados aqui são baseados no uso da anotação automatizada de azimute para tipos de células nos dados scRNA-seq em comparação com a estratégia baseada em marcadores que foi usada na publicação referenciada, os resultados apresentados aqui são semelhantes, mas não exatamente os mesmos apresentados na publicação. No manuscrito, pode-se mostrar que a estratégia de anotação do tipo de célula não altera os principais padrões e interpretações biológicas da análise, mas pequenas mudanças nos valores exatos resultantes do modelo podem variar. No geral, os dados de entrada eram um conjunto de dados multidimensional complexo, incluindo diferentes pontos de tempo e níveis de medição (células únicas vs. bulk) de mais de 10.000 características diferentes (genes, proteínas, valores clínicos). Uma estratégia rigorosa de pré-processamento e harmonização de dados seguida pela análise MOFA demonstrou ser uma ferramenta útil e rápida para explorar os dados e extrair o programa imunológico relevante. Cada ponto de tempo e combinação de pacientes é tratado como uma amostra independente na análise MOFA. Cada tipo de dados e tipo de célula é considerado uma exibição separada na análise MOFA.
Este protocolo fornece instruções para preparar os dados de entrada para o fluxo de trabalho, executar as diferentes etapas do fluxo de trabalho, personalizar configurações, interpretar as figuras resultantes e ajustar iterativamente as configurações com base nas interpretações. Uma visão geral das diferentes etapas do protocolo, os conjuntos de dados de entrada necessários em cada etapa e as figuras e conjuntos de dados resultantes é fornecida pela visão geral do fluxo de trabalho técnico (Figura 2).
Figura 2: Visão geral do fluxo de trabalho técnico. Esboço do fluxo de trabalho para a análise do conjunto de dados multiômicos. Os diferentes elementos são destacados por diferentes cores e símbolos. Os Jupyter Notebooks pertencentes à etapa Pré-processamento e harmonização de dados (1) são coloridos em azul. Os Jupyter Notebooks pertencentes à etapa 'Modelo MOFA' (2) são coloridos em laranja. Os Jupyter Notebooks pertencentes à etapa "Análise downstream" (3) são coloridos em verde. Um Jupyter Notebook a ser usado para comparação dos resultados é colorido em amarelo. Os arquivos de configuração em que os parâmetros para a execução do fluxo de trabalho podem ser modificados são destacados em roxo. Os conjuntos de dados de entrada necessários para executar o fluxo de trabalho são indicados pelo símbolo do conjunto de dados e destacados em cinza. Todas as saídas de figura geradas durante a execução do fluxo de trabalho são indicadas pelo símbolo da lupa. Os conjuntos de dados gerados durante a execução do fluxo de trabalho são indicados como tabelas. Em geral, o fluxo de trabalho é executado sequencialmente: (1) O pré-processamento e a harmonização de dados consistem em duas etapas: primeira geração de uma tabela pseudobulk com base nos dados de entrada scRNA-seq (01_Prepare_Pseudobulk) e subsequente integração e normalização desses dados junto com todas as outras entradas (em massa) em nível de amostra (02_Integrate_and_Normalize_Data). Nesta etapa, por meio dos arquivos de configuração, é possível configurar para cada conjunto de dados separadamente quais das etapas de pré-processamento e normalização indicadas (por exemplo, Filtro de Amostra) devem ser aplicadas. (2) «Modelo MOFA»: executa o modelo MOFA na entrada gerada da primeira etapa com as configurações especificadas no ficheiro de configuração (03_MOFA_configs.csv) (3) «Análise a jusante»: consiste em três blocos de anotações diferentes que podem ser executados independentemente uns dos outros para gerar informações sobre os resultados MOFA gerados e associá-los a metadados de amostra (covariáveis) fornecidos como entrada através do ficheiro «Sample Meta Data.csv». (4) «Comparação de modelos»: é uma pequena etapa separada que pode ser utilizada para comparar diferentes modelos gerados na etapa 2. Clique aqui para ver uma versão maior desta figura.
O fluxo de trabalho consiste em vários Jupyter Notebooks escritos em R e Python (o conhecimento da linguagem R e Python não é necessário para executar o fluxo de trabalho, mas pode ser útil caso apareçam erros). Em várias etapas do protocolo, os parâmetros são alterados por meio de arquivos de configuração (arquivos '.csv' contendo o sufixo '_Configs' no nome). Dentro do protocolo, apenas descrevemos os parâmetros que precisam ser alterados a partir da configuração padrão.
Vários outros parâmetros também podem ser alterados, por exemplo, para personalizar o pré-processamento. Uma documentação desses parâmetros e explicações é fornecida no arquivo 'Documentation_Config_Parameter', que está incluído no repositório baixado.
1. Preparativos: Configuração técnica e instalação
NOTA: Para executar este programa, tenha wget, git e Apptainer pré-instalados no dispositivo. Um guia para instalar o Apptainer em diferentes sistemas (Linux, Windows, Mac) é fornecido aqui: https://apptainer.org/docs/admin/main/installation.html. As informações de instalação no git podem ser encontradas aqui: https://git-scm.com/book/en/v2/Getting-Started-Installing-Git. Dependendo do tamanho dos diferentes conjuntos de dados de entrada, é recomendável executar o fluxo de trabalho em um computador adequado (16 CPUs, 64 GB de memória). Um teste de fumaça com os dados de exemplo fornecidos pode ser executado na máquina local. As instruções e as saídas esperadas da execução do protocolo nos dados de exemplo são fornecidas no Arquivo Suplementar 1. Consulte o Arquivo de Vídeo Suplementar 1 para obter as etapas importantes do protocolo que são executadas no conjunto de dados descrito acima.
2. Inicialização e preparação de dados
Figura 3: Entrada e configuração de dados. Para a execução do fluxo de trabalho, todos os dados precisam ser armazenados em uma pasta input_data especificada. Para cada conjunto de dados de entrada, um arquivo separado deve ser fornecido. Os dados de célula única devem ser fornecidos como .h5ad contendo anotação de célula no cluster_id (resultante, por exemplo, de etapas anteriores de anotação de tipo de célula) e uma coluna sample_id (identificando exclusivamente cada amostra separada que deve ser analisada). Todos os outros conjuntos de dados de entrada devem ser apresentados no formato «.csv», incluindo uma coluna que especifica o sample_id (correspondente à coluna correspondente dos dados unicelulares) e as características a utilizar na análise MOFA em todas as outras colunas. Clique aqui para ver uma versão maior desta figura.
Figura 4: Arquivos de configuração do Jupyter-lab. Durante a execução do fluxo de trabalho, as alterações nos parâmetros (por exemplo, ajuste das opções de filtragem, etc.) são especificadas por meio de arquivos de configuração '.csv'. No repositório clonado, os arquivos de configuração padrão para cada etapa são incluídos. Eles podem ser editados diretamente no console do jupyter-lab, da mesma forma que em uma planilha. Clique aqui para ver uma versão maior desta figura.
Figura 5: scripts Jupyter-notebooks. O fluxo de trabalho completo consiste em uma série de blocos de anotações Jupyter que serão executados sequencialmente após a modificação dos arquivos de configuração correspondentes. Ao clicar duas vezes no bloco de anotações Jupyter no lado esquerdo, o arquivo correspondente será aberto no lado direito. A execução completa do arquivo pode ser iniciada com o botão destacado na parte superior. Clique aqui para ver uma versão maior desta figura.
3. Pré-processamento e harmonização de dados
Figura 6: Pré-processamento e harmonização de dados. Uma saída da etapa '01_Prepare_Pseudobulk' é o gráfico 'Fig01_Amount_of_Cells_Overview'. Aqui, para cada cluster_id (eixo y indicando o tipo de célula das etapas anteriores de anotação do tipo de célula), o número de células por amostra ('sample_id') é fornecido. Dentro dos resultados apresentados, os tipos de células com baixa quantidade de células por amostra são excluídos da análise subsequente (indicada pelo tachado). Clique aqui para ver uma versão maior desta figura.
4. Executando o MOFA
5. Análise a jusante
6. Comparação de diferentes configurações e versões (Figura Suplementar 1, Figura Suplementar 2, Figura Suplementar 3, Figura Suplementar 4)
7. Estendendo o fluxo de trabalho: Adicionando outros parâmetros e configurações
NOTA: Além dos parâmetros que atualmente podem ser configurados nos arquivos de configuração, outros ajustes no código ou outros parâmetros podem ser incluídos. Por exemplo, o próprio modelo MOFA oferece vários outros parâmetros de treinamento17 que podem ser modificados diretamente no código ou ajustáveis por meio dos arquivos de configuração. A próxima seção do protocolo descreverá um exemplo de como fazer isso para parâmetros adicionais de treinamento do modelo MOFA. Para esta parte, é necessário conhecimento de programação em R.
Após a execução bem-sucedida do fluxo de trabalho, várias tabelas e figuras são geradas, conforme indicado na Figura 2. As figuras são colocadas na pasta /figures (Figura 6, Figura 7, Figura 8, Figura Suplementar 1, Figura Suplementar 2, Figura Suplementar 3, Figura Suplementar 4)...
Com o protocolo descrito, é apresentado um fluxo de trabalho modular e extensível baseado em Jupyter-notebook que pode ser usado para explorar rapidamente um conjunto de dados multi-ômicos complexo. As principais partes do fluxo de trabalho consistem na parte de pré-processamento e harmonização de dados (oferecendo diferentes etapas padrão para filtragem e normalização dos dados), estimativa do modelo MOFA9 e algumas análises exemplares a jusante. Uma da...
Os autores declaram não haver conflito de interesses.
C.L. é apoiado pela Associação Helmholtz sob a escola de pesquisa conjunta "Munich School for Data Science - MUDS".
Name | Company | Catalog Number | Comments |
Apptainer | NA | NA | https://apptainer.org/docs/admin/main/installation.html |
Compute server or workstation or cloud (Linux, Mac or Windows environment). Depending on the size of the different input datasets we recommend running the workflow on a suitable machine (in our setting we use: 16 CPU, 64GB Memory) | Any manufacturer | 16 CPU, 64GB Memory | Large Memory is only required for the processing of the raw single cell data. After preprocessing the later analysis steps can also be performed on regular desktop or laptop computers |
git | NA | NA | https://git-scm.com/book/en/v2/Getting-Started-Installing-Git |
GitHub | GitHub | NA | https://github.com/heiniglab/mofa_workflow |
Solicitar permissão para reutilizar o texto ou figuras deste artigo JoVE
Solicitar PermissãoExplore Mais Artigos
This article has been published
Video Coming Soon
Copyright © 2025 MyJoVE Corporation. Todos os direitos reservados