Article de méthode

Application de l’analyse multifactorielle multi-omique non supervisée pour découvrir les modèles de variation et les processus moléculaires liés aux maladies cardiovasculaires

DOI :

10.3791/66659

20 septembre 2024

Dans cet article

Résumé

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

Nous présentons un flux de travail flexible et extensible basé sur Jupyter-lab pour l’analyse non supervisée d’ensembles de données multi-omiques complexes qui combine différentes étapes de prétraitement, l’estimation du modèle d’analyse factorielle multi-omique et plusieurs analyses en aval.

Résumé

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

Les mécanismes de la maladie sont généralement complexes et régis par l’interaction de plusieurs processus moléculaires distincts. Les ensembles de données complexes et multidimensionnels sont une ressource précieuse pour générer davantage d’informations sur ces processus, mais l’analyse de ces ensembles de données peut être difficile en raison de la grande dimensionnalité résultant, par exemple, de différentes conditions de maladie, de points temporels et de données omiques capturant le processus à différentes résolutions.

Ici, nous présentons une approche permettant d’analyser et d’explorer un ensemble de données multiomiques aussi complexe de manière non supervisée en appliquant l’analyse factorielle multi-omique (MOFA) à un ensemble de données généré à partir d’échantillons de sang qui capturent la réponse immunitaire dans les syndromes coronariens aigus et chroniques. L’ensemble de données se compose de plusieurs tests à différentes résolutions, y compris des données sur les cytokines au niveau de l’échantillon, la protéomique plasmatique et le premier-seq des neutrophiles, et les données de séquençage de l’ARN sur cellule unique (scRNA-seq). À cela s’ajoute la nécessité de mesurer plusieurs points temporels différents par patient et plusieurs sous-groupes de patients.

Le flux de travail d’analyse décrit comment intégrer et analyser les données en plusieurs étapes : (1) Prétraitement et harmonisation des données, (2) Estimation du modèle MOFA, (3) Analyse en aval. L’étape 1 décrit comment traiter les caractéristiques des différents types de données, filtrer les caractéristiques de faible qualité et les normaliser afin d’harmoniser leurs distributions pour une analyse plus approfondie. L’étape 2 montre comment appliquer le modèle MOFA et explorer les principales sources de variance au sein de l’ensemble de données pour toutes les caractéristiques omiques. L’étape 3 présente plusieurs stratégies pour l’analyse en aval des motifs capturés, en les reliant aux conditions de la maladie et aux processus moléculaires potentiels régissant ces conditions.

Dans l’ensemble, nous présentons un flux de travail pour l’exploration non supervisée de données multi-omiques complexes afin de permettre l’identification des principaux axes de variation composés de différentes caractéristiques moléculaires qui peuvent également être appliquées à d’autres contextes et ensembles de données multi-omiques (y compris d’autres tests présentés dans le cas d’utilisation exemplaire).

Introduction

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

Les mécanismes de la maladie sont généralement complexes et régis par l’interaction de plusieurs processus moléculaires distincts. Déchiffrer les mécanismes moléculaires complexes qui conduisent à des maladies spécifiques ou régissent l’évolution d’une maladie est une tâche d’une grande pertinence médicale car elle pourrait révéler de nouvelles perspectives pour la compréhension et le traitement des maladies.

Les progrès technologiques récents permettent de mesurer ces processus à une résolution plus élevée (par exemple, au niveau de la cellule unique) et à diverses couches biologiques (par exemple, l’ADN, l’ARNm, l’accessibilité de la chromatine, la méthylation de l’ADN, la protéomique) en même temps. Cela conduit à la génération croissante de grands ensembles de données biologiques multidimensionnelles, qui peuvent être analysés conjointement pour générer plus d’informations sur les processus sous-jacents. Dans le même temps, la combinaison et l’analyse des différentes sources de données d’une manière biologiquement significative restent une tâche difficile1.

Les différentes limites technologiques, les bruits et les plages de variabilité entre les différentes chambres omiques posent un défi. Par exemple, les données de séquençage de l’ARN sur cellule unique (scRNA-seq) sont très rares et souvent influencées par des effets techniques ou de lots importants. De plus, l’espace des caractéristiques est souvent très grand, couvrant plusieurs milliers de gènes ou de protéines mesurés, tandis que la taille des échantillons est limitée. Cela est encore compliqué par des conceptions complexes, qui peuvent inclure plusieurs maladies, facteurs de confusion, points temporels et résolutions. Par exemple, dans le cas d’utilisation présenté, différents types de données étaient disponibles au niveau de la cellule unique ou de l’échantillon (en vrac). En outre, les données peuvent être incomplètes et toutes les mesures peuvent ne pas être disponibles pour tous les sujets analysés.

En raison de ces défis, les différentes omiques et les caractéristiques incluses sont encore souvent analysées uniquement séparément2, même si la réalisation d’une analyse intégrée peut non seulement fournir une image complète du processus, mais les bruits biologiques et techniques d’une omique peuvent également être compensés par d’autres omiques 3,4. Plusieurs méthodes différentes ont été proposées pour effectuer une analyse intégrée de données multi-omiques, notamment les méthodes bayésiennes, les méthodes basées sur le réseau 5,6, l’apprentissage profond multimodal7 et les méthodes de réduction de la dimensionnalité par factorisation matricielle 8,9. Pour ces derniers, les résultats d’une vaste étude comparative10 ont montré que la méthode MOFA9 (analyse multi-omique factorielle) est l’un des outils les mieux adaptés lorsque les données doivent être liées à des annotations cliniques.

En particulier dans les environnements complexes, les méthodes de factorisation matricielle non supervisée sont une approche utile pour réduire la complexité et extraire des signaux partagés et complémentaires à partir de différentes sources de données et fonctionnalités. En décomposant l’espace complexe en représentations latentes de rang inférieur, les principales sources de variance au sein des données peuvent être rapidement explorées et liées à des covariables connues. Dans le cas où le même modèle de variation est partagé entre plusieurs caractéristiques (par exemple, des gènes ou des protéines), cela peut être agrégé à quelques facteurs tout en réduisant le bruit. La régularisation peut être utilisée pour augmenter la rareté des coefficients du modèle, ce qui rend l’approche bien adaptée aux contextes où l’espace des caractéristiques est grand alors que le nombre d’échantillons est limitéà 9.

Ce protocole présente un flux d’analyse flexible qui utilise le modèle MOFA pour montrer comment explorer rapidement un ensemble de données multi-omiques complexe et distiller les principaux modèles de variation qui caractérisent cet ensemble de données. Le flux de travail se compose de trois étapes principales. Dans un premier temps, le prétraitement et l’harmonisation des données, différentes stratégies de prétraitement des données basées sur différents types de données d’entrée (scRNA-seq, protéomique, cytokine, données cliniques) sont présentées. Le protocole explique comment traiter les caractéristiques des différents ensembles de données d’entrée, filtrer les caractéristiques de faible qualité et les normaliser pour harmoniser leurs distributions. Nous montrons également comment ces décisions de prétraitement peuvent affecter les résultats en aval. Dans la deuxième étape, le modèle MOFA est appliqué aux données, et la décomposition de la variance résultante peut être utilisée pour évaluer l’intégration des différents ensembles de données. La troisième étape montre comment relier les facteurs capturés aux covariables et découvrir les programmes moléculaires qui définissent ces facteurs. Avec le flux de travail présenté, nous avons pu extraire plusieurs facteurs latents liés à des covariables cliniques dans un ensemble de données de patients souffrant de syndromes coronariens et identifier des programmes immunitaires multicellulaires sous-jacents potentiels d’un projet précédent11. Nous utiliserons cet ensemble de données ici, mais le protocole peut facilement être appliqué à d’autres contextes, y compris d’autres omiques.

L’ensemble de données se compose d’échantillons provenant de patients atteints de syndromes coronariens chroniques stables (SCC), de syndromes coronariens aigus (SCA) et d’un groupe témoin atteint de coronaires saines (non-SCC) (Figure 1). Le SCA est causé par une rupture de plaque dans un SCC préexistant, entraînant une perturbation aiguë du flux sanguin vers le myocarde et une lésion ischémique ultérieure du cœur. Cette lésion provoque une réponse inflammatoire du système immunitaire suivie d’une phase réparatrice, qui dure jusqu’à plusieurs jours après l’événement aigu12. Pour pouvoir caractériser cette réponse immunitaire chez les patients atteints de SCA, des échantillons de sang ont été prélevés à quatre moments différents : aiguë (TP1) ; après recanalisation (14 [± 8] h) (TP2) ; 60 [± 12] h plus tard (TP3) ; avant le congé (6,5 [±1,5] jours) (TP4) (figure 1A). Pour la SCC et les patients ayant des coronaires saines, un seul point temporel était disponible (TP0). Pour tous les patients et à tous les points temporels, différents dosages basés sur les échantillons de sang ont été mesurés : marqueurs cliniques de l’inflammation (créatine-kinase (CK), CK-MB, TROPONINE, PROTÉINE C-réactive (CRP)), scRNA-seq des cellules mononucléées du sang périphérique (PBMC), analyse des cytokines, protéomique plasmatique et données prime-seq13 des neutrophiles.

