Ziektemechanismen zijn meestal complex en worden beheerst door de interactie van verschillende afzonderlijke moleculaire processen. Het ontcijferen van de complexe moleculaire mechanismen die tot specifieke ziekten leiden of de evolutie van een ziekte bepalen, is een taak met een hoge medische relevantie, omdat het nieuwe inzichten kan onthullen voor het begrijpen en behandelen van ziekten.
Recente technologische ontwikkelingen maken het mogelijk om die processen tegelijkertijd te meten op een hogere resolutie (bijv. op het niveau van een enkele cel) en op verschillende biologische lagen (bijv. DNA, mRNA, toegankelijkheid van chromatine, DNA-methylering, proteomics). Dit leidt tot het steeds genereren van grote multidimensionale biologische datasets, die gezamenlijk kunnen worden geanalyseerd om meer inzicht te genereren in de onderliggende processen. Tegelijkertijd blijft het combineren en analyseren van de verschillende databronnen op een biologisch zinvolle manier een uitdagende taak1.
Verschillende technologische limieten, geluiden en variabiliteitsbereiken tussen verschillende omics vormen één uitdaging. Single-cell RNA-sequencing (scRNA-seq) gegevens zijn bijvoorbeeld zeer schaars en worden vaak beïnvloed door grote technische of batcheffecten. Bovendien is de functieruimte vaak erg groot, variërend van enkele duizenden gemeten genen of eiwitten, terwijl de steekproefomvang beperkt is. Dit wordt verder gecompliceerd door complexe ontwerpen, die verschillende ziektetoestanden, verstorende factoren, tijdstippen en resoluties kunnen bevatten. In de gepresenteerde use case waren bijvoorbeeld verschillende gegevenstypen beschikbaar op het niveau van één cel of op het niveau van een monster (bulk). Daarnaast kunnen de gegevens onvolledig zijn en zijn niet alle metingen beschikbaar voor alle geanalyseerde proefpersonen.
Vanwege deze uitdagingen worden verschillende omics en opgenomen functies nog steeds vaak alleen afzonderlijk geanalyseerd2, hoewel het uitvoeren van een geïntegreerde analyse niet alleen een volledig beeld van het proces kan opleveren, maar ook biologische en technische ruis van de ene omic kan worden gecompenseerd door andere omics 3,4. Er zijn verschillende methoden voorgesteld om een geïntegreerde analyse van multi-omics-gegevens uit te voeren, waaronder Bayesiaanse methoden, netwerkgebaseerde methoden 5,6, multimodaal deep learning7 en dimensionaliteitsreductiemethoden via matrixfactorisatie 8,9. Voor dit laatste hebben de resultaten van een grote benchmarkstudie10 aangetoond dat de MOFA9-methode (multi-omic factor analysis) een van de meest geschikte instrumenten is wanneer gegevens moeten worden gekoppeld aan klinische annotaties.
Vooral in complexe omgevingen zijn matrixfactorisatiemethoden zonder toezicht een nuttige benadering om de complexiteit te verminderen en gedeelde en complementaire signalen uit verschillende gegevensbronnen en functies te extraheren. Door de complexe ruimte op te splitsen in latente representaties van lagere rang, kunnen de belangrijkste bronnen van variantie binnen de gegevens snel worden verkend en gekoppeld aan bekende covariaten. In het geval dat hetzelfde patroon van variatie wordt gedeeld over meerdere kenmerken (bijv. genen of eiwitten), kan dit worden samengevoegd tot een paar factoren, terwijl ruis wordt verminderd. Regularisatie kan worden gebruikt om de schaarste van modelcoëfficiënten te vergroten, waardoor de benadering zeer geschikt is in omgevingen waar de functieruimte groot is terwijl het aantal monsters beperkt is9.
Dit protocol biedt een flexibele analyseworkflow die het MOFA-model gebruikt om te laten zien hoe een complexe multi-omics-dataset snel kan worden verkend en de belangrijkste variatiepatronen kunnen worden gedestilleerd die deze dataset kenmerken. De workflow bestaat uit drie hoofdstappen. In de eerste stap, voorverwerking en harmonisatie van gegevens, worden verschillende strategieën voor gegevensvoorverwerking op basis van verschillende soorten invoergegevens (scRNA-seq, proteomics, cytokine, klinische gegevens) gepresenteerd. Het protocol gaat dieper in op het verwerken van de kenmerken van de verschillende invoerdatasets, het uitfilteren van kenmerken van lage kwaliteit en het normaliseren ervan om hun verdelingen te harmoniseren. We laten ook zien hoe die beslissingen voorafgaand aan de verwerking van invloed kunnen zijn op de downstream-resultaten. In de tweede stap wordt het MOFA-model toegepast op de gegevens en kan de resulterende variantie-decompositie worden gebruikt om de integratie van de verschillende datasets te evalueren. De derde stap laat zien hoe de vastgelegde factoren kunnen worden gekoppeld aan covariabelen en hoe de moleculaire programma's kunnen worden blootgelegd die die factoren definiëren. Met de gepresenteerde workflow waren we in staat om verschillende latente factoren die verband houden met klinische covariabelen te extraheren in een dataset van patiënten die lijden aan coronaire syndromen en potentiële onderliggende meercellige immuunprogramma's uit een eerder project te identificeren11. We zullen deze dataset hier gebruiken, maar het protocol kan gemakkelijk worden toegepast op andere contexten, waaronder andere omics.
De dataset bestaat uit steekproeven van patiënten met stabiele chronische coronaire syndromen (CCS), acute coronaire syndromen (ACS) en een controlegroep met gezonde kransslagaders (niet-CCS) (Figuur 1). ACS wordt veroorzaakt door plaqueruptuur in reeds bestaande CCS, wat leidt tot een acute verstoring van de bloedtoevoer naar het myocardium en een daaropvolgend ischemisch letsel van het hart. Deze verwonding veroorzaakt een ontstekingsreactie van het immuunsysteem, gevolgd door een herstelfase, die duurt tot enkele dagen na de acute gebeurtenis12. Om deze immuunrespons voor ACS-patiënten te kunnen karakteriseren, werden bloedmonsters genomen op vier verschillende tijdstippen: acuut (TP1); na rekanalisatie (14 [± 8] h) (TP2); 60 [± 12] uur later (TP3); vóór ontslag (6,5 [±1,5] dagen) (TP4) (Figuur 1A). Voor CCS en patiënten met gezonde kransslagaders was slechts één tijdstip beschikbaar (TP0). Voor alle patiënten en tijdstippen werden verschillende testen op basis van de bloedmonsters gemeten: klinische markers van ontsteking (creatinekinase (CK), CK-MB, troponine, C-reactief proteïne (CRP)), scRNA-seq van perifere mononucleaire bloedcellen (PBMC's), cytokineanalyse, plasmaproteomics en prime-seq13-gegevens van neutrofielen.

Figuur 1: Multi-omische invoerdataset voor myocardinfarct. Input dataset: De geanalyseerde gegevens omvatten bloedmonsters van patiënten (n = 62) met acuut coronair syndroom (ACS), chronisch coronair syndroom (CCS) en patiënten met gezonde kransslagaders (niet-CCS). Voor ACS-patiënten werden bloedmonsters opgenomen op vier verschillende tijdstippen (TP1-4), voor CCS- en niet-CCS-patiënten op één enkel tijdstip (TP0). Elke combinatie van patiënt en tijdstip wordt in de analyse als een afzonderlijk monster behandeld. Op de monsters werden verschillende omische testen gemeten: klinische bloedtesten (n = 125), scRNA-seq (n = 121), plasma-proteomics (n = 119), cytokinetest (n = 127) en neutrofiele prime-seq (n = 121). Vervolgens werd het beschreven protocol toegepast om de gegevens in alle omics te integreren en te verkennen met behulp van het MOFA-model en verdere stroomafwaartse analyse (factoranalyse, pathway-verrijking). Klik hier om een grotere versie van deze figuur te bekijken.
Als input voor de workflow zoals hier gepresenteerd, nemen we ruwe tellingen van scRNA-seq data na verwerking met cellranger en kwaliteitscontrole (QC) zoals bijvoorbeeld beschreven in de scanpy14 preprocessing tutorial. Voor annotatie van het celtype gebruikten we de geautomatiseerde Azimuth15-pijplijn . De tellingen worden vervolgens geaggregeerd op steekproefniveau voor elk celtype door het gemiddelde te nemen over alle cellen voor elk monster en celtype (pseudobulkaggregatie). Plasma-proteomics is opgenomen als genormaliseerde en mediaan-gecentreerde intensiteiten, en voor neutrofielen nemen we de umi unique molecular identifier (UMI) exontellingen van de prime-seq. Op cytokine- en klinische waarden is geen eerdere voorbewerking toegepast. Verdere details over het genereren van (experimentele) gegevens zijn te vinden in het bijbehorende manuscript11. Aangezien de hier gepresenteerde resultaten gebaseerd zijn op het gebruik van de geautomatiseerde azimuth-annotatie voor celtypen in de scRNA-seq-gegevens in vergelijking met de op markers gebaseerde strategie die werd gebruikt in de publicatie waarnaar wordt verwezen, zijn de hier gepresenteerde resultaten vergelijkbaar, maar niet precies hetzelfde als gepresenteerd in de publicatie. In het manuscript kon worden aangetoond dat de celtype-annotatiestrategie de belangrijkste patronen en biologische interpretaties van de analyse niet verandert, maar dat kleine veranderingen in de exacte waarden die uit het model voortvloeien kunnen variëren. Over het algemeen waren de invoergegevens een complexe multidimensionale dataset met verschillende tijdstippen en meetniveaus (single-cells vs. bulk) van meer dan 10.000 verschillende kenmerken (genen, eiwitten, klinische waarden). Een strikte strategie voor voorverwerking en harmonisatie van gegevens, gevolgd door MOFA-analyse, is een nuttig en snel hulpmiddel gebleken voor het verkennen van de gegevens en het extraheren van relevante immuunprogramma's. Elk tijdstip en elke patiëntcombinatie wordt behandeld als een onafhankelijk monster in de MOFA-analyse. Elk gegevenstype en celtype wordt beschouwd als een afzonderlijke weergave in de MOFA-analyse.
Dit protocol biedt instructies voor het voorbereiden van de invoergegevens voor de workflow, het uitvoeren van de verschillende workflowstappen, het aanpassen van configuraties, het interpreteren van de resulterende cijfers en het iteratief aanpassen van de configuraties op basis van de interpretaties. Een overzicht van de verschillende stappen van het protocol, de vereiste invoerdatasets bij elke stap en de daaruit voortvloeiende figuren en datasets wordt gegeven door het technische workflowoverzicht (Figuur 2).

Figuur 2: Overzicht van de technische workflow. Overzicht van de workflow voor de analyse van de multi-omics dataset. De verschillende elementen worden gemarkeerd door verschillende kleuren en symbolen. Jupyter-notebooks die behoren tot de stap Gegevensvoorverwerking en -harmonisatie (1) zijn blauw gekleurd. Jupyter Notebooks die behoren tot de stap 'MOFA Model' (2) zijn oranje gekleurd. Jupyter Notebooks die behoren tot de stap 'Downstream Analysis' (3) zijn groen gekleurd. Een Jupyter Notebook die moet worden gebruikt voor het vergelijken van de resultaten is geel gekleurd. Configuratiebestanden waarin parameters voor de uitvoering van de workflow kunnen worden gewijzigd, zijn paars gemarkeerd. Invoergegevenssets die nodig zijn om de werkstroom uit te voeren, worden aangegeven met het symbool van de gegevensset en grijs gemarkeerd. Alle cijferuitvoer die tijdens de uitvoering van de werkstroom wordt gegenereerd, wordt aangegeven met het vergrootglassymbool. Gegevenssets die tijdens de uitvoering van de werkstroom worden gegenereerd, worden aangeduid als tabellen. Over het algemeen wordt de workflow sequentieel uitgevoerd: (1) Gegevensvoorverwerking en -harmonisatie bestaat uit twee stappen: eerst wordt een pseudobulktabel gegenereerd op basis van de scRNA-seq-invoergegevens (01_Prepare_Pseudobulk) en vervolgens wordt deze gegevens geïntegreerd en genormaliseerd samen met alle andere (bulk)invoer op steekproefniveau (02_Integrate_and_Normalize_Data). Binnen deze stap via de configuratiebestanden is het mogelijk om voor elke dataset afzonderlijk te configureren welke van de aangegeven voorbewerkings- en normalisatiestappen (bijv. Sample Filter) moet worden toegepast. (2) 'MOFA-model': voert het MOFA-model uit op de gegenereerde input van de eerste stap met de configuraties die zijn gespecificeerd in het configuratiebestand (03_MOFA_configs.csv) (3) 'Downstream-analyse': bestaat uit drie verschillende notebooks die onafhankelijk van elkaar kunnen worden uitgevoerd om inzichten te genereren in de gegenereerde MOFA-resultaten en deze te koppelen aan steekproefmetagegevens (covariaten) die als invoer worden verstrekt via het 'Sample Meta Data.csv'-bestand. (4) 'Modelvergelijking': is een kleine afzonderlijke stap die kan worden gebruikt om verschillende modellen te vergelijken die in stap 2 zijn gegenereerd. Klik hier om een grotere versie van deze figuur te bekijken.
De werkstroom bestaat uit verschillende Jupyter-notebooks die zijn geschreven in R en Python (kennis van de R- en Python-taal is niet vereist om de werkstroom uit te voeren, maar kan nuttig zijn voor het geval er fouten optreden). In verschillende stappen van het protocol worden parameters gewijzigd via configuratiebestanden ('.csv'-bestanden met het achtervoegsel '_Configs' in de naam). Binnen het protocol schetsen we alleen de parameters die moeten worden gewijzigd vanaf de standaardconfiguratie.
Verschillende andere parameters kunnen ook worden gewijzigd, bijvoorbeeld om de voorbewerking aan te passen. Een documentatie van deze parameters en uitleg wordt gegeven in het bestand 'Documentation_Config_Parameter', dat is opgenomen in de gedownloade repository.