I meccanismi della malattia sono solitamente complessi e governati dall'interazione di diversi processi molecolari distinti. Decifrare i complessi meccanismi molecolari che portano a malattie specifiche o governano l'evoluzione di una malattia è un compito di grande rilevanza medica in quanto potrebbe rivelare nuove intuizioni per la comprensione e il trattamento delle malattie.
I recenti progressi tecnologici consentono di misurare questi processi a una risoluzione più elevata (ad esempio, a livello di singola cellula) e a vari strati biologici (ad esempio, DNA, mRNA, accessibilità della cromatina, metilazione del DNA, proteomica) allo stesso tempo. Ciò porta alla crescente generazione di grandi set di dati biologici multidimensionali, che possono essere analizzati congiuntamente per generare maggiori informazioni sui processi sottostanti. Allo stesso tempo, combinare e analizzare le diverse fonti di dati in modo biologicamente significativo rimane un compito impegnativo1.
I diversi limiti tecnologici, i rumori e le gamme di variabilità tra le diverse omiche rappresentano una sfida. Ad esempio, i dati di sequenziamento dell'RNA a singola cellula (scRNA-seq) sono molto scarsi e spesso influenzati da grandi effetti tecnici o batch. Inoltre, lo spazio delle caratteristiche è spesso molto ampio, e varia da diverse migliaia di geni o proteine misurati, mentre le dimensioni del campione sono limitate. Ciò è ulteriormente complicato da disegni complessi, che potrebbero includere diverse condizioni patologiche, fattori confondenti, punti temporali e risoluzioni. Ad esempio, nel caso d'uso presentato, erano disponibili diversi tipi di dati a livello di singola cella o di campione (bulk). Oltre a ciò, i dati potrebbero essere incompleti e non tutte le misurazioni potrebbero essere disponibili per tutti i soggetti analizzati.
A causa di queste sfide, le diverse omiche e le caratteristiche incluse vengono spesso analizzate solo separatamente2 anche se l'esecuzione di un'analisi integrata non solo non può fornire un quadro completo del processo, ma i rumori biologici e tecnici di un'omica potrebbero anche essere compensati da altre omiche 3,4. Sono stati proposti diversi metodi per eseguire un'analisi integrata di dati multi-omici, inclusi metodi bayesiani, metodi basati su reti 5,6, deep learning multimodale7 e metodi di riduzione della dimensionalità tramite fattorizzazione matriciale 8,9. Per quest'ultimo, i risultati di un ampio studio di benchmarking10 hanno dimostrato che il metodo MOFA9 (analisi fattoriale multi-omica) è uno degli strumenti più adatti quando i dati devono essere collegati alle annotazioni cliniche.
Soprattutto in contesti complessi, i metodi di fattorizzazione di matrici non supervisionati sono un approccio utile per ridurre la complessità ed estrarre segnali condivisi e complementari da diverse fonti di dati e caratteristiche. Scomponendo lo spazio complesso in rappresentazioni latenti di rango inferiore, le principali fonti di varianza all'interno dei dati possono essere rapidamente esplorate e collegate a covariate note. Nel caso in cui lo stesso modello di variazione sia condiviso tra più caratteristiche (ad esempio, geni o proteine), questo può essere aggregato a pochi fattori mentre il rumore è ridotto. La regolarizzazione può essere utilizzata per aumentare la sparsità dei coefficienti del modello, il che rende l'approccio adatto in ambienti in cui lo spazio delle caratteristiche è ampio mentre il numero di campioni è limitatoa 9.
Questo protocollo presenta un flusso di lavoro di analisi flessibile che utilizza il modello MOFA per mostrare come esplorare rapidamente un complesso set di dati multi-omici e distillare i principali modelli di variazione che caratterizzano questo set di dati. Il flusso di lavoro è costituito da tre passaggi principali. Nella prima fase, la pre-elaborazione e l'armonizzazione dei dati, vengono presentate diverse strategie per la pre-elaborazione dei dati basate su diversi tipi di dati di input (scRNA-seq, proteomica, citochine, dati clinici). Il protocollo elabora il modo in cui elaborare le caratteristiche dei diversi set di dati di input, filtrare le funzionalità di bassa qualità e normalizzarle per armonizzare le loro distribuzioni. Mostriamo anche come queste decisioni di pre-elaborazione potrebbero influenzare i risultati a valle. Nella seconda fase, il modello MOFA viene applicato ai dati e la scomposizione della varianza risultante può essere utilizzata per valutare l'integrazione dei diversi set di dati. Il terzo passo mostra come collegare i fattori catturati alle covariate e scoprire i programmi molecolari che definiscono tali fattori. Con il flusso di lavoro presentato, siamo stati in grado di estrarre diversi fattori latenti legati alle covariate cliniche in un set di dati di pazienti affetti da sindromi coronariche e di identificare potenziali programmi immunitari multicellulari sottostanti da un precedente progetto11. Utilizzeremo questo set di dati qui, ma il protocollo può essere facilmente applicato ad altri contesti, comprese altre omici.
Il set di dati è costituito da campioni di pazienti con sindromi coronariche croniche stabili (CCS), sindromi coronariche acute (ACS) e un gruppo di controllo con coronarie sane (non CCS) (Figura 1). La SCA è causata dalla rottura della placca in CCS preesistente, che porta a un'interruzione acuta del flusso sanguigno al miocardio e a una conseguente lesione ischemica del cuore. Questa lesione provoca una risposta infiammatoria da parte del sistema immunitario seguita da una fase riparativa, che dura fino a diversi giorni dopo l'evento acuto12. Per essere in grado di caratterizzare questa risposta immunitaria per i pazienti con SCA, sono stati prelevati campioni di sangue in quattro diversi punti temporali: acuta (TP1); dopo ricanalizzazione (14 [± 8] h) (TP2); 60 [± 12] h dopo (TP3); prima della dimissione (6,5 [±1,5] giorni) (TP4) (Figura 1A). Per la CCS e i pazienti con coronarie sane, era disponibile un solo punto temporale- (TP0). Per tutti i pazienti e i punti temporali sono stati misurati diversi saggi basati sui campioni di sangue: marcatori clinici di infiammazione (Creatina-chinasi (CK), CK-MB, Tropolina, proteina C-reattiva (CRP)), scRNA-seq di cellule mononucleate del sangue periferico (PBMC), analisi delle citochine, proteomica plasmatica e dati prime-seq13 di neutrofili.