figure-introduction-1
Figure 1 : Ensemble de données d’entrée multi-omiques sur l’infarctus du myocarde. Ensemble de données d’entrée : Les données analysées comprennent des échantillons de sang de patients (n = 62) atteints de syndrome coronarien aigu (SCA), de syndromes coronariens chroniques (SCC) et de patients atteints de coronaires saines (non-SCC). Pour les patients atteints de SCA, des échantillons de sang ont été inclus à quatre moments différents (TP1-4), pour les patients atteints de SCC et les patients non SCC à un seul point temporel (TP0). Chaque combinaison de patient et de point temporel est traitée comme un échantillon distinct dans l’analyse. Différents tests omiques ont été mesurés sur les échantillons : tests sanguins cliniques (n = 125), scRNA-seq (n = 121), plasma-protéomique (n = 119), test de cytokines (n = 127) et neutrophiles prime-seq (n = 121). Par la suite, le protocole décrit a été appliqué pour intégrer les données dans toutes les omiques et les explorer à l’aide du modèle MOFA et d’une analyse en aval plus poussée (analyse factorielle, enrichissement de la voie). Veuillez cliquer ici pour voir une version agrandie de cette figure.

En tant qu’entrée pour le flux de travail présenté ici, nous prenons des comptages bruts à partir des données scRNA-seq après traitement avec cellranger et le contrôle qualité (QC), comme indiqué, par exemple, dans le tutoriel de prétraitement scanpy14 . Pour l’annotation de type cellule, nous avons utilisé le pipeline automatisé Azimuth15 . Les nombres sont ensuite agrégés au niveau de l’échantillon pour chaque type de cellule en prenant la moyenne de toutes les cellules pour chaque échantillon et type de cellule (agrégation pseudo-en bloc). La protéomique plasmatique est incluse en tant qu’intensités normalisées et centrées sur la médiane, et pour les neutrophiles, nous prenons le nombre d’exons de l’identifiant moléculaire unique (UMI) de l’estimateur premier. Sur les cytokines et les valeurs cliniques, aucun prétraitement préalable n’a été appliqué. De plus amples détails sur la génération de données (expérimentales) sont décrits dans le manuscrit correspondant11. Comme les résultats présentés ici sont basés sur l’utilisation de l’annotation azimutale automatisée pour les types de cellules dans les données de séquençage de l’ARNc par rapport à la stratégie basée sur les marqueurs qui a été utilisée dans la publication référencée, les résultats présentés ici sont similaires mais pas exactement les mêmes que ceux présentés dans la publication. Dans le manuscrit, il a été démontré que la stratégie d’annotation de type cellulaire ne modifie pas les principaux modèles et interprétations biologiques de l’analyse, mais que de petits changements dans les valeurs exactes résultant du modèle peuvent varier. Dans l’ensemble, les données d’entrée étaient un ensemble de données multidimensionnelles complexe comprenant différents points temporels et niveaux de mesure (cellules uniques ou en vrac) de plus de 10 000 caractéristiques différentes (gènes, protéines, valeurs cliniques). Une stratégie stricte de prétraitement et d’harmonisation des données, suivie d’une analyse MOFA, s’est avérée être un outil utile et rapide pour explorer les données et extraire le programme immunitaire pertinent. Chaque combinaison de point temporel et de patient est traitée comme un échantillon indépendant dans l’analyse MOFA. Chaque type de données et type de cellule est considéré comme une vue distincte dans l’analyse MOFA.

Ce protocole fournit des instructions pour préparer les données d’entrée pour le flux de travail, exécuter les différentes étapes du flux de travail, personnaliser les configurations, interpréter les figures résultantes et ajuster de manière itérative les configurations en fonction des interprétations. Une vue d’ensemble des différentes étapes du protocole, des ensembles de données d’entrée requis à chaque étape, ainsi que des figures et des ensembles de données qui en résultent est donnée par la vue d’ensemble du flux de travail technique (Figure 2).

figure-introduction-2
Figure 2 : Vue d’ensemble du flux de travail technique. Aperçu du flux de travail pour l’analyse de l’ensemble de données multi-omiques. Les différents éléments sont mis en valeur par des couleurs et des symboles différents. Les notebooks Jupyter appartenant à l’étape Prétraitement et harmonisation des données (1) sont colorés en bleu. Les carnets Jupyter appartenant à l’étape 'MOFA Model' (2) sont colorés en orange. Les notebooks Jupyter appartenant à l’étape 'Analyse aval' (3) sont colorés en vert. Un Jupyter Notebook à utiliser pour la comparaison des résultats est coloré en jaune. Les fichiers de configuration où les paramètres d’exécution du flux de travail peuvent être modifiés sont surlignés en violet. Les jeux de données d’entrée nécessaires à l’exécution du flux de travail sont indiqués par le symbole du jeu de données et mis en surbrillance en gris. Toutes les sorties de figures générées pendant l’exécution du flux de travail sont indiquées par le symbole de la loupe. Les jeux de données générés lors de l’exécution du workflow sont indiqués sous forme de tables. En général, le flux de travail est exécuté de manière séquentielle : (1) Le prétraitement et l’harmonisation des données se composent de deux étapes : la première génération d’une table pseudo-bulk basée sur les données d’entrée scRNA-seq (01_Prepare_Pseudobulk) et l’intégration et la normalisation ultérieures de ces données avec toutes les autres entrées au niveau de l’échantillon (en vrac) (02_Integrate_and_Normalize_Data). Dans le cadre de cette étape, via les fichiers de configuration, il est possible de configurer séparément pour chaque ensemble de données les étapes de prétraitement et de normalisation indiquées (par exemple, le filtre d’échantillonnage) à appliquer. (2) « Modèle MOFA » : exécute le modèle MOFA sur l’entrée générée de la première étape avec les configurations spécifiées dans le fichier de configuration (03_MOFA_configs.csv) (3) « Analyse en aval » : se compose de trois blocs-notes différents qui peuvent être exécutés indépendamment les uns des autres pour générer des informations sur les résultats MOFA générés et les associer à des exemples de métadonnées (covariables) fournies en entrée via le fichier « Exemple de méta-Data.csv ». (4) « Comparaison de modèles » : il s’agit d’une petite étape distincte qui peut être utilisée pour comparer différents modèles générés à l’étape 2. Veuillez cliquer ici pour voir une version agrandie de cette figure.

Le flux de travail se compose de plusieurs blocs-notes Jupyter écrits en R et Python (la connaissance des langages R et Python n’est pas requise pour exécuter le flux de travail, mais peut être utile en cas d’apparition d’erreurs). Dans les différentes étapes du protocole, les paramètres sont modifiés via des fichiers de configuration (fichiers '.csv' contenant le postfix '_Configs' dans le nom). Dans le protocole, nous ne décrivons que les paramètres qui doivent être modifiés à partir de la configuration par défaut.

Plusieurs autres paramètres peuvent également être modifiés, par exemple pour personnaliser le pré-traitement. Une documentation de ces paramètres et des explications est donnée dans le fichier 'Documentation_Config_Parameter', qui est inclus dans le référentiel téléchargé.

Protocole

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

1. Préparatifs : Configuration technique et installation

