{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Stabilized ICA for transcriptomic data \n", "\n", "In this jupyter notebook, we propose a short example for the use of our stabilized ICA algorithm. We study the extraction of ICA components for a transcriptomic data set gathering NSCLC patients. \n", "\n", "**Note :** To run this jupyter notebook, you first need to extract the data set \"data.csv\" from the zip file \"data.zip\" (same directory)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%load_ext autoreload\n", "%autoreload 2\n", "\n", "import pandas as pd\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import time" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 0. Load the data set\n", "\n", "This data set was extraced from [\"Defining the Biological Basis of Radiomic Phenotypes in Lung Cancer\" Grossman et al. 2017](https://elifesciences.org/articles/23421). \n", "It contains the expression of 21,766 unique genes for 269 patients with Non-small cell lung cancer (NSCLC) treated at the H. Lee Moffitt Cancer Center, Tampa, Florida, USA. Gene expression values were measured on a custom Rosetta/Merck Affymetrix 2.0 microarray chipset and normalized with the robust multi-array average (RMA) algorithm." ] }, { "cell_type": "code", "execution_count": 3, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
36438426371712934110521241645357541934911165...64366915728551267842678326782267792677826777100132941
RadioGenomic-0175.2051517.0979899.5596178.3968087.6037197.99060510.0444019.0549307.3831698.177010...6.4192733.8098266.5078806.5721215.4008485.9513913.3818609.8255842.9050915.622438
RadioGenomic-0555.6157386.5850529.7778699.0824158.6394986.7812749.5418268.8661106.4227027.196294...5.7538284.1861276.8215827.0314064.8524176.1408502.6297609.0051453.3664665.495330
RadioGenomic-2275.6792767.74785410.6487049.1279857.3694217.2037738.9722558.3283717.2692327.449183...5.6669994.3161306.6378556.2488244.6642285.7679702.9114708.6744663.3371946.308605
RadioGenomic-2225.3173417.19627610.9497718.0988967.6398827.97187610.1596378.6677028.4742507.271477...5.5310603.4037767.0594196.2018734.6900056.2562864.1196889.0996593.1817815.740033
RadioGenomic-2127.1969049.3464929.6737789.3586368.7416937.61649810.3766538.7014616.6019917.344651...5.5196423.7960497.3326356.0501214.8985236.5378953.6008958.7925102.9453915.835411
\n", "

5 rows × 21766 columns

\n", "
" ], "text/plain": [ " 3643 84263 7171 2934 11052 1241 \\\n", "RadioGenomic-017 5.205151 7.097989 9.559617 8.396808 7.603719 7.990605 \n", "RadioGenomic-055 5.615738 6.585052 9.777869 9.082415 8.639498 6.781274 \n", "RadioGenomic-227 5.679276 7.747854 10.648704 9.127985 7.369421 7.203773 \n", "RadioGenomic-222 5.317341 7.196276 10.949771 8.098896 7.639882 7.971876 \n", "RadioGenomic-212 7.196904 9.346492 9.673778 9.358636 8.741693 7.616498 \n", "\n", " 6453 57541 9349 11165 ... 643669 \\\n", "RadioGenomic-017 10.044401 9.054930 7.383169 8.177010 ... 6.419273 \n", "RadioGenomic-055 9.541826 8.866110 6.422702 7.196294 ... 5.753828 \n", "RadioGenomic-227 8.972255 8.328371 7.269232 7.449183 ... 5.666999 \n", "RadioGenomic-222 10.159637 8.667702 8.474250 7.271477 ... 5.531060 \n", "RadioGenomic-212 10.376653 8.701461 6.601991 7.344651 ... 5.519642 \n", "\n", " 1572 8551 26784 26783 26782 26779 \\\n", "RadioGenomic-017 3.809826 6.507880 6.572121 5.400848 5.951391 3.381860 \n", "RadioGenomic-055 4.186127 6.821582 7.031406 4.852417 6.140850 2.629760 \n", "RadioGenomic-227 4.316130 6.637855 6.248824 4.664228 5.767970 2.911470 \n", "RadioGenomic-222 3.403776 7.059419 6.201873 4.690005 6.256286 4.119688 \n", "RadioGenomic-212 3.796049 7.332635 6.050121 4.898523 6.537895 3.600895 \n", "\n", " 26778 26777 100132941 \n", "RadioGenomic-017 9.825584 2.905091 5.622438 \n", "RadioGenomic-055 9.005145 3.366466 5.495330 \n", "RadioGenomic-227 8.674466 3.337194 6.308605 \n", "RadioGenomic-222 9.099659 3.181781 5.740033 \n", "RadioGenomic-212 8.792510 2.945391 5.835411 \n", "\n", "[5 rows x 21766 columns]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = pd.read_csv(\"data/data.csv\" , index_col=0)\n", "df.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Note :** in the following step, we center the expression of each gene (i.e the columns of the dataframe df). Indeed, we noticed that omitting this pre-processing step led to one ICA component entirely driven by the differences between the mean expression of each gene. This component is not biologically relevant and we avoid it thanks to this centering step." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "X = df.apply(func = lambda x : x - x.mean() , axis = 0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1. Most Stable Transcriptome Dimension (MSTD) \n", "\n", "In order to select the number of ICA components we refer to [\"Determining the optimal number of independent components for reproducible transcriptomic data analysis\" Kairov et al. 2017](https://bmcgenomics.biomedcentral.com/articles/10.1186/s12864-017-4112-9). The idea is to find a trade-off between a sufficiently large number of components to capture all essential information and a restricted dimension to avoid ending up with a lot of very unstable components which only capture noise. \n", "\n", "To do so we plot the stability distribution for a wide range of different number of components M = 5, ... , 100 and we observe which choice of M most satisfies the trade-off." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "6e29c44f66744624b8cec7f8fa83ad9a", "version_major": 2, "version_minor": 0 }, "text/plain": [ " 0%| | 0/49 [00:00" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from sica.base import MSTD\n", "MSTD(X.values , m = 5 , M = 100 , step = 2 , n_runs = 20)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Please note that in the following we use a rough estimation of the optimal dimension (observed thanks to the graphs above). In fact more sophisticated techniques can be applied to estimate this dimension (ex: two-lines clustering) ; these can be found in the article cited above." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "dim_opt = 45" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2. Stabilized ICA and Multidimensional Scaling (MDS) \n", "\n", "This stabilized ICA algorithm is a copy of the ICASSO algorithm (implemented in MATLAB) ([\"ICASSO: software for investigating the reliability of ICA estimates by clustering and visualization\" Himber et al.](https://www.cs.helsinki.fi/u/ahyvarin/papers/Himberg03.pd) The main idea is to iterate several times the FastICA algorithm (ex: from sklearn), cluster the results (agglomerative hierarchical clustering) and define the final ICA components as the centrotype of each cluster. \n", "\n", "Some explanation for Multidimensional Scaling can be found on the sklearn page : https://scikit-learn.org/stable/modules/generated/sklearn.manifold.MDS.html " ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "from sica.base import StabilizedICA " ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "running time (min): 00:54.54\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "start = time.time()\n", "\n", "sICA = StabilizedICA(n_components=dim_opt, n_runs=30, plot=True, n_jobs=-1)\n", "sICA.fit(X)\n", "\n", "end = time.time()\n", "\n", "minutes, seconds = divmod(end - start, 60)\n", "print(\"running time (min): \" + \"{:0>2}:{:05.2f}\".format(int(minutes),seconds))" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "tags": [ "nbsphinx-thumbnail" ] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "running time (min): 00:31.51\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig , ax = plt.subplots(figsize = (10 , 7))\n", "\n", "start = time.time()\n", "\n", "sICA.projection(ax = ax , method = 'mds')\n", "ax.set_title(\"Multidimensional scaling for ICA components\")\n", "\n", "end = time.time() \n", "\n", "minutes, seconds = divmod(end - start, 60)\n", "print(\"running time (min): \" + \"{:0>2}:{:05.2f}\".format(int(minutes),seconds))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Note :** by default, each stabilized ICA component (i.e a row of the S_ matrix) is normalized to unit variance and re-oriented towards positive heaviest tail. These operations facilitate the interpretation of the components and allow us to compare several components from different studies." ] }, { "cell_type": "code", "execution_count": 9, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
36438426371712934110521241645357541934911165...64366915728551267842678326782267792677826777100132941
metagene 0-0.5023590.0633300.619226-0.584321-0.034392-0.6458430.0180260.165158-0.3908370.026501...0.211179-0.369237-0.975147-0.1421250.3390790.118280-0.761259-0.183313-0.006010-0.323200
metagene 10.481376-0.085962-0.1262180.4902150.2428290.7518530.465473-0.4153350.5879960.014006...-0.3622563.178655-0.159200-0.211356-0.387652-0.137837-0.4745300.2048190.312316-0.018258
metagene 2-0.813705-0.2871460.1352930.0059131.3614590.175264-0.335616-0.120486-2.5241440.933776...-0.640554-0.777672-0.3136290.0100740.2556651.6128270.5195580.6619060.016296-0.335104
metagene 30.0299500.1717250.6074051.403389-0.5138402.2163923.5329940.286914-1.3428451.290781...0.4891100.3569250.674017-1.592262-1.0581370.3837020.648317-0.687954-0.364239-0.733333
metagene 41.338965-0.540206-0.242459-1.2131080.7241854.7857300.466036-0.455820-0.756496-0.013456...0.9504010.1232240.3260302.1613430.6782651.1919261.4678891.2750980.168216-0.796021
\n", "

5 rows × 21766 columns

\n", "
" ], "text/plain": [ " 3643 84263 7171 2934 11052 1241 \\\n", "metagene 0 -0.502359 0.063330 0.619226 -0.584321 -0.034392 -0.645843 \n", "metagene 1 0.481376 -0.085962 -0.126218 0.490215 0.242829 0.751853 \n", "metagene 2 -0.813705 -0.287146 0.135293 0.005913 1.361459 0.175264 \n", "metagene 3 0.029950 0.171725 0.607405 1.403389 -0.513840 2.216392 \n", "metagene 4 1.338965 -0.540206 -0.242459 -1.213108 0.724185 4.785730 \n", "\n", " 6453 57541 9349 11165 ... 643669 1572 \\\n", "metagene 0 0.018026 0.165158 -0.390837 0.026501 ... 0.211179 -0.369237 \n", "metagene 1 0.465473 -0.415335 0.587996 0.014006 ... -0.362256 3.178655 \n", "metagene 2 -0.335616 -0.120486 -2.524144 0.933776 ... -0.640554 -0.777672 \n", "metagene 3 3.532994 0.286914 -1.342845 1.290781 ... 0.489110 0.356925 \n", "metagene 4 0.466036 -0.455820 -0.756496 -0.013456 ... 0.950401 0.123224 \n", "\n", " 8551 26784 26783 26782 26779 26778 \\\n", "metagene 0 -0.975147 -0.142125 0.339079 0.118280 -0.761259 -0.183313 \n", "metagene 1 -0.159200 -0.211356 -0.387652 -0.137837 -0.474530 0.204819 \n", "metagene 2 -0.313629 0.010074 0.255665 1.612827 0.519558 0.661906 \n", "metagene 3 0.674017 -1.592262 -1.058137 0.383702 0.648317 -0.687954 \n", "metagene 4 0.326030 2.161343 0.678265 1.191926 1.467889 1.275098 \n", "\n", " 26777 100132941 \n", "metagene 0 -0.006010 -0.323200 \n", "metagene 1 0.312316 -0.018258 \n", "metagene 2 0.016296 -0.335104 \n", "metagene 3 -0.364239 -0.733333 \n", "metagene 4 0.168216 -0.796021 \n", "\n", "[5 rows x 21766 columns]" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Metagenes = pd.DataFrame(sICA.S_ , columns = df.columns , index = ['metagene ' + str(i) for i in range(sICA.S_.shape[0])])\n", "Metagenes.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can check that we do obtain sparse ICA components by plotting the distribution of \"metagene 1\" values (i.e the coefficients associated with \"metagene 1\" for each feature)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'Frequency')" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "def distribution(Components , name , bins): \n", " s = Components.loc[name]\n", " s.hist(bins = bins , weights=np.zeros_like(s) + 1. / s.size , grid = False)\n", " return\n", "\n", "plt.figure(figsize = (10 , 7))\n", "distribution(Metagenes , name = 'metagene 1' , bins = 30)\n", "plt.title(\"Distribution for metagene 1\")\n", "plt.xlabel(\"Coefficient value\")\n", "plt.ylabel(\"Frequency\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 3. Metagene annotation with sica-omics toolbox\n", "\n", "Finally, we provide a complementary Python package, called sica-omics, which gathers specific tools for analyzing the results of stabilized-ica applied on omics data. In particular, it provides tools to perform enrichment analysis and characterize each metagene with relevant biological annotations. These tools gather two major operations : first, a list of the most expressed genes is retrieved for each metagene, and then an enrichment analysis is performed on this list using [reactome](https://reactome.org/) or [ToppFun](https://toppgene.cchmc.org/enrichment.jsp). \n", "\n", "A conversion tool (https://pypi.org/project/mygene/) is included in both methods. It can handle usual gene identifiers like Entrez gene ids, Ensemble gene ids, NCBI RefSeq ids, official gene symbols, HUGO Gene Nomenclature, UniProt ids, Affymetrix probeset ids, and a mix of everything. It automatically converts them to Entrez gene IDs. For ToppFun this conversion is necessary for the analysis to work." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3.1 Reactome enrichment analysis \n", "\n", "**Note :** This tool is based on the python package [reactome2py](https://pypi.org/project/reactome2py/)." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "from sicaomics.annotate import reactome" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The user can choose different strategies for selecting the most expressed genes of each metagene :\n", "- The user can choose to only look at the right tail of the metagene distribution, the left tail, both or the heaviest one.\n", "- The user can choose whether the thresholds will be computed with deviations from the mean of the distribution (i.e $\\mu \\pm k*\\sigma$) or with its quantiles.\n", "- The user can fine tune these thresholds with the threshold parameter.\n", "\n", "**Note :** Here we will set the parameter ``convert_ids`` to False since genes are already identified by Entrez gene ids and thus the conversion is not necessary." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\ncaptier\\Documents\\GitHub\\sica-omics\\sicaomics\\annotate\\reactome.py:77: UserWarning: If convert_ids is False ReactomeAnalysis will assume that the inputs are valid gene ids for Reactome analysis ((e.g HUGO gene symbols, EntrezGene , Uniprot ...). No conversion will be performed. See https://reactome.org/userguide/analysis for more details.\n", " warnings.warn(\n" ] } ], "source": [ "Rannot = reactome.ReactomeAnalysis(data = Metagenes , threshold = 3 , method = 'std' , tail = 'heaviest' , convert_ids = False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Note :** By default, an arbitrary threshold of 0.05 is used to filter Entities pValue. The user can change it with the p_value parameter. The user can also pass a list of species to filter the results as well as min and max thresholds for the number of entities per pathway." ] }, { "cell_type": "code", "execution_count": 13, "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", "
Pathway identifierPathway name#Entities found#Entities totalEntities ratioEntities pValueEntities FDR#Reactions found#Reactions totalReactions ratioSpecies identifierSpecies nameSubmitted entities foundMapped entitiesFound reaction identifiers
2R-HSA-1474228Degradation of the extracellular matrix40.0148.00.0097990.00.087.0105.00.0076129606Homo sapiens50509;1284;1282;1281;176;1634;1513;80781;2006;...R-HSA-8940554;R-HSA-1602458;R-HSA-1474196;R-HS...
3R-HSA-2022090Assembly of collagen fibrils and other multime...26.067.00.0044360.00.021.026.00.0018859606Homo sapiens50509;1284;1282;1281;80781;1278;1277;5118;7837...R-HSA-2395302;R-HSA-2022141;R-HSA-2299620;R-HS...
4R-HSA-1442490Collagen degradation29.069.00.0045680.00.027.034.00.0024659606Homo sapiens50509;1284;1282;1281;1634;1513;80781;1278;1277...R-HSA-1564117;R-HSA-1474196;R-HSA-1474197;R-HS...
\n", "
" ], "text/plain": [ "0 Pathway identifier Pathway name \\\n", "2 R-HSA-1474228 Degradation of the extracellular matrix \n", "3 R-HSA-2022090 Assembly of collagen fibrils and other multime... \n", "4 R-HSA-1442490 Collagen degradation \n", "\n", "0 #Entities found #Entities total Entities ratio Entities pValue Entities FDR \\\n", "2 40.0 148.0 0.009799 0.0 0.0 \n", "3 26.0 67.0 0.004436 0.0 0.0 \n", "4 29.0 69.0 0.004568 0.0 0.0 \n", "\n", "0 #Reactions found #Reactions total Reactions ratio Species identifier \\\n", "2 87.0 105.0 0.007612 9606 \n", "3 21.0 26.0 0.001885 9606 \n", "4 27.0 34.0 0.002465 9606 \n", "\n", "0 Species name Submitted entities found \\\n", "2 Homo sapiens 50509;1284;1282;1281;176;1634;1513;80781;2006;... \n", "3 Homo sapiens 50509;1284;1282;1281;80781;1278;1277;5118;7837... \n", "4 Homo sapiens 50509;1284;1282;1281;1634;1513;80781;1278;1277... \n", "\n", "0 Mapped entities Found reaction identifiers \n", "2 R-HSA-8940554;R-HSA-1602458;R-HSA-1474196;R-HS... \n", "3 R-HSA-2395302;R-HSA-2022141;R-HSA-2299620;R-HS... \n", "4 R-HSA-1564117;R-HSA-1474196;R-HSA-1474197;R-HS... " ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Rannot.get_analysis(metagene = 'metagene 6' , species = 'Homo sapiens' , p_value=0.05).head(3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, the complete analysis can be browsed and visualized in reactome web portal (you need an internet access for this function)." ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "Rannot.open_full_analysis(metagene = 'metagene 6')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3.2 Toppfun enrichment analysis" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "from sicaomics.annotate import toppfun" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Note :** ToppFunAnalysis intializes the same way as ReactomeAnalysis. Please refer to the precedent section for some explanations." ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\ncaptier\\Documents\\GitHub\\sica-omics\\sicaomics\\annotate\\toppfun.py:77: UserWarning: If convert_ids is False ToppFunAnalysis will assume that the inputs are already Entrez gene IDs. No conversion will be performed. \n", " warnings.warn(\n" ] } ], "source": [ "Tannot = toppfun.ToppFunAnalysis(data = Metagenes , threshold = 3 , method = 'std' , tail = 'heaviest' , convert_ids = False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Note :** By default, an arbitrary threshold of 0.05 is used to filter pvalues. The user can change it with the p_value parameter. The user can also choose which annotation features he wants to look at with the type_list parameter. All the available features are enriched by default. Finaly, the user can play with several other parameters to filter the results (e.g min_entities , max_entities...)." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Enrichment analysis success!\n" ] }, { "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", "
CategoryIDNamePValueQValueFDRBHQValueFDRBYQValueBonferroniTotalGenesGenesInTermGenesInQueryGenesInTermInQuerySourceURLGene_Symbol
0GeneOntologyMolecularFunctionGO:0045296cadherin binding5.468367e-103.253678e-070.0000023.253678e-071986934140828VAPB,ADD1,AHNAK,DHX29,VCL,LIMA1,EPN2,USO1,PKN2...
1GeneOntologyMolecularFunctionGO:0003779actin binding4.007864e-061.192340e-030.0083072.384679e-031986949240827MAP1B,ADD1,LMOD1,PLS3,VCL,FLII,LIMA1,ENC1,YWHA...
2GeneOntologyMolecularFunctionGO:0042393histone binding6.316044e-061.252682e-030.0087273.758046e-031986925640818CHD1,EZH1,PHF2,SET,BRD9,SMARCC1,SART3,ZMYND11,...
\n", "
" ], "text/plain": [ " Category ID Name PValue \\\n", "0 GeneOntologyMolecularFunction GO:0045296 cadherin binding 5.468367e-10 \n", "1 GeneOntologyMolecularFunction GO:0003779 actin binding 4.007864e-06 \n", "2 GeneOntologyMolecularFunction GO:0042393 histone binding 6.316044e-06 \n", "\n", " QValueFDRBH QValueFDRBY QValueBonferroni TotalGenes GenesInTerm \\\n", "0 3.253678e-07 0.000002 3.253678e-07 19869 341 \n", "1 1.192340e-03 0.008307 2.384679e-03 19869 492 \n", "2 1.252682e-03 0.008727 3.758046e-03 19869 256 \n", "\n", " GenesInQuery GenesInTermInQuery Source URL \\\n", "0 408 28 \n", "1 408 27 \n", "2 408 18 \n", "\n", " Gene_Symbol \n", "0 VAPB,ADD1,AHNAK,DHX29,VCL,LIMA1,EPN2,USO1,PKN2... \n", "1 MAP1B,ADD1,LMOD1,PLS3,VCL,FLII,LIMA1,ENC1,YWHA... \n", "2 CHD1,EZH1,PHF2,SET,BRD9,SMARCC1,SART3,ZMYND11,... " ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Tannot.get_analysis(metagene = 'metagene 3').head(3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For both methods (i.e ReactomeAnalysis and ToppFunAnalysis) the top_genes_ attribute gives access to the list of extreme expressed genes for each metagene. The 'inputs' column contains the original gene IDs, the 'entrezgene' column contains the converted gene IDs (in Entrez IDs), and the 'notfound' column contains the original gene IDs which were not found by the conversion tool. \n", "\n", "**Note :** For cases with no conversion( i.e convert_to_entrez parameter was set to False), 'entregene' and 'notfound' columns contain only None values." ] }, { "cell_type": "code", "execution_count": 17, "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", "
inputsentrezgenenotfound
metagene 0[6192, 9086, 8653, 8284, 8287, 246126, 7404, 6...NoneNone
metagene 1[128602, 92747, 399949, 127003, 144448, 133690...NoneNone
metagene 2[388468, 400968, 29044, 228, 160857, 83417, 64...NoneNone
metagene 3[79832, 23347, 7403, 659, 83448, 1038, 163590,...NoneNone
metagene 4[283131, 84719, 79923, 29896, 100642175, 27099...NoneNone
metagene 5[8685, 366, 1118, 81501, 6348, 126014, 597, 11...NoneNone
metagene 6[1301, 131578, 6423, 8483, 26585, 84624, 22801...NoneNone
metagene 7[9787, 55872, 83540, 259266, 4751, 1063, 55635...NoneNone
metagene 8[23440, 7200, 80309, 4842, 10842, 5354, 6857, ...NoneNone
metagene 9[260436, 931, 10563, 83416, 3507, 973, 1380, 6...NoneNone
\n", "
" ], "text/plain": [ " inputs entrezgene \\\n", "metagene 0 [6192, 9086, 8653, 8284, 8287, 246126, 7404, 6... None \n", "metagene 1 [128602, 92747, 399949, 127003, 144448, 133690... None \n", "metagene 2 [388468, 400968, 29044, 228, 160857, 83417, 64... None \n", "metagene 3 [79832, 23347, 7403, 659, 83448, 1038, 163590,... None \n", "metagene 4 [283131, 84719, 79923, 29896, 100642175, 27099... None \n", "metagene 5 [8685, 366, 1118, 81501, 6348, 126014, 597, 11... None \n", "metagene 6 [1301, 131578, 6423, 8483, 26585, 84624, 22801... None \n", "metagene 7 [9787, 55872, 83540, 259266, 4751, 1063, 55635... None \n", "metagene 8 [23440, 7200, 80309, 4842, 10842, 5354, 6857, ... None \n", "metagene 9 [260436, 931, 10563, 83416, 3507, 973, 1380, 6... None \n", "\n", " notfound \n", "metagene 0 None \n", "metagene 1 None \n", "metagene 2 None \n", "metagene 3 None \n", "metagene 4 None \n", "metagene 5 None \n", "metagene 6 None \n", "metagene 7 None \n", "metagene 8 None \n", "metagene 9 None " ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Tannot.top_genes_.head(10)" ] } ], "metadata": { "celltoolbar": "Tags", "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "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.9.7" } }, "nbformat": 4, "nbformat_minor": 4 }