Figura 1: Set di dati di input multi-omici sull'infarto del miocardio. Set di dati di input: i dati analizzati includono campioni di sangue di pazienti (n = 62) con sindrome coronarica acuta (SCA), sindromi coronariche croniche (CCS) e pazienti con coronarie sane (non CCS). Per i pazienti con SCA sono stati inclusi campioni di sangue in quattro diversi punti temporali (TP1-4), per i pazienti con CCS e non CCS in un unico punto temporale (TP0). Ogni combinazione di pazienti e punti temporali viene trattata come un campione separato nell'analisi. Sui campioni sono stati misurati diversi test omici: esami del sangue clinici (n = 125), scRNA-seq (n = 121), proteomica del plasma (n = 119), test delle citochine (n = 127) e prime-seq dei neutrofili (n = 121). Successivamente, il protocollo descritto è stato applicato per integrare i dati in tutte le omiche ed esplorarli utilizzando il modello MOFA e ulteriori analisi a valle (analisi fattoriale, arricchimento del percorso). Clicca qui per visualizzare una versione più grande di questa figura.
Come input per il flusso di lavoro come presentato qui, prendiamo i conteggi grezzi dai dati scRNA-seq dopo l'elaborazione con cellranger e il controllo di qualità (QC) come, ad esempio, delineato nel tutorial di pre-elaborazione scanpy14 . Per l'annotazione del tipo di cella, abbiamo utilizzato la pipeline automatizzata Azimuth15 . I conteggi vengono quindi aggregati a livello di campione per ciascun tipo di cellula prendendo la media di tutte le cellule per ciascun campione e tipo di cellula (aggregazione pseudobulk). La proteomica del plasma è inclusa come intensità normalizzate e mediane, e per i neutrofili, prendiamo la conta degli esoni dell'identificatore molecolare unico umi (UMI) dal prime-seq. Sulle citochine e sui valori clinici, non è stato applicato alcun preprocessing precedente. Ulteriori dettagli sulla generazione di dati (sperimentali) sono descritti nel corrispondente manoscritto11. Poiché i risultati qui presentati si basano sull'utilizzo dell'annotazione automatica dell'azimut per i tipi di cellule nei dati scRNA-seq rispetto alla strategia basata su marcatori utilizzata nella pubblicazione di riferimento, i risultati qui presentati sono simili ma non esattamente gli stessi presentati nella pubblicazione. Nel manoscritto si può dimostrare che la strategia di annotazione del tipo di cellula non cambia i principali modelli e interpretazioni biologiche dell'analisi, ma piccoli cambiamenti nei valori esatti risultanti dal modello possono variare. Nel complesso, i dati di input erano un complesso set di dati multidimensionali che comprendeva diversi punti temporali e livelli di misurazione (singole cellule vs. bulk) di oltre 10.000 diverse caratteristiche (geni, proteine, valori clinici). Una rigorosa strategia di pre-elaborazione e armonizzazione dei dati seguita dall'analisi MOFA si è dimostrata uno strumento utile e rapido per esplorare i dati ed estrarre il programma immunitario pertinente. Ogni punto temporale e combinazione di pazienti viene trattato come un campione indipendente nell'analisi MOFA. Ogni tipo di dati e tipo di cella è considerato una vista separata nell'analisi MOFA.
Questo protocollo fornisce istruzioni per la preparazione dei dati di input per il flusso di lavoro, l'esecuzione dei diversi passaggi del flusso di lavoro, la personalizzazione delle configurazioni, l'interpretazione delle cifre risultanti e la regolazione iterativa delle configurazioni in base alle interpretazioni. Una panoramica delle diverse fasi del protocollo, dei set di dati di input richiesti in ogni fase e delle cifre e dei set di dati risultanti è fornita dalla panoramica del flusso di lavoro tecnico (Figura 2).