REMARQUE : Pour exécuter ce programme, ayez wget, git et Apptainer préinstallés sur l’appareil. Un guide pour l’installation d’Apptainer sur différents systèmes (Linux, Windows, Mac) est donné ici : https://apptainer.org/docs/admin/main/installation.html. Les informations d’installation sur git peuvent être trouvées ici : https://git-scm.com/book/en/v2/Getting-Started-Installing-Git. En fonction de la taille des différents jeux de données d’entrée, il est recommandé d’exécuter le flux de travail sur une machine appropriée (16 CPU, 64 Go de mémoire). Un test de fumée avec les données d’exemple fournies peut être exécuté sur la machine locale. Les instructions et les résultats attendus de l’exécution du protocole sur les données d’exemple sont donnés dans le fichier supplémentaire 1. Reportez-vous au fichier vidéo supplémentaire 1 pour les étapes importantes du protocole qui sont exécutées sur l’ensemble de données décrit ci-dessus.

  1. Ouvrez la console et choisissez ou créez un dossier dans lequel tout le code d’analyse et les sorties seront stockés. Accédez au dossier en tapant la commande : cd path_to_folder dans le terminal.
  2. Téléchargez ou clonez le dépôt de code à partir de Github (https://github.com/heiniglab/mofa_workflow) ou en tapant git clone https://github.com/heiniglab/mofa_workflow.git dans la fenêtre du terminal.
  3. Téléchargez l’image qui contient toutes les installations requises de Zenodo en tapant wget https://zenodo.org/records/11192947/files/mofa_image.sif dans la fenêtre du terminal.
  4. Générez un dossier dans lequel toutes les données de résultat seront stockées en tapant mkdir results dans la fenêtre du terminal.
  5. Générez un dossier dans lequel toutes les données d’entrée à utiliser dans l’analyse seront ajoutées en tapant mkdir input_data dans la fenêtre du terminal.
  6. Exécutez le conteneur qui démarrera une session JupyterLab en tapant la commande suivante dans le terminal : apptainer run mofa_image.sif. Copiez l’URL renvoyée par la commande dans le navigateur, ce qui ouvrira une session Jupyter-lab (plus d’informations sur Jupyter-lab peuvent être trouvées dans la documentation du logiciel16).
    REMARQUE : Lorsque le flux de travail est exécuté localement sur un ordinateur portable, il est recommandé d’utiliser la commande apptainer exec mofa_image.sif jupyter-lab à la place, qui renverra directement une adresse d’hôte locale. Dans le cas où le conteneur est exécuté dans un environnement informatique en cluster, il peut être nécessaire de configurer la redirection de port, qui peut être effectuée via ssh.

2. Initialisation et préparation des données

  1. Dans la session Jupyter-Lab, utilisez le menu de navigation sur le côté gauche. Accédez au dossier input_data en double-cliquant sur input_data.
  2. Copiez tous les jeux de données qui seront utilisés comme entrée pour l’analyse dans le répertoire input_data à l’aide du glisser-déposer. Faites glisser le fichier à partir du dossier où il se trouve actuellement et déposez-le dans la session Jupyter-lab dans la zone située sous le dossier input_data.
    REMARQUE : Tous les ensembles de données doivent être au format .csv ou .h5ad (dans le cas de données à cellule unique). Tous les fichiers .csv doivent contenir une colonne sample_id correspondante (des ID identiques doivent être utilisés dans tous les ensembles de données). Toutes les autres colonnes seront utilisées comme fonctionnalités. Dans le fichier h5ad-, l’annotation de cellule doit contenir deux identificateurs spécifiant le sample_id et le cluster_id. Ceux-ci seront utilisés pour l’agrégation et la correspondance. Les jeux de données omiques dans d’autres formats doivent être convertis au format .csv spécifié avant d’être utilisés (Figure 3). Les ensembles de données scRNA-seq donnés au format .h5seurat peuvent être convertis en .h5ad en exécutant le Jupyter-notebook : 00_Data_Conversion.ipynb.
  3. Accédez au dossier configurations en cliquant sur le symbole du dossier , puis en double-cliquant sur les dossiers mofa_workflow, scripts et configurations. Dans le dossier, ouvrez le fichier Data_configs.csv en double-cliquant dessus.
  4. Dans la colonne valeur , ajoutez les chemins d’accès aux dossiers des dossiers input_data (data_path) et results (result_path). Ajoutez un nom qui sera ajouté en tant qu’extension de fichier à tous les fichiers enregistrés dans la colonne de valeur du configuration_name (ce protocole utilisé MI_v1 [Infarctus du myocarde version1]) (Figure 4).
  5. Enregistrez les modifications en cliquant sur Fichier > Enregistrer le fichier CSV dans le menu en haut.
  6. Utilisez le menu de navigation sur le côté gauche pour accéder au dossier scripts en cliquant sur scripts. Ouvrez le notebook d’initialisation en double-cliquant sur 00_Configuration_Update.ipynb. Exécutez le script en cliquant sur le bouton Redémarrer le noyau et exécuter toutes les cellules en haut, puis en cliquant sur Redémarrer dans la fenêtre contextuelle (Figure 5).

figure-protocol-1
Figure 3 : Saisie et configuration des données. Pour l’exécution du flux de travail, toutes les données doivent être stockées dans un dossier input_data spécifié. Pour chaque jeu de données d’entrée, un fichier distinct doit être fourni. Les données à cellule unique doivent être fournies sous forme de .h5ad contenant l’annotation de cellule sur le cluster_id (résultant, par exemple, des étapes précédentes d’annotation de type de cellule) et une colonne sample_id (identifiant de manière unique chaque échantillon distinct qui doit être analysé). Tous les autres ensembles de données d’entrée doivent être présentés au format « .csv », y compris une colonne spécifiant les sample_id (correspondant à la colonne correspondante des données à cellule unique) et les caractéristiques à utiliser dans l’analyse MOFA dans toutes les autres colonnes. Veuillez cliquer ici pour voir une version agrandie de cette figure.

figure-protocol-2
Figure 4 : Fichiers de configuration de Jupyter-lab. Lors de l’exécution du flux de travail, les modifications des paramètres (par exemple, l’ajustement des options de filtrage, etc.) sont spécifiées via des fichiers de configuration .csv. Dans le référentiel cloné, les fichiers de configuration par défaut pour chaque étape sont inclus. Ils peuvent être modifiés directement dans la console jupyter-lab, de la même manière que dans une feuille de calcul. Veuillez cliquer ici pour voir une version agrandie de cette figure.

figure-protocol-3
Figure 5 : Scripts Jupyter-notebooks. Le flux de travail complet se compose d’une série de notebooks Jupyter qui seront exécutés séquentiellement une fois que les fichiers de configuration correspondants auront été modifiés. En double-cliquant sur le carnet Jupyter sur le côté gauche, le fichier correspondant s’ouvrira sur le côté droit. L’exécution complète du fichier peut être lancée à l’aide du bouton mis en évidence en haut. Veuillez cliquer ici pour voir une version agrandie de cette figure.

3. Prétraitement et harmonisation des données

  1. Prétraitement - Convertissez les données sc en pseudobulk.
    REMARQUE : Cette étape ne doit être exécutée que si des données à cellule unique sont utilisées dans l’analyse.
    1. Utilisez le menu de navigation sur le côté gauche pour accéder au dossier configurations en double-cliquant sur configuration. Ouvrez le fichier 01_Preprocessing_SC_Data.csv en double-cliquant. Vérifiez les valeurs renseignées automatiquement dans le fichier et, si nécessaire, ajustez les valeurs de la colonne data_name pour qu’elles correspondent aux noms de fichiers des jeux de données à cellule unique dans le dossier input_data qui sera utilisé pour l’analyse.
      REMARQUE : Par défaut, tous les noms des fichiers .h5ad dans le dossier de données d’entrée seront ajoutés au fichier de configuration dans le script d’initialisation. Si certains ensembles de données ne doivent pas être utilisés pour l’analyse, ils peuvent être supprimés ici.
    2. Enregistrer les modifications apportées en cliquant sur Fichier > Enregistrer le fichier CSV dans le menu en haut.
    3. Utilisez le menu de navigation sur le côté gauche pour accéder au dossier scripts en cliquant sur scripts. Ouvrez le bloc-notes 01_Prepare_Pseudobulk.ipynb en double-cliquant dessus. Exécutez le script en cliquant sur le bouton Redémarrer le noyau et exécuter toutes les cellules en haut, puis en cliquant sur Redémarrer dans la fenêtre contextuelle.
    4. Utilisez le menu de navigation sur le côté gauche pour accéder au dossier figures en double-cliquant d’abord sur les figures , puis sur 01_figures. Ouvrez le FIG01_Amount_of_Cells_overview de tracé nouvellement généré en double-cliquant dessus.
      REMARQUE : L’exécution du bloc-notes peut prendre plusieurs minutes.  Lorsque le bloc-notes a été exécuté avec succès, une fenêtre contextuelle s’affiche et le FIG01_Amount_of_Cells_Overview de fichiers est soit mis à jour par le carnet, soit généré à nouveau. La colonne Dernière modification peut indiquer quand le fichier a été généré afin d’évaluer s’il s’agit d’un nouveau ou d’un ancien fichier.
    5. Examinez le graphique pour identifier les groupes de types cellulaires avec un très faible nombre de cellules par échantillon. Notez les noms de ces cluster_ids pour les exclure dans les étapes suivantes (Figure 6).
    6. Utilisez le menu de navigation sur le côté gauche pour revenir au dossier des configurations en cliquant sur ... puis en double-cliquant sur les configurations. Ouvrez le fichier 02_Preprocessing_Configs_SC.csv en double-cliquant dessus.
    7. Vérifiez les valeurs dans les colonnes configuration_name et data_name et ajustez-les si nécessaire.
      REMARQUE : Dans le script d’initialisation, ces valeurs sont pré-remplies avec tous les noms des fichiers .h5ad dans le dossier de données d’entrée et la valeur configuration_name définie précédemment dans le fichier Data_Configs.csv . Si des fichiers doivent être exclus de l’analyse ou si une autre extension pour les noms de fichiers doit être utilisée, cela peut être ajusté ici.
    8. Ajustez la valeur de la colonne cell_type_exclusion et ajoutez tous les cluster_id qui ont été identifiés à exclure à l’étape précédente, séparés par ', '.
    9. Enregistrez les modifications en cliquant sur Fichier > Enregistrer le fichier CSV dans la barre de navigation en haut.
  2. Prétraitement - Harmonisez et intégrez d’autres sources de données omiques.
    1. Ouvrez le fichier 02_Preprocessing_Configs.csv en double-cliquant dessus et ajustez la configuration de prétraitement pour chacun des jeux de données qui seront inclus et qui sont stockés dans le dossier data_input (une ligne par jeu de données).
    2. Vérifiez les valeurs dans les colonnes configuration_name et data_name et ajustez-les si nécessaire.
    3. Ajustez les autres paramètres des colonnes en conséquence, en fonction des étapes de prétraitement à appliquer.
      REMARQUE : Des valeurs par défaut sont ajoutées pour chaque ensemble de données qui se trouve dans le dossier input_dataset, mais ne sont pas spécifiques aux types de données uniques des données. Par conséquent, des ajustements seront nécessaires. Une documentation détaillée des paramètres est fournie dans le fichier Documentation_Config_Parameter.doc .
    4. Enregistrez les modifications en cliquant sur Fichier > Enregistrer le fichier CSV.
    5. Utilisez le menu de navigation sur le côté gauche pour accéder au dossier scripts en cliquant sur scripts. Ouvrez le notebook 02_Integrate_and_Normalized_Data_Sources.ipynb en double-cliquant dessus. Exécutez le script en cliquant sur le bouton Redémarrer le noyau et exécuter toutes les cellules en haut, puis en cliquant sur Redémarrer dans la fenêtre contextuelle.
    6. Utilisez le menu de navigation sur le côté gauche pour accéder au dossier 02_results généré en cliquant sur le symbole du dossier , puis en double-cliquant sur les résultats et 02_results. Vérifiez s’il inclut le fichier 02_Combined_data_'configuration_name'_Integrated.csv contenant le fichier d’entrée de données prétraité combiné.

figure-protocol-4
Figure 6 : Prétraitement et harmonisation des données. L’une des sorties de l’étape '01_Prepare_Pseudobulk' est le tracé 'Fig01_Amount_of_Cells_Overview'. Ici, pour chaque cluster_id (axe des y indiquant le type de cellule des étapes d’annotation de type de cellule précédentes), le nombre de cellules par échantillon ('sample_id') est indiqué. Dans les résultats présentés, les types de cellules avec un faible nombre de cellules par échantillon sont exclus de l’analyse ultérieure (indiquée par le barré). Veuillez cliquer ici pour voir une version agrandie de cette figure.

4. Exécution de MOFA

  1. Dans Jupyter-Lab, utilisez le menu de navigation sur le côté gauche pour accéder au dossier des configurations en cliquant sur le symbole du dossier , puis en double-cliquant sur mofa_workflow, puis en double-cliquant sur les scripts et les configurations. Ouvrez le fichier 03_MOFA_Configs.csv en double-cliquant dessus.
  2. Vérifiez les entrées des colonnes configuration_name et mofa_result_name et ajustez les entrées si d’autres noms doivent être utilisés.
    REMARQUE : Le mofa_result_name sera ajouté en tant qu’extension de fichier à tous les fichiers de résultats générés sur la base du MOFA. Cela peut être différent de la valeur configuration_name , car différentes configurations MOFA peuvent être exécutées avec les mêmes données d’entrée (ce protocole utilise MI_v1_MOFA).
  3. Entrez le nombre de facteurs qui doivent être estimés dans le modèle MOFA (colonne amount_of_factors ) et définissez si la pondération et la mise à l’échelle doivent être appliquées (colonnes weighting_of_views et scale_views ) en ajustant les valeurs dans le fichier.
  4. Enregistrez les modifications en cliquant sur Fichier > Enregistrer le fichier CSV.
  5. Utilisez le menu de navigation sur le côté gauche pour accéder au dossier scripts en cliquant sur 'scripts'. Ouvrez le notebook 03_Run_MOFA.ipynb en double-cliquant sur le fichier. Exécutez le script en cliquant sur le bouton Redémarrer le noyau et exécuter toutes les cellules en haut et en cliquant sur Redémarrer dans la fenêtre contextuelle.
  6. Naviguez jusqu’au dossier 03_figures en double-cliquant sur les chiffres , puis 03_figures. Ouvrez le tracé généré FIG03_Overview_Variance_Decomposition_'mofa_result_name et examinez le résultat du modèle (Figure 7A).
  7. Utilisez le menu de navigation sur le côté gauche pour accéder au dossier 03_results généré en cliquant sur le symbole du dossier , puis en double-cliquant sur les résultats et 03_results. Vérifiez s’il inclut le fichier de valeur de facteur d’échantillonnage 03_Factor_Data_'mofa_result_name'.csv et le fichier de pondération de facteur de caractéristique 03_Weight_Data_'mofa_result_name'.csv.

5. Analyse en aval

  1. Interprétation des facteurs.
    1. Utilisez le menu de navigation sur le côté gauche pour accéder au dossier input_data en cliquant sur le symbole du dossier , puis en double-cliquant sur input_data.
    2. Préparez un fichier .csv (Prepared_Sample_Meta_Data.csv) qui contient toutes les métadonnées (covariables) des échantillons qui seront analysés en association avec les facteurs générés. Copiez le fichier dans le dossier input_data à l’aide du glisser-déposer , en déposant le fichier dans la vue d’ensemble des dossiers du dossier input_data .
      REMARQUE : Il doit contenir la colonne sample_id pour le faire correspondre aux données précédemment utilisées et des colonnes supplémentaires pour chaque caractéristique qui doit être analysée.
    3. Dans Jupyter-Lab, utilisez le menu de navigation sur la gauche pour revenir au dossier des configurations en cliquant sur le symbole du dossier , puis en double-cliquant sur mofa_workflow, puis sur scripts et configuration. Ouvrez le fichier 04_Factor_Analysis.csv en double-cliquant dessus.
    4. Vérifiez que les entrées du configuration_name et du mofa_result_name contiennent les noms des résultats de configuration et de MOFA qui seront analysés dans le script et ajustez-les si nécessaire.
    5. Dans la colonne numeric_covariates , ajoutez le nom de toutes les colonnes numériques du fichier Prepared_Sample_Meta_Data.csv qui seront examinées par rapport aux facteurs MOFA séparés par une virgule (ce protocole utilise CRP,CK).
    6. Dans la colonne categorical_covariates', ajoutez le nom de toutes les colonnes catégorielles du fichier Prepared_Sample_Meta_Data.csv qui seront examinées par rapport aux facteurs MOFA séparés par une virgule (Ce protocole utilise la mesure).
    7. Enregistrez les modifications en cliquant sur Fichier > Enregistrer le fichier CSV.
    8. Utilisez le menu de navigation à gauche pour accéder au dossier 'scripts' en cliquant sur scripts. Ouvrez le bloc-notes 04_Downstream_Factor_Analysis.ipynb en double-cliquant dessus. Exécutez le script en cliquant sur le bouton Redémarrer le noyau et exécuter toutes les cellules en haut et en cliquant sur redémarrer dans la fenêtre contextuelle.
    9. Utilisez le menu de navigation de gauche pour accéder au dossier 04_figures en double-cliquant sur les chiffres , puis en 04_figures. Ouvrez les graphiques générés en double-cliquant dessus et recherchez les facteurs pour trouver des motifs et des associations intéressants : FIG04_Factor_Association_with_numeric_features_
      'mofa_result_name.pdf (figure 7B). FIG04_Factor_Association_
      with_categorical_features_'mofa_result_name.pdf (figure 7C). FIG04_Top_Feature_Overview_per_Factor _'mofa_result_name.pdf (figure 8A).
  2. Analyse des caractéristiques
    1. Utilisez le menu de navigation à gauche pour revenir au dossier des configurations en cliquant sur ... puis en double-cliquant sur les configurations. Ouvrez le fichier 05_Feature_Analysis_Configs.csv en double-cliquant dessus.
    2. Vérifiez que les entrées des colonnes configuration_name et mofa_result_name correspondent aux noms de la configuration et du résultat MOFA généré qui seront utilisés pour l’analyse en aval et ajustez-les si nécessaire.
    3. Dans la colonne facteur , ajoutez le facteur pour lequel les principales caractéristiques seront tracées dans le script suivant.
    4. Dans la colonne faceting_variable, ajoutez le nom d’une colonne catégorielle dans le Prepared_Sample_Meta_Data.csv qui sera utilisée pour regrouper les échantillons dans le graphique (Ce protocole utilise la mesure)
    5. Enregistrez les modifications en cliquant sur Fichier > Enregistrer le fichier CSV.
    6. Utilisez le menu de navigation de gauche pour accéder au dossier scripts en cliquant sur scripts. Ouvrez le bloc-notes 05_Downstream_Investigate_Features_Heatmap.ipynb en double-cliquant dessus. Exécutez le script en cliquant sur le bouton Redémarrer le noyau et exécuter toutes les cellules en haut, puis en cliquant sur Redémarrer dans la fenêtre contextuelle.
    7. Utilisez le menu de navigation de gauche pour accéder au dossier 05_figures en double-cliquant d’abord sur les figures , puis sur 05_figures. Ouvrez et examinez le graphique généré FIG05_Heatmap_Feature_Overview__ 'mofa_result_name.pdf en double-cliquant sur le fichier (Figure 8B).
      REMARQUE : En fonction du nombre de fonctionnalités qui seront affichées dans le graphique, il peut être nécessaire d’ajuster les paramètres plot_width et plot_height dans le 05_Feature_Analysis_Configs.csv et de réexécuter le script pour s’assurer que tout rentre dans le graphique.
  3. Analyse des parcours
    1. Utilisez le menu de navigation sur le côté gauche pour accéder au dossier input_data en cliquant sur le symbole du dossier , puis en double-cliquant sur input_data.
    2. Préparez un fichier .csv (Prepared_Pathway_Data.csv) qui contient une liste de chemins qui seront testés pour l’enrichissement. Copiez le fichier dans le dossier input_data à l’aide du glisser-déposer, en déposant le fichier dans la vue d’ensemble des dossiers du dossier input_data.
      REMARQUE : Il doit contenir trois colonnes : ID (un identifiant unique de la voie), gène (les gènes donnés par leur nom de gène (SYMBOL) appartenant à la voie, une ligne par gène), pathway_name (un nom/une description textuelle des voies).
    3. Dans la session Jupyter-Lab, utilisez le menu de navigation à gauche pour naviguer jusqu’au dossier des configurations en cliquant sur ... puis en double-cliquant sur les configurations. Ouvrez le fichier 06_Pathway_Configs.csv en double-cliquant dessus.
    4. Vérifiez l’entrée de la colonne mofa_result_name et assurez-vous qu’elle correspond au nom du résultat MOFA généré qui sera utilisé pour le calcul de l’enrichissement du parcours.
    5. Vérifiez l’entrée dans la colonne types et supprimez les entrées de la colonne types qui ne contiennent pas de caractéristiques correspondant à la colonne gène dans le fichier Prepared_Pathway_Data.csv .
      REMARQUE : Par défaut, toutes les différentes vues qui ont été utilisées dans le modèle MOFA sont ajoutées à ce fichier lors de l’exécution du flux de travail. S’il existe des vues qui ne contiennent pas de caractéristiques correspondant à au moins un parcours, elles doivent être supprimées ; Sinon, l’exécution échouera. Par exemple, le fichier de chemin ne contient que des annotations de chemin pour les gènes, mais il existe une vue contenant des noms de protéines.
    6. Enregistrez les modifications en cliquant sur Fichier > Enregistrer le fichier CSV.
    7. Utilisez le menu de navigation pour accéder au dossier scripts en cliquant sur scripts. Ouvrez le bloc-notes 06_Downstream_Pathways.ipynb en double-cliquant dessus. Exécutez le script en cliquant sur le bouton Redémarrer le noyau et exécuter toutes les cellules en haut, puis en cliquant sur Redémarrer dans la fenêtre contextuelle.
    8. Utilisez le menu de navigation de gauche pour accéder au dossier 06_figures en double-cliquant d’abord sur les figures , puis en 06_figures. Ouvrez le graphique généré FIG06_Pathways_and_Genes_ 'mofa_result_name en double-cliquant dessus et examinez les chemins visualisés (Figure 8C).
      REMARQUE : La façon dont les chemins visualisés sont sélectionnés peut être configurée via le fichier de configuration. Pour plus de détails, reportez-vous à la documentation des paramètres.
    9. Utilisez le menu de navigation sur le côté gauche pour accéder au dossier 06_results généré en cliquant sur le symbole du dossier , puis en double-cliquant sur les résultats et 06_results. Vérifiez s’il inclut le fichier contenant les parcours enrichis 06_Pathway_enrichment__'mofa_result_name'.

6. Comparaison de différentes configurations et versions (figure supplémentaire 1, figure supplémentaire 2, figure supplémentaire 3, figure supplémentaire 4)

  1. Pour comparer l’effet de l’utilisation de différents paramètres/configurations tout au long du flux de travail, réexécutez les sections 3 à 5, en modifiant les paramètres dans les fichiers de configuration et en utilisant différents identificateurs de configuration_name et de mofa_result_name .
    REMARQUE : Les nouveaux résultats seront stockés avec ces noms pour être utilisés pour comparer différentes exécutions.
  2. Dans Jupyter-Lab, utilisez le menu de navigation sur la gauche pour accéder au dossier des configurations . Ouvrez le fichier 07_Comparison_Configs.csv en double-cliquant dessus.
  3. Dans la colonne mofa_result_name , ajoutez les noms de toutes les exécutions MOFA précédentes qui seront comparées (une ligne par nom/configuration, par exemple, MI_v1_MOFA, MI_v2_MOFA).
  4. Dans la colonne compare_factors , ajoutez les facteurs qui seront comparés entre les modèles. Par défaut, il s’agit de Factor1,Factor2,Factor3. (Figure supplémentaire 2A).
    REMARQUE : Dans ce script, les valeurs de caractéristiques et de facteurs des différents modèles seront comparées en les corrélant. Cela ne fonctionne que pour les modèles basés sur les mêmes échantillons (indiqués par sample_id) et le même ensemble de fonctionnalités. Si les échantillons ou les fonctionnalités ne correspondent pas entre les versions comparées, ils seront exclus de la comparaison.
  5. Enregistrez les modifications en cliquant sur Fichier > Enregistrer le fichier CSV.
  6. Utilisez le menu de gauche pour accéder au dossier scripts en cliquant sur scripts. Ouvrez le bloc-notes 07_Compare_Models.ipynb en double-cliquant dessus. Exécutez le script en cliquant sur le bouton Redémarrer le noyau et exécuter toutes les cellules , puis en cliquant sur Redémarrer dans la fenêtre contextuelle.
  7. Utilisez le menu de gauche pour accéder au dossier 06_figures en double-cliquant d’abord sur les chiffres , puis sur 06_figures. Ouvrez les tracés générés en double-cliquant sur les fichiers pour analyser la similitude des différentes versions :
    FIG07_Variance_Model_Comparison.pdf (Figure supplémentaire 2B)
    FIG07_Factor_Correlations.pdf
    (Figure supplémentaire 2C)
    FIG07_Feature_Correlations.pdf
    (Figure supplémentaire 3C)

7. Extension du flux de travail : ajout d’autres paramètres et configurations

REMARQUE : Outre les paramètres actuellement configurables dans les fichiers de configuration, d’autres ajustements dans le code ou d’autres paramètres peuvent être inclus. Par exemple, le modèle MOFA lui-même offre plusieurs autres paramètres d’entraînement17 qui peuvent être soit modifiés directement dans le code, soit rendus ajustables via les fichiers de configuration. La section suivante du protocole présentera un exemple de la façon de procéder pour des paramètres d’entraînement de modèle MOFA supplémentaires. Pour cette partie, des connaissances en programmation R sont requises.

  1. Dans Jupyter-Lab, utilisez le menu de navigation sur la gauche pour accéder au dossier scripts . Ouvrez le bloc-notes 03_Run_MOFA.ipynb en double-cliquant dessus.
  2. Cliquez sur l’onglet Table des matières sur le côté gauche, puis accédez à la sous-section 4.3 Définir les options d’entraînement MOFA et exécutez l’entraînement du modèle en cliquant dessus. Faites défiler vers le bas pour voir la sortie imprimée du modèle MOFA des paramètres configurables dans l’ordinateur portable.
  3. Dans la boucle R pour du code sous l’en-tête, toutes les données MOFA, le modèle et les options d’entraînement sont définis. Sous la ligne model_opts$num_factors = mofa_configs$amount_of_factors[i], ajoutez une autre ligne avec le code ci-dessous
    model_opts$likelihoods['data_type'] = 'poisson'.
    REMARQUE : Cela modifiera la distribution que le modèle prend en entrée pour la vue spécifiée par le nom data_type pour toutes les exécutions MOFA. Lorsque vous spécifiez poisson pour un type de données, le modèle ne s’exécute que lorsque les caractéristiques de ce type de données sont des entiers (par exemple, le nombre de lectures à partir du séquençage de l’ARN). Pour obtenir plus d’informations sur les données, l’entraînement et les options de modèle MOFA, vous pouvez également consulter les tutoriels et la documentation MOFA17.
  4. Enregistrez les modifications dans le carnet en cliquant sur le bouton Enregistrer en haut.
  5. Pour transférer de nouveaux paramètres via les fichiers de configuration .csv , utilisez la navigation sur le côté gauche pour accéder au dossier des configurations en double-cliquant sur les configurations et ouvrez le fichier 03_MOFA_Configs.csv en double-cliquant.
    1. Ajoutez une nouvelle colonne spécifiant le nom du paramètre, par exemple, number_iterations et entrez une valeur, par exemple, 1000. Enregistrez les modifications en cliquant sur Fichier > Enregistrer le fichier CSV.
    2. Utilisez le menu de navigation pour naviguer dans le dossier scripts en cliquant sur scripts. Ouvrez le bloc-notes 03_Run_Mofa.ipynb en double-cliquant dessus. Cliquez sur l’onglet Table des matières sur le côté gauche, puis accédez à la sous-section 4.3 Définir les options d’entraînement MOFA et exécutez l’entraînement du modèle en cliquant dessus.
    3. Remplacez la ligne train_opts$maxiter = 50000 par train_opts$maxiter = mofa_configs$column_name[i] (lorsque le nom de la colonne ajoutée est number_of_iterations il est train_opts$maxiter = mofa_configs$number_of_iterations[i])).
      REMARQUE : Le fichier de configuration 03_MOFA_Configs.csv dans ce notebook est lu au début du notebook (sous-section : Configurations et paramètres préalables) comme mofa_config data.frame dans la session et, par conséquent, dans cette ligne de code, cet objet et la colonne correspondante nouvellement générée sont référencés. Comme plusieurs configurations peuvent être exécutées en même temps, le i identifie la ligne du data.frame lorsque l’estimation du modèle est exécutée dans une boucle for sur toutes les différentes lignes du fichier .csv . Le principe de lecture dans le fichier de configuration au début du notebook dans la section 'Configurations et paramètres prérequis' est le même pour tous les notebooks, et d’autres modifications peuvent être apportées de cette manière.
    4. Enregistrez les modifications dans le carnet en cliquant sur le bouton Enregistrer .

