{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Identifying temporal variation in EvoDevo data with MEFISTO" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This notebook demonstrates how temporal (or spatial) covariates can be used for multimodal data integration to learn smooth latent factors while benefiting from the multimodal `MuData` objects from `muon`.\n", "\n", "Please find more information about this method — *MEFISTO* — [on its website](https://biofam.github.io/MOFA2/MEFISTO) and [in the preprint](https://www.biorxiv.org/content/10.1101/2020.11.03.366674v1) by Britta Velten et al." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "import scanpy as sc\n", "\n", "import muon as mu" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# Set the working directory to the root of the repository\n", "import os\n", "os.chdir(\"../\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Load data\n", "\n", "First we will load the evodevo data containing normalized gene expression data for 5 species (groups) and 5 organs (views) as well as the developmental time information for each sample. The data can be downloaded [from here](https://figshare.com/s/242916198fde3353f3e6)." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "datadir = \"data/evodevo\"" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/usr/local/lib/python3.8/site-packages/numpy/lib/arraysetops.py:583: FutureWarning: elementwise comparison failed; returning scalar instead, but in the future will perform elementwise comparison\n", " mask |= (ar1 == a)\n" ] }, { "data": { "text/html": [ "
\n", " | group | \n", "view | \n", "sample | \n", "feature | \n", "value | \n", "time | \n", "
---|---|---|---|---|---|---|
1 | \n", "Human | \n", "Brain | \n", "10wpc_Human | \n", "ENSG00000000457_Brain | \n", "8.573918 | \n", "7 | \n", "
2 | \n", "Human | \n", "Brain | \n", "10wpc_Human | \n", "ENSG00000001084_Brain | \n", "8.875957 | \n", "7 | \n", "
3 | \n", "Human | \n", "Brain | \n", "10wpc_Human | \n", "ENSG00000001167_Brain | \n", "11.265237 | \n", "7 | \n", "
4 | \n", "Human | \n", "Brain | \n", "10wpc_Human | \n", "ENSG00000001461_Brain | \n", "7.374965 | \n", "7 | \n", "
5 | \n", "Human | \n", "Brain | \n", "10wpc_Human | \n", "ENSG00000001561_Brain | \n", "7.311018 | \n", "7 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
3193836 | \n", "Human | \n", "Testis | \n", "youngMidAge_Human | \n", "ENSG00000271503_Testis | \n", "1.178014 | \n", "21 | \n", "
3193837 | \n", "Human | \n", "Testis | \n", "youngMidAge_Human | \n", "ENSG00000271601_Testis | \n", "1.178014 | \n", "21 | \n", "
3193838 | \n", "Human | \n", "Testis | \n", "youngMidAge_Human | \n", "ENSG00000272442_Testis | \n", "4.476201 | \n", "21 | \n", "
3193839 | \n", "Human | \n", "Testis | \n", "youngMidAge_Human | \n", "ENSG00000272886_Testis | \n", "1.178014 | \n", "21 | \n", "
3193840 | \n", "Human | \n", "Testis | \n", "youngMidAge_Human | \n", "ENSG00000273079_Testis | \n", "8.311393 | \n", "21 | \n", "
3193840 rows × 6 columns
\n", "feature | \n", "ENSG00000000457_Brain | \n", "ENSG00000001084_Brain | \n", "ENSG00000001167_Brain | \n", "ENSG00000001461_Brain | \n", "ENSG00000001561_Brain | \n", "ENSG00000001617_Brain | \n", "ENSG00000001629_Brain | \n", "ENSG00000001631_Brain | \n", "ENSG00000002549_Brain | \n", "ENSG00000002745_Brain | \n", "... | \n", "ENSG00000267909_Brain | \n", "ENSG00000268104_Brain | \n", "ENSG00000269058_Brain | \n", "ENSG00000270885_Brain | \n", "ENSG00000271092_Brain | \n", "ENSG00000271503_Brain | \n", "ENSG00000271601_Brain | \n", "ENSG00000272442_Brain | \n", "ENSG00000272886_Brain | \n", "ENSG00000273079_Brain | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
sample | \n", "\n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " |
10wpc_Human | \n", "8.573918 | \n", "8.875957 | \n", "11.265237 | \n", "7.374965 | \n", "7.311018 | \n", "9.959839 | \n", "10.542619 | \n", "9.692082 | \n", "9.180280 | \n", "4.281878 | \n", "... | \n", "7.221091 | \n", "1.178014 | \n", "1.178014 | \n", "1.178014 | \n", "1.178014 | \n", "1.178014 | \n", "1.178014 | \n", "1.178014 | \n", "1.178014 | \n", "11.74615 | \n", "
11wpc_Human | \n", "8.439675 | \n", "8.737682 | \n", "10.855314 | \n", "8.066544 | \n", "7.354726 | \n", "10.431113 | \n", "10.308780 | \n", "9.242115 | \n", "9.350255 | \n", "3.363064 | \n", "... | \n", "7.116983 | \n", "1.178014 | \n", "1.178014 | \n", "1.178014 | \n", "1.178014 | \n", "1.178014 | \n", "1.178014 | \n", "1.421384 | \n", "1.178014 | \n", "11.28160 | \n", "
12wpc_Human | \n", "8.399178 | \n", "8.916387 | \n", "12.555510 | \n", "9.253555 | \n", "8.763702 | \n", "9.946536 | \n", "11.530929 | \n", "10.033949 | \n", "9.278142 | \n", "4.322361 | \n", "... | \n", "4.000716 | \n", "1.178014 | \n", "1.178014 | \n", "1.178014 | \n", "1.178014 | \n", "1.178014 | \n", "1.178014 | \n", "2.664630 | \n", "1.178014 | \n", "13.97646 | \n", "
13wpc_Human | \n", "8.637347 | \n", "8.831740 | \n", "10.916489 | \n", "9.190959 | \n", "8.158240 | \n", "10.279600 | \n", "11.287268 | \n", "9.510370 | \n", "9.033614 | \n", "4.784136 | \n", "... | \n", "5.635512 | \n", "1.178014 | \n", "1.481758 | \n", "1.178014 | \n", "1.178014 | \n", "1.178014 | \n", "1.178014 | \n", "1.776655 | \n", "1.178014 | \n", "12.47349 | \n", "
16wpc_Human | \n", "8.525125 | \n", "8.575862 | \n", "11.271736 | \n", "8.177629 | \n", "7.857303 | \n", "10.363036 | \n", "11.402954 | \n", "9.523244 | \n", "8.833177 | \n", "2.785827 | \n", "... | \n", "6.119527 | \n", "1.178014 | \n", "1.178014 | \n", "1.178014 | \n", "1.178014 | \n", "1.178014 | \n", "1.178014 | \n", "2.413222 | \n", "1.178014 | \n", "13.73805 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
senior_Human | \n", "8.437410 | \n", "9.898419 | \n", "8.216911 | \n", "11.504150 | \n", "9.958047 | \n", "6.857990 | \n", "9.623469 | \n", "9.205518 | \n", "9.884420 | \n", "4.484028 | \n", "... | \n", "3.862928 | \n", "1.178014 | \n", "2.254255 | \n", "1.178014 | \n", "1.178014 | \n", "1.178014 | \n", "1.178014 | \n", "2.581292 | \n", "1.178014 | \n", "11.67438 | \n", "
teenager_Human | \n", "8.429526 | \n", "9.949921 | \n", "8.637132 | \n", "11.680144 | \n", "10.211024 | \n", "6.452668 | \n", "10.214713 | \n", "9.604091 | \n", "9.903370 | \n", "5.265158 | \n", "... | \n", "3.162686 | \n", "1.178014 | \n", "1.178014 | \n", "1.178014 | \n", "1.453269 | \n", "1.178014 | \n", "1.178014 | \n", "3.016177 | \n", "1.178014 | \n", "12.54986 | \n", "
toddler_Human | \n", "8.333979 | \n", "10.027861 | \n", "8.693345 | \n", "11.691258 | \n", "9.731870 | \n", "7.191969 | \n", "10.286671 | \n", "8.958592 | \n", "10.120605 | \n", "5.322412 | \n", "... | \n", "5.152286 | \n", "1.178014 | \n", "1.648489 | \n", "1.178014 | \n", "1.178014 | \n", "1.178014 | \n", "1.178014 | \n", "3.201100 | \n", "1.178014 | \n", "12.81460 | \n", "
youngAdult_Human | \n", "8.601354 | \n", "10.237539 | \n", "9.176577 | \n", "12.092567 | \n", "10.388409 | \n", "6.998035 | \n", "10.577031 | \n", "9.812306 | \n", "9.798473 | \n", "5.154397 | \n", "... | \n", "4.365919 | \n", "1.178014 | \n", "1.178014 | \n", "1.178014 | \n", "1.178014 | \n", "1.178014 | \n", "1.178014 | \n", "3.330907 | \n", "1.178014 | \n", "12.69678 | \n", "
youngMidAge_Human | \n", "8.378206 | \n", "9.924419 | \n", "9.128045 | \n", "11.684351 | \n", "10.253423 | \n", "6.914197 | \n", "10.260315 | \n", "9.917214 | \n", "9.823436 | \n", "4.722714 | \n", "... | \n", "4.218114 | \n", "1.178014 | \n", "3.464638 | \n", "1.178014 | \n", "1.737065 | \n", "1.178014 | \n", "1.178014 | \n", "3.069621 | \n", "1.178014 | \n", "12.59430 | \n", "
83 rows × 7696 columns
\n", "\n", " | time | \n", "species | \n", "
---|---|---|
sample | \n", "\n", " | \n", " |
10wpc_Human | \n", "7 | \n", "Human | \n", "
11wpc_Human | \n", "8 | \n", "Human | \n", "
12wpc_Human | \n", "9 | \n", "Human | \n", "
13wpc_Human | \n", "10 | \n", "Human | \n", "
16wpc_Human | \n", "11 | \n", "Human | \n", "
... | \n", "... | \n", "... | \n", "
senior_Human | \n", "23 | \n", "Human | \n", "
teenager_Human | \n", "19 | \n", "Human | \n", "
toddler_Human | \n", "17 | \n", "Human | \n", "
youngAdult_Human | \n", "20 | \n", "Human | \n", "
youngMidAge_Human | \n", "21 | \n", "Human | \n", "
83 rows × 2 columns
\n", "\n", " | time | \n", "species | \n", "
---|---|---|
sample | \n", "\n", " | \n", " |
10wpc_Human | \n", "7 | \n", "Human | \n", "
11wpc_Human | \n", "8 | \n", "Human | \n", "
12wpc_Human | \n", "9 | \n", "Human | \n", "
13wpc_Human | \n", "10 | \n", "Human | \n", "
16wpc_Human | \n", "11 | \n", "Human | \n", "
... | \n", "... | \n", "... | \n", "
senior_Human | \n", "23 | \n", "Human | \n", "
teenager_Human | \n", "19 | \n", "Human | \n", "
toddler_Human | \n", "17 | \n", "Human | \n", "
youngAdult_Human | \n", "20 | \n", "Human | \n", "
youngMidAge_Human | \n", "21 | \n", "Human | \n", "
83 rows × 2 columns
\n", "