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.