Résultats

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

Après l’exécution réussie du flux de travail, plusieurs tableaux et figures sont générés, comme l’indique la figure 2. Les figures sont placées dans le dossier /figures (Figure 6, Figure 7, Figure 8, Figure supplémentaire 1, Figure supplémentaire 2, Figure supplémentaire 3, Figure supplémentaire 4) et les tables sont placées dans le dossier /results spécifié.

Si l’exécution du flux de travail échoue, cela peut être principalement dû à des erreurs techniques causées, par exemple, par une mémoire insuffisante (en particulier lors de la première étape où un grand ensemble de données à cellule unique est chargé), à des données mal formatées (par exemple, des colonnes de sample_id non correspondantes entre les ensembles de données) ou à des spécifications incorrectes dans les fichiers de configuration (par exemple, l’exclusion de nombreuses fonctionnalités). Dans ce cas, généralement, un message d’erreur dans le script Jupyter-notebook s’affiche pendant l’exécution et aucun tracé ni aucune donnée ne sont générés. Il est recommandé d’utiliser les fichiers de configuration par défaut tels qu’ils ont été générés lors de l’exécution du script et de ne modifier que des paramètres spécifiques comme décrit dans le protocole.

Une exécution réussie est indiquée par la génération des graphiques et des tables résultants, et chaque étape révélera des informations supplémentaires sur les données et les principaux modèles de variance qui leur sont inhérents. Pourtant, chaque exécution ne produira pas nécessairement des résultats biologiquement utiles et interprétables. Souvent, les données sont caractérisées par des effets techniques importants et des distributions différentes, qui doivent être prises en compte dans l’étape « Prétraitement et harmonisation des données » ou dans le « Modèle MOFA9 » (qui permet également de spécifier différentes distributions pour les types de données d’entrée) afin de pouvoir extraire la variation des données qui reflète les processus biologiques sous-jacents.