Figura 2: Panoramica del flusso di lavoro tecnico. Cenni sul flusso di lavoro per l'analisi del dataset multi-omico. I diversi elementi sono evidenziati da colori e simboli diversi. I Jupyter Notebook appartenenti alla fase di pre-elaborazione e armonizzazione dei dati (1) sono colorati in blu. I Jupyter Notebook appartenenti al passaggio 'MOFA Model' (2) sono colorati in arancione. I Jupyter Notebook appartenenti alla fase "Analisi a valle" (3) sono colorati in verde. Un Jupyter Notebook da utilizzare per il confronto dei risultati è colorato in giallo. I file di configurazione in cui è possibile modificare i parametri per l'esecuzione del flusso di lavoro sono evidenziati in viola. I set di dati di input necessari per eseguire il flusso di lavoro sono indicati dal simbolo del set di dati ed evidenziati in grigio. Tutti gli output delle figure generati durante l'esecuzione del flusso di lavoro sono indicati dal simbolo della lente di ingrandimento. I set di dati generati durante l'esecuzione del flusso di lavoro sono indicati come tabelle. In generale, il flusso di lavoro viene eseguito in sequenza: (1) La pre-elaborazione e l'armonizzazione dei dati consiste in due fasi: prima generazione di una tabella pseudobulk basata sui dati di input scRNA-seq (01_Prepare_Pseudobulk) e successiva integrazione e normalizzazione di questi dati insieme a tutti gli altri input a livello di campione (bulk) (02_Integrate_and_Normalize_Data). All'interno di questo passaggio, tramite i file di configurazione, è possibile configurare separatamente per ciascun set di dati quali dei passaggi di pre-elaborazione e normalizzazione indicati (ad esempio, il filtro di esempio) devono essere applicati. (2) «Modello MOFA»: esegue il modello MOFA sull'input generato nella prima fase con le configurazioni specificate nel file di configurazione (03_MOFA_configs.csv) (3) «Analisi a valle»: consiste in tre diversi quaderni che possono essere eseguiti indipendentemente l'uno dall'altro per generare informazioni sui risultati MOFA generati e associarli ai metadati campione (covariate) forniti come input tramite il file «Meta Data.csv campione». (4) «Confronto tra modelli»: è una piccola fase separata che può essere utilizzata per confrontare diversi modelli generati nella fase 2. Clicca qui per visualizzare una versione più grande di questa figura.
Il flusso di lavoro è costituito da diversi Jupyter Notebook scritti in R e Python (la conoscenza del linguaggio R e Python non è necessaria per eseguire il flusso di lavoro, ma potrebbe essere utile nel caso in cui vengano visualizzati errori). In vari passaggi del protocollo, i parametri vengono modificati tramite file di configurazione (file '.csv' contenenti il suffisso '_Configs' nel nome). All'interno del protocollo, delineiamo solo i parametri che devono essere modificati a partire dalla configurazione predefinita.
È possibile modificare anche diversi altri parametri, ad esempio per personalizzare la pre-elaborazione. Una documentazione di questi parametri e spiegazioni è fornita nel file 'Documentation_Config_Parameter', che è incluso nel repository scaricato.