Articolo metodologico

Applicazione dell'analisi fattoriale multi-omica non supervisionata per scoprire modelli di variazione e processi molecolari legati alle malattie cardiovascolari

DOI:

10.3791/66659

20 settembre 2024

In questo articolo

Sommario

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

Presentiamo un flusso di lavoro flessibile ed estendibile basato su Jupyter-lab per l'analisi non supervisionata di set di dati multi-omici complessi che combina diverse fasi di pre-elaborazione, stima del modello di analisi fattoriale multi-omica e diverse analisi a valle.

Abstract

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

I meccanismi della malattia sono solitamente complessi e governati dall'interazione di diversi processi molecolari distinti. I set di dati complessi e multidimensionali sono una risorsa preziosa per generare maggiori informazioni su tali processi, ma l'analisi di tali set di dati può essere impegnativa a causa dell'elevata dimensionalità risultante, ad esempio, da diverse condizioni di malattia, punti temporali e aspetti omici che catturano il processo a diverse risoluzioni.

Qui, mostriamo un approccio per analizzare ed esplorare un set di dati multiomici così complesso in modo non supervisionato applicando l'analisi fattoriale multi-omica (MOFA) a un set di dati generato da campioni di sangue che catturano la risposta immunitaria nelle sindromi coronariche acute e croniche. Il set di dati è costituito da diversi saggi a diverse risoluzioni, tra cui dati di citochine a livello di campione, proteomica plasmatica e prime-seq dei neutrofili e dati di RNA-seq a singola cellula (scRNA-seq). Un'ulteriore complessità è aggiunta dalla misurazione di diversi punti temporali per paziente e di diversi sottogruppi di pazienti.

Il flusso di lavoro dell'analisi delinea come integrare e analizzare i dati in diverse fasi: (1) Pre-elaborazione e armonizzazione dei dati, (2) Stima del modello MOFA, (3) Analisi a valle. Il passaggio 1 illustra come elaborare le caratteristiche dei diversi tipi di dati, filtrare le funzionalità di bassa qualità e normalizzarle per armonizzare le loro distribuzioni per ulteriori analisi. Il passaggio 2 mostra come applicare il modello MOFA ed esplorare le principali fonti di varianza all'interno del set di dati in tutte le omiche e le funzionalità. La fase 3 presenta diverse strategie per l'analisi a valle dei pattern catturati, collegandoli alle condizioni patologiche e ai potenziali processi molecolari che governano tali condizioni.

Nel complesso, presentiamo un flusso di lavoro per l'esplorazione non supervisionata dei dati di set di dati multi-omici complessi per consentire l'identificazione dei principali assi di variazione composti da diverse caratteristiche molecolari che possono essere applicate anche ad altri contesti e set di dati multi-omici (inclusi altri saggi presentati nel caso d'uso esemplare).

Introduzione

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

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.

figure-introduction-1
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).

figure-introduction-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.

Protocollo

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

1. Preparativi: configurazione tecnica e installazione