Dans le flux de travail présenté, différents ensembles de données multi-omiques peuvent être utilisés comme entrée. Actuellement, le flux de travail accepte le format de fichier populaire .h5ad pour les données à cellule unique et un format de fichier .csv très général pour tous les autres ensembles de données en entrée (Figure 3). Il est courant que différents ensembles de données omiques aient des formats de fichier très différents. Pour ne pas limiter l’exécution du flux de travail à des formats de fichiers spécifiques, .csv est utilisé comme un format très général. Par conséquent, toutes sortes d’ensembles de données omiques différents peuvent être utilisés comme entrée pour le flux de travail, mais doivent être convertis au format .csv correspondant, comme indiqué à la figure 3 , avant d’être utilisés dans ce flux de travail. Cela peut être préparé à l’aide d’une feuille de calcul ou d’un logiciel spécifique aux omiques. Pour prétraiter les différents ensembles de données omiques, plusieurs options sont disponibles dans le flux de travail pour appliquer différentes étapes de prétraitement et de normalisation (par exemple, ajustement de la taille de la bibliothèque, transformation logarithmique, normalisation du quantile d’échantillon) sur les différents ensembles de données d’entrée en configurant le fichier 02_Pre_Processing_Configs.csv et 02_Pre_Processing_Configs_SC.csv (Figure 2). Néanmoins, les options disponibles ici sont principalement basées sur les données d’entrée spécifiques disponibles dans l’ensemble de données présenté ici (scRNA-seq, dosage des cytokines, protéomique, prime-seq). Si d’autres types de données omiques sont utilisés, il peut être nécessaire d’appliquer des étapes de normalisation supplémentaires spécifiques à l’omique conformément aux meilleures pratiques existantes. Dans ce cas, les données peuvent être transmises au flux de travail sous une forme déjà prétraitée et seront intégrées avec les autres ensembles de données sans appliquer d’autres étapes de prétraitement. Dans de nombreux cas, l’application de l’étape de normalisation quantile par caractéristique est utile pour aligner la distribution de tous les types de données sur une distribution normale et rendre l’analyse en aval entre les différentes caractéristiques d’entrée plus comparable et compatible avec la spécification du modèle de bruit gaussien .

