{ "cells": [ { "cell_type": "markdown", "id": "d717b014", "metadata": {}, "source": [ "# oggmap: Step 4 - TEI calculation\n", "\n", "This notebook will demonstrate how to to add a transcriptome evolutionary index (short: TEI) to scRNA data." ] }, { "cell_type": "markdown", "id": "eeb58ae3", "metadata": {}, "source": [ "## Notebook file\n", "\n", "Notebook file can be obtained here:\n", "\n", "[https://raw.githubusercontent.com/kullrich/oggmap/main/docs/notebooks/add_tei.ipynb](https://raw.githubusercontent.com/kullrich/oggmap/main/docs/notebooks/add_tei.ipynb)" ] }, { "cell_type": "markdown", "id": "fd9f9c62", "metadata": {}, "source": [ "## Import libraries" ] }, { "cell_type": "code", "execution_count": 1, "id": "e81e5626", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "import scanpy as sc\n", "import seaborn as sns\n", "import matplotlib.pyplot as plt\n", "from statannot import add_stat_annotation\n", "# increase dpi\n", "%matplotlib inline\n", "#plt.rcParams['figure.dpi'] = 300\n", "#plt.rcParams['savefig.dpi'] = 300\n", "plt.rcParams['figure.figsize'] = [6, 4.5]\n", "#plt.rcParams['figure.figsize'] = [4.4, 3.3]" ] }, { "cell_type": "markdown", "id": "966bf9fe", "metadata": {}, "source": [ "## Import oggmap python package submodules" ] }, { "cell_type": "code", "execution_count": 2, "id": "3d39256b", "metadata": {}, "outputs": [], "source": [ "# import submodules\n", "from oggmap import qlin, gtf2t2g, of2orthomap, orthomap2tei, datasets, ncbitax" ] }, { "cell_type": "markdown", "id": "dd9ad0db", "metadata": {}, "source": [ "## Step 0, Step 1, Step 2 and Step 3" ] }, { "cell_type": "markdown", "id": "0c112b1b", "metadata": {}, "source": [ "In order to come to Step 4, TEI calculation, one needs to have the results from Step 0, Step 1, Step 2 and Step 3.\n", "\n", "The query species in this part is: __*Danio rerio*__ (zebrafish).\n", "\n", "Please have a look at the documentation of [Step 0 - run OrthoFinder](https://oggmap.readthedocs.io/en/latest/tutorials/orthofinder.html) to get to know what information and files are mandatory to extract gene age classes from [OrthoFinder](https://oggmap.readthedocs.io/en/latest/tutorials/https://github.com/davidemms/OrthoFinder) results.\n", "\n", "In [Step 1 - get taxonomic information](https://oggmap.readthedocs.io/en/latest/tutorials/query_lineage.html) you have already been introduced how to extract query lineage information with `oggmap` and the `qlin.get_qlin()` function.\n", "\n", "In [Step 2 - gene age class assignment](https://oggmap.readthedocs.io/en/latest/tutorials/get_orthomap.html) you have already been introduced how to extract an orthomap (gene age class) from [OrthoFinder](https://oggmap.readthedocs.io/en/latest/tutorials/https://github.com/davidemms/OrthoFinder) results with `oggmap` and the `of2orthomap.get_orthomap()` function or how to import pre-calculated orthomaps with the `orthomap2tei.read_orthomap()` function.\n", "\n", "In [Step 3 - map gene/transcript IDs](https://oggmap.readthedocs.io/en/latest/tutorials/geneset_overlap.html) you have already been introduced how to extract gene IDs from `GTF` file with `orthoamp` and the `gtf2t2g.parse_gtf()` function. You have also been introduced how to use the `orthomap2tei.geneset_overlap()` function to check the overlap between the gene IDs and have learned how to use the `orthomap2tei.replace_by()` function to e.g. reduce isoform gene IDs to gene IDs." ] }, { "cell_type": "markdown", "id": "8d8488bd", "metadata": {}, "source": [ "### Step 0 - run OrthoFinder\n", "\n", "For this documentation part all mandatory [OrthoFinder](https://oggmap.readthedocs.io/en/latest/tutorials/https://github.com/davidemms/OrthoFinder) ([Emms and Kelly, 2019](https://doi.org/10.1186/s13059-019-1832-y)) results have been pre-calculated.\n", "\n", "Please have a look at the documentation of [Step 0 - run OrthoFinder](https://oggmap.readthedocs.io/en/latest/tutorials/orthofinder.html) to get further insides.\n", "\n", "The results are available here: \n", "\n", "https://doi.org/10.5281/zenodo.7242264\n", "\n", "or can be accessed with the `dataset` submodule of `oggmap`\n", "\n", "`datasets.ensembl113_last(datapath='data')` (download folder set to `'data'`)." ] }, { "cell_type": "markdown", "id": "b7809c37", "metadata": {}, "source": [ "### Step 1 - get taxonomic information\n", "\n", "Please have a look at the documentation of [Step 1 - get taxonomic information](https://oggmap.readthedocs.io/en/latest/tutorials/query_lineage.html) to get further insides." ] }, { "cell_type": "code", "execution_count": 3, "id": "c5dc5c7f", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "query name: Danio rerio\n", "query taxID: 7955\n", "query kingdom: Eukaryota\n", "query lineage names: \n", "['root(1)', 'cellular organisms(131567)', 'Eukaryota(2759)', 'Opisthokonta(33154)', 'Metazoa(33208)', 'Eumetazoa(6072)', 'Bilateria(33213)', 'Deuterostomia(33511)', 'Chordata(7711)', 'Craniata(89593)', 'Vertebrata(7742)', 'Gnathostomata(7776)', 'Teleostomi(117570)', 'Euteleostomi(117571)', 'Actinopterygii(7898)', 'Actinopteri(186623)', 'Neopterygii(41665)', 'Teleostei(32443)', 'Osteoglossocephalai(1489341)', 'Clupeocephala(186625)', 'Otomorpha(186634)', 'Ostariophysi(32519)', 'Otophysi(186626)', 'Cypriniphysae(186627)', 'Cypriniformes(7952)', 'Cyprinoidei(30727)', 'Danionidae(2743709)', 'Danioninae(2743711)', 'Danio(7954)', 'Danio rerio(7955)']\n", "query lineage: \n", "[1, 131567, 2759, 33154, 33208, 6072, 33213, 33511, 7711, 89593, 7742, 7776, 117570, 117571, 7898, 186623, 41665, 32443, 1489341, 186625, 186634, 32519, 186626, 186627, 7952, 30727, 2743709, 2743711, 7954, 7955]\n" ] } ], "source": [ "# get query species taxonomic lineage information\n", "query_lineage = qlin.get_qlin(q='Danio rerio', dbname='data/taxadb.sqlite')" ] }, { "cell_type": "markdown", "id": "29f7d754", "metadata": {}, "source": [ "### Step 2 - gene age class assignment\n", "\n", "Here, `oggmap` use the query species information and [OrthoFinder](https://oggmap.readthedocs.io/en/latest/tutorials/https://github.com/davidemms/OrthoFinder) results to extract the oldest common tree node per orthogroup along a species tree and to assign this node as the gene age to the corresponding genes.\n", "\n", "Please have a look at the documentation of [Step 2 - gene age class assignment](https://oggmap.readthedocs.io/en/latest/tutorials/get_orthomap.html) to get further insides." ] }, { "cell_type": "markdown", "id": "86828cf6", "metadata": {}, "source": [ "### Step 3 - map gene/transcript IDs\n", "\n", "To be able to link gene ages assignments from an orthomap and gene or transcript of scRNA dataset, one needs to check the overlap of the annotated gene names. With the `gtf2t2g` submodule of `oggmap` and the `gtf2t2g.parse_gtf()` function, one can extract gene and transcript names from a given gene feature file (`GTF`).\n", "\n", "Please have a look at the documentation of [Step 3 - map gene/transcript IDs](https://oggmap.readthedocs.io/en/latest/tutorials/geneset_overlap.html) to get further insides." ] }, { "cell_type": "markdown", "id": "a6d05faf", "metadata": {}, "source": [ "Here, the pre-calculated orthomap from *Danio rerio* (zebrafish) obtained via Step 0, Step 1, Step 2 and Step 3 is loaded as follows:" ] }, { "cell_type": "code", "execution_count": 4, "id": "e57a22b1", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "100% [..........................................................................] 1901053 / 1901053" ] }, { "data": { "text/plain": [ "'data/zebrafish_ensembl_113_orthomap.tsv'" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "datasets.zebrafish_ensembl113_orthomap(datapath='data')" ] }, { "cell_type": "code", "execution_count": 5, "id": "5d445639", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
seqIDOrthogroupPSnumPStaxIDPSnamePScontinuitygeneID
0ENSDART00000013359.10OG0000000107742Vertebrata0.909091ENSDARG00000013014
1ENSDART00000014270.5OG0000000107742Vertebrata0.909091ENSDARG00000094080
2ENSDART00000099395.5OG0000000107742Vertebrata0.909091ENSDARG00000068659
3ENSDART00000145885.2OG0000000107742Vertebrata0.909091ENSDARG00000094125
4ENSDART00000159675.3OG0000000107742Vertebrata0.909091ENSDARG00000101806
........................
24956ENSDART00000191935.1OG00257172530727Cyprinoidei1.000000ENSDARG00000114540
24957ENSDART00000171005.2OG002571822186626Otophysi0.666667ENSDARG00000102218
24958ENSDART00000143229.2OG0025719297955Danio rerio1.000000ENSDARG00000069978
24959ENSDART00000143837.3OG0025719297955Danio rerio1.000000ENSDARG00000078193
24960ENSDART00000143384.2OG002572022186626Otophysi0.666667ENSDARG00000092452
\n", "

24961 rows × 7 columns

\n", "
" ], "text/plain": [ " seqID Orthogroup PSnum PStaxID PSname \\\n", "0 ENSDART00000013359.10 OG0000000 10 7742 Vertebrata \n", "1 ENSDART00000014270.5 OG0000000 10 7742 Vertebrata \n", "2 ENSDART00000099395.5 OG0000000 10 7742 Vertebrata \n", "3 ENSDART00000145885.2 OG0000000 10 7742 Vertebrata \n", "4 ENSDART00000159675.3 OG0000000 10 7742 Vertebrata \n", "... ... ... ... ... ... \n", "24956 ENSDART00000191935.1 OG0025717 25 30727 Cyprinoidei \n", "24957 ENSDART00000171005.2 OG0025718 22 186626 Otophysi \n", "24958 ENSDART00000143229.2 OG0025719 29 7955 Danio rerio \n", "24959 ENSDART00000143837.3 OG0025719 29 7955 Danio rerio \n", "24960 ENSDART00000143384.2 OG0025720 22 186626 Otophysi \n", "\n", " PScontinuity geneID \n", "0 0.909091 ENSDARG00000013014 \n", "1 0.909091 ENSDARG00000094080 \n", "2 0.909091 ENSDARG00000068659 \n", "3 0.909091 ENSDARG00000094125 \n", "4 0.909091 ENSDARG00000101806 \n", "... ... ... \n", "24956 1.000000 ENSDARG00000114540 \n", "24957 0.666667 ENSDARG00000102218 \n", "24958 1.000000 ENSDARG00000069978 \n", "24959 1.000000 ENSDARG00000078193 \n", "24960 0.666667 ENSDARG00000092452 \n", "\n", "[24961 rows x 7 columns]" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# get query species orthomap\n", "\n", "# download zebrafish orthomap results here: https://doi.org/10.5281/zenodo.7242263\n", "# or download with datasets.zebrafish_ensembl_113_orthomap(datapath='data')\n", "\n", "query_orthomap = orthomap2tei.read_orthomap('data/zebrafish_ensembl_113_orthomap.tsv')\n", "query_orthomap" ] }, { "cell_type": "markdown", "id": "7a57f5b2", "metadata": {}, "source": [ "### Import now, the scRNA dataset of the query species\n", "\n", "Here, data is used, like in the publication ([Farrell et al., 2018](https://doi.org/10.1126/science.aar3131); [Wagner et al., 2018](https://doi.org/10.1126/science.aar4362); [Qiu et al., 2022](https://doi.org/10.1038/s41588-022-01018-x)).\n", "\n", "scRNA data was downloaded from http://tome.gs.washington.edu/ as R rds files, combined into a single Seurat object and converted into loom and AnnData (h5ad) files to be able to analyse with e.g. python scanpy or `oggmap` package and is available here:\n", "\n", "https://doi.org/10.5281/zenodo.7243602\n", "\n", "or can be accessed with the `dataset` submodule of `oggmap`:\n", "\n", "`datasets.qiu22_zebrafish(datapath='data')` (download folder set to `'data'`)." ] }, { "cell_type": "code", "execution_count": 6, "id": "db955abf", "metadata": {}, "outputs": [], "source": [ "# load scRNA data\n", "\n", "# download zebrafish scRNA data here: https://doi.org/10.5281/zenodo.7243602\n", "# or download with datasets.qui22_zebrafish(datapath='data')\n", "\n", "#zebrafish_data = datasets.qiu22_zebrafish(datapath='data')\n", "zebrafish_data = sc.read_h5ad('data/zebrafish_data.h5ad')\n", "#subset of the zebrafish_data\n", "zebrafish_data_subset = zebrafish_data[:1000].copy()" ] }, { "cell_type": "markdown", "id": "b7ea81d7", "metadata": {}, "source": [ "## Step 4 - Get TEI values and add them to scRNA dataset\n", "\n", "Since now the gene names correspond to each other in the orthomap and the scRNA `adata` object, one can calculate the transcriptome evolutionary index (`TEI`) and add them to the scRNA dataset (`adata` object).\n", "\n", "The `TEI` measure represents the weighted arithmetic mean (expression levels as weights for the phylostratum value) over all evolutionary age categories denoted as _phylostra_.\n", "\n", "$TEI_s = \\sum (e_{is} * ps_i) / \\sum e_{is}$\n", "\n", ", where $TEI_s$ denotes the `TEI` value in developmental stage ${s, e_{is}}$ denotes the gene expression level of gene ${i}$ in stage ${s}$, and ${ps_i}$ denotes the corresponding phylostratum of gene ${i, i = 1,...,N}$ and ${N = total\\ number\\ of\\ genes}$.\n", "\n", "Note: If e.g. two different isoforms would fall into two different gene age classes, their gene ages might differ based on the oldest ortholog found in their corresponding orthologous groups. However, both isoforms share the same gene name and their gene ages would clash. In this case one can decide either to use the `keep='min'` or `keep='max'` gene age to be kept by the `get_tei` function, which defaults to keep in this cases the `keep='min'` or in other words the 'older' gene age." ] }, { "cell_type": "markdown", "id": "88b2f8bd", "metadata": {}, "source": [ "To be able to re-use the original `count` data, they are added as a new `layer` to the `adata` object. This is useful because later on the `count` data can be used to extract either the relative expression per gene age class or re-calculate other metrics. \n", "\n", "This can be done either on un-normalized `counts`, on `normalized` and `log-transformed` data." ] }, { "cell_type": "code", "execution_count": 7, "id": "7c51ffc2", "metadata": {}, "outputs": [], "source": [ "zebrafish_data.layers['counts'] = zebrafish_data.X" ] }, { "cell_type": "markdown", "id": "5f2ddcc3", "metadata": {}, "source": [ "### add TEI to adata object\n", "\n", "Using the submodule `orthomap2tei` from `oggmap` and the `orthomap2tei.get_tei()` function, transcriptome evolutionary index (`TEI`) values are calculated and directyl added to the existing `adata` object (`add_obs=True`).\n", "\n", "There are other options to e.g. not start from the `adata.X` `counts` but from another `layer` from the `adata` object, the default is to use the `adata.X` (`layer=None`). By default, the values are pre-processed by the `normalize_total` option and the `log1p` option.\n", "\n", "__Note:__ Please have a look at [Liu & Robinson-Rechavi, 2018](https://doi.org/10.1093/gbe/evy177>) to get more insides how expression transformation can influence TEI calculation.\n", "\n", "If `add_obs=True` the resulting `TEI` values are added to the existing `adata` object as a new observation with the name set with the `obs_name` option.\n", "\n", "If `add_var=True` the gene age values are added to the existing `adata` object as a new variable with the name set with the `var_name` option.\n", "\n", "__Note:__ Genes not assigned to any gene class will get a missing assignment.\n", "\n", "If one wants to calculate bootstrap `TEI` values per cell, the `boot` option can be set to `boot=True` and gene age classes will be randomly chosen prior calculating `TEI` values `bt=10` times.\n", "\n", "__Note:__ If memory is a problem with large `annData` objects, consider processing the `adata` object in `chunks` using the `chunk_size` parameter." ] }, { "cell_type": "code", "execution_count": 8, "id": "1c9085b4", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
tei
hpf3.3_ZFHIGH_WT_DS5_AAAAGTTGCCTC5.514485
hpf3.3_ZFHIGH_WT_DS5_AAACAAGTGTAT5.503633
hpf3.3_ZFHIGH_WT_DS5_AAACACCTCGTC5.488072
hpf3.3_ZFHIGH_WT_DS5_AAATGAGGTTTN5.50889
hpf3.3_ZFHIGH_WT_DS5_AACCCTCTCGAT5.574979
......
hpf24_DEW057_TGACACAACAG_GCCACATC5.189284
hpf24_DEW057_CTTACGGG_AACCTGAC5.399853
hpf24_DEW057_TGAACATCTAT_GACGATGG5.154028
hpf24_DEW057_TGAGGTTTCTC_CTCAGAAT5.050597
hpf24_DEW057_ACGTGCTAG_CAAGTCAT5.344325
\n", "

71203 rows × 1 columns

\n", "
" ], "text/plain": [ " tei\n", "hpf3.3_ZFHIGH_WT_DS5_AAAAGTTGCCTC 5.514485\n", "hpf3.3_ZFHIGH_WT_DS5_AAACAAGTGTAT 5.503633\n", "hpf3.3_ZFHIGH_WT_DS5_AAACACCTCGTC 5.488072\n", "hpf3.3_ZFHIGH_WT_DS5_AAATGAGGTTTN 5.50889\n", "hpf3.3_ZFHIGH_WT_DS5_AACCCTCTCGAT 5.574979\n", "... ...\n", "hpf24_DEW057_TGACACAACAG_GCCACATC 5.189284\n", "hpf24_DEW057_CTTACGGG_AACCTGAC 5.399853\n", "hpf24_DEW057_TGAACATCTAT_GACGATGG 5.154028\n", "hpf24_DEW057_TGAGGTTTCTC_CTCAGAAT 5.050597\n", "hpf24_DEW057_ACGTGCTAG_CAAGTCAT 5.344325\n", "\n", "[71203 rows x 1 columns]" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# add TEI values to existing adata object\n", "orthomap2tei.get_tei(adata=zebrafish_data,\n", " gene_id=query_orthomap['geneID'],\n", " gene_age=query_orthomap['PSnum'],\n", " keep='min',\n", " layer=None,\n", " add_var=True,\n", " var_name='Phylostrata',\n", " add_obs=True,\n", " obs_name='tei',\n", " boot=False,\n", " bt=10,\n", " normalize_total=True,\n", " log1p=True,\n", " target_sum=1e6,\n", " chunk_size=100000)" ] }, { "cell_type": "markdown", "id": "2b7836aa", "metadata": {}, "source": [ "In the `adata` object, for each cell there is now a new variable called `tei`, which can be used in downstream analysis.\n", "\n", "Once the gene age data has been added to the scRNA dataset, one can e.g. plot the corresponding transcriptome evolutionary index (`TEI`) values by any given observation pre-defined in the scRNA dataset." ] }, { "cell_type": "markdown", "id": "ddeedaeb", "metadata": {}, "source": [ "### Boxplot gene age class per embryo stage" ] }, { "cell_type": "code", "execution_count": 9, "id": "830e8730", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sc.pl.violin(adata=zebrafish_data,\n", " keys=['tei'],\n", " groupby='stage',\n", " rotation=90,\n", " palette='Paired',\n", " stripplot=False,\n", " inner='box',\n", " hue='stage',\n", " legend=False)" ] }, { "cell_type": "markdown", "id": "4b4b7812", "metadata": {}, "source": [ "### calculate bootstrap on subet of the data" ] }, { "cell_type": "code", "execution_count": 10, "id": "515050d5", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "|████████████████████████████████████████| 10/10 [100%] in 2.5s (4.00/s) \n" ] }, { "data": { "text/plain": [ "( tei\n", " hpf3.3_ZFHIGH_WT_DS5_AAAAGTTGCCTC 5.514485\n", " hpf3.3_ZFHIGH_WT_DS5_AAACAAGTGTAT 5.503633\n", " hpf3.3_ZFHIGH_WT_DS5_AAACACCTCGTC 5.488072\n", " hpf3.3_ZFHIGH_WT_DS5_AAATGAGGTTTN 5.50889\n", " hpf3.3_ZFHIGH_WT_DS5_AACCCTCTCGAT 5.574979\n", " ... ...\n", " hpf4.3_ZFDOME_WT_DS5_CGGACCGCAGGT 5.301656\n", " hpf4.3_ZFDOME_WT_DS5_CGGATGGCCACT 5.358101\n", " hpf4.3_ZFDOME_WT_DS5_CGGCAATGCTTG 5.322054\n", " hpf4.3_ZFDOME_WT_DS5_CGGCAGTGTTAC 5.351171\n", " hpf4.3_ZFDOME_WT_DS5_CGGCCAGCGGAN 5.402065\n", " \n", " [1000 rows x 1 columns],\n", " boot_0 boot_1 boot_2 boot_3 \\\n", " hpf3.3_ZFHIGH_WT_DS5_AAAAGTTGCCTC 6.759911 6.647228 6.694393 6.849195 \n", " hpf3.3_ZFHIGH_WT_DS5_AAACAAGTGTAT 6.64466 6.624946 6.689043 6.722857 \n", " hpf3.3_ZFHIGH_WT_DS5_AAACACCTCGTC 6.689828 6.718553 6.771587 6.837948 \n", " hpf3.3_ZFHIGH_WT_DS5_AAATGAGGTTTN 6.78249 6.682479 6.687551 6.839673 \n", " hpf3.3_ZFHIGH_WT_DS5_AACCCTCTCGAT 6.705242 6.738627 6.700644 6.805124 \n", " ... ... ... ... ... \n", " hpf4.3_ZFDOME_WT_DS5_CGGACCGCAGGT 6.702291 6.733482 6.642275 6.853466 \n", " hpf4.3_ZFDOME_WT_DS5_CGGATGGCCACT 6.77451 6.70771 6.707631 6.725549 \n", " hpf4.3_ZFDOME_WT_DS5_CGGCAATGCTTG 6.940786 6.586875 6.724755 6.693181 \n", " hpf4.3_ZFDOME_WT_DS5_CGGCAGTGTTAC 6.753914 6.69377 6.788657 6.836734 \n", " hpf4.3_ZFDOME_WT_DS5_CGGCCAGCGGAN 6.715839 6.721093 6.690696 6.734315 \n", " \n", " boot_4 boot_5 boot_6 boot_7 \\\n", " hpf3.3_ZFHIGH_WT_DS5_AAAAGTTGCCTC 6.806379 6.684169 6.647911 6.745181 \n", " hpf3.3_ZFHIGH_WT_DS5_AAACAAGTGTAT 6.874048 6.857684 6.640579 6.835806 \n", " hpf3.3_ZFHIGH_WT_DS5_AAACACCTCGTC 6.781303 6.572003 6.632616 6.76269 \n", " hpf3.3_ZFHIGH_WT_DS5_AAATGAGGTTTN 6.712307 6.724935 6.642234 6.80512 \n", " hpf3.3_ZFHIGH_WT_DS5_AACCCTCTCGAT 6.809793 6.68517 6.684571 6.724404 \n", " ... ... ... ... ... \n", " hpf4.3_ZFDOME_WT_DS5_CGGACCGCAGGT 6.739432 6.761997 6.659034 6.740662 \n", " hpf4.3_ZFDOME_WT_DS5_CGGATGGCCACT 6.792971 6.753959 6.727792 6.888245 \n", " hpf4.3_ZFDOME_WT_DS5_CGGCAATGCTTG 6.728347 6.707649 6.727023 6.785233 \n", " hpf4.3_ZFDOME_WT_DS5_CGGCAGTGTTAC 6.904999 6.758114 6.599089 6.737372 \n", " hpf4.3_ZFDOME_WT_DS5_CGGCCAGCGGAN 6.763937 6.733328 6.556272 6.80844 \n", " \n", " boot_8 boot_9 \n", " hpf3.3_ZFHIGH_WT_DS5_AAAAGTTGCCTC 6.778171 6.647924 \n", " hpf3.3_ZFHIGH_WT_DS5_AAACAAGTGTAT 6.779376 6.633174 \n", " hpf3.3_ZFHIGH_WT_DS5_AAACACCTCGTC 6.703302 6.685941 \n", " hpf3.3_ZFHIGH_WT_DS5_AAATGAGGTTTN 6.713637 6.626618 \n", " hpf3.3_ZFHIGH_WT_DS5_AACCCTCTCGAT 6.736239 6.686084 \n", " ... ... ... \n", " hpf4.3_ZFDOME_WT_DS5_CGGACCGCAGGT 6.550693 6.772745 \n", " hpf4.3_ZFDOME_WT_DS5_CGGATGGCCACT 6.587417 6.79228 \n", " hpf4.3_ZFDOME_WT_DS5_CGGCAATGCTTG 6.635318 6.615079 \n", " hpf4.3_ZFDOME_WT_DS5_CGGCAGTGTTAC 6.828364 6.599813 \n", " hpf4.3_ZFDOME_WT_DS5_CGGCCAGCGGAN 6.743372 6.586846 \n", " \n", " [1000 rows x 10 columns])" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# calculate bootstrap\n", "orthomap2tei.get_tei(adata=zebrafish_data_subset,\n", " gene_id=query_orthomap['geneID'],\n", " gene_age=query_orthomap['PSnum'],\n", " keep='min',\n", " layer=None,\n", " add_var=True,\n", " var_name='Phylostrata',\n", " add_obs=True,\n", " obs_name='tei',\n", " boot=True,\n", " bt=10,\n", " normalize_total=True,\n", " log1p=True,\n", " target_sum=1e6,\n", " chunk_size=100000)" ] }, { "cell_type": "markdown", "id": "bb0f4437", "metadata": {}, "source": [ "Please have a look at the documentation of [Downstream analysis](https://oggmap.readthedocs.io/en/latest/tutorials/index.html#oggmap-downstream-analysis) to get further insides." ] } ], "metadata": { "kernelspec": { "display_name": "Python [conda env:oggmap_env]", "language": "python", "name": "conda-env-oggmap_env-py" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.16" } }, "nbformat": 4, "nbformat_minor": 5 }