NOTA: Per eseguire questo programma, avere wget, git e Apptainer preinstallati sul dispositivo. Una guida per l'installazione di Apptainer su diversi sistemi (Linux, Windows, Mac) è disponibile qui: https://apptainer.org/docs/admin/main/installation.html. Le informazioni sull'installazione su git possono essere trovate qui: https://git-scm.com/book/en/v2/Getting-Started-Installing-Git. A seconda delle dimensioni dei diversi set di dati di input, si consiglia di eseguire il flusso di lavoro su un computer adatto (16 CPU, 64 GB di memoria). Un smoke test con i dati di esempio forniti può essere eseguito sul computer locale. Le istruzioni e gli output attesi dall'esecuzione del protocollo sui dati di esempio sono forniti nel file supplementare 1. Fare riferimento al file video supplementare 1 per i passaggi importanti del protocollo che vengono eseguiti sul set di dati descritto sopra.

  1. Apri la console e scegli o crea una cartella in cui verranno memorizzati tutto il codice di analisi e gli output. Navigare nella cartella digitando il comando: cd path_to_folder nel terminale.
  2. Scarica o clona il repository di codice da Github (https://github.com/heiniglab/mofa_workflow) o digitando git clone https://github.com/heiniglab/mofa_workflow.git nella finestra del terminale.
  3. Scarica l'immagine che contiene tutte le installazioni richieste da Zenodo digitando wget https://zenodo.org/records/11192947/files/mofa_image.sif nella finestra del terminale.
  4. Genera una cartella in cui verranno memorizzati tutti i dati dei risultati digitando mkdir results nella finestra del terminale.
  5. Genera una cartella in cui verranno aggiunti tutti i dati di input da utilizzare nell'analisi digitando mkdir input_data nella finestra del terminale.
  6. Esegui il container che avvierà una sessione JupyterLab digitando il seguente comando nel terminale: apptainer run mofa_image.sif. Copiare l'URL restituito dal comando nel browser, che aprirà una sessione di Jupyter-lab (ulteriori informazioni su Jupyter-lab sono disponibili nella documentazione del software16).
    NOTA: quando il flusso di lavoro viene eseguito localmente su un laptop, si consiglia di utilizzare invece il comando apptainer exec mofa_image.sif jupyter-lab , che restituirà direttamente un indirizzo host locale. Nel caso in cui il container venga eseguito all'interno di un ambiente di calcolo cluster, potrebbe essere necessario impostare il port forwarding, che può essere fatto tramite ssh.

2. Inizializzazione e preparazione dei dati

  1. Nella sessione Jupyter-Lab, utilizzare il menu di navigazione sul lato sinistro. Passare alla cartella input_data facendo doppio clic su input_data.
  2. Copia tutti i dataset che verranno utilizzati come input per l'analisi nella directory input_data utilizzando il Drag&Drop. Trascinare il file dalla cartella in cui si trova attualmente e rilasciarlo nella sessione Jupyter-lab nell'area sotto la cartella input_data.
    NOTA: tutti i set di dati devono essere in formato .csv o .h5ad (nel caso di dati a cella singola). Tutti i file .csv devono contenere una colonna sample_id corrispondente (gli ID identici devono essere utilizzati in tutti i set di dati). Tutte le altre colonne verranno utilizzate come funzionalità. All'interno del file h5ad-, l'annotazione della cella deve contenere due identificatori che specificano il sample_id e il cluster_id. Questi verranno utilizzati per l'aggregazione e la corrispondenza. I set di dati omici in altri formati devono essere convertiti nel formato .csv specificato prima dell'uso (Figura 3). I set di dati scRNA-seq forniti in formato .h5seurat potrebbero essere convertiti in .h5ad eseguendo il Jupyter-notebook: 00_Data_Conversion.ipynb.
  3. Passare alla cartella delle configurazioni facendo clic sul simbolo della cartella e quindi facendo doppio clic sulle cartelle mofa_workflow, script e configurazioni. All'interno della cartella, apri il file Data_configs.csv facendo doppio clic su di esso.
  4. Nella colonna del valore , aggiungere i percorsi delle cartelle delle cartelle input_data (data_path) e dei risultati (result_path). Aggiungere un nome che verrà aggiunto come estensione di file a tutti i file salvati nella colonna dei valori per il configuration_name (questo protocollo utilizzato MI_v1 [Infarto del miocardio versione1]) (Figura 4).
  5. Salva le modifiche cliccando su File > Salva file CSV nel menu in alto.
  6. Utilizzare il menu di navigazione sul lato sinistro per accedere alla cartella degli script facendo clic su script. Aprire il taccuino di inizializzazione facendo doppio clic su 00_Configuration_Update.ipynb. Eseguire lo script facendo clic sul pulsante Riavvia il kernel ed esegui tutte le celle in alto e facendo clic su Riavvia nel pop-up (Figura 5).

figure-protocol-1
Figura 3: Inserimento e configurazione dei dati. Per l'esecuzione del flusso di lavoro, tutti i dati devono essere archiviati in una cartella input_data specificata. Per ogni set di dati di input deve essere fornito un file separato. I dati di una singola cella devono essere forniti come .h5ad contenente l'annotazione della cella sulla cluster_id (risultante, ad esempio, dai precedenti passaggi di annotazione del tipo di cella) e una colonna sample_id (che identifica in modo univoco ogni campione separato che deve essere analizzato). Tutti gli altri set di dati di input devono essere forniti in formato ".csv", compresa una colonna che specifichi il sample_id (corrispondente alla colonna corrispondente dei dati a cella singola) e le caratteristiche da utilizzare nell'analisi MOFA in tutte le altre colonne. Clicca qui per visualizzare una versione più grande di questa figura.

figure-protocol-2
Figura 4: File di configurazione di Jupyter-lab. Durante l'esecuzione del flusso di lavoro, le modifiche ai parametri (ad esempio, la regolazione delle opzioni di filtraggio, ecc.) vengono specificate tramite i file di configurazione ".csv". All'interno del repository clonato, sono inclusi i file di configurazione predefiniti per ogni passaggio. Possono essere modificati direttamente nella console jupyter-lab, in modo simile a un foglio di calcolo. Clicca qui per visualizzare una versione più grande di questa figura.

figure-protocol-3
Figura 5: script Jupyter-notebooks. Il flusso di lavoro completo è costituito da una serie di notebook Jupyter che verranno eseguiti in sequenza dopo la modifica dei file di configurazione corrispondenti. Facendo doppio clic sul taccuino Jupyter sul lato sinistro, il file corrispondente verrà aperto sul lato destro. L'esecuzione completa del file può essere avviata con il pulsante evidenziato in alto. Clicca qui per visualizzare una versione più grande di questa figura.

3. Pre-elaborazione e armonizzazione dei dati

  1. Pre-elaborazione: converti i dati sc in pseudobulk.
    NOTA: questo passaggio deve essere eseguito solo se nell'analisi vengono utilizzati dati a cella singola.
    1. Utilizzare il menu di navigazione sul lato sinistro per accedere alla cartella delle configurazioni facendo doppio clic su configurazione. Aprire il file 01_Preprocessing_SC_Data.csv facendo doppio clic. Controllare i valori compilati automaticamente nel file e, se necessario, regolare i valori nella colonna data_name in modo che corrispondano ai nomi dei set di dati a cella singola nella cartella input_data che verrà utilizzata per l'analisi.
      NOTA: Per impostazione predefinita, tutti i nomi dei file .h5ad nella cartella dei dati di input verranno aggiunti al file di configurazione nello script di inizializzazione. Se alcuni dei set di dati non devono essere utilizzati per l'analisi, possono essere rimossi qui.
    2. Salva le modifiche apportate cliccando su File > Salva file CSV nel menu in alto.
    3. Utilizzare il menu di navigazione sul lato sinistro per accedere alla cartella degli script facendo clic su script. Apri il notebook 01_Prepare_Pseudobulk.ipynb facendo doppio clic su di esso. Eseguire lo script facendo clic sul pulsante Riavvia il kernel ed esegui tutte le celle in alto e facendo clic su Riavvia nel pop-up.
    4. Utilizzare il menu di navigazione sul lato sinistro per accedere alla cartella delle figure facendo doppio clic prima sulle figure e poi su 01_figures. Apri il FIG01_Amount_of_Cells_overview del grafico appena generato facendo doppio clic su di esso.
      NOTA: l'esecuzione del notebook potrebbe richiedere alcuni minuti.  Quando il blocco appunti è stato eseguito correttamente, viene visualizzato un popup e il file FIG01_Amount_of_Cells_Overview viene aggiornato dal blocco note o generato nuovamente. La colonna Ultima modifica può indicare quando il file è stato generato per valutare se si tratta di un file nuovo o vecchio.
    5. Esaminare il grafico per identificare i cluster di tipo cellulare con un numero molto basso di cellule per campione. Annotare i nomi di tali cluster_ids per escluderli nei passaggi successivi (Figura 6).
    6. Utilizzare il menu di navigazione sul lato sinistro per tornare alla cartella delle configurazioni facendo clic su ... e quindi fare doppio clic su Configurazioni. Apri il file 02_Preprocessing_Configs_SC.csv facendo doppio clic su di esso.
    7. Controllare i valori nelle colonne configuration_name e data_name e modificarli se necessario.
      NOTA: all'interno dello script di inizializzazione, tali valori sono precompilati con tutti i nomi dei file .h5ad nella cartella dei dati di input e il valore configuration_name impostato in precedenza all'interno del file Data_Configs.csv . Nel caso in cui i file debbano essere esclusi dall'analisi o debba essere utilizzata un'altra estensione per i nomi dei file, questo può essere regolato qui.
    8. Regola il valore nella colonna cell_type_exclusion e aggiungi tutti i cluster_id che sono stati identificati per escludere nel passaggio precedente separati da ','.
    9. Salva le modifiche cliccando su File > Salva file CSV nella barra di navigazione in alto.
  2. Pre-elaborazione - Armonizza e integra altre fonti di dati omici.
    1. Aprire il file 02_Preprocessing_Configs.csv facendo doppio clic su di esso e regolare la configurazione di pre-elaborazione per ciascuno dei set di dati che verranno inclusi e vengono memorizzati nella cartella data_input (una riga per set di dati).
    2. Controllare i valori nelle colonne configuration_name e data_name e modificarli se necessario.
    3. Regolare di conseguenza gli altri parametri nelle colonne, a seconda delle fasi di pre-elaborazione da applicare.
      NOTA: i valori predefiniti vengono aggiunti per ogni set di dati trovato all'interno della cartella input_dataset, ma non sono specifici per i singoli tipi di dati dei dati. Pertanto, saranno necessari degli aggiustamenti. Una documentazione dettagliata dei parametri è fornita nel file Documentation_Config_Parameter.doc .
    4. Salva le modifiche facendo clic su File > Salva file CSV.
    5. Utilizzare il menu di navigazione sul lato sinistro per accedere alla cartella degli script facendo clic su script. Aprire il notebook 02_Integrate_and_Normalized_Data_Sources.ipynb facendo doppio clic su di esso. Eseguire lo script facendo clic sul pulsante Riavvia il kernel ed esegui tutte le celle in alto e facendo clic su Riavvia nel pop-up.
    6. Utilizzare il menu di navigazione sul lato sinistro per accedere alla cartella 02_results generata facendo clic sul simbolo della cartella e quindi facendo doppio clic su risultati e 02_results. Verificare se include il file 02_Combined_data_'configuration_name'_Integrated.csv contenente il file di input dei dati pre-elaborato combinato.

figure-protocol-4
Figura 6: Pre-elaborazione e armonizzazione dei dati. Un output della fase '01_Prepare_Pseudobulk' è il grafico 'Fig01_Amount_of_Cells_Overview'. Qui, per ogni cluster_id (asse y che indica il tipo di cella dai precedenti passaggi di annotazione del tipo di cella), viene fornito il numero di celle per campione ("sample_id"). All'interno dei risultati presentati, i tipi di cellule con una bassa quantità di cellule per campione sono esclusi dall'analisi successiva (indicata dal barrato). Clicca qui per visualizzare una versione più grande di questa figura.

4. Esecuzione di MOFA

  1. In Jupyter-Lab, utilizzare il menu di navigazione sul lato sinistro per navigare nella cartella delle configurazioni facendo clic sul simbolo della cartella e quindi facendo doppio clic su mofa_workflow, quindi facendo doppio clic su script e configurazioni. Apri il file 03_MOFA_Configs.csv facendo doppio clic su di esso.
  2. Controllare le voci per le colonne configuration_name e mofa_result_name e regolare le voci se è necessario utilizzare nomi alternativi.
    NOTA: Il mofa_result_name verrà aggiunto come estensione di file a tutti i file dei risultati generati in base al MOFA. Questo può essere diverso dal valore configuration_name poiché diverse configurazioni MOFA potrebbero essere eseguite con gli stessi dati di input (questo protocollo utilizza MI_v1_MOFA).
  3. Immettere la quantità di fattori che devono essere stimati nel modello MOFA (colonna amount_of_factors ) e definire se applicare la ponderazione e la scala (colonne weighting_of_views e scale_views ) regolando i valori nel file.
  4. Salva le modifiche facendo clic su File > Salva file CSV.
  5. Utilizzare il menu di navigazione sul lato sinistro per accedere alla cartella degli script facendo clic su "script". Aprire il notebook 03_Run_MOFA.ipynb facendo doppio clic sul file. Esegui lo script facendo clic sul pulsante Riavvia il kernel ed esegui tutte le celle in alto e facendo clic su Riavvia nel pop-up.
  6. Passare alla cartella 03_figures facendo doppio clic sulle figure e quindi 03_figures. Aprire il mofa_result_name FIG03_Overview_Variance_Decomposition_ del grafico generato e analizzare il risultato del modello (Figura 7A).
  7. Utilizzare il menu di navigazione sul lato sinistro per accedere alla cartella 03_results generata facendo clic sul simbolo della cartella e quindi facendo doppio clic su risultati e 03_results. Verificare se include il file del valore del fattore di esempio 03_Factor_Data_'mofa_result_name'.csv e il file del peso del fattore di funzione 03_Weight_Data_'mofa_result_name'.csv.

5. Analisi a valle

  1. Interpretazione dei fattori.
    1. Utilizzare il menu di navigazione sul lato sinistro per accedere alla cartella input_data facendo clic sul simbolo della cartella , quindi facendo doppio clic su input_data.
    2. Preparare un file .csv (Prepared_Sample_Meta_Data.csv) che contenga tutti i metadati (covariate) dei campioni che verranno analizzati in associazione con i fattori generati. Copiare il file nella cartella input_data utilizzando il Drag&Drop rilasciando il file nella panoramica della cartella input_data .
      NOTA: Deve contenere la colonna sample_id per abbinarla ai dati utilizzati in precedenza e ulteriori colonne per ogni funzionalità che deve essere analizzata.
    3. In Jupyter-Lab, utilizzare il menu di navigazione a sinistra per tornare alla cartella delle configurazioni facendo clic sul simbolo della cartella e quindi facendo doppio clic su mofa_workflow, seguito da script e configurazione. Apri il file 04_Factor_Analysis.csv facendo doppio clic su di esso.
    4. Verificare che le voci per il configuration_name e il mofa_result_name contengano i nomi della configurazione e i risultati MOFA che verranno analizzati nello script e modificarli se necessario.
    5. Nella colonna numeric_covariates aggiungere il nome di tutte le colonne numeriche nel file Prepared_Sample_Meta_Data.csv che verranno esaminate in relazione ai fattori MOFA separati da virgola (questo protocollo utilizza CRP,CK).
    6. Nella colonna categorical_covariates', aggiungi il nome di tutte le colonne categoriche nel file Prepared_Sample_Meta_Data.csv che verranno esaminate in relazione ai fattori MOFA separati da virgola (questo protocollo utilizza la misurazione).
    7. Salva le modifiche facendo clic su File > Salva file CSV.
    8. Utilizzare il menu di navigazione a sinistra per accedere alla cartella "script" facendo clic su script. Apri il notebook 04_Downstream_Factor_Analysis.ipynb facendo doppio clic su di esso. Esegui lo script facendo clic sul pulsante Riavvia kernel ed esegui tutte le celle in alto e facendo clic su Riavvia nel pop-up.
    9. Utilizzare il menu di navigazione a sinistra per navigare nella cartella 04_figures facendo doppio clic sulle figure e quindi 04_figures. Apri i grafici generati facendo doppio clic su di essi e indaga i fattori per modelli e associazioni interessanti: FIG04_Factor_Association_with_numeric_features_
      'mofa_result_name.pdf (Figura 7B). FIG04_Factor_Association_
      with_categorical_features_'mofa_result_name.pdf (Figura 7C). FIG04_Top_Feature_Overview_per_Factor _'mofa_result_name.pdf (Figura 8A).
  2. Analisi delle caratteristiche
    1. Utilizzare il menu di navigazione a sinistra per tornare alla cartella delle configurazioni facendo clic su ... e quindi fare doppio clic su Configurazioni. Apri il file 05_Feature_Analysis_Configs.csv facendo doppio clic su di esso.
    2. Verificare che le voci per le colonne configuration_name e mofa_result_name corrispondano ai nomi della configurazione e al risultato MOFA generato che verrà utilizzato per l'analisi a valle e regolarle se necessario.
    3. Nella colonna del fattore , aggiungere il fattore per il quale le funzioni principali verranno tracciate nello script successivo.
    4. Nella colonna faceting_variable, aggiungere il nome di una colonna categorica nel Prepared_Sample_Meta_Data.csv che verrà utilizzato per raggruppare i campioni nel grafico (questo protocollo utilizza la misurazione)
    5. Salva le modifiche facendo clic su File > Salva file CSV.
    6. Utilizzare il menu di navigazione a sinistra per accedere alla cartella degli script facendo clic su script. Apri il notebook 05_Downstream_Investigate_Features_Heatmap.ipynb facendo doppio clic su di esso. Eseguire lo script facendo clic sul pulsante Riavvia il kernel ed esegui tutte le celle in alto e facendo clic su Riavvia nel pop-up.
    7. Utilizzare il menu di navigazione a sinistra per navigare nella cartella 05_figures facendo doppio clic prima sulle figure e poi su 05_figures. Aprire ed esaminare il grafico generato FIG05_Heatmap_Feature_Overview__ 'mofa_result_name'.pdf facendo doppio clic sul file (Figura 8B).
      NOTA: A seconda della quantità di funzioni che verranno mostrate nel grafico, potrebbe essere necessario regolare i parametri plot_width e plot_height all'interno del 05_Feature_Analysis_Configs.csv ed eseguire nuovamente lo script per assicurarsi che tutto si adatti al grafico.
  3. Analisi dei percorsi
    1. Utilizzare il menu di navigazione sul lato sinistro per accedere alla cartella input_data facendo clic sul simbolo della cartella , quindi facendo doppio clic su input_data.
    2. Preparare un file .csv (Prepared_Pathway_Data.csv) contenente un elenco di percorsi che verranno testati per l'arricchimento. Copiare il file nella cartella input_data utilizzando il Drag&Drop rilasciando il file nella panoramica della cartella input_data .
      NOTA: Deve contenere tre colonne: ID (un identificatore univoco della via), gene (i geni dati dal loro nome genetico (SYMBOL) appartenenti alla via, una riga per gene), pathway_name (un nome/descrizione testuale delle vie).
    3. Nella sessione Jupyter-Lab, utilizzare il menu di navigazione a sinistra per navigare nella cartella delle configurazioni facendo clic su ... e quindi fare doppio clic su Configurazioni. Apri il file 06_Pathway_Configs.csv facendo doppio clic su di esso.
    4. Controllare la voce per la colonna mofa_result_name e assicurarsi che corrisponda al nome del risultato MOFA generato che verrà utilizzato per il calcolo dell'arricchimento del percorso.
    5. Controllare la voce nella colonna dei tipi e rimuovere le voci all'interno della colonna dei tipi che non contengono funzionalità che corrispondono alla colonna del gene nel file Prepared_Pathway_Data.csv .
      NOTA: per impostazione predefinita, tutte le diverse viste che sono state utilizzate all'interno del modello MOFA vengono aggiunte a questo file durante l'esecuzione del flusso di lavoro. Nel caso in cui ci siano viste che non contengono elementi che corrispondono ad almeno un percorso, devono essere rimosse; In caso contrario, l'esecuzione avrà esito negativo. Un esempio potrebbe essere il file del percorso che contiene solo annotazioni del percorso per i geni, ma c'è una vista che contiene i nomi delle proteine.
    6. Salva le modifiche facendo clic su File > Salva file CSV.
    7. Utilizzare il menu di navigazione per accedere alla cartella degli script facendo clic su script. Apri il notebook 06_Downstream_Pathways.ipynb facendo doppio clic su di esso. Eseguire lo script facendo clic sul pulsante Riavvia il kernel ed esegui tutte le celle in alto e facendo clic su Riavvia nel pop-up.
    8. Utilizzare il menu di navigazione a sinistra per accedere alla cartella 06_figures facendo doppio clic sulle figure e poi 06_figures. Aprire il grafico generato FIG06_Pathways_and_Genes_ 'mofa_result_name facendo doppio clic su di esso e analizzare i percorsi visualizzati (Figura 8C).
      NOTA: La modalità di selezione dei percorsi visualizzati può essere configurata tramite il file di configurazione. Per maggiori dettagli, fare riferimento alla documentazione dei parametri.
    9. Utilizzare il menu di navigazione sul lato sinistro per accedere alla cartella 06_results generata facendo clic sul simbolo della cartella e quindi facendo doppio clic su risultati e 06_results. Controlla se include il file che include i percorsi arricchiti 06_Pathway_enrichment__'mofa_result_name".

6. Confronto tra diverse configurazioni e versioni (Figura supplementare 1, Figura supplementare 2, Figura supplementare 3, Figura supplementare 4)

  1. Per confrontare l'effetto dell'utilizzo di parametri/configurazioni diversi in tutto il flusso di lavoro, eseguire nuovamente le sezioni 3-5, modificando i parametri nei file di configurazione e utilizzando identificatori di configuration_name e mofa_result_name diversi.
    NOTA: I nuovi risultati verranno memorizzati con questi nomi da utilizzare per confrontare diverse esecuzioni.
  2. In Jupyter-Lab, utilizzare il menu di navigazione a sinistra per accedere alla cartella delle configurazioni . Apri il file 07_Comparison_Configs.csv facendo doppio clic su di esso.
  3. Nella colonna mofa_result_name , aggiungi i nomi di tutte le esecuzioni MOFA precedenti che verranno confrontate (una riga per nome/configurazione, ad es. MI_v1_MOFA, MI_v2_MOFA).
  4. Nella colonna compare_factors aggiungere i fattori che verranno confrontati tra i modelli. Per impostazione predefinita, è Fattore1,Fattore2,Fattore3. (Figura supplementare 2A).
    NOTA: In questo script verranno confrontati i valori delle caratteristiche e dei fattori dei diversi modelli correlandoli. Questo funziona solo per i modelli basati sugli stessi campioni (indicati da sample_id) e sullo stesso set di funzionalità. Nel caso in cui i campioni o le funzionalità non corrispondano tra le versioni confrontate, verranno esclusi dal confronto.
  5. Salva le modifiche facendo clic su File > Salva file CSV.
  6. Utilizzare il menu a sinistra per accedere alla cartella degli script facendo clic su script. Apri il notebook 07_Compare_Models.ipynb facendo doppio clic su di esso. Eseguire lo script facendo clic sul pulsante Riavvia il kernel ed esegui tutte le celle e facendo clic su Riavvia nel pop-up.
  7. Utilizzare il menu a sinistra per navigare nella cartella 06_figures facendo doppio clic prima sulle figure e poi su 06_figures. Apri i grafici generati facendo doppio clic sui file per analizzare la somiglianza delle diverse versioni:
    FIG07_Variance_Model_Comparison.pdf (Figura supplementare 2B)
    FIG07_Factor_Correlations.pdf
    (Figura 2C supplementare)
    FIG07_Feature_Correlations.pdf
    (Figura supplementare 3C)

7. Estensione del flusso di lavoro: aggiunta di altri parametri e configurazioni

NOTA: Oltre ai parametri attualmente configurabili nei file di configurazione, potrebbero essere incluse altre regolazioni nel codice o altri parametri. Ad esempio, il modello MOFA stesso offre diversi altri parametri di addestramento17 che possono essere modificati direttamente nel codice o resi regolabili tramite i file di configurazione. La sezione successiva del protocollo delineerà un esempio di come eseguire questa operazione per ulteriori parametri di addestramento del modello MOFA. Per questa parte è richiesta la conoscenza della programmazione R.

  1. In Jupyter-Lab, utilizzare il menu di navigazione a sinistra per passare alla cartella degli script . Apri il notebook 03_Run_MOFA.ipynb facendo doppio clic su di esso.
  2. Fare clic sulla scheda Sommario sul lato sinistro, quindi accedere alla sottosezione 4.3 Impostare le opzioni di formazione MOFA ed eseguire l'addestramento del modello facendo clic su di essa. Scorri verso il basso per vedere l'output stampato del modello MOFA dei parametri configurabili nel notebook.
  3. All'interno del ciclo for R nel codice sotto l'intestazione, vengono impostati tutti i dati, il modello e le opzioni di training MOFA. Sotto la riga model_opts$num_factors = mofa_configs$amount_of_factors[i], aggiungi un'altra riga con il codice seguente
    model_opts$probabilità['data_type'] = 'Poisson'.
    NOTA: Questo cambierà la distribuzione che il modello prende come input per la vista specificata dal nome data_type per tutte le esecuzioni MOFA. Quando si specifica poisson per un tipo di dati, il modello verrà eseguito solo quando le funzionalità per questo tipo di dati sono interi (ad esempio, conteggi di lettura da RNA-seq). Per ottenere maggiori informazioni sui dati MOFA, sull'addestramento e sulle opzioni del modello, si può anche fare riferimento ai tutorial e alla documentazione MOFA17.
  4. Salva le modifiche nel taccuino facendo clic sul pulsante Salva in alto.
  5. Per trasferire nuovi parametri tramite i file di configurazione .csv , utilizzare la navigazione sul lato sinistro per accedere alla cartella delle configurazioni facendo doppio clic sulle configurazioni e aprire il 03_MOFA_Configs.csv dei file facendo doppio clic.
    1. Aggiungi una nuova colonna specificando il nome del parametro, ad esempio number_iterations e inserisci un valore, ad esempio 1000. Salva le modifiche facendo clic su File > Salva file CSV.
    2. Utilizzare il menu di navigazione per navigare nella cartella degli script facendo clic su script. Apri il notebook 03_Run_Mofa.ipynb facendo doppio clic su di esso. Fare clic sulla scheda Sommario sul lato sinistro, quindi accedere alla sottosezione 4.3 Impostare le opzioni di formazione MOFA ed eseguire l'addestramento del modello facendo clic su di essa.
    3. Sostituisci la riga train_opts$maxiter = 50000 con train_opts$maxiter = mofa_configs$column_name[i] (quando il nome della colonna aggiunta è number_of_iterations è train_opts$maxiter = mofa_configs$number_of_iterations[i])).
      NOTA: Il file di configurazione 03_MOFA_Configs.csv in questo notebook viene letto all'inizio del notebook (sottosezione: Prerequisiti Configurazioni e parametri) come mofa_config data.frame nella sessione e quindi, in questa riga di codice, si fa riferimento a questo oggetto e alla corrispondente colonna appena generata. Poiché è possibile eseguire più configurazioni contemporaneamente, i identifica la riga del data.frame poiché la stima del modello viene eseguita in un ciclo for su tutte le diverse righe del file .csv . Il principio di lettura nel file di configurazione all'inizio del notebook nella sezione "Prerequisiti, configurazioni e parametri" è lo stesso per tutti i notebook, e ulteriori modifiche possono essere apportate in questo modo.
    4. Salvare le modifiche nel blocco appunti facendo clic sul pulsante Salva .