Au cours de l’exécution du flux de travail, plusieurs graphiques et sorties sont générés qui prennent en charge le processus d’intégration des données et l’interprétation biologique en aval ultérieure. Pour les données de séquençage de l’ARNsc, le graphique de FIG01_Amount_of_Cells_Overview (figure 6) indique quels types de cellules pourraient inclure trop peu de cellules par échantillon et par type de cellule pour mesurer de manière fiable un signal d’expression génique, tandis que pour les analyses ultérieures, la valeur moyenne sur toutes les cellules d’un type de cellule par échantillon est utilisée comme estimation de l’expression (approche psedobulk). Dans ce cas d’utilisation, nous excluons les types de cellules qui ont moins de trois cellules dans la majorité des échantillons.

Le FIG03_Overview_Variance_Decomposition du graphique de décomposition de la variance (figure 7, figure supplémentaire 1) peut indiquer dans quelle mesure les différentes sources de données s’intègrent bien et dans quelle mesure la variance entre les différentes sources de données est partagée et unique à chaque source de données. Par exemple, le test de différentes stratégies de prétraitement sur le jeu de données utilisé ici montre, par exemple, que la suppression de l’étape de normalisation Quantile au sens des caractéristiques du prétraitement conduit à des facteurs latents plus axés sur des vues de données spécifiques et réduit l’intégration des données protéomiques avec les autres sources de données. Cela se voit dans la réduction de l’écart expliqué (figure supplémentaire 1B). L’exécution du modèle MOFA sans aucun filtrage des caractéristiques ou sans normalisation permet de réduire la variance partagée entre les différentes vues capturées par les facteurs latents (figure supplémentaire 1C). Cela indique que les facteurs latents reflètent principalement des effets techniques spécifiques au type de données. En plus de cela, le modèle MOFA9 lui-même peut également renvoyer des avertissements en cas de données mal prétraitées. La figure supplémentaire 1 illustre un exemple d’un tel avertissement pour les autres configurations de prétraitement MI_v2 et MI_v3 (les exemples spécifiques de fichiers de configuration sont stockés dans le référentiel GitHub cloné dans le dossier config_examples ).

De plus, après avoir exécuté le modèle MOFA, les résultats peuvent être évalués dans plusieurs analyses en aval en associant le facteur à des méta-informations biologiques connues sur les échantillons, ainsi qu’à des covariables techniques et autres covariables confondantes (04_Downstream_Factor_Analysis) pour identifier la cause probable de la variation capturée par les facteurs. Par exemple, si l’un des facteurs des modèles MOFA est fortement associé à l’une des covariables techniques (comme les informations sur les lots), cela pourrait indiquer que ce facteur rend plutôt compte de la variation technique au sein des données plutôt que de la variation biologique.

Pour affiner l’interprétation biologique dans la partie analyse en aval, quelques résultats basés sur l’ensemble de données d’entrée (une interprétation plus affinée peut être trouvée dans la publication originale11) sont décrits ici. Dans un premier temps, nous avons pu observer qu’avec la stratégie de prétraitement appliquée, nous trouvons plusieurs facteurs qui capturent la variance entre plusieurs types de cellules, mais aussi d’autres types de données omiques (Figure 7A). Par exemple, le facteur 2 capture la variance dans les caractéristiques d’entrée clinique et dans plusieurs types de cellules de l’ensemble de données scRNA-seq. En associant les trois premiers facteurs à des covariables cliniques pertinentes telles que « CRP » et « CK » (Figure 7B) et en étudiant les différences de valeurs de facteurs pour les différents sous-groupes de patients : « Contrôle » (y compris CCS et non-CCS) vs « ACS » mesuré aux différents points temporels (TP1-TP4) (Figure 7C), nous constatons également que le Factor2 s’associe significativement à la valeur « CK » et le Factor3 à la valeur « CRP ». Dans le même temps, les échantillons « ACS » aux niveaux TP1 et TP2 (qui reflètent la phase aiguë de la réponse immunitaire à l’infarctus du myocarde (IM)) montrent une augmentation des valeurs de facteur par rapport aux échantillons « témoins » et aux échantillons temporels ultérieurs (TP3/TP4). La CK est un marqueur connu de lésions myocardiques et est généralement caractérisée par des valeurs accrues à TP1/TP2, similaires au modèle capturé par Factor2.

Pour générer des informations sur les processus biologiques qui façonnent le facteur 2, nous évaluons les caractéristiques les plus importantes du facteur en examinant le tableau des pondérations des caractéristiques généré par le modèle (03_Weight_Data.csv). En analysant les 1 % des caractéristiques les plus élevées avec les pondérations absolues les plus élevées sur le facteur, nous trouvons principalement des CD4. MTC et CD14. Les caractéristiques monodérivées sont surreprésentées par rapport à leur nombre total de caractéristiques d’entrée (Figure 8A), ce qui indique que ces types de cellules sont très pertinents dans le processus inflammatoire après l’IM (REMARQUE : dans le cas où aucune normalisation quantile par caractéristique n’a été appliquée lors du prétraitement, différentes distributions des caractéristiques peuvent également affecter ce résultat et l’évaluation doit être effectuée séparément par type de données). Analyse des principales caractéristiques du CD4. Sur le facteur, on retrouve plusieurs gènes intéressants comme EIF3E18 nécessaire à l’activation robuste des lymphocytes T et HMGB119, qui favorise l’expansion et l’activation des lymphocytes T (Figure 8B). Ensuite, nous exécutons l’analyse d’enrichissement des voies en utilisant les voies immunitaires de la base de données REACTOME20 en tant qu’ensemble de voies (Prepared_Pathway_Data.csv). Nous trouvons un enrichissement pour plusieurs voies d’Interleukin, y compris la signalisation d’Interleukin-6. Les niveaux d’expression de plusieurs gènes dans différents types de cellules des données scRNA-seq et les valeurs de cytokines 'IL6' mesurées par le test de cytokines ont contribué à ce résultat (Figure 8C). L’identification de ces modèles partagés entre les types de données met en évidence la valeur ajoutée d’une analyse intégrée. Dans l’ensemble, cette approche peut également identifier plusieurs autres facteurs qui reflètent l’état de la maladie ou associent les résultats du traitement et les programmes immunitaires multicellulaires sous-jacents, comme décrit plus en détail dans la publication correspondante11.