Risultati

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

Dopo la corretta esecuzione del flusso di lavoro, vengono generate diverse tabelle e figure, come indicato nella Figura 2. Le figure vengono inserite nella cartella /figures (Figura 6, Figura 7, Figura 8, Figura supplementare 1, Figura supplementare 2, Figura supplementare 3, Figura supplementare 4) e le tabelle verranno inserite nella cartella /results specificata.

Nel caso in cui l'esecuzione del flusso di lavoro non vada a buon fine, ciò potrebbe essere dovuto principalmente a: errori tecnici causati, ad esempio, da memoria insufficiente (soprattutto nella prima fase in cui viene caricato un set di dati a cella singola di grandi dimensioni), dati formattati in modo errato (ad esempio, colonne sample_id non corrispondenti tra i set di dati) o specifiche errate nei file di configurazione (ad esempio, l'esclusione di molte funzionalità). In questo caso, di solito, durante l'esecuzione si verifica un messaggio di errore all'interno dello script Jupyter-notebook e non vengono generati grafici e dati. Si consiglia di utilizzare i file di configurazione predefiniti generati durante l'esecuzione dello script e di modificare solo parametri specifici come descritto nel protocollo.

Un'esecuzione riuscita è indicata dalla generazione dei grafici e delle tabelle risultanti e ogni passaggio rivelerà ulteriori informazioni sui dati e sui principali modelli di varianza ad essi inerenti. Tuttavia, non è detto che ogni esecuzione produca risultati biologicamente utili e interpretabili. Spesso, i dati sono caratterizzati da grandi effetti tecnici e distribuzioni diverse, che devono essere prese in considerazione nella fase di "Pre-elaborazione e armonizzazione dei dati" o nel "Modello MOFA9 " (che consente anche di specificare distribuzioni diverse per i tipi di dati di input) per essere in grado di estrarre la variazione dei dati che riflette i processi biologici sottostanti.