Pour souligner davantage l’avantage des analyses intégrées sur plusieurs omiques, le même flux de travail a également été exécuté, y compris uniquement les données d’entrée protéomiques (figure supplémentaire 4). En analysant les facteurs résultants, nous trouvons, de manière similaire à l’analyse intégrée, un facteur (Factor1) qui est fortement corrélé avec la valeur « CRP ». Ce modèle décrit la principale source de variation au sein des données protéomiques et est également aligné avec une partie de la variation dans les autres ensembles de données telle que capturée par « Factor3 » dans l’analyse intégrée (figure 7C). Cependant, un modèle similaire à celui indiqué par le facteur 2 qui capture l’évolution temporelle de l’inflammation dans l’analyse intégrée ne peut pas être identifié uniquement sur la base de données protéomiques.

Le flux de travail introduit et le modèle MOFA9 lui-même sont hautement personnalisables avec de nombreux paramètres réglables. Par conséquent, il est important de visualiser et de comparer systématiquement les résultats produits par différentes configurations. Pour faciliter cette tâche, le résultat final qui peut être généré par le flux de travail est une comparaison de différentes exécutions nommées du pipeline avec différents paramètres dans le prétraitement et l’estimation du modèle. Par exemple, le modèle MOFA peut être estimé avec différents nombres de facteurs latents (figure supplémentaire 2A) ou les vues avec un nombre inférieur de caractéristiques peuvent être pondérées (figure supplémentaire 3A). La configuration et l’exécution du dernier script du flux de travail « 07_Compare_Models » produisent plusieurs graphiques pour évaluer la similitude entre les différentes exécutions de pipeline. FIG07_Variance_Model_Comparison (Figure supplémentaire 2B, Figure supplémentaire 3B) montre une comparaison de la variance totale expliquée pour chaque vue pour différents cycles. La corrélation des valeurs des facteurs et des pondérations des facteurs de caractéristique entre les différents cycles peut indiquer dans quelle mesure les résultats changent lors de la modification d’un certain paramètre (figure supplémentaire 2C, figure supplémentaire 3C). Dans ce cas, la modification du nombre de facteurs n’entraîne que des modifications mineures des valeurs de facteur estimées et des pondérations des caractéristiques (figure supplémentaire 2C). La modification de la pondération de la vue des données entraîne une variance expliquée beaucoup plus élevée dans les vues avec un nombre inférieur de caractéristiques, par exemple, la vue « clinique » (figure supplémentaire 3B). Néanmoins, les caractéristiques pertinentes des trois premiers facteurs sont toujours fortement corrélées à celles déduites avec la version non pondérée (figure supplémentaire 3C).

Avec la sortie du modèle généré .csv fichiers dans le dossier des résultats (par exemple, les facteurs estimés et les poids des caractéristiques), d’autres analyses individuelles en aval peuvent être effectuées. Tout le code et les fichiers de configuration nécessaires (y compris la documentation) sont disponibles sur GitHub à l’adresse https://github.com/heiniglab/mofa_workflow. L’image de singularité qui a été créée pour permettre une installation facile des packages conda requis pour l’analyse peut être téléchargée à partir de https://doi.org/10.5281/zenodo.10815146. Un petit exemple de jeu de données qui peut être utilisé pour effectuer un test initial du pipeline peut également être téléchargé à partir du même enregistrement zenodo.

figure-results-1
Figure 7 : Analyse des résultats du MOFA. Après l’exécution du modèle MOFA (03_Run_MOFA.ipynb) et l’analyse en aval des valeurs des facteurs (04_Downstream_Factor_Analysis.ipynb), plusieurs graphiques sont générés : (A) FIG03_Overview_Variance_Decomposition : renvoie une visualisation de la variance expliquée des facteurs MOFA estimés dans les différentes vues. Carte thermique (à gauche) : affiche le pourcentage de variance totale d’une vue capturé par un facteur pour chaque vue. Graphique à barres (à droite) : affiche le pourcentage total de variance capturé par tous les facteurs pour chaque vue. (B) FIG04_Factor_Association_Numerical_Features : montre la corrélation de Pearson des valeurs des facteurs avec les covariables d’échantillon numériques choisies, ici : les variables cliniques (CRP, CK). (C) FIG04_Factor_Association_Categorical_Features : montre la différence entre les valeurs des facteurs pour les covariables d’échantillon catégorielles sous la forme d’une boîte à moustaches. Ici, les valeurs des facteurs 1-3 pour chaque point temporel des patients SCA et témoins sont comparées. Veuillez cliquer ici pour voir une version agrandie de cette figure.

figure-results-2
Figure 8 : Analyse des caractéristiques du MOFA. Après l’exécution des analyses en aval (04_Downstream_Factor_Analysis.ipynb, 05_Downstream_Investigate_Features.ipynb), plusieurs graphiques sont générés. Tous les graphiques ici visualisent le facteur MOFA 2 : (A) FIG04_Top_Feature_Overview_per_Factor : La carte thermique (à gauche) affiche pour chaque vue le pourcentage de variance capturé par le facteur sélectionné. Les diagrammes à barres (à droite) indiquent la pertinence des caractéristiques des différentes vues pour le facteur. Sur la gauche, le nombre total de fonctionnalités d’une vue spécifique dans le top 1 % des fonctionnalités les mieux classées parmi les vues sur le facteur est indiqué. Sur la droite, le pourcentage est donné, en divisant le nombre total parmi les 1 % les plus performants par le nombre total de fonctionnalités de cette vue. (B) FIG05_Heatmap_Feature_Overview : La carte thermique (à gauche) affiche pour le meilleur classement 1% des fonctionnalités du CD4. Valeurs d’expression normalisées de chaque échantillon comparant les patients du groupe « Contrôle » (SCC et non-SCC) aux différents points temporels pour les patients SCA. Le graphique à barres (à droite) montre le poids des entités. La direction du signe du poids est indiquée avant à gauche avant les noms des types de cellules : poids du facteur positif '+' ; Poids du facteur négatif. (C) FIG06_Pathway_and_Genes : montre le poids des gènes les mieux classés dans les 25 % du facteur qui appartiennent aux voies enrichies de l’interleukine. Dans la carte thermique en haut, la moyenne est calculée sur toutes les vues, et dans la carte thermique en bas, elle est affichée par vue. Veuillez cliquer ici pour voir une version agrandie de cette figure.

Figure supplémentaire 1 : Effets de l’harmonisation des données. La figure montre FIG03_Overview_Variance_Decomposition pour plusieurs configurations différentes de prétraitement des données : visualisation de la variance expliquée des facteurs MOFA estimés dans les différentes vues. Heatmap (à gauche) : affiche pour chaque vue le pourcentage de variance totale d’une vue qui est capturé par un facteur. Graphique à barres (à droite) : affiche pour chaque vue le pourcentage total de variance capturé par tous les facteurs. (A) La configuration (MI_v1 sur la base de laquelle les résultats biologiques en aval ont été analysés dans les figures précédentes (paramètres définis comme dans les fichiers de configuration par défaut dans le référentiel cloné). (B) La même configuration de prétraitement que dans 'MI_v1' avec la modification qu’aucune normalisation quantile par caractéristique n’est appliquée (paramètres définis comme dans les fichiers de configuration exemplaires dans le dossier 'config_examples' du référentiel). Une capture d’écran de l’avertissement de sortie du modèle MOFA pour cette configuration est ajoutée au graphique ci-dessous. (C) La décomposition de variance résultante lorsqu’aucune étape de prétraitement n’est appliquée et que toutes les données sont utilisées comme entrée sans aucun prétraitement ou filtrage des caractéristiques (paramètres définis comme dans le fichier de configuration exemple dans le dossier 'config_examples' du référentiel). Une capture d’écran de l’avertissement de sortie du modèle MOFA pour cette configuration est ajoutée au graphique ci-dessous. Veuillez cliquer ici pour télécharger ce fichier.

Figure supplémentaire 2 : Configuration MOFA - Effet du montant du facteur. Les chiffres résultants sont générés par le script '07_Compare_Models.ipynb' à l’aide de plusieurs configurations différentes pour exécuter le modèle MOFA. (A) '03_MOFA_configs.csv' : Exemple des différentes configurations utilisées pour exécuter le script '03_Run_MOFA.ipynb' spécifiant plusieurs quantités différentes de facteurs (10,15,20,25). '07_Comparison_configs.csv' : Exemple de spécification du fichier d’entrée de configuration pour l’exécution du script '07_Compare_Models.ipynb'. (B) « FIG07_Variance_Model_Comparison » montrant la variance totale expliquée pour chaque vue (axe des y) pour les différents modèles pour tous les facteurs spécifiés dans le modèle. (C) 'FIG07_Factor_Correlations' montrant la corrélation des valeurs de l’échantillon de facteurs entre les différentes configurations. Veuillez cliquer ici pour télécharger ce fichier.

Figure supplémentaire 3 : Configuration MOFA - Effet des vues de pondération. Les chiffres résultants sont générés par le script '07_Compare_Models.ipynb' à l’aide de plusieurs configurations différentes pour exécuter le modèle MOFA. (A) '03_MOFA_configs.csv' : Exemple des différentes configurations utilisées pour exécuter le script '03_Run_MOFA.ipynb' en spécifiant que le paramètre 'weighting_of_views' soit 'TRUE' (MI_v1_MOFA_weighted) soit 'FALSE' (MI_v1_MOFA). '07_Comparison_configs.csv' : Exemple de spécification du fichier d’entrée de configuration pour l’exécution du script '07_Compare_Models.ipynb'. (B) « FIG07_Variance_Model_Comparison » montrant la variance totale expliquée pour chaque vue (axe des y) pour les différents modèles pour tous les facteurs spécifiés dans le modèle. (C) 'FIG07_Feature_Correlations' montrant la corrélation des pondérations des facteurs de caractéristique entre les différentes configurations. Veuillez cliquer ici pour télécharger ce fichier.

Figure supplémentaire 4 : Effet d’intégration multi-omique - en utilisant uniquement des données protéomiques. Les modèles résultants capturés par les facteurs latents en utilisant uniquement les données protéomiques en entrée. (A) FIG04_Factor_Association_Numerical_Features : corrélation de Pearson des valeurs des facteurs avec les variables cliniques (CRP, CK). (B) FIG04_Factor_Association_Categorical_Features : Comparaison en boîte à moustaches des valeurs factorielles de chaque point temporel des patients SCA et témoins. Veuillez cliquer ici pour télécharger ce fichier.

Dossier supplémentaire 1 : Supplementary_File_
Running_Pipeline_with_Exemplary_Data.
Les descriptions de l’exécution du pipeline sur les données d’exemple et les résultats attendus sont fournies dans un fichier supplémentaire supplémentaire. Veuillez cliquer ici pour télécharger ce fichier.

Fichier vidéo supplémentaire 1 : Vidéo de capture d’écran du protocole. Veuillez cliquer ici pour télécharger ce fichier.

Discussion

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

Avec le protocole décrit, un flux de travail modulaire et extensible basé sur un bloc-notes Jupyter qui peut être utilisé pour explorer rapidement un ensemble de données multi-omiques complexe est présenté. Les principales parties du flux de travail consistent en la partie prétraitement et harmonisation des données (offrant différentes étapes standard pour le filtrage et la normalisation des données), l’estimation du modèle MOFA9 et une analyse en aval exemplaire. L’une des principales étapes critiques consiste à prétraiter, intégrer et harmoniser les différents ensembles de données omiques. Ici, nous présentons une stratégie pour un ensemble de données qui comprend des données scRNA-seq, de l’ARN en vrac prime-seq, un dosage des cytokines, une protéomique plasmatique et des valeurs cliniques, ce qui a abouti à un ensemble de données intégré et harmonisé qui pourrait être utilisé pour identifier les processus biologiques pertinents dans MI11. Si d’autres ensembles de données omiques nécessitent des stratégies de prétraitement des données supplémentaires, celles-ci doivent être exécutées avant l’analyse MOFA. Les données prétraitées peuvent ensuite être utilisées comme entrée dans le flux de travail actuel. Les résultats du modèle peuvent être utilisés pour évaluer la qualité de l’intégration des différents ensembles de données et les effets du prétraitement afin d’identifier les effets techniques potentiels. Par exemple, on pourrait commencer par appliquer seulement un minimum d’étapes de prétraitement et de normalisation, puis évaluer l’effet d’une normalisation supplémentaire. Dans cette application, il a été observé que l’ajout de la « normalisation quantile par caractéristiques » conduit à une meilleure intégration de la protéomique avec les tests restants.

Une autre partie importante du flux de travail est l’estimation du modèle MOFA9 sur des données agrégées au niveau de l’échantillon. D’autres extensions du modèle MOFA existent, telles que
MOFA+21 (spécifiquement pour les données unicellulaires), MEFISTO22 (spécifiquement pour les données incluant une composante temporelle) et MuVI23 (intégrant la connaissance du domaine dans une approche d’analyse factorielle). Il s’agit d’extensions très utiles de la méthode pour des types spécifiques d’ensembles de données ou de paramètres, mais leur application s’accompagne d’exigences spécifiques. Par exemple, l’utilisation de MOFA+21 spécifiquement pour les données à cellule unique dans notre cas signifierait que l’on ne pourrait pas facilement utiliser le niveau d’échantillonnage d’autres données omiques disponibles. L’utilisation de la méthode MEFISTO22 permet de modéliser spécifiquement le cours temporel, mais elle n’est pas applicable dans des contextes où plusieurs points temporels ne sont pas disponibles ou, dans notre cas, pour combiner les échantillons 'Control' qui n’ont que des mesures à un point temporel avec les données résolues en temps des échantillons 'ACS'. Par conséquent, dans ce flux de travail très général, nous choisissons d’utiliser la méthode MOFA9, car c’est la méthode la plus flexible pour explorer rapidement toutes sortes d’ensembles de données sans trop d’exigences. Il convient de noter que les données prétraitées générées dans le flux de travail peuvent également être analysées avec ces méthodes ou que les scripts actuels peuvent être étendus pour intégrer ces méthodes si l’ensemble de données est compatible avec les exigences des méthodes. Pour obtenir des cas d’utilisation, des tutoriels et de la documentation supplémentaires, reportez-vous au référentiel GitHub du MOFA developers24.

Par rapport à des méthodes de réduction de dimensionnalité encore plus générales comme l’analyse en composantes principales (ACP), le modèle MOFA9 offre plusieurs avantages, en particulier dans le cadre multi-omique. Par exemple, la décomposition de la variance peut être facilement analysée par vue d’entrée et des pondérations peuvent être attribuées à différentes vues pour tenir compte de différents nombres de fonctionnalités. Le modèle encourage la parcimonie, ce qui augmente l’intelligibilité des résultats. De plus, il n’est pas nécessaire d’exclure les échantillons avec des données manquantes dans l’une des omiques, et le modèle implémente certaines fonctionnalités pour se concentrer sur l’apprentissage des pondérations des facteurs de caractéristiques clairsemées. De plus, le modèle MOFA propose plusieurs paramètres pour intégrer des données caractérisées par différentes distributions (modélisation des vraisemblances 'gaussiennes', 'Bernoulli' ou 'Poisson'). Dans ce flux de travail, nous intégrons uniquement des données continues, que nous normalisons pour suivre une distribution « gaussienne », mais le code existant peut également être étendu pour intégrer d’autres types de données si nécessaire. D’autres méthodes basées sur la décomposition existent, telles que scITD25, en particulier pour les données de séquençage de l’ARNsc, mais celles-ci ont la limitation de ne pas être conçues pour fonctionner avec d’autres omiques.

Le flux de travail présenté présente un protocole pour une exploration non supervisée d’ensembles de données multi-omiques vastes et complexes afin d’identifier les processus biologiques potentiels et d’autres caractéristiques qui entraînent des variations au sein des données. Il peut être appliqué dans presque tous les contextes où la variation des données, par exemple causée par une maladie ou d’autres perturbations biologiques ou techniques, doit être étudiée. Les analyses en aval et les ensembles de caractéristiques qui en résultent à l’origine de la variance entre les différentes omiques peuvent révéler des processus biologiques pertinents à étudier plus avant dans un contexte spécifique. Par exemple, dans le contexte d’une maladie, elle pourrait permettre d’identifier de nouveaux marqueurs diagnostiques ou cibles de traitement.

Déclarations de divulgation

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

Les auteurs ne déclarent aucun conflit d’intérêts.

Remerciements

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

C.L. est soutenu par l’Association Helmholtz dans le cadre de l’école de recherche commune « Munich School for Data Science - MUDS ».

Matériaux

Liste des matériaux utilisés dans cet article
NomEntrepriseNuméro de catalogueCommentaires
ApptainerNANAhttps://apptainer.org/docs/admin/main/installation.html
Serveur de calcul ou poste de travail ou cloud  ; (environnement Linux, Mac ou Windows).
En fonction de la taille des différents ensembles de données d’entrée, nous recommandons d’exécuter le flux de travail sur une machine appropriée (dans notre configuration, nous utilisons : 16 CPU, 64 Go de mémoire)
Tout fabricant16 CPU, 64 Go de mémoireUne grande mémoire n’est nécessaire que pour le traitement des données brutes de cellule unique. Après le prétraitement, les étapes d’analyse ultérieures peuvent également être effectuées sur des ordinateurs de bureau ou portables standard
gitNANA https://git-scm.com/book/en/v2/Getting-Started-Installing-Git
GitHubGitHubNA https://github.com/heiniglab/mofa_workflow

Références

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).

Réimpressions et autorisations

Demander l’autorisation de réutiliser le texte ou les figures de cet article JoVE

Demander une autorisation

Mots-clés

Unsupervised Data IntegrationSingle Cell RNA SeqMulti Omics WorkflowImmune Response ProfilingMolecular Process DiscoveryPlasma ProteomicsCytokine Data AnalysisDownstream Factor Analysis

Articles connexes