All'interno del flusso di lavoro presentato, diversi set di dati multi-omici possono essere utilizzati come input. Attualmente, il flusso di lavoro accetta come input il popolare formato di file .h5ad per i dati a cella singola e un formato di file .csv molto generale per tutti gli altri set di dati (Figura 3). È comune che diversi set di dati omici abbiano formati di file molto diversi. Per non limitare l'esecuzione del flusso di lavoro a formati di file specifici, .csv viene utilizzato come formato molto generale. Pertanto, tutti i tipi di set di dati omici diversi possono essere utilizzati come input per il flusso di lavoro, ma devono essere convertiti nel formato .csv corrispondente, come indicato nella Figura 3 , prima dell'utilizzo all'interno di questo flusso di lavoro. Questo potrebbe essere preparato utilizzando un foglio di calcolo o un software specifico omico. Per pre-elaborare i diversi set di dati omici, sono disponibili diverse opzioni all'interno del flusso di lavoro per applicare diversi passaggi di pre-elaborazione e normalizzazione (ad esempio, regolazione delle dimensioni della libreria, trasformazione dei log, normalizzazione del quantile del campione) sui diversi set di dati di input configurando il file di 02_Pre_Processing_Configs.csv e 02_Pre_Processing_Configs_SC.csv (Figura 2). Tuttavia, le opzioni disponibili qui si basano principalmente sui dati di input specifici disponibili nel set di dati qui presentato (scRNA-seq, saggio delle citochine, proteomica, prime-seq). Nel caso in cui vengano utilizzati altri tipi di dati omici/omici, potrebbe essere necessario applicare ulteriori passaggi di normalizzazione specifici per l'omia in base alle best practice esistenti. In questo caso, i dati possono essere consegnati al flusso di lavoro in un modulo già pre-elaborato e saranno integrati insieme agli altri set di dati senza applicare ulteriori passaggi di pre-elaborazione. In molti casi, l'applicazione del passaggio di normalizzazione quantilica Feature Wise è utile per allineare la distribuzione di tutti i tipi di dati a una distribuzione normale e rendere l'analisi a valle tra le diverse caratteristiche di input più comparabile e compatibile con la specifica del modello di rumore gaussiano .

Durante l'esecuzione del flusso di lavoro, vengono generati diversi grafici e output che supportano il processo di integrazione dei dati e la successiva interpretazione biologica a valle. Per i dati scRNA-seq, il grafico in FIG01_Amount_of_Cells_Overview (Figura 6) indica quali tipi di cellule potrebbero includere un numero insufficiente di cellule per campione e tipo di cellula per misurare in modo affidabile un segnale di espressione genica poiché per le analisi successive, il valore medio di tutte le cellule di un tipo di cellula per campione viene utilizzato come stima dell'espressione (approccio psedobulk). In questo caso d'uso, escludiamo i tipi di cellule che hanno meno di tre cellule nella maggior parte dei campioni.

Il FIG03_Overview_Variance_Decomposition del grafico di scomposizione della varianza (Figura 7, Figura 1 supplementare) può indicare il livello di integrazione delle diverse fonti di dati e la quantità di varianza nelle diverse fonti di dati condivisa e univoca per ciascuna origine di dati. Ad esempio, il test di diverse strategie di pre-elaborazione sul set di dati utilizzato qui mostra ad esempio che la rimozione della fase di normalizzazione dei quantili Feature Wise dalla pre-elaborazione porta a fattori latenti più focalizzati su visualizzazioni di dati specifiche e riduce l'integrazione dei dati proteomici con le altre fonti di dati. Ciò può essere visto nella quantità ridotta di varianza spiegata (Figura supplementare 1B). L'esecuzione del modello MOFA senza alcun filtraggio delle funzionalità o senza normalizzazione porta a una minore varianza condivisa tra le diverse viste catturate dai fattori latenti (Figura 1C supplementare). Ciò indica che i fattori latenti riflettono prevalentemente effetti tecnici specifici del tipo di dati. Oltre a ciò, il modello MOFA9 stesso potrebbe anche restituire avvisi in caso di dati mal elaborati. Un esempio di tale avviso è illustrato nella Figura 1 supplementare per le configurazioni di pre-elaborazione alternative MI_v2 e MI_v3 (i file di configurazione di esempio specifici sono archiviati nel repository GitHub clonato nella cartella config_examples ).

Inoltre, dopo l'esecuzione del modello MOFA, i risultati possono essere valutati in diverse analisi a valle associando il fattore con meta-informazioni biologiche note sui campioni, nonché con covariate tecniche e di altro tipo (04_Downstream_Factor_Analysis) per identificare la probabile causa della variazione catturata dai fattori. Ad esempio, se uno dei fattori dei modelli MOFA si associa fortemente a una delle covariate tecniche (come le informazioni sul lotto), ciò potrebbe indicare che questo fattore cattura piuttosto la variazione tecnica all'interno dei dati anziché la variazione biologica.

Per restringere il campo dell'interpretazione biologica nella parte di analisi a valle, sono delineati un paio di risultati basati sul set di dati di input (un'interpretazione più raffinata può essere trovata nella pubblicazione originale11). Nella prima fase, abbiamo potuto osservare che con la strategia di pre-elaborazione applicata, troviamo diversi fattori che catturano la varianza tra più tipi di cellule, ma anche altri tipi di dati omici (Figura 7A). Ad esempio, il fattore 2 cattura la varianza nelle caratteristiche di input clinico e in diversi tipi di cellule del set di dati scRNA-seq. Associando i primi tre fattori a covariate cliniche rilevanti come "CRP" e "CK" (Figura 7B) e studiando le differenze nei valori dei fattori per i diversi sottogruppi di pazienti: "Controllo (inclusi CCS e non CCS) vs. "ACS" misurato nei diversi punti temporali (TP1-TP4) (Figura 7C), troviamo anche che il Fattore 2 si associa in modo significativo al valore "CK" e il Fattore 3 al valore "CRP". Allo stesso tempo, i campioni di "ACS" a TP1 e TP2 (che riflettono la fase acuta della risposta immunitaria all'infarto del miocardio (MI)) mostrano un aumento dei valori dei fattori rispetto ai campioni di "controllo" e ai campioni di punti temporali successivi (TP3/TP4). La CK è un marcatore noto di danno miocardico ed è tipicamente caratterizzata da un aumento dei valori a TP1/TP2, simile al pattern catturato da Factor2.

Per generare informazioni sui processi biologici che modellano il Fattore 2, valutiamo le caratteristiche di primo piano del fattore osservando la tabella dei pesi delle caratteristiche generata dal modello (03_Weight_Data.csv). Analizzando l'1% delle funzionalità con i pesi assoluti più alti sul fattore, troviamo principalmente CD4. MTC e CD14. Le caratteristiche monoderivate sono sovrarappresentate rispetto al loro numero complessivo di caratteristiche di input (Figura 8A), indicando che questi tipi di cellule sono altamente rilevanti nel processo infiammatorio dopo l'infarto miocardico (NOTA: nel caso in cui non sia stata applicata alcuna normalizzazione quantilica per caratteristica nella pre-elaborazione, anche diverse distribuzioni delle caratteristiche potrebbero influenzare questo risultato e la valutazione dovrebbe essere effettuata separatamente per tipo di dati). Analisi delle caratteristiche di alto livello del CD4. Sul fattore, troviamo diversi geni interessanti come EIF3E18 necessario per una robusta attivazione delle cellule T e HMGB119, che promuove l'espansione e l'attivazione delle cellule T (Figura 8B). Successivamente, eseguiamo l'analisi dell'arricchimento del percorso utilizzando i percorsi immunitari dal database REACTOME20 come set di percorsi (Prepared_Pathway_Data.csv). Troviamo l'arricchimento per diverse vie dell'interleuchina, tra cui la segnalazione dell'interleuchina-6. A questo risultato hanno contribuito i livelli di espressione di diversi geni in diversi tipi di cellule dei dati scRNA-seq e i valori di citochine 'IL6' misurati dal saggio delle citochine (Figura 8C). L'identificazione di questi modelli condivisi tra i tipi di dati evidenzia il valore aggiunto di un'analisi integrata. Nel complesso, questo approccio può anche identificare diversi altri fattori che riflettono lo stato della malattia o associano l'esito del trattamento e i programmi immunitari multicellulari sottostanti, come descritto più dettagliatamente nella pubblicazione corrispondente11.

Per sottolineare ulteriormente il vantaggio delle analisi integrate su più omiche, lo stesso flusso di lavoro è stato eseguito includendo solo i dati di input della proteomica (Figura 4 supplementare). Analizzando i fattori risultanti, troviamo in modo simile all'analisi integrata un fattore (Fattore1) che è fortemente correlato con il valore 'CRP'. Questo modello descrive la principale fonte di variazione all'interno dei dati di proteomica ed è anche allineato con alcune delle variazioni negli altri set di dati catturati da 'Factor3' nell'analisi integrata (Figura 7C). Tuttavia, un modello simile come indicato dal Fattore 2 che cattura il decorso temporale dell'infiammazione nell'analisi integrata non può essere identificato esclusivamente sulla base dei dati di proteomica.

Il flusso di lavoro introdotto e il modello MOFA9 stesso sono altamente personalizzabili con molti parametri regolabili. Pertanto, è importante visualizzare e confrontare sistematicamente i risultati prodotti da diverse configurazioni. Per facilitare questa attività, l'output finale che può essere generato dal flusso di lavoro è un confronto di diverse esecuzioni denominate della pipeline con parametri diversi nella pre-elaborazione e nella stima del modello. Ad esempio, il modello MOFA può essere stimato con un numero diverso di fattori latenti (Figura 2A supplementare) o le viste con un numero inferiore di caratteristiche possono essere ponderate (Figura 3A supplementare). La configurazione e l'esecuzione dell'ultimo script del flusso di lavoro '07_Compare_Models' produce diversi grafici per valutare la somiglianza tra le diverse esecuzioni della pipeline. FIG07_Variance_Model_Comparison (Figura 2B supplementare, Figura 3B supplementare) mostra un confronto della varianza totale spiegata per ciascuna vista per diverse esecuzioni. La correlazione dei valori dei fattori e dei pesi dei fattori di funzionalità tra le diverse esecuzioni può indicare quanto cambiano i risultati quando si modifica un determinato parametro (Figura 2C supplementare, Figura 3C supplementare). In questo caso, la modifica del numero di fattori provoca solo piccole modifiche ai valori stimati dei fattori e ai pesi delle funzioni (Figura 2C supplementare). La modifica della ponderazione della visualizzazione dei dati si traduce in una varianza spiegata molto più elevata nelle viste con un numero inferiore di caratteristiche, ad esempio la vista "clinica" (Figura 3B supplementare). Ciononostante, le caratteristiche rilevanti all'interno dei primi tre fattori sono ancora fortemente correlate a quelle dedotte con la versione non ponderata (Figura supplementare 3C).

Con i file di output del modello generati .csv nella cartella dei risultati (ad esempio, il fattore stimato e i pesi delle caratteristiche), è possibile eseguire ulteriori analisi individuali a valle. Tutto il codice e i file di configurazione necessari (inclusa la documentazione) sono disponibili su GitHub all'indirizzo https://github.com/heiniglab/mofa_workflow. L'immagine di singolarità che è stata creata per consentire una facile installazione dei pacchetti conda necessari per l'analisi può essere scaricata da https://doi.org/10.5281/zenodo.10815146. Un piccolo set di dati di esempio che può essere utilizzato per eseguire un test iniziale della pipeline può essere scaricato anche dallo stesso record zenodo.

figure-results-1
Figura 7: Analisi dell'output MOFA. Dopo l'esecuzione del modello MOFA (03_Run_MOFA.ipynb) e l'analisi a valle dei valori dei fattori (04_Downstream_Factor_Analysis.ipynb) vengono generati diversi grafici: (A) FIG03_Overview_Variance_Decomposition: restituisce una visualizzazione della varianza spiegata dei fattori MOFA stimati all'interno delle diverse visualizzazioni. Heatmap (a sinistra): mostra la percentuale della varianza totale di una vista catturata da un fattore per ogni vista. Grafico a barre (a destra): mostra la percentuale totale di varianza acquisita da tutti i fattori per ciascuna visualizzazione. (B) FIG04_Factor_Association_Numerical_Features: mostra la correlazione di Pearson dei valori dei fattori con le covariate numeriche del campione scelte, qui: variabili cliniche (CRP, CK). (C) FIG04_Factor_Association_Categorical_Features: mostra la differenza nei valori dei fattori per le covariate campionarie categoriali sotto forma di boxplot. Qui, vengono confrontati i valori dei fattori 1-3 per ogni punto temporale dei pazienti con ACS e di controllo. Clicca qui per visualizzare una versione più grande di questa figura.

figure-results-2
Figura 8: Analisi delle caratteristiche MOFA. Dopo l'esecuzione delle analisi a valle (04_Downstream_Factor_Analysis.ipynb, 05_Downstream_Investigate_Features.ipynb) vengono generati diversi grafici. Tutti i grafici qui visualizzati Fattore MOFA 2: (A) FIG04_Top_Feature_Overview_per_Factor: La mappa di calore (a sinistra) mostra per ogni vista la percentuale di varianza catturata dal fattore selezionato. I grafici a barre (a destra) indicano la rilevanza delle caratteristiche delle diverse visualizzazioni per il fattore. A sinistra viene fornita la quantità totale di funzionalità di una vista specifica all'interno dell'1% delle funzionalità con il ranking più alto tra le visualizzazioni del fattore. A destra, viene indicata la percentuale, dividendo il numero totale tra l'1% superiore per il numero totale di funzionalità di quella vista. (B) FIG05_Heatmap_Feature_Overview: La mappa di calore (a sinistra) mostra per il ranking più alto l'1% delle caratteristiche del CD4. Tipo di cellula MTC: i valori di espressione normalizzati di ciascun campione, confrontando i pazienti del gruppo "Controllo" (CCS e non CCS) con i diversi punti temporali per i pazienti "ACS". Il grafico a barre (a destra) mostra il peso delle feature. La direzione del segno del peso è indicata prima a sinistra prima dei nomi dei tipi di cella: '+' peso del fattore positivo; '-' peso del fattore negativo. (C) FIG06_Pathway_and_Genes: mostra il peso dei geni con il 25% di ranking più alto per il fattore che appartiene alle vie dell'interleuchina arricchita. Nella mappa termica in alto, viene calcolata la media tra le visualizzazioni e nella mappa termica in basso mostrata per visualizzazione. Clicca qui per visualizzare una versione più grande di questa figura.

Figura supplementare 1: Effetti dell'armonizzazione dei dati. La figura mostra FIG03_Overview_Variance_Decomposition per diverse configurazioni di pre-elaborazione dei dati: visualizzazione della varianza spiegata dei fattori MOFA stimati all'interno delle diverse visualizzazioni. Heatmap (a sinistra): mostra per ogni vista la percentuale della varianza totale di una vista che viene catturata da un fattore. Grafico a barre (a destra): mostra per ogni vista la percentuale totale di varianza catturata da tutti i fattori. (A) La configurazione ('MI_v1') in base alla quale sono stati analizzati i risultati biologici a valle nelle figure precedenti (parametri impostati come nei file di configurazione predefiniti nel repository clonato). (B) La stessa configurazione di pre-elaborazione di 'MI_v1' con la modifica che non viene applicata alcuna normalizzazione quantilica in base alle caratteristiche (parametri impostati come nei file di configurazione esemplificativi nella cartella 'config_examples' del repository). Una schermata dell'avviso di output del modello MOFA per questa configurazione viene aggiunta al grafico seguente. (C) La scomposizione della varianza risultante quando non vengono applicate fasi di pre-elaborazione e tutti i dati vengono utilizzati come input senza alcuna pre-elaborazione o filtraggio delle funzionalità (parametri impostati come nel file di configurazione esemplificativo nella cartella 'config_examples' del repository). Una schermata dell'avviso di output del modello MOFA per questa configurazione viene aggiunta al grafico seguente. Clicca qui per scaricare questo file.

Figura supplementare 2: Configurazione MOFA - Effetto dell'importo del fattore. Le cifre risultanti generate dallo script '07_Compare_Models.ipynb' utilizzano diverse configurazioni per eseguire il modello MOFA. (A) '03_MOFA_configs.csv': Esempio delle diverse configurazioni utilizzate per eseguire lo script '03_Run_MOFA.ipynb' specificando diverse quantità di fattori (10,15,20,25). '07_Comparison_configs.csv': Esempio di come specificare il file di input di configurazione per l'esecuzione dello script '07_Compare_Models.ipynb'. (B) «FIG07_Variance_Model_Comparison» che indica la varianza totale spiegata per ciascuna vista (asse y) per i diversi modelli in tutti i fattori specificati nel modello. C) «FIG07_Factor_Correlations» che indica la correlazione dei valori del campione di fattori tra le diverse configurazioni. Clicca qui per scaricare questo file.

Figura supplementare 3: Configurazione MOFA - Effetto delle viste di ponderazione. Le cifre risultanti generate dallo script '07_Compare_Models.ipynb' utilizzano diverse configurazioni per eseguire il modello MOFA. (A) '03_MOFA_configs.csv': esempio delle diverse configurazioni utilizzate per eseguire lo script '03_Run_MOFA.ipynb' specificando che il parametro 'weighting_of_views' è 'TRUE' (MI_v1_MOFA_weighted) o 'FALSE' (MI_v1_MOFA). '07_Comparison_configs.csv': Esempio di come specificare il file di input di configurazione per l'esecuzione dello script '07_Compare_Models.ipynb'. (B) «FIG07_Variance_Model_Comparison» che indica la varianza totale spiegata per ciascuna vista (asse y) per i diversi modelli in tutti i fattori specificati nel modello. C) «FIG07_Feature_Correlations» che indica la correlazione dei pesi dei fattori di funzionalità tra le diverse configurazioni. Clicca qui per scaricare questo file.

Figura 4 supplementare: Effetto di integrazione multi-omica - utilizzando solo dati proteomici. I modelli risultanti catturati dai fattori latenti quando si utilizzano solo i dati di proteomica come input. (A) FIG04_Factor_Association_Numerical_Features: Correlazione di Pearson dei valori dei fattori con le variabili cliniche (CRP, CK). (B) FIG04_Factor_Association_Categorical_Features: Confronto boxplot dei valori dei fattori di ciascun punto temporale dei pazienti ACS e di controllo. Clicca qui per scaricare questo file.

Fascicolo supplementare 1: Supplementary_File_
Running_Pipeline_with_Exemplary_Data.
Le descrizioni su come eseguire la pipeline sui dati di esempio e gli output previsti sono fornite in un file supplementare fornito in aggiunta. Clicca qui per scaricare questo file.

File video supplementare 1: video di cattura dello schermo del protocollo. Clicca qui per scaricare questo file.

Discussione

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

Con il protocollo delineato, viene presentato un flusso di lavoro modulare ed estendibile basato su Jupyter-notebook che può essere utilizzato per esplorare rapidamente un complesso set di dati multi-omici. Le parti principali del flusso di lavoro consistono nella parte di pre-elaborazione e armonizzazione dei dati (che offre diversi passaggi standard per il filtraggio e la normalizzazione dei dati), la stima del modello MOFA9 e alcune analisi esemplari a valle. Uno dei principali passaggi critici è la pre-elaborazione, l'integrazione e l'armonizzazione dei diversi set di dati omici. Qui, presentiamo una strategia per un set di dati che comprende dati scRNA-seq, RNA di massa prime-seq, saggio delle citochine, proteomica plasmatica e valori clinici, che ha portato a un set di dati integrato e armonizzato che potrebbe essere utilizzato per identificare i processi biologici rilevanti in MI11. Nel caso in cui altri set di dati omici richiedano ulteriori strategie di pre-elaborazione dei dati, queste devono essere eseguite prima dell'analisi MOFA. I dati pre-elaborati possono quindi essere utilizzati come input per il flusso di lavoro corrente. L'output del modello può essere utilizzato per valutare la qualità dell'integrazione dei diversi set di dati e gli effetti della pre-elaborazione per identificare potenziali effetti tecnici. Ad esempio, si potrebbe iniziare applicando solo un minimo di passaggi di pre-elaborazione e normalizzazione e successivamente valutare l'effetto di un'ulteriore normalizzazione. In questa applicazione, è stato osservato che l'aggiunta di una "normalizzazione quantilica in base alle caratteristiche" porta a una migliore integrazione della proteomica con i saggi rimanenti.

Un'altra parte importante del flusso di lavoro è la stima del modello MOFA9 su dati aggregati a livello di campione. Esistono altre estensioni del modello MOFA, come ad esempio
MOFA+21 (specifico per dati a cella singola), MEFISTO22 (specifico per dati che includono una componente temporale) e MuVI23 (che integra la conoscenza del dominio in un approccio di analisi fattoriale). Si tratta di estensioni molto utili del metodo per tipi specifici di set di dati o impostazioni, ma la loro applicazione comporta requisiti specifici. Ad esempio, l'utilizzo di MOFA+21 specifico per i dati a cella singola nel nostro caso significherebbe che non si potrebbe facilmente utilizzare il livello di campione di altri dati omici disponibili. L'utilizzo del metodo MEFISTO22 consente di modellare in modo specifico l'andamento temporale, ma non è applicabile in contesti in cui non sono disponibili più punti temporali o, nel nostro caso, per combinare i campioni "Controllo" che hanno solo misurazioni in un punto temporale con i dati risolti nel tempo dei campioni "ACS". Pertanto, in questo flusso di lavoro molto generale, scegliamo di utilizzare il metodo MOFA9, in quanto è il metodo più flessibile per esplorare tutti i tipi di set di dati senza troppi requisiti in modo rapido. Da notare che i dati pre-elaborati generati nel flusso di lavoro possono in alternativa essere analizzati anche con questi metodi o gli script attuali possono essere estesi per integrare questi metodi se il set di dati è compatibile con i requisiti dei metodi. Per ulteriori casi d'uso, tutorial e documentazione, fare riferimento al repository GitHub degli sviluppatori MOFA24.

Rispetto a metodi di riduzione della dimensionalità ancora più generali come l'analisi delle componenti principali (PCA), il modello MOFA9 offre diversi vantaggi, soprattutto nell'ambito della multi-omica. Ad esempio, la scomposizione della varianza può essere facilmente analizzata per ogni vista di input e i pesi possono essere assegnati a viste diverse per tenere conto di un numero diverso di funzionalità. Il modello incoraggia la sparsità, che aumenta l'interpretabilità dei risultati. Inoltre, non è necessario escludere campioni con dati mancanti in una delle omiche e il modello implementa alcune funzionalità per concentrarsi sull'apprendimento dei pesi dei fattori di funzionalità sparsi. Inoltre, il modello MOFA offre diverse impostazioni per integrare dati caratterizzati da diverse distribuzioni (modellazione di verosimiglianze 'gaussiane', 'Bernoulli' o 'Poisson'). In questo flusso di lavoro, integriamo solo dati continui, che normalizziamo per seguire una distribuzione "gaussiana", ma il codice esistente può anche essere esteso per integrare altri tipi di dati, se necessario. Esistono altri metodi basati sulla decomposizione, come scITD25, in particolare per i dati scRNA-seq, ma questi hanno la limitazione di non essere progettati per funzionare con altri metodi omici.

Il flusso di lavoro presentato mostra un protocollo per un'esplorazione non supervisionata di set di dati multi-omici grandi e complessi per identificare potenziali processi biologici e altre caratteristiche che guidano la variazione all'interno dei dati. Può essere applicato in quasi tutti i contesti in cui è necessario studiare la variazione dei dati, ad esempio causata da malattie o altre perturbazioni biologiche o tecniche. Le analisi a valle risultanti e i set di funzionalità che guidano la varianza tra le diverse omiche possono rivelare processi biologici rilevanti da indagare ulteriormente nel contesto specifico. Ad esempio, nel contesto della malattia, potrebbe consentire l'identificazione di nuovi marcatori diagnostici o bersagli terapeutici.

Dichiarazioni

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

Gli autori dichiarano di non avere conflitti di interesse.

Ringraziamenti

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

C.L. è supportato dall'Associazione Helmholtz nell'ambito della scuola di ricerca congiunta "Munich School for Data Science - MUDS".

Materiali

Elenco dei materiali utilizzati in questo articolo
NomeAziendaNumero di catalogoCommenti
ApptainerNANAhttps://apptainer.org/docs/admin/main/installation.html
Server di calcolo o workstation o cloud (Ambiente Linux, Mac o Windows).
A seconda delle dimensioni dei diversi set di dati di input, consigliamo di eseguire il flusso di lavoro su una macchina adatta (nelle nostre impostazioni utilizziamo: 16 CPU, 64 GB di memoria)
Qualsiasi produttore16 CPU, 64 GB di memoriaLa memoria di grandi dimensioni è necessaria solo per l'elaborazione dei dati grezzi di una singola cella. Dopo la pre-elaborazione, i passaggi di analisi successivi possono essere eseguiti anche su normali computer desktop o portatili
gitNANAhttps://git-scm.com/book/en/v2/Getting-Started-Installing-Git
GitHubGitHubNA https://github.com/heiniglab/mofa_workflow
, ,

Riferimenti

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,
  1. Lähnemann, D., et al. Eleven grand challenges in single-cell data science. Genome Biol. 21 (1), 31(2020).
  2. Colomé-Tatché, M., Theis, F. J. Statistical single cell multi-omics integration. Curr Opin Syst Biol. 7, 54-59 (2018).
  3. Hawe, J., Theis, F., Heinig, M. Inferring interaction networks from multi-omics data. Front Genet. 10, 535(2019).
  4. Hawe, J. S., et al. Network reconstruction for trans acting genetic loci using multi-omics data and prior information. Genome Med. 14 (1), 125(2022).
  5. Koh, H. W. L., Fermin, D., Vogel, C., Choi, K. P., Ewing, R. M., Choi, H. iOmicsPASS: network-based integration of multiomics data for predictive subnetwork discovery. NPJ Syst Biol Appl. 5, 22(2019).
  6. Ogris, C., Hu, Y., Arloth, J., Müller, N. S. Versatile knowledge guided network inference method for prioritizing key regulatory factors in multi-omics data. Sci Rep. 11, 6806(2021).
  7. Lee, C., vander Schaar, M. A variational information bottleneck approach to multi-omics data integration. Proceedings of The 24th International Conference on Artificial Intelligence and Statistics. 130, 1513-1521 (2021).
  8. Singh, A., et al. DIABLO: an integrative approach for identifying key molecular drivers from multi-omics assays. Bioinformatics. 35 (17), 3055-3062 (2019).
  9. Argelaguet, R., et al. Multi-omics factor analysis-a framework for unsupervised integration of multi-omics data sets. Mol Syst Biol. 14 (6), e8124(2018).
  10. Cantini, L., et al. Benchmarking joint multi-omics dimensionality reduction approaches for the study of cancer. Nature Commun. 12 (1), 124(2021).
  11. Pekayvaz, K., et al. Multiomic analyses uncover immunological signatures in acute and chronic coronary syndromes. Nature Medicine. 30 (6), 1696-1710 (2024).
  12. Swirski, F. K., Nahrendorf, M. Cardioimmunology: the immune system in cardiac homeostasis and disease. Nat Rev Immunol. 18 (12), 733-744 (2018).
  13. Janjic, A., et al. Prime-seq, efficient and powerful bulk RNA sequencing. Genome Biol. 23 (1), 88(2022).
  14. Wolf, F. A., Angerer, P., Theis, F. J. SCANPY: large-scale single-cell gene expression data analysis. Genome Biol. 19 (1), 15(2018).
  15. Cao, Y., et al. Integrated analysis of multimodal single-cell data with structural similarity. Nucleic Acids Res. 50 (21), e121(2022).
  16. Get Started - JupyterLab 4.1.0a4 documentation. , Available from: https://jupyterlab.readthedocs.io/en/latest/getting_started/overview.html (2024).
  17. MOFA2: training a model in R. , Available from: https://raw.githack.com/bioFAM/MOFA2_tutorials/master/R_tutorials/getting_started_R.html (2020).
  18. De Silva, D., et al. Robust T cell activation requires an eIF3-driven burst in T cell receptor translation. eLife. 10, e74272(2021).
  19. Li, G., Liang, X., Lotze, M. HMGB1: The central cytokine for all lymphoid cells. Front Immunol. 4, 68(2013).
  20. Jassal, B., et al. The reactome pathway knowledgebase. Nucleic Acids Res. 48 (D1), D498-D503 (2020).
  21. Argelaguet, R., et al. MOFA+: a statistical framework for comprehensive integration of multimodal single-cell data. Genome Biol. 21 (1), 111(2020).
  22. Velten, B., et al. Identifying temporal and spatial patterns of variation from multimodal data using MEFISTO. Nat Methods. 19 (2), 179-186 (2022).
  23. Qoku, A., Buettner, F. Encoding domain knowledge in multi-view latent variable models: A Bayesian approach with structured sparsity. Proceedings of The 26th International Conference on Artificial Intelligence and Statistics. 206, 11545-11562 (2022).
  24. Multi-Omics Factor Analysis. MOFA. , Available from: https://biofam.github.io/MOFA2/ (2024).
  25. Mitchel, J., et al. Tensor decomposition reveals coordinated multicellular patterns of transcriptional variation that distinguish and stratify disease individuals. bioRxiv. , (2023).

Ristampe e permessi

Richiedi il permesso di riutilizzare il testo o le figure di questo articolo JoVE

Richiedi permesso

Tag

Multi Omic Factor AnalysisUnsupervised Data IntegrationCardiovascular DiseaseSingle Cell RNA SeqMulti Omics WorkflowImmune Response ProfilingMolecular Process DiscoveryPlasma ProteomicsCytokine Data AnalysisDownstream Factor Analysis

Articoli correlati