{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "**In this notebook data from HMDD database and LncRNADisease database related to miRNA-disease, lncRNA-disease and circRNA-disease associations is processed, inserted into SQL tables and analysed.**" ] }, { "cell_type": "code", "execution_count": 208, "metadata": {}, "outputs": [], "source": [ "import pandas as pd" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "***HMDD Database data processing***" ] }, { "cell_type": "code", "execution_count": 209, "metadata": { "scrolled": true }, "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", "
categorymirdiseasemesh_namepmidcausality
0circulation_biomarker_diagnosis_downhsa-mir-15aLeukemia, Lymphocytic, Chronic, B-CellLeukemia, Lymphocytic, Chronic, B-Cell15737576no
1circulation_biomarker_diagnosis_downhsa-mir-16Leukemia, Lymphocytic, Chronic, B-CellLeukemia, Lymphocytic, Chronic, B-Cell15737576no
2circulation_biomarker_diagnosis_downhsa-mir-143Colon NeoplasmsColonic Neoplasms16195701no
3circulation_biomarker_diagnosis_downhsa-mir-145Colon NeoplasmsColonic Neoplasms16195701no
4circulation_biomarker_diagnosis_downhsa-mir-223Leukemia, Lymphocytic, Chronic, B-CellLeukemia, Lymphocytic, Chronic, B-Cell16251535no
.....................
35542tissue_expression_uphsa-mir-3648Neoplasms [unspecific]Neoplasms30384176no
35543tissue_expression_uphsa-mir-3687Neoplasms [unspecific]Neoplasms30384176no
35544tissue_expression_uphsa-mir-4746Neoplasms [unspecific]Neoplasms30384176no
35545tissue_expression_uphsa-mir-760Neoplasms [unspecific]Neoplasms30384176no
35546tissue_expression_uphsa-mir-96Neoplasms [unspecific]Neoplasms30384176no
\n", "

35547 rows × 6 columns

\n", "
" ], "text/plain": [ " category mir \\\n", "0 circulation_biomarker_diagnosis_down hsa-mir-15a \n", "1 circulation_biomarker_diagnosis_down hsa-mir-16 \n", "2 circulation_biomarker_diagnosis_down hsa-mir-143 \n", "3 circulation_biomarker_diagnosis_down hsa-mir-145 \n", "4 circulation_biomarker_diagnosis_down hsa-mir-223 \n", "... ... ... \n", "35542 tissue_expression_up hsa-mir-3648 \n", "35543 tissue_expression_up hsa-mir-3687 \n", "35544 tissue_expression_up hsa-mir-4746 \n", "35545 tissue_expression_up hsa-mir-760 \n", "35546 tissue_expression_up hsa-mir-96 \n", "\n", " disease \\\n", "0 Leukemia, Lymphocytic, Chronic, B-Cell \n", "1 Leukemia, Lymphocytic, Chronic, B-Cell \n", "2 Colon Neoplasms \n", "3 Colon Neoplasms \n", "4 Leukemia, Lymphocytic, Chronic, B-Cell \n", "... ... \n", "35542 Neoplasms [unspecific] \n", "35543 Neoplasms [unspecific] \n", "35544 Neoplasms [unspecific] \n", "35545 Neoplasms [unspecific] \n", "35546 Neoplasms [unspecific] \n", "\n", " mesh_name pmid causality \n", "0 Leukemia, Lymphocytic, Chronic, B-Cell 15737576 no \n", "1 Leukemia, Lymphocytic, Chronic, B-Cell 15737576 no \n", "2 Colonic Neoplasms 16195701 no \n", "3 Colonic Neoplasms 16195701 no \n", "4 Leukemia, Lymphocytic, Chronic, B-Cell 16251535 no \n", "... ... ... ... \n", "35542 Neoplasms 30384176 no \n", "35543 Neoplasms 30384176 no \n", "35544 Neoplasms 30384176 no \n", "35545 Neoplasms 30384176 no \n", "35546 Neoplasms 30384176 no \n", "\n", "[35547 rows x 6 columns]" ] }, "execution_count": 209, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#S1_HMDD3_causal_info.xlsx is the HMDD3 causal association information dataset from HMDD database. \n", "#Contains MiRNA-disease associations\n", "hmdd_data = pd.read_excel(\"S1_HMDD3_causal_info.xlsx\")\n", "hmdd_data" ] }, { "cell_type": "code", "execution_count": 210, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "640" ] }, "execution_count": 210, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#counts the number of different diseases in MeSH terminology (column \"mesh_name\")\n", "hmdd_data['mesh_name'].nunique()" ] }, { "cell_type": "code", "execution_count": 211, "metadata": { "scrolled": true }, "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", "
mircausalitycategorymesh_name
0hsa-mir-15anocirculation_biomarker_diagnosis_downLeukemia, Lymphocytic, Chronic, B-Cell
1hsa-mir-16nocirculation_biomarker_diagnosis_downLeukemia, Lymphocytic, Chronic, B-Cell
2hsa-mir-143nocirculation_biomarker_diagnosis_downColonic Neoplasms
3hsa-mir-145nocirculation_biomarker_diagnosis_downColonic Neoplasms
4hsa-mir-223nocirculation_biomarker_diagnosis_downLeukemia, Lymphocytic, Chronic, B-Cell
...............
35541hsa-mir-301bnotissue_expression_upNeoplasms
35542hsa-mir-3648notissue_expression_upNeoplasms
35543hsa-mir-3687notissue_expression_upNeoplasms
35544hsa-mir-4746notissue_expression_upNeoplasms
35545hsa-mir-760notissue_expression_upNeoplasms
\n", "

27353 rows × 4 columns

\n", "
" ], "text/plain": [ " mir causality category \\\n", "0 hsa-mir-15a no circulation_biomarker_diagnosis_down \n", "1 hsa-mir-16 no circulation_biomarker_diagnosis_down \n", "2 hsa-mir-143 no circulation_biomarker_diagnosis_down \n", "3 hsa-mir-145 no circulation_biomarker_diagnosis_down \n", "4 hsa-mir-223 no circulation_biomarker_diagnosis_down \n", "... ... ... ... \n", "35541 hsa-mir-301b no tissue_expression_up \n", "35542 hsa-mir-3648 no tissue_expression_up \n", "35543 hsa-mir-3687 no tissue_expression_up \n", "35544 hsa-mir-4746 no tissue_expression_up \n", "35545 hsa-mir-760 no tissue_expression_up \n", "\n", " mesh_name \n", "0 Leukemia, Lymphocytic, Chronic, B-Cell \n", "1 Leukemia, Lymphocytic, Chronic, B-Cell \n", "2 Colonic Neoplasms \n", "3 Colonic Neoplasms \n", "4 Leukemia, Lymphocytic, Chronic, B-Cell \n", "... ... \n", "35541 Neoplasms \n", "35542 Neoplasms \n", "35543 Neoplasms \n", "35544 Neoplasms \n", "35545 Neoplasms \n", "\n", "[27353 rows x 4 columns]" ] }, "execution_count": 211, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#Selection of the columns of interest. These are \"mir\", \"mesh_name\", \"category\" and \"causality\".\n", "#column \"category\" informs about the type of relationship between a certain miRNA and a certain disease\n", "#column \"causality\" specifies whether a miRNA is significantly involved in the disease mechanism or not)\n", "hmdd_data = hmdd_data[['mir','causality', 'category', 'mesh_name']].drop_duplicates()\n", "hmdd_data" ] }, { "cell_type": "code", "execution_count": 212, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "False\n", "False\n", "False\n", "True\n" ] } ], "source": [ "#checking if there are columns with NaN values\n", "print(hmdd_data['mir'].isnull().values.any())\n", "print(hmdd_data['causality'].isnull().values.any())\n", "print(hmdd_data['category'].isnull().values.any())\n", "print(hmdd_data['mesh_name'].isnull().values.any())" ] }, { "cell_type": "code", "execution_count": 213, "metadata": { "scrolled": true }, "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", "
mircausalitycategorymesh_name
0hsa-mir-15anocirculation_biomarker_diagnosis_downLeukemia, Lymphocytic, Chronic, B-Cell
1hsa-mir-16nocirculation_biomarker_diagnosis_downLeukemia, Lymphocytic, Chronic, B-Cell
2hsa-mir-143nocirculation_biomarker_diagnosis_downColonic Neoplasms
3hsa-mir-145nocirculation_biomarker_diagnosis_downColonic Neoplasms
4hsa-mir-223nocirculation_biomarker_diagnosis_downLeukemia, Lymphocytic, Chronic, B-Cell
...............
35541hsa-mir-301bnotissue_expression_upNeoplasms
35542hsa-mir-3648notissue_expression_upNeoplasms
35543hsa-mir-3687notissue_expression_upNeoplasms
35544hsa-mir-4746notissue_expression_upNeoplasms
35545hsa-mir-760notissue_expression_upNeoplasms
\n", "

25659 rows × 4 columns

\n", "
" ], "text/plain": [ " mir causality category \\\n", "0 hsa-mir-15a no circulation_biomarker_diagnosis_down \n", "1 hsa-mir-16 no circulation_biomarker_diagnosis_down \n", "2 hsa-mir-143 no circulation_biomarker_diagnosis_down \n", "3 hsa-mir-145 no circulation_biomarker_diagnosis_down \n", "4 hsa-mir-223 no circulation_biomarker_diagnosis_down \n", "... ... ... ... \n", "35541 hsa-mir-301b no tissue_expression_up \n", "35542 hsa-mir-3648 no tissue_expression_up \n", "35543 hsa-mir-3687 no tissue_expression_up \n", "35544 hsa-mir-4746 no tissue_expression_up \n", "35545 hsa-mir-760 no tissue_expression_up \n", "\n", " mesh_name \n", "0 Leukemia, Lymphocytic, Chronic, B-Cell \n", "1 Leukemia, Lymphocytic, Chronic, B-Cell \n", "2 Colonic Neoplasms \n", "3 Colonic Neoplasms \n", "4 Leukemia, Lymphocytic, Chronic, B-Cell \n", "... ... \n", "35541 Neoplasms \n", "35542 Neoplasms \n", "35543 Neoplasms \n", "35544 Neoplasms \n", "35545 Neoplasms \n", "\n", "[25659 rows x 4 columns]" ] }, "execution_count": 213, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#some rna-disease associations have NaN values in the \"mesh_name\" column\n", "#in this case, we won't consider those associations for our analysis.\n", "hmdd_data_1 = hmdd_data.dropna()\n", "hmdd_data_1" ] }, { "cell_type": "code", "execution_count": 214, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ ":3: SettingWithCopyWarning: \n", "A value is trying to be set on a copy of a slice from a DataFrame.\n", "Try using .loc[row_indexer,col_indexer] = value instead\n", "\n", "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", " hmdd_data_1['source_id'] = 5\n", ":4: SettingWithCopyWarning: \n", "A value is trying to be set on a copy of a slice from a DataFrame.\n", "Try using .loc[row_indexer,col_indexer] = value instead\n", "\n", "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", " hmdd_data_1['source_name'] = \"HMDD v3.2\"\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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
mircausalitycategorymesh_namesource_idsource_name
0hsa-mir-15anocirculation_biomarker_diagnosis_downLeukemia, Lymphocytic, Chronic, B-Cell5HMDD v3.2
1hsa-mir-16nocirculation_biomarker_diagnosis_downLeukemia, Lymphocytic, Chronic, B-Cell5HMDD v3.2
2hsa-mir-143nocirculation_biomarker_diagnosis_downColonic Neoplasms5HMDD v3.2
3hsa-mir-145nocirculation_biomarker_diagnosis_downColonic Neoplasms5HMDD v3.2
4hsa-mir-223nocirculation_biomarker_diagnosis_downLeukemia, Lymphocytic, Chronic, B-Cell5HMDD v3.2
.....................
35541hsa-mir-301bnotissue_expression_upNeoplasms5HMDD v3.2
35542hsa-mir-3648notissue_expression_upNeoplasms5HMDD v3.2
35543hsa-mir-3687notissue_expression_upNeoplasms5HMDD v3.2
35544hsa-mir-4746notissue_expression_upNeoplasms5HMDD v3.2
35545hsa-mir-760notissue_expression_upNeoplasms5HMDD v3.2
\n", "

25659 rows × 6 columns

\n", "
" ], "text/plain": [ " mir causality category \\\n", "0 hsa-mir-15a no circulation_biomarker_diagnosis_down \n", "1 hsa-mir-16 no circulation_biomarker_diagnosis_down \n", "2 hsa-mir-143 no circulation_biomarker_diagnosis_down \n", "3 hsa-mir-145 no circulation_biomarker_diagnosis_down \n", "4 hsa-mir-223 no circulation_biomarker_diagnosis_down \n", "... ... ... ... \n", "35541 hsa-mir-301b no tissue_expression_up \n", "35542 hsa-mir-3648 no tissue_expression_up \n", "35543 hsa-mir-3687 no tissue_expression_up \n", "35544 hsa-mir-4746 no tissue_expression_up \n", "35545 hsa-mir-760 no tissue_expression_up \n", "\n", " mesh_name source_id source_name \n", "0 Leukemia, Lymphocytic, Chronic, B-Cell 5 HMDD v3.2 \n", "1 Leukemia, Lymphocytic, Chronic, B-Cell 5 HMDD v3.2 \n", "2 Colonic Neoplasms 5 HMDD v3.2 \n", "3 Colonic Neoplasms 5 HMDD v3.2 \n", "4 Leukemia, Lymphocytic, Chronic, B-Cell 5 HMDD v3.2 \n", "... ... ... ... \n", "35541 Neoplasms 5 HMDD v3.2 \n", "35542 Neoplasms 5 HMDD v3.2 \n", "35543 Neoplasms 5 HMDD v3.2 \n", "35544 Neoplasms 5 HMDD v3.2 \n", "35545 Neoplasms 5 HMDD v3.2 \n", "\n", "[25659 rows x 6 columns]" ] }, "execution_count": 214, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#Creation of columns \"source_id\" and \"source_name\".\n", "#This will identify in DISNET where the information from miRNA-disease association comes from.\n", "hmdd_data_1['source_id'] = 5\n", "hmdd_data_1['source_name'] = \"HMDD v3.2\"\n", "hmdd_data_1" ] }, { "cell_type": "code", "execution_count": 215, "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", "
rna_idcausalitytypenamesource_idsource_name
0hsa-mir-15anocirculation_biomarker_diagnosis_downLeukemia, Lymphocytic, Chronic, B-Cell5HMDD v3.2
1hsa-mir-16nocirculation_biomarker_diagnosis_downLeukemia, Lymphocytic, Chronic, B-Cell5HMDD v3.2
2hsa-mir-143nocirculation_biomarker_diagnosis_downColonic Neoplasms5HMDD v3.2
3hsa-mir-145nocirculation_biomarker_diagnosis_downColonic Neoplasms5HMDD v3.2
4hsa-mir-223nocirculation_biomarker_diagnosis_downLeukemia, Lymphocytic, Chronic, B-Cell5HMDD v3.2
.....................
35541hsa-mir-301bnotissue_expression_upNeoplasms5HMDD v3.2
35542hsa-mir-3648notissue_expression_upNeoplasms5HMDD v3.2
35543hsa-mir-3687notissue_expression_upNeoplasms5HMDD v3.2
35544hsa-mir-4746notissue_expression_upNeoplasms5HMDD v3.2
35545hsa-mir-760notissue_expression_upNeoplasms5HMDD v3.2
\n", "

25659 rows × 6 columns

\n", "
" ], "text/plain": [ " rna_id causality type \\\n", "0 hsa-mir-15a no circulation_biomarker_diagnosis_down \n", "1 hsa-mir-16 no circulation_biomarker_diagnosis_down \n", "2 hsa-mir-143 no circulation_biomarker_diagnosis_down \n", "3 hsa-mir-145 no circulation_biomarker_diagnosis_down \n", "4 hsa-mir-223 no circulation_biomarker_diagnosis_down \n", "... ... ... ... \n", "35541 hsa-mir-301b no tissue_expression_up \n", "35542 hsa-mir-3648 no tissue_expression_up \n", "35543 hsa-mir-3687 no tissue_expression_up \n", "35544 hsa-mir-4746 no tissue_expression_up \n", "35545 hsa-mir-760 no tissue_expression_up \n", "\n", " name source_id source_name \n", "0 Leukemia, Lymphocytic, Chronic, B-Cell 5 HMDD v3.2 \n", "1 Leukemia, Lymphocytic, Chronic, B-Cell 5 HMDD v3.2 \n", "2 Colonic Neoplasms 5 HMDD v3.2 \n", "3 Colonic Neoplasms 5 HMDD v3.2 \n", "4 Leukemia, Lymphocytic, Chronic, B-Cell 5 HMDD v3.2 \n", "... ... ... ... \n", "35541 Neoplasms 5 HMDD v3.2 \n", "35542 Neoplasms 5 HMDD v3.2 \n", "35543 Neoplasms 5 HMDD v3.2 \n", "35544 Neoplasms 5 HMDD v3.2 \n", "35545 Neoplasms 5 HMDD v3.2 \n", "\n", "[25659 rows x 6 columns]" ] }, "execution_count": 215, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#Renaming \"mir\", \"category\" and \"mesh_name\" columns with \"rna_id\", \"type\" and \"name\".\n", "#Renaming those columns has a matching purpose with the names of the columns from DISNET databse\n", "#This step will also be performed on the data set that contains ncRNA-disease associations.\n", "hmdd_data_2 = hmdd_data_1.rename(columns={'mir': 'rna_id', 'category': 'type', 'mesh_name':'name'})\n", "hmdd_data_2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "***LncRNADisease Database data processing***" ] }, { "cell_type": "code", "execution_count": 216, "metadata": { "scrolled": true }, "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", "
ncRNA SymbolncRNA CategorySpeciesDisease NameSampleDysfunction PatternValidated Method/Prediction MethodDescriptionPubMed ID
00610007N19RiklncRNAMus musculusDiabetic Nephropathiescell linesRegulation [down-regulated]qRT-PCRTwelve lncRNAs displayed the same expressional...28151474.0
1116HGlncRNAHomo sapiensPrader-Willi syndromeNaNExpression [differentially expressed]Meta-analysisLong ncRNA 116HG has been shown to play a role...24624135.0
21500026H17RiklncRNAMus musculusDiabetic Nephropathiescell linesRegulation [up-regulated]qRT-PCRTwelve lncRNAs displayed the same expressional...28151474.0
31700020I14RiklncRNAMus musculusDiabetic Nephropathiescell linesRegulation [down-regulated]qRT-PCRTwelve lncRNAs displayed the same expressional...28151474.0
41700020I14RiklncRNAMus musculusDiabetic Nephropathiesrenal tissues of db/db DN mice compared with d...Regulation [down-regulated]RIP//Luciferase reporter gene assay//RNA seque...Here, we have found dysexpressed long noncodin...29700282.0
..............................
206958ZSWIM8-AS1lncRNAHomo sapiensnon-small cell lung carcinomaNaNNaNTAMNaNNaN
206959ZSWIM8-AS1lncRNAHomo sapiensstomach cancerNaNNaNTAMNaNNaN
206960ZSWIM8-AS1lncRNAHomo sapiensthyroid cancerNaNNaNTAMNaNNaN
206961ZSWIM8-AS1lncRNAHomo sapiensurinary bladder cancerNaNNaNTAMNaNNaN
206962ZXF2lncRNAHomo sapienslung adenocarcinomalung tissueRegulation [up-regulated]qPCRZXF2 was overexpressed in lung adenocarcinoma ...25896422.0
\n", "

206963 rows × 9 columns

\n", "
" ], "text/plain": [ " ncRNA Symbol ncRNA Category Species \\\n", "0 0610007N19Rik lncRNA Mus musculus \n", "1 116HG lncRNA Homo sapiens \n", "2 1500026H17Rik lncRNA Mus musculus \n", "3 1700020I14Rik lncRNA Mus musculus \n", "4 1700020I14Rik lncRNA Mus musculus \n", "... ... ... ... \n", "206958 ZSWIM8-AS1 lncRNA Homo sapiens \n", "206959 ZSWIM8-AS1 lncRNA Homo sapiens \n", "206960 ZSWIM8-AS1 lncRNA Homo sapiens \n", "206961 ZSWIM8-AS1 lncRNA Homo sapiens \n", "206962 ZXF2 lncRNA Homo sapiens \n", "\n", " Disease Name \\\n", "0 Diabetic Nephropathies \n", "1 Prader-Willi syndrome \n", "2 Diabetic Nephropathies \n", "3 Diabetic Nephropathies \n", "4 Diabetic Nephropathies \n", "... ... \n", "206958 non-small cell lung carcinoma \n", "206959 stomach cancer \n", "206960 thyroid cancer \n", "206961 urinary bladder cancer \n", "206962 lung adenocarcinoma \n", "\n", " Sample \\\n", "0 cell lines \n", "1 NaN \n", "2 cell lines \n", "3 cell lines \n", "4 renal tissues of db/db DN mice compared with d... \n", "... ... \n", "206958 NaN \n", "206959 NaN \n", "206960 NaN \n", "206961 NaN \n", "206962 lung tissue \n", "\n", " Dysfunction Pattern \\\n", "0 Regulation [down-regulated] \n", "1 Expression [differentially expressed] \n", "2 Regulation [up-regulated] \n", "3 Regulation [down-regulated] \n", "4 Regulation [down-regulated] \n", "... ... \n", "206958 NaN \n", "206959 NaN \n", "206960 NaN \n", "206961 NaN \n", "206962 Regulation [up-regulated] \n", "\n", " Validated Method/Prediction Method \\\n", "0 qRT-PCR \n", "1 Meta-analysis \n", "2 qRT-PCR \n", "3 qRT-PCR \n", "4 RIP//Luciferase reporter gene assay//RNA seque... \n", "... ... \n", "206958 TAM \n", "206959 TAM \n", "206960 TAM \n", "206961 TAM \n", "206962 qPCR \n", "\n", " Description PubMed ID \n", "0 Twelve lncRNAs displayed the same expressional... 28151474.0 \n", "1 Long ncRNA 116HG has been shown to play a role... 24624135.0 \n", "2 Twelve lncRNAs displayed the same expressional... 28151474.0 \n", "3 Twelve lncRNAs displayed the same expressional... 28151474.0 \n", "4 Here, we have found dysexpressed long noncodin... 29700282.0 \n", "... ... ... \n", "206958 NaN NaN \n", "206959 NaN NaN \n", "206960 NaN NaN \n", "206961 NaN NaN \n", "206962 ZXF2 was overexpressed in lung adenocarcinoma ... 25896422.0 \n", "\n", "[206963 rows x 9 columns]" ] }, "execution_count": 216, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#all ncRNA-disease information LncRNADatabase.xlsx is the LncRNADisease Database dataset that contains ncRNA-disease associations\n", "#ncRNA stands for non coding RNA\n", "lncrna_data = pd.read_excel(\"all ncRNA-disease information LncRNADatabase.xlsx\")\n", "lncrna_data" ] }, { "cell_type": "code", "execution_count": 217, "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", "
ncRNA SymbolncRNA CategorySpeciesDisease NameSampleDysfunction PatternValidated Method/Prediction MethodDescriptionPubMed ID
1116HGlncRNAHomo sapiensPrader-Willi syndromeNaNExpression [differentially expressed]Meta-analysisLong ncRNA 116HG has been shown to play a role...24624135.0
717AlncRNAHomo sapiensAlzheimer's diseasebrainRegulation [up-regulated]IP//qRT-PCR//Western blot17A is expressed in human brain,and we report ...20888417.0
101B FGF-antisense transcriptslncRNAHomo sapiensendometriosisNaNExpressionqPCR//MicroarrayMihalich et al,reported patients with endometr...23781896.0
1421AlncRNAHomo sapiensastrocytomabrainExpression [differentially expressed]qPCRWe identified 24 lncRNAs suitable as normalise...25561975.0
1521AlncRNAHomo sapienscancercell line (293t)Regulation [down-regulated]Luciferase reporter gene assay//Northern blot/...A detailed investigation of the function of on...17274687.0
..............................
206958ZSWIM8-AS1lncRNAHomo sapiensnon-small cell lung carcinomaNaNNaNTAMNaNNaN
206959ZSWIM8-AS1lncRNAHomo sapiensstomach cancerNaNNaNTAMNaNNaN
206960ZSWIM8-AS1lncRNAHomo sapiensthyroid cancerNaNNaNTAMNaNNaN
206961ZSWIM8-AS1lncRNAHomo sapiensurinary bladder cancerNaNNaNTAMNaNNaN
206962ZXF2lncRNAHomo sapienslung adenocarcinomalung tissueRegulation [up-regulated]qPCRZXF2 was overexpressed in lung adenocarcinoma ...25896422.0
\n", "

205982 rows × 9 columns

\n", "
" ], "text/plain": [ " ncRNA Symbol ncRNA Category Species \\\n", "1 116HG lncRNA Homo sapiens \n", "7 17A lncRNA Homo sapiens \n", "10 1B FGF-antisense transcripts lncRNA Homo sapiens \n", "14 21A lncRNA Homo sapiens \n", "15 21A lncRNA Homo sapiens \n", "... ... ... ... \n", "206958 ZSWIM8-AS1 lncRNA Homo sapiens \n", "206959 ZSWIM8-AS1 lncRNA Homo sapiens \n", "206960 ZSWIM8-AS1 lncRNA Homo sapiens \n", "206961 ZSWIM8-AS1 lncRNA Homo sapiens \n", "206962 ZXF2 lncRNA Homo sapiens \n", "\n", " Disease Name Sample \\\n", "1 Prader-Willi syndrome NaN \n", "7 Alzheimer's disease brain \n", "10 endometriosis NaN \n", "14 astrocytoma brain \n", "15 cancer cell line (293t) \n", "... ... ... \n", "206958 non-small cell lung carcinoma NaN \n", "206959 stomach cancer NaN \n", "206960 thyroid cancer NaN \n", "206961 urinary bladder cancer NaN \n", "206962 lung adenocarcinoma lung tissue \n", "\n", " Dysfunction Pattern \\\n", "1 Expression [differentially expressed] \n", "7 Regulation [up-regulated] \n", "10 Expression \n", "14 Expression [differentially expressed] \n", "15 Regulation [down-regulated] \n", "... ... \n", "206958 NaN \n", "206959 NaN \n", "206960 NaN \n", "206961 NaN \n", "206962 Regulation [up-regulated] \n", "\n", " Validated Method/Prediction Method \\\n", "1 Meta-analysis \n", "7 IP//qRT-PCR//Western blot \n", "10 qPCR//Microarray \n", "14 qPCR \n", "15 Luciferase reporter gene assay//Northern blot/... \n", "... ... \n", "206958 TAM \n", "206959 TAM \n", "206960 TAM \n", "206961 TAM \n", "206962 qPCR \n", "\n", " Description PubMed ID \n", "1 Long ncRNA 116HG has been shown to play a role... 24624135.0 \n", "7 17A is expressed in human brain,and we report ... 20888417.0 \n", "10 Mihalich et al,reported patients with endometr... 23781896.0 \n", "14 We identified 24 lncRNAs suitable as normalise... 25561975.0 \n", "15 A detailed investigation of the function of on... 17274687.0 \n", "... ... ... \n", "206958 NaN NaN \n", "206959 NaN NaN \n", "206960 NaN NaN \n", "206961 NaN NaN \n", "206962 ZXF2 was overexpressed in lung adenocarcinoma ... 25896422.0 \n", "\n", "[205982 rows x 9 columns]" ] }, "execution_count": 217, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#we consider only miRNA-disease associations in humans, therefore:\n", "lncrna_data1= lncrna_data[lncrna_data.Species == \"Homo sapiens\"]\n", "lncrna_data1" ] }, { "cell_type": "code", "execution_count": 218, "metadata": { "scrolled": true }, "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", "
ncRNA SymbolncRNA CategoryDisease NameDysfunction Pattern
1116HGlncRNAPrader-Willi syndromeExpression [differentially expressed]
717AlncRNAAlzheimer's diseaseRegulation [up-regulated]
101B FGF-antisense transcriptslncRNAendometriosisExpression
1421AlncRNAastrocytomaExpression [differentially expressed]
1521AlncRNAcancerRegulation [down-regulated]
...............
206958ZSWIM8-AS1lncRNAnon-small cell lung carcinomaNaN
206959ZSWIM8-AS1lncRNAstomach cancerNaN
206960ZSWIM8-AS1lncRNAthyroid cancerNaN
206961ZSWIM8-AS1lncRNAurinary bladder cancerNaN
206962ZXF2lncRNAlung adenocarcinomaRegulation [up-regulated]
\n", "

180887 rows × 4 columns

\n", "
" ], "text/plain": [ " ncRNA Symbol ncRNA Category \\\n", "1 116HG lncRNA \n", "7 17A lncRNA \n", "10 1B FGF-antisense transcripts lncRNA \n", "14 21A lncRNA \n", "15 21A lncRNA \n", "... ... ... \n", "206958 ZSWIM8-AS1 lncRNA \n", "206959 ZSWIM8-AS1 lncRNA \n", "206960 ZSWIM8-AS1 lncRNA \n", "206961 ZSWIM8-AS1 lncRNA \n", "206962 ZXF2 lncRNA \n", "\n", " Disease Name Dysfunction Pattern \n", "1 Prader-Willi syndrome Expression [differentially expressed] \n", "7 Alzheimer's disease Regulation [up-regulated] \n", "10 endometriosis Expression \n", "14 astrocytoma Expression [differentially expressed] \n", "15 cancer Regulation [down-regulated] \n", "... ... ... \n", "206958 non-small cell lung carcinoma NaN \n", "206959 stomach cancer NaN \n", "206960 thyroid cancer NaN \n", "206961 urinary bladder cancer NaN \n", "206962 lung adenocarcinoma Regulation [up-regulated] \n", "\n", "[180887 rows x 4 columns]" ] }, "execution_count": 218, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#Selection of the columns we are interested in:\"ncRNA Symbol\", \"ncRNA Category\", \"Disease Name\" and \"Dysfunction Pattern\"\n", "lncrna_data2 = lncrna_data1[['ncRNA Symbol', 'ncRNA Category','Disease Name','Dysfunction Pattern']].drop_duplicates()\n", "lncrna_data2" ] }, { "cell_type": "code", "execution_count": 219, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "False\n", "False\n", "False\n", "True\n" ] } ], "source": [ "#checking if there are columns with NaN values\n", "print(lncrna_data2['ncRNA Symbol'].isnull().values.any())\n", "print(lncrna_data2['ncRNA Category'].isnull().values.any())\n", "print(lncrna_data2['Disease Name'].isnull().values.any())\n", "print(lncrna_data2['Dysfunction Pattern'].isnull().values.any())" ] }, { "cell_type": "code", "execution_count": 220, "metadata": { "scrolled": true }, "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", "
ncRNA SymbolncRNA CategoryDisease NameDysfunction Pattern
1116HGlncRNAPrader-Willi syndromeExpression [differentially expressed]
717AlncRNAAlzheimer's diseaseRegulation [up-regulated]
101B FGF-antisense transcriptslncRNAendometriosisExpression
1421AlncRNAastrocytomaExpression [differentially expressed]
1521AlncRNAcancerRegulation [down-regulated]
...............
206958ZSWIM8-AS1lncRNAnon-small cell lung carcinomans
206959ZSWIM8-AS1lncRNAstomach cancerns
206960ZSWIM8-AS1lncRNAthyroid cancerns
206961ZSWIM8-AS1lncRNAurinary bladder cancerns
206962ZXF2lncRNAlung adenocarcinomaRegulation [up-regulated]
\n", "

180887 rows × 4 columns

\n", "
" ], "text/plain": [ " ncRNA Symbol ncRNA Category \\\n", "1 116HG lncRNA \n", "7 17A lncRNA \n", "10 1B FGF-antisense transcripts lncRNA \n", "14 21A lncRNA \n", "15 21A lncRNA \n", "... ... ... \n", "206958 ZSWIM8-AS1 lncRNA \n", "206959 ZSWIM8-AS1 lncRNA \n", "206960 ZSWIM8-AS1 lncRNA \n", "206961 ZSWIM8-AS1 lncRNA \n", "206962 ZXF2 lncRNA \n", "\n", " Disease Name Dysfunction Pattern \n", "1 Prader-Willi syndrome Expression [differentially expressed] \n", "7 Alzheimer's disease Regulation [up-regulated] \n", "10 endometriosis Expression \n", "14 astrocytoma Expression [differentially expressed] \n", "15 cancer Regulation [down-regulated] \n", "... ... ... \n", "206958 non-small cell lung carcinoma ns \n", "206959 stomach cancer ns \n", "206960 thyroid cancer ns \n", "206961 urinary bladder cancer ns \n", "206962 lung adenocarcinoma Regulation [up-regulated] \n", "\n", "[180887 rows x 4 columns]" ] }, "execution_count": 220, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#NaN fields will be changed to \"ns\" which stands for \"not specified\". \n", "#This means there is not a specific dysfunction pattern in a given ncRNA when involved in a certain disease\n", "lncrna_data2['Dysfunction Pattern'] = lncrna_data2['Dysfunction Pattern'].fillna('ns')\n", "lncrna_data2" ] }, { "cell_type": "code", "execution_count": 221, "metadata": { "scrolled": true }, "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", "
ncRNA SymbolncRNA CategoryDisease NameDysfunction Patternsource_idsource_name
1116HGlncRNAPrader-Willi syndromeExpression [differentially expressed]6LncRNADisease
717AlncRNAAlzheimer's diseaseRegulation [up-regulated]6LncRNADisease
101B FGF-antisense transcriptslncRNAendometriosisExpression6LncRNADisease
1421AlncRNAastrocytomaExpression [differentially expressed]6LncRNADisease
1521AlncRNAcancerRegulation [down-regulated]6LncRNADisease
.....................
206958ZSWIM8-AS1lncRNAnon-small cell lung carcinomans6LncRNADisease
206959ZSWIM8-AS1lncRNAstomach cancerns6LncRNADisease
206960ZSWIM8-AS1lncRNAthyroid cancerns6LncRNADisease
206961ZSWIM8-AS1lncRNAurinary bladder cancerns6LncRNADisease
206962ZXF2lncRNAlung adenocarcinomaRegulation [up-regulated]6LncRNADisease
\n", "

180887 rows × 6 columns

\n", "
" ], "text/plain": [ " ncRNA Symbol ncRNA Category \\\n", "1 116HG lncRNA \n", "7 17A lncRNA \n", "10 1B FGF-antisense transcripts lncRNA \n", "14 21A lncRNA \n", "15 21A lncRNA \n", "... ... ... \n", "206958 ZSWIM8-AS1 lncRNA \n", "206959 ZSWIM8-AS1 lncRNA \n", "206960 ZSWIM8-AS1 lncRNA \n", "206961 ZSWIM8-AS1 lncRNA \n", "206962 ZXF2 lncRNA \n", "\n", " Disease Name Dysfunction Pattern \\\n", "1 Prader-Willi syndrome Expression [differentially expressed] \n", "7 Alzheimer's disease Regulation [up-regulated] \n", "10 endometriosis Expression \n", "14 astrocytoma Expression [differentially expressed] \n", "15 cancer Regulation [down-regulated] \n", "... ... ... \n", "206958 non-small cell lung carcinoma ns \n", "206959 stomach cancer ns \n", "206960 thyroid cancer ns \n", "206961 urinary bladder cancer ns \n", "206962 lung adenocarcinoma Regulation [up-regulated] \n", "\n", " source_id source_name \n", "1 6 LncRNADisease \n", "7 6 LncRNADisease \n", "10 6 LncRNADisease \n", "14 6 LncRNADisease \n", "15 6 LncRNADisease \n", "... ... ... \n", "206958 6 LncRNADisease \n", "206959 6 LncRNADisease \n", "206960 6 LncRNADisease \n", "206961 6 LncRNADisease \n", "206962 6 LncRNADisease \n", "\n", "[180887 rows x 6 columns]" ] }, "execution_count": 221, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#Creation of source_id and source_name columns.\n", "#This will identify in DISNET where the information from ncRNA-disease association comes from.\n", "lncrna_data2['source_id'] = 6\n", "lncrna_data2['source_name'] = \"LncRNADisease\" #source database\n", "lncrna_data2" ] }, { "cell_type": "code", "execution_count": 222, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "498" ] }, "execution_count": 222, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#Counting the number of different human diseases in LncRNADisease database\n", "lncrna_data2['Disease Name'].nunique()" ] }, { "cell_type": "code", "execution_count": 223, "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", "
rna_idrna_categorynametypesource_idsource_name
1116HGlncRNAPrader-Willi syndromeExpression [differentially expressed]6LncRNADisease
717AlncRNAAlzheimer's diseaseRegulation [up-regulated]6LncRNADisease
101B FGF-antisense transcriptslncRNAendometriosisExpression6LncRNADisease
1421AlncRNAastrocytomaExpression [differentially expressed]6LncRNADisease
1521AlncRNAcancerRegulation [down-regulated]6LncRNADisease
.....................
206958ZSWIM8-AS1lncRNAnon-small cell lung carcinomans6LncRNADisease
206959ZSWIM8-AS1lncRNAstomach cancerns6LncRNADisease
206960ZSWIM8-AS1lncRNAthyroid cancerns6LncRNADisease
206961ZSWIM8-AS1lncRNAurinary bladder cancerns6LncRNADisease
206962ZXF2lncRNAlung adenocarcinomaRegulation [up-regulated]6LncRNADisease
\n", "

180887 rows × 6 columns

\n", "
" ], "text/plain": [ " rna_id rna_category \\\n", "1 116HG lncRNA \n", "7 17A lncRNA \n", "10 1B FGF-antisense transcripts lncRNA \n", "14 21A lncRNA \n", "15 21A lncRNA \n", "... ... ... \n", "206958 ZSWIM8-AS1 lncRNA \n", "206959 ZSWIM8-AS1 lncRNA \n", "206960 ZSWIM8-AS1 lncRNA \n", "206961 ZSWIM8-AS1 lncRNA \n", "206962 ZXF2 lncRNA \n", "\n", " name type \\\n", "1 Prader-Willi syndrome Expression [differentially expressed] \n", "7 Alzheimer's disease Regulation [up-regulated] \n", "10 endometriosis Expression \n", "14 astrocytoma Expression [differentially expressed] \n", "15 cancer Regulation [down-regulated] \n", "... ... ... \n", "206958 non-small cell lung carcinoma ns \n", "206959 stomach cancer ns \n", "206960 thyroid cancer ns \n", "206961 urinary bladder cancer ns \n", "206962 lung adenocarcinoma Regulation [up-regulated] \n", "\n", " source_id source_name \n", "1 6 LncRNADisease \n", "7 6 LncRNADisease \n", "10 6 LncRNADisease \n", "14 6 LncRNADisease \n", "15 6 LncRNADisease \n", "... ... ... \n", "206958 6 LncRNADisease \n", "206959 6 LncRNADisease \n", "206960 6 LncRNADisease \n", "206961 6 LncRNADisease \n", "206962 6 LncRNADisease \n", "\n", "[180887 rows x 6 columns]" ] }, "execution_count": 223, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#identifying columns \"ncRNA Symbol\", 'Dysfunction Pattern', 'Disease Name' and 'ncRNA Category' as 'rna_id', 'type', 'name' and 'rna_category' respectively.\n", "#LncRNADisease database terms its diseases associated to ncRNAs in Disease Ontology and MeSH vocabulary in the \"Disease Name\" column.\n", "#This is done to facilitate the merging operations between hmdd_data_to_merge and lncrna_data_to_merge datasets.\n", "lncrna_data_3 = lncrna_data2.rename(columns={'ncRNA Symbol': 'rna_id', 'Dysfunction Pattern': 'type', 'Disease Name':'name', 'ncRNA Category': 'rna_category'})\n", "lncrna_data_3" ] }, { "cell_type": "code", "execution_count": 224, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "498" ] }, "execution_count": 224, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lncrna_data_3['name'].nunique()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "***Appending hmdd_data_2 and lncrna_data_3 datasets in one***" ] }, { "cell_type": "code", "execution_count": 225, "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", "
rna_idcausalitytypenamesource_idsource_namerna_category
0hsa-mir-15anocirculation_biomarker_diagnosis_downLeukemia, Lymphocytic, Chronic, B-Cell5HMDD v3.2NaN
1hsa-mir-16nocirculation_biomarker_diagnosis_downLeukemia, Lymphocytic, Chronic, B-Cell5HMDD v3.2NaN
2hsa-mir-143nocirculation_biomarker_diagnosis_downColonic Neoplasms5HMDD v3.2NaN
3hsa-mir-145nocirculation_biomarker_diagnosis_downColonic Neoplasms5HMDD v3.2NaN
4hsa-mir-223nocirculation_biomarker_diagnosis_downLeukemia, Lymphocytic, Chronic, B-Cell5HMDD v3.2NaN
........................
206541ZSWIM8-AS1NaNnsnon-small cell lung carcinoma6LncRNADiseaselncRNA
206542ZSWIM8-AS1NaNnsstomach cancer6LncRNADiseaselncRNA
206543ZSWIM8-AS1NaNnsthyroid cancer6LncRNADiseaselncRNA
206544ZSWIM8-AS1NaNnsurinary bladder cancer6LncRNADiseaselncRNA
206545ZXF2NaNRegulation [up-regulated]lung adenocarcinoma6LncRNADiseaselncRNA
\n", "

206546 rows × 7 columns

\n", "
" ], "text/plain": [ " rna_id causality type \\\n", "0 hsa-mir-15a no circulation_biomarker_diagnosis_down \n", "1 hsa-mir-16 no circulation_biomarker_diagnosis_down \n", "2 hsa-mir-143 no circulation_biomarker_diagnosis_down \n", "3 hsa-mir-145 no circulation_biomarker_diagnosis_down \n", "4 hsa-mir-223 no circulation_biomarker_diagnosis_down \n", "... ... ... ... \n", "206541 ZSWIM8-AS1 NaN ns \n", "206542 ZSWIM8-AS1 NaN ns \n", "206543 ZSWIM8-AS1 NaN ns \n", "206544 ZSWIM8-AS1 NaN ns \n", "206545 ZXF2 NaN Regulation [up-regulated] \n", "\n", " name source_id source_name \\\n", "0 Leukemia, Lymphocytic, Chronic, B-Cell 5 HMDD v3.2 \n", "1 Leukemia, Lymphocytic, Chronic, B-Cell 5 HMDD v3.2 \n", "2 Colonic Neoplasms 5 HMDD v3.2 \n", "3 Colonic Neoplasms 5 HMDD v3.2 \n", "4 Leukemia, Lymphocytic, Chronic, B-Cell 5 HMDD v3.2 \n", "... ... ... ... \n", "206541 non-small cell lung carcinoma 6 LncRNADisease \n", "206542 stomach cancer 6 LncRNADisease \n", "206543 thyroid cancer 6 LncRNADisease \n", "206544 urinary bladder cancer 6 LncRNADisease \n", "206545 lung adenocarcinoma 6 LncRNADisease \n", "\n", " rna_category \n", "0 NaN \n", "1 NaN \n", "2 NaN \n", "3 NaN \n", "4 NaN \n", "... ... \n", "206541 lncRNA \n", "206542 lncRNA \n", "206543 lncRNA \n", "206544 lncRNA \n", "206545 lncRNA \n", "\n", "[206546 rows x 7 columns]" ] }, "execution_count": 225, "metadata": {}, "output_type": "execute_result" } ], "source": [ "hmdd_lncrna_appended = hmdd_data_2.append(lncrna_data_3, ignore_index=True, sort=False)\n", "hmdd_lncrna_appended" ] }, { "cell_type": "code", "execution_count": 226, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1092" ] }, "execution_count": 226, "metadata": {}, "output_type": "execute_result" } ], "source": [ "hmdd_lncrna_appended['name'].nunique()" ] }, { "cell_type": "code", "execution_count": 227, "metadata": {}, "outputs": [], "source": [ "#once both datasets are appended, we will fill NaN values in rna_category to \"miRNA\" and in causality to \"ns\"\n", "hmdd_lncrna_appended['rna_category'] = hmdd_lncrna_appended['rna_category'].fillna(\"miRNA\")\n", "hmdd_lncrna_appended['causality'] = hmdd_lncrna_appended['causality'].fillna(\"ns\")\n", "hmdd_lncrna_appended_1 = hmdd_lncrna_appended\n" ] }, { "cell_type": "code", "execution_count": 228, "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", "
rna_idrna_categorytypenamecausality
0hsa-mir-15amiRNAcirculation_biomarker_diagnosis_downLeukemia, Lymphocytic, Chronic, B-Cellno
1hsa-mir-16miRNAcirculation_biomarker_diagnosis_downLeukemia, Lymphocytic, Chronic, B-Cellno
2hsa-mir-143miRNAcirculation_biomarker_diagnosis_downColonic Neoplasmsno
3hsa-mir-145miRNAcirculation_biomarker_diagnosis_downColonic Neoplasmsno
4hsa-mir-223miRNAcirculation_biomarker_diagnosis_downLeukemia, Lymphocytic, Chronic, B-Cellno
..................
206541ZSWIM8-AS1lncRNAnsnon-small cell lung carcinomans
206542ZSWIM8-AS1lncRNAnsstomach cancerns
206543ZSWIM8-AS1lncRNAnsthyroid cancerns
206544ZSWIM8-AS1lncRNAnsurinary bladder cancerns
206545ZXF2lncRNARegulation [up-regulated]lung adenocarcinomans
\n", "

206546 rows × 5 columns

\n", "
" ], "text/plain": [ " rna_id rna_category type \\\n", "0 hsa-mir-15a miRNA circulation_biomarker_diagnosis_down \n", "1 hsa-mir-16 miRNA circulation_biomarker_diagnosis_down \n", "2 hsa-mir-143 miRNA circulation_biomarker_diagnosis_down \n", "3 hsa-mir-145 miRNA circulation_biomarker_diagnosis_down \n", "4 hsa-mir-223 miRNA circulation_biomarker_diagnosis_down \n", "... ... ... ... \n", "206541 ZSWIM8-AS1 lncRNA ns \n", "206542 ZSWIM8-AS1 lncRNA ns \n", "206543 ZSWIM8-AS1 lncRNA ns \n", "206544 ZSWIM8-AS1 lncRNA ns \n", "206545 ZXF2 lncRNA Regulation [up-regulated] \n", "\n", " name causality \n", "0 Leukemia, Lymphocytic, Chronic, B-Cell no \n", "1 Leukemia, Lymphocytic, Chronic, B-Cell no \n", "2 Colonic Neoplasms no \n", "3 Colonic Neoplasms no \n", "4 Leukemia, Lymphocytic, Chronic, B-Cell no \n", "... ... ... \n", "206541 non-small cell lung carcinoma ns \n", "206542 stomach cancer ns \n", "206543 thyroid cancer ns \n", "206544 urinary bladder cancer ns \n", "206545 lung adenocarcinoma ns \n", "\n", "[206546 rows x 5 columns]" ] }, "execution_count": 228, "metadata": {}, "output_type": "execute_result" } ], "source": [ "hmdd_lncrna_appended_2 = hmdd_lncrna_appended_1[['rna_id', 'rna_category', 'type', 'name', 'causality']]\n", "hmdd_lncrna_appended_2" ] }, { "cell_type": "code", "execution_count": 229, "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", "
rna_idcausalitytypesource_idsource_namerna_category
name
131I-resistant papillary thyroid carcinoma111111
Abortion, Habitual925222
Abortion, Spontaneous2124111
Acquired Immunodeficiency Syndrome714111
Acute Coronary Syndrome3529222
.....................
vascular disease111111
vascular endothelial dysfunction111111
velocardiofacial syndrome11611111
ventricular septal defect312111
vulva squamous cell carcinoma211111
\n", "

1092 rows × 6 columns

\n", "
" ], "text/plain": [ " rna_id causality type \\\n", "name \n", "131I-resistant papillary thyroid carcinoma 1 1 1 \n", "Abortion, Habitual 9 2 5 \n", "Abortion, Spontaneous 21 2 4 \n", "Acquired Immunodeficiency Syndrome 7 1 4 \n", "Acute Coronary Syndrome 35 2 9 \n", "... ... ... ... \n", "vascular disease 1 1 1 \n", "vascular endothelial dysfunction 1 1 1 \n", "velocardiofacial syndrome 116 1 1 \n", "ventricular septal defect 3 1 2 \n", "vulva squamous cell carcinoma 2 1 1 \n", "\n", " source_id source_name \\\n", "name \n", "131I-resistant papillary thyroid carcinoma 1 1 \n", "Abortion, Habitual 2 2 \n", "Abortion, Spontaneous 1 1 \n", "Acquired Immunodeficiency Syndrome 1 1 \n", "Acute Coronary Syndrome 2 2 \n", "... ... ... \n", "vascular disease 1 1 \n", "vascular endothelial dysfunction 1 1 \n", "velocardiofacial syndrome 1 1 \n", "ventricular septal defect 1 1 \n", "vulva squamous cell carcinoma 1 1 \n", "\n", " rna_category \n", "name \n", "131I-resistant papillary thyroid carcinoma 1 \n", "Abortion, Habitual 2 \n", "Abortion, Spontaneous 1 \n", "Acquired Immunodeficiency Syndrome 1 \n", "Acute Coronary Syndrome 2 \n", "... ... \n", "vascular disease 1 \n", "vascular endothelial dysfunction 1 \n", "velocardiofacial syndrome 1 \n", "ventricular septal defect 1 \n", "vulva squamous cell carcinoma 1 \n", "\n", "[1092 rows x 6 columns]" ] }, "execution_count": 229, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#count the number of different diseases we have\n", "hmdd_lncrna_appended_1.groupby(['name']).nunique()" ] }, { "cell_type": "code", "execution_count": 230, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1092" ] }, "execution_count": 230, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#Counts the combined number of human disases between HMDD database and LncRNADisease database.\n", "hmdd_lncrna_appended_1['name'].nunique()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "***Verifying if the names of the diseases contained in hmdd_lncrna_appended dataset match with the names of the diseases in DISNET.***" ] }, { "cell_type": "code", "execution_count": 231, "metadata": {}, "outputs": [], "source": [ "#First, we will connect to DISNET database\n", "import mysql.connector\n", "import json\n", "conn_param_file = 'C:/Users/end user/OneDrive/Desktop/UPM Master/CTB TFM/Datasets/DISNET_CONNECTION_correct.json'\n", "# Setting the connection to the database\n", "\n", "# The connection configuration is stored in a JSON file\n", "with open(conn_param_file, 'r') as f:\n", " config = json.load(f) # The JSON file is translated to a python dictionary\n", "\n", "# Stablishing the connection with the parameters in the dictionary\n", "cnx = mysql.connector.connect(**config)" ] }, { "cell_type": "code", "execution_count": 232, "metadata": {}, "outputs": [], "source": [ "#%load_ext sql" ] }, { "cell_type": "code", "execution_count": 233, "metadata": {}, "outputs": [], "source": [ "%reload_ext sql" ] }, { "cell_type": "code", "execution_count": 234, "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", "
name
0angiosarcoma
1pterygium
2disease of metabolism
3Streptococcus pneumonia
4bacterial sepsis
......
14392Cardiotoxicity
14393Pectus Carinatum
14394Speech Sound Disorder
14395Pulmonary Arterial Remodeling
14396atresia
\n", "

14397 rows × 1 columns

\n", "
" ], "text/plain": [ " name\n", "0 angiosarcoma\n", "1 pterygium\n", "2 disease of metabolism\n", "3 Streptococcus pneumonia\n", "4 bacterial sepsis\n", "... ...\n", "14392 Cardiotoxicity\n", "14393 Pectus Carinatum\n", "14394 Speech Sound Disorder\n", "14395 Pulmonary Arterial Remodeling\n", "14396 atresia\n", "\n", "[14397 rows x 1 columns]" ] }, "execution_count": 234, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#Returns a dataframe that contains the names of the diseases in MeSH and Disease Ontology stored in DISNET\n", "#It previously requires to query DISNET's disnet_biolayer.code table.\n", "name_diseases_msh_do = \"\"\"\n", " SELECT \n", " name\n", " FROM\n", " disnet_biolayer.code c\n", " WHERE\n", " c.vocabulary = 'DO' OR c.vocabulary = 'MSH'\n", " \n", " \"\"\"\n", "name_diseases_msh_do = pd.read_sql_query(name_diseases_msh_do, con = cnx)\n", "name_diseases_msh_do" ] }, { "cell_type": "code", "execution_count": 235, "metadata": { "scrolled": true }, "outputs": [], "source": [ "#To obtain the number of diseases from \"hmdd_lncrna_merged\" dataset that match DISNET diseases in MeSH and DO terminology,\n", "#we will compare a list made with all the diseases from the mentioned dataset with another list \n", "#elaborated with all the diseases from DISNET (disnet_biolayer.code table).\n", "\n", "list_disnet = list(name_diseases_msh_do['name'].drop_duplicates())\n", "list_hmdd_lncrna = list(hmdd_lncrna_appended_1['name'].drop_duplicates())" ] }, { "cell_type": "code", "execution_count": 236, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1092" ] }, "execution_count": 236, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#Identifies the number of unique diseases from \"hmdd_lncrna_merged\" dataset.\n", "myset = set(list_hmdd_lncrna)\n", "len(myset)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There are 1092 different diseases associated to RNAs (miRNAs, LncRNAs and circRNAs) but how many of them match DISNET diseases in MeSH and DO terminology is not yet clear.\n", "The following two cells will reveal it." ] }, { "cell_type": "code", "execution_count": 237, "metadata": {}, "outputs": [], "source": [ "#list comparison. \n", "no_disnet = [] #stores the diseases from \"hmdd_lncrna_appended_1\" dataset that DO NOT match with DISNET ones.\n", "si_disnet = [] #stores the diseases from \"hmdd_lncrna_appended_1\" dataset that DO match with DISNET ones.\n", "for i in list_hmdd_lncrna:\n", " if i in list_disnet:\n", " si_disnet.append(i)\n", " #continue\n", " else:\n", " no_disnet.append(i)\n", " #no_disnet.append(i)" ] }, { "cell_type": "code", "execution_count": 238, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1092\n", "453\n", "639\n" ] } ], "source": [ "print(len(list_hmdd_lncrna))\n", "print(len(no_disnet))\n", "print(len(si_disnet))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**From 1092 diseases associated to RNAs, the names of 639 diseases match with those from DISNET database in MeSH or Disease Ontology terminology while 453 of them don't.**" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "At this point, we are going to match the diseases names with their CUI codes that are contained in \"disnet_biolayer\" schema's table \"disease\" of DISNET database. The reason behind that is we will incorporate RNA-CUI code associations to DISNET ." ] }, { "cell_type": "code", "execution_count": 239, "metadata": { "scrolled": true }, "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", "
disease_idnamevocab
0C0018923angiosarcomaDO
1C0854893angiosarcomaDO
2C0033999pterygiumDO
3C0025517disease of metabolismDO
4C0155862Streptococcus pneumoniaDO
............
22229C3850148Pulmonary Arterial RemodelingMSH
22230C3852953Pulmonary Arterial RemodelingMSH
22231C0000846atresiaMSH
22232C0220810atresiaMSH
22233C0243066atresiaMSH
\n", "

22234 rows × 3 columns

\n", "
" ], "text/plain": [ " disease_id name vocab\n", "0 C0018923 angiosarcoma DO\n", "1 C0854893 angiosarcoma DO\n", "2 C0033999 pterygium DO\n", "3 C0025517 disease of metabolism DO\n", "4 C0155862 Streptococcus pneumonia DO\n", "... ... ... ...\n", "22229 C3850148 Pulmonary Arterial Remodeling MSH\n", "22230 C3852953 Pulmonary Arterial Remodeling MSH\n", "22231 C0000846 atresia MSH\n", "22232 C0220810 atresia MSH\n", "22233 C0243066 atresia MSH\n", "\n", "[22234 rows x 3 columns]" ] }, "execution_count": 239, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#querying DISNET database to obtain in a dataframe object the CUI codes from the diseases associated to RNAs.\n", "#Diseases that make up the mentioned associations are in MeSH terminology or in Disease Ontology (DO) terminology.\n", "\n", "disnet_cui_name = \"\"\"\n", " SELECT DISTINCT\n", " d.disease_id,\n", " c.name AS name,\n", " c.vocabulary AS vocab\n", " FROM\n", " disnet_biolayer.code c\n", " INNER JOIN\n", " disnet_biolayer.has_code hc ON c.code_id = hc.code_id\n", " AND hc.vocabulary = c.vocabulary\n", " INNER JOIN\n", " disnet_biolayer.disease d ON hc.disease_id = d.disease_id\n", " WHERE\n", " c.vocabulary = 'DO' OR c.vocabulary = 'MSH';\n", " \"\"\"\n", "disnet_cui_name = pd.read_sql_query(disnet_cui_name, con = cnx)\n", "disnet_cui_name \n" ] }, { "cell_type": "code", "execution_count": 240, "metadata": { "scrolled": true }, "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", "
rna_idcausalitytypenamesource_idsource_namerna_categorydisease_idvocab
0hsa-mir-143nocirculation_biomarker_diagnosis_downColonic Neoplasms5HMDD v3.2miRNAC0007102MSH
1hsa-mir-143nocirculation_biomarker_diagnosis_downColonic Neoplasms5HMDD v3.2miRNAC0009375MSH
2hsa-mir-145nocirculation_biomarker_diagnosis_downColonic Neoplasms5HMDD v3.2miRNAC0007102MSH
3hsa-mir-145nocirculation_biomarker_diagnosis_downColonic Neoplasms5HMDD v3.2miRNAC0009375MSH
4hsa-let-7gnocirculation_biomarker_diagnosis_nsColonic Neoplasms5HMDD v3.2miRNAC0007102MSH
..............................
587833UCA1nsRegulation [down-regulated]Lithiasis6LncRNADiseaselncRNAC0023869MSH
587834UphnsLocusRight ventricle hypoplasia6LncRNADiseaselncRNAC1848587MSH
587835XISTnsRegulation [up-regulated]collecting duct carcinoma6LncRNADiseaselncRNAC0007134DO
587836XISTnsRegulation [up-regulated]collecting duct carcinoma6LncRNADiseaselncRNAC1266044DO
587837XISTnsRegulation [up-regulated]collecting duct carcinoma6LncRNADiseaselncRNAC4049328DO
\n", "

587838 rows × 9 columns

\n", "
" ], "text/plain": [ " rna_id causality type \\\n", "0 hsa-mir-143 no circulation_biomarker_diagnosis_down \n", "1 hsa-mir-143 no circulation_biomarker_diagnosis_down \n", "2 hsa-mir-145 no circulation_biomarker_diagnosis_down \n", "3 hsa-mir-145 no circulation_biomarker_diagnosis_down \n", "4 hsa-let-7g no circulation_biomarker_diagnosis_ns \n", "... ... ... ... \n", "587833 UCA1 ns Regulation [down-regulated] \n", "587834 Uph ns Locus \n", "587835 XIST ns Regulation [up-regulated] \n", "587836 XIST ns Regulation [up-regulated] \n", "587837 XIST ns Regulation [up-regulated] \n", "\n", " name source_id source_name rna_category \\\n", "0 Colonic Neoplasms 5 HMDD v3.2 miRNA \n", "1 Colonic Neoplasms 5 HMDD v3.2 miRNA \n", "2 Colonic Neoplasms 5 HMDD v3.2 miRNA \n", "3 Colonic Neoplasms 5 HMDD v3.2 miRNA \n", "4 Colonic Neoplasms 5 HMDD v3.2 miRNA \n", "... ... ... ... ... \n", "587833 Lithiasis 6 LncRNADisease lncRNA \n", "587834 Right ventricle hypoplasia 6 LncRNADisease lncRNA \n", "587835 collecting duct carcinoma 6 LncRNADisease lncRNA \n", "587836 collecting duct carcinoma 6 LncRNADisease lncRNA \n", "587837 collecting duct carcinoma 6 LncRNADisease lncRNA \n", "\n", " disease_id vocab \n", "0 C0007102 MSH \n", "1 C0009375 MSH \n", "2 C0007102 MSH \n", "3 C0009375 MSH \n", "4 C0007102 MSH \n", "... ... ... \n", "587833 C0023869 MSH \n", "587834 C1848587 MSH \n", "587835 C0007134 DO \n", "587836 C1266044 DO \n", "587837 C4049328 DO \n", "\n", "[587838 rows x 9 columns]" ] }, "execution_count": 240, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#merging the \"hmdd_lncrna_merged\" and \"disnet_cui_name\" dataframes so the RNAs can be associated to\n", "#their diseases' CUIs\n", "hmdd_lncrna_disnet = pd.merge(hmdd_lncrna_appended_1, disnet_cui_name, on='name')\n", "hmdd_lncrna_disnet" ] }, { "cell_type": "code", "execution_count": 241, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "False\n", "False\n" ] } ], "source": [ "print(hmdd_lncrna_disnet['rna_id'].isnull().values.any())\n", "print(hmdd_lncrna_disnet['name'].isnull().values.any())\n", "# print(lncrna_data2['Disease Name'].isnull().values.any())\n", "# print(lncrna_data2['Dysfunction Pattern'].isnull().values.any())" ] }, { "cell_type": "code", "execution_count": 242, "metadata": {}, "outputs": [], "source": [ "#hmdd_lncrna_disnet.to_excel(\"hmdd_lncrna_disnet_dataset.xlsx\")#save data to an excel file." ] }, { "cell_type": "code", "execution_count": 243, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " rna_id causality type name source_id source_name \\\n", "rna_category \n", "circRNA 3033 3033 3033 3033 3033 3033 \n", "lncRNA 572481 572481 572481 572481 572481 572481 \n", "miRNA 12324 12324 12324 12324 12324 12324 \n", "\n", " disease_id vocab \n", "rna_category \n", "circRNA 3033 3033 \n", "lncRNA 572481 572481 \n", "miRNA 12324 12324 \n" ] } ], "source": [ "#the purpose of this statistics is to know how many miRNA-disease, LncRNA-disease and circRNA-disease\n", "#associations will be added to \"disnet_biolayer\" schema that belongs to DISNET database.\n", "print(hmdd_lncrna_disnet.groupby(['rna_category']).count())\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# RNA-disease data insertion into DISNET biolayer in my local host" ] }, { "cell_type": "code", "execution_count": 244, "metadata": {}, "outputs": [], "source": [ "#First I will provide my connection details to my local host.\n", "#In my local host, I have already created the tables I will fill with the information \n", "#from the associations between RNAs and diseases.\n", "\n", "conn_param_file_pablo = 'C:/Users/end user/OneDrive/Desktop/UPM Master/CTB TFM/Datasets/Pablo_Database_connection.json'\n", "# Setting the connection to the database disnet_biolayer\n", "\n", "# The connection configuration is stored in a JSON file\n", "with open(conn_param_file_pablo, 'r') as f:\n", " config = json.load(f) # The JSON file is translated to a pyhton dictionary\n", "#print(config)\n", "# Stablishing the connection with the parameters of the dictionary\n", "cnx = mysql.connector.connect(**config)\n", "\n" ] }, { "cell_type": "code", "execution_count": 245, "metadata": {}, "outputs": [], "source": [ "%reload_ext sql" ] }, { "cell_type": "code", "execution_count": 246, "metadata": {}, "outputs": [], "source": [ "df_rna_insertion = hmdd_lncrna_disnet[['rna_id', 'rna_category', 'source_id']].drop_duplicates()" ] }, { "cell_type": "code", "execution_count": 247, "metadata": {}, "outputs": [], "source": [ "#removing duplicate entries for Primary Key\n", "df_rna_insertion = df_rna_insertion[df_rna_insertion.rna_id != 'Hsa-mir-93']#produced a duplicate entry error for primary key\n", "df_rna_insertion = df_rna_insertion[df_rna_insertion.rna_id != 'hsa-mir-200C']#produced a duplicate entry error for primary key" ] }, { "cell_type": "code", "execution_count": 248, "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", "
rna_idrna_categorysource_id
0hsa-mir-143miRNA5
2hsa-mir-145miRNA5
4hsa-let-7gmiRNA5
6hsa-mir-155miRNA5
10hsa-mir-141miRNA5
............
587803STAT3circRNA6
587814tie-1aslncRNA6
587827uc.77lncRNA6
587830uc057pde.1lncRNA6
587834UphlncRNA6
\n", "

19918 rows × 3 columns

\n", "
" ], "text/plain": [ " rna_id rna_category source_id\n", "0 hsa-mir-143 miRNA 5\n", "2 hsa-mir-145 miRNA 5\n", "4 hsa-let-7g miRNA 5\n", "6 hsa-mir-155 miRNA 5\n", "10 hsa-mir-141 miRNA 5\n", "... ... ... ...\n", "587803 STAT3 circRNA 6\n", "587814 tie-1as lncRNA 6\n", "587827 uc.77 lncRNA 6\n", "587830 uc057pde.1 lncRNA 6\n", "587834 Uph lncRNA 6\n", "\n", "[19918 rows x 3 columns]" ] }, "execution_count": 248, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_rna_insertion" ] }, { "cell_type": "code", "execution_count": 249, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "[('hsa-mir-143', 'miRNA', 5),\n", " ('hsa-mir-145', 'miRNA', 5),\n", " ('hsa-let-7g', 'miRNA', 5),\n", " ('hsa-mir-155', 'miRNA', 5),\n", " ('hsa-mir-141', 'miRNA', 5),\n", " ('hsa-mir-200b', 'miRNA', 5),\n", " ('hsa-mir-106a', 'miRNA', 5),\n", " ('hsa-mir-132', 'miRNA', 5),\n", " ('hsa-mir-135b', 'miRNA', 5),\n", " ('hsa-mir-296', 'miRNA', 5),\n", " ('hsa-mir-200a', 'miRNA', 5),\n", " ('hsa-mir-200c', 'miRNA', 5),\n", " ('hsa-mir-429', 'miRNA', 5),\n", " ('hsa-mir-127', 'miRNA', 5),\n", " ('hsa-mir-34a', 'miRNA', 5),\n", " ('hsa-mir-101-1', 'miRNA', 5),\n", " ('hsa-let-7a-1', 'miRNA', 5),\n", " ('hsa-let-7a-2', 'miRNA', 5),\n", " ('hsa-let-7a-3', 'miRNA', 5),\n", " ('hsa-let-7b', 'miRNA', 5),\n", " ('hsa-let-7c', 'miRNA', 5),\n", " ('hsa-let-7d', 'miRNA', 5),\n", " ('hsa-let-7e', 'miRNA', 5),\n", " ('hsa-let-7f-1', 'miRNA', 5),\n", " ('hsa-let-7f-2', 'miRNA', 5),\n", " ('hsa-let-7i', 'miRNA', 5),\n", " ('hsa-mir-17', 'miRNA', 5),\n", " ('hsa-mir-18a', 'miRNA', 5),\n", " ('hsa-mir-19a', 'miRNA', 5),\n", " ('hsa-mir-19b-1', 'miRNA', 5),\n", " ('hsa-mir-20a', 'miRNA', 5),\n", " ('hsa-mir-92a-1', 'miRNA', 5),\n", " ('hsa-mir-424', 'miRNA', 5),\n", " ('hsa-mir-125a', 'miRNA', 5),\n", " ('hsa-mir-205', 'miRNA', 5),\n", " ('hsa-mir-195', 'miRNA', 5),\n", " ('hsa-mir-21', 'miRNA', 5),\n", " ('hsa-mir-181b', 'miRNA', 5),\n", " ('hsa-mir-126', 'miRNA', 5),\n", " ('hsa-mir-498', 'miRNA', 5),\n", " ('hsa-mir-101-2', 'miRNA', 5),\n", " ('hsa-mir-140', 'miRNA', 5),\n", " ('hsa-mir-31', 'miRNA', 5),\n", " ('hsa-mir-106b', 'miRNA', 5),\n", " ('hsa-mir-23b', 'miRNA', 5),\n", " ('hsa-mir-1-1', 'miRNA', 5),\n", " ('hsa-mir-22', 'miRNA', 5),\n", " ('hsa-mir-493', 'miRNA', 5),\n", " ('hsa-mir-302b', 'miRNA', 5),\n", " ('hsa-mir-15a', 'miRNA', 5),\n", " ('hsa-mir-16-1', 'miRNA', 5),\n", " ('hsa-mir-502', 'miRNA', 5),\n", " ('hsa-mir-1290', 'miRNA', 5),\n", " ('hsa-mir-16-2', 'miRNA', 5),\n", " ('hsa-mir-125b-1', 'miRNA', 5),\n", " ('hsa-mir-125b-2', 'miRNA', 5),\n", " ('hsa-mir-223', 'miRNA', 5),\n", " ('hsa-mir-1915', 'miRNA', 5),\n", " ('hsa-mir-15b', 'miRNA', 5),\n", " ('hsa-let-7a', 'miRNA', 5),\n", " ('hsa-let-7f', 'miRNA', 5),\n", " ('hsa-mir-627', 'miRNA', 5),\n", " ('hsa-mir-455', 'miRNA', 5),\n", " ('hsa-mir-203', 'miRNA', 5),\n", " ('hsa-mir-449a', 'miRNA', 5),\n", " ('hsa-mir-130a', 'miRNA', 5),\n", " ('hsa-mir-29b', 'miRNA', 5),\n", " ('hsa-mir-30b', 'miRNA', 5),\n", " ('hsa-mir-146a', 'miRNA', 5),\n", " ('hsa-mir-142', 'miRNA', 5),\n", " ('hsa-mir-4310', 'miRNA', 5),\n", " ('hsa-mir-506', 'miRNA', 5),\n", " ('hsa-mir-221', 'miRNA', 5),\n", " ('hsa-mir-330', 'miRNA', 5),\n", " ('hsa-mir-30a', 'miRNA', 5),\n", " ('hsa-mir-218-1', 'miRNA', 5),\n", " ('hsa-mir-218-2', 'miRNA', 5),\n", " ('hsa-mir-133a', 'miRNA', 5),\n", " ('hsa-mir-339', 'miRNA', 5),\n", " ('hsa-mir-24', 'miRNA', 5),\n", " ('hsa-mir-378', 'miRNA', 5),\n", " ('hsa-mir-328', 'miRNA', 5),\n", " ('hsa-mir-204', 'miRNA', 5),\n", " ('hsa-mir-1', 'miRNA', 5),\n", " ('hsa-mir-483', 'miRNA', 5),\n", " ('hsa-mir-224', 'miRNA', 5),\n", " ('hsa-mir-363', 'miRNA', 5),\n", " ('hsa-mir-96', 'miRNA', 5),\n", " ('hsa-mir-192', 'miRNA', 5),\n", " ('hsa-mir-215', 'miRNA', 5),\n", " ('hsa-mir-10b', 'miRNA', 5),\n", " ('hsa-mir-9-1', 'miRNA', 5),\n", " ('hsa-mir-9-2', 'miRNA', 5),\n", " ('hsa-mir-9-3', 'miRNA', 5),\n", " ('hsa-mir-133b', 'miRNA', 5),\n", " ('hsa-mir-486', 'miRNA', 5),\n", " ('hsa-mir-1826', 'miRNA', 5),\n", " ('hsa-mir-191', 'miRNA', 5),\n", " ('hsa-mir-197', 'miRNA', 5),\n", " ('hsa-mir-222', 'miRNA', 5),\n", " ('hsa-mir-92a', 'miRNA', 5),\n", " ('hsa-mir-93', 'miRNA', 5),\n", " ('hsa-mir-152', 'miRNA', 5),\n", " ('hsa-mir-365a', 'miRNA', 5),\n", " ('hsa-mir-365b', 'miRNA', 5),\n", " ('hsa-mir-518c', 'miRNA', 5),\n", " ('hsa-mir-552', 'miRNA', 5),\n", " ('hsa-mir-584', 'miRNA', 5),\n", " ('hsa-mir-615', 'miRNA', 5),\n", " ('hsa-mir-622', 'miRNA', 5),\n", " ('hsa-mir-630', 'miRNA', 5),\n", " ('hsa-mir-1231', 'miRNA', 5),\n", " ('hsa-mir-524', 'miRNA', 5),\n", " ('hsa-mir-561', 'miRNA', 5),\n", " ('hsa-mir-886', 'miRNA', 5),\n", " ('hsa-mir-18', 'miRNA', 5),\n", " ('hsa-mir-92-1', 'miRNA', 5),\n", " ('hsa-mir-1297', 'miRNA', 5),\n", " ('hsa-mir-3613', 'miRNA', 5),\n", " ('hsa-mir-138', 'miRNA', 5),\n", " ('hsa-mir-150', 'miRNA', 5),\n", " ('hsa-mir-148a', 'miRNA', 5),\n", " ('hsa-mir-181a', 'miRNA', 5),\n", " ('hsa-mir-196a', 'miRNA', 5),\n", " ('hsa-mir-210', 'miRNA', 5),\n", " ('hsa-mir-23a', 'miRNA', 5),\n", " ('hsa-mir-25', 'miRNA', 5),\n", " ('hsa-mir-27a', 'miRNA', 5),\n", " ('hsa-mir-30c', 'miRNA', 5),\n", " ('hsa-mir-30d', 'miRNA', 5),\n", " ('hsa-mir-125b', 'miRNA', 5),\n", " ('hsa-mir-218', 'miRNA', 5),\n", " ('hsa-mir-375', 'miRNA', 5),\n", " ('hsa-mir-107', 'miRNA', 5),\n", " ('hsa-mir-128-2', 'miRNA', 5),\n", " ('hsa-mir-24-1', 'miRNA', 5),\n", " ('hsa-mir-24-2', 'miRNA', 5),\n", " ('hsa-mir-29b-1', 'miRNA', 5),\n", " ('hsa-mir-30c-1', 'miRNA', 5),\n", " ('hsa-mir-30c-2', 'miRNA', 5),\n", " ('hsa-mir-32', 'miRNA', 5),\n", " ('hsa-mir-137', 'miRNA', 5),\n", " ('hsa-mir-629', 'miRNA', 5),\n", " ('hsa-mir-18b', 'miRNA', 5),\n", " ('hsa-mir-196b', 'miRNA', 5),\n", " ('hsa-mir-301b', 'miRNA', 5),\n", " ('hsa-mir-335', 'miRNA', 5),\n", " ('hsa-mir-374a', 'miRNA', 5),\n", " ('hsa-mir-101', 'miRNA', 5),\n", " ('hsa-mir-326', 'miRNA', 5),\n", " ('hsa-mir-194', 'miRNA', 5),\n", " ('hsa-mir-33a', 'miRNA', 5),\n", " ('hsa-mir-19b-2', 'miRNA', 5),\n", " ('hsa-mir-29a', 'miRNA', 5),\n", " ('hsa-mir-128a', 'miRNA', 5),\n", " ('hsa-mir-545', 'miRNA', 5),\n", " ('hsa-mir-636', 'miRNA', 5),\n", " ('hsa-mir-766', 'miRNA', 5),\n", " ('hsa-mir-920', 'miRNA', 5),\n", " ('ZEB1', 'lncRNA', 6),\n", " ('ZFAS1', 'lncRNA', 6),\n", " ('hsa-mir-106', 'miRNA', 5),\n", " ('hsa-mir-10a', 'miRNA', 5),\n", " ('hsa-mir-20', 'miRNA', 5),\n", " ('hsa-mir-181a-2', 'miRNA', 5),\n", " ('hsa-mir-199b', 'miRNA', 5),\n", " ('hsa-mir-378a', 'miRNA', 5),\n", " ('hsa-mir-454', 'miRNA', 5),\n", " ('hsa-mir-575', 'miRNA', 5),\n", " ('hsa-mir-331', 'miRNA', 5),\n", " ('hsa-mir-663', 'miRNA', 5),\n", " ('hsa-mir-638', 'miRNA', 5),\n", " ('hsa-mir-128', 'miRNA', 5),\n", " ('hsa-mir-193b', 'miRNA', 5),\n", " ('hsa-mir-365', 'miRNA', 5),\n", " ('hsa-mir-660', 'miRNA', 5),\n", " ('hsa-mir-663a', 'miRNA', 5),\n", " ('hsa-mir-16', 'miRNA', 5),\n", " ('hsa-mir-92a-2', 'miRNA', 5),\n", " ('hsa-mir-34b', 'miRNA', 5),\n", " ('hsa-mir-9', 'miRNA', 5),\n", " ('hsa-mir-92', 'miRNA', 5),\n", " ('hsa-mir-138-1', 'miRNA', 5),\n", " ('hsa-mir-138-2', 'miRNA', 5),\n", " ('hsa-mir-146', 'miRNA', 5),\n", " ('hsa-mir-26a', 'miRNA', 5),\n", " ('hsa-mir-199a-1', 'miRNA', 5),\n", " ('hsa-mir-199a-2', 'miRNA', 5),\n", " ('hsa-mir-125', 'miRNA', 5),\n", " ('hsa-mir-181', 'miRNA', 5),\n", " ('hsa-mir-217', 'miRNA', 5),\n", " ('hsa-mir-376', 'miRNA', 5),\n", " ('hsa-mir-548f', 'miRNA', 5),\n", " ('hsa-mir-1224', 'miRNA', 5),\n", " ('hsa-mir-15', 'miRNA', 5),\n", " ('hsa-mir-485', 'miRNA', 5),\n", " ('hsa-mir-122', 'miRNA', 5),\n", " ('hsa-mir-3151', 'miRNA', 5),\n", " ('hsa-mir-27b', 'miRNA', 5),\n", " ('hsa-mir-34c', 'miRNA', 5),\n", " ('hsa-mir-2278', 'miRNA', 5),\n", " ('hsa-mir-144', 'miRNA', 5),\n", " ('hsa-mir-183', 'miRNA', 5),\n", " ('hsa-mir-139', 'miRNA', 5),\n", " ('hsa-mir-495', 'miRNA', 5),\n", " ('hsa-mir-196', 'miRNA', 5),\n", " ('hsa-mir-29c', 'miRNA', 5),\n", " ('hsa-mir-431', 'miRNA', 5),\n", " ('hsa-mir-532', 'miRNA', 5),\n", " ('hsa-mir-652', 'miRNA', 5),\n", " ('hsa-mir-199a', 'miRNA', 5),\n", " ('hsa-mir-423', 'miRNA', 5),\n", " ('hsa-mir-484', 'miRNA', 5),\n", " ('hsa-mir-103', 'miRNA', 5),\n", " ('hsa-mir-720', 'miRNA', 5),\n", " ('hsa-mir-200', 'miRNA', 5),\n", " ('hsa-mir-135a', 'miRNA', 5),\n", " ('hsa-mir-425', 'miRNA', 5),\n", " ('hsa-mir-1229', 'miRNA', 5),\n", " ('hsa-mir-1246', 'miRNA', 5),\n", " ('hsa-mir-202', 'miRNA', 5),\n", " ('hsa-mir-338', 'miRNA', 5),\n", " ('hsa-mir-181b-1', 'miRNA', 5),\n", " ('hsa-mir-451', 'miRNA', 5),\n", " ('hsa-mir-130', 'miRNA', 5),\n", " ('hsa-mir-216', 'miRNA', 5),\n", " ('hsa-mir-372', 'miRNA', 5),\n", " ('hsa-mir-324', 'miRNA', 5),\n", " ('hsa-mir-345', 'miRNA', 5),\n", " ('hsa-mir-628', 'miRNA', 5),\n", " ('hsa-mir-320a', 'miRNA', 5),\n", " ('hsa-mir-885', 'miRNA', 5),\n", " ('hsa-mir-342', 'miRNA', 5),\n", " ('hsa-mir-501', 'miRNA', 5),\n", " ('hsa-mir-1260b', 'miRNA', 5),\n", " ('hsa-mir-124-1', 'miRNA', 5),\n", " ('hsa-mir-124-2', 'miRNA', 5),\n", " ('hsa-mir-124-3', 'miRNA', 5),\n", " ('hsa-mir-208a', 'miRNA', 5),\n", " ('hsa-mir-373', 'miRNA', 5),\n", " ('hsa-mir-133a-1', 'miRNA', 5),\n", " ('hsa-mir-133a-2', 'miRNA', 5),\n", " ('hsa-mir-149', 'miRNA', 5),\n", " ('hsa-mir-124a', 'miRNA', 5),\n", " ('hsa-mir-34', 'miRNA', 5),\n", " ('hsa-mir-492', 'miRNA', 5),\n", " ('hsa-mir-491', 'miRNA', 5),\n", " ('hsa-mir-646', 'miRNA', 5),\n", " ('hsa-mir-196a-2', 'miRNA', 5),\n", " ('hsa-mir-542', 'miRNA', 5),\n", " ('hsa-mir-608', 'miRNA', 5),\n", " ('hsa-mir-1273c', 'miRNA', 5),\n", " ('hsa-mir-1303', 'miRNA', 5),\n", " ('hsa-mir-567', 'miRNA', 5),\n", " ('hsa-mir-520a', 'miRNA', 5),\n", " ('hsa-mir-219-1', 'miRNA', 5),\n", " ('hsa-mir-367', 'miRNA', 5),\n", " ('hsa-mir-499', 'miRNA', 5),\n", " ('hsa-let-7', 'miRNA', 5),\n", " ('hsa-mir-603', 'miRNA', 5),\n", " ('hsa-mir-509', 'miRNA', 5),\n", " ('hsa-mir-3622a', 'miRNA', 5),\n", " ('hsa-mir-5582', 'miRNA', 5),\n", " ('hsa-mir-551a', 'miRNA', 5),\n", " ('hsa-mir-370', 'miRNA', 5),\n", " ('hsa-mir-4282', 'miRNA', 5),\n", " ('hsa-mir-544a', 'miRNA', 5),\n", " ('hsa-mir-592', 'miRNA', 5),\n", " ('hsa-mir-28', 'miRNA', 5),\n", " ('hsa-mir-410', 'miRNA', 5),\n", " ('hsa-mir-301a', 'miRNA', 5),\n", " ('hsa-mir-33b', 'miRNA', 5),\n", " ('hsa-mir-382', 'miRNA', 5),\n", " ('hsa-mir-490', 'miRNA', 5),\n", " ('hsa-mir-874', 'miRNA', 5),\n", " ('hsa-mir-146b', 'miRNA', 5),\n", " ('hsa-mir-26b', 'miRNA', 5),\n", " ('hsa-mir-1275', 'miRNA', 5),\n", " ('hsa-mir-194-1', 'miRNA', 5),\n", " ('hsa-mir-194-2', 'miRNA', 5),\n", " ('hsa-mir-451a', 'miRNA', 5),\n", " ('hsa-mir-181b-2', 'miRNA', 5),\n", " ('hsa-mir-1280', 'miRNA', 5),\n", " ('hsa-mir-449b', 'miRNA', 5),\n", " ('hsa-mir-129-1', 'miRNA', 5),\n", " ('hsa-mir-129-2', 'miRNA', 5),\n", " ('hsa-mir-193a', 'miRNA', 5),\n", " ('hsa-mir-625', 'miRNA', 5),\n", " ('hsa-mir-153', 'miRNA', 5),\n", " ('hsa-mir-1288', 'miRNA', 5),\n", " ('hsa-mir-130b', 'miRNA', 5),\n", " ('hsa-mir-497', 'miRNA', 5),\n", " ('hsa-mir-214', 'miRNA', 5),\n", " ('hsa-mir-148b', 'miRNA', 5),\n", " ('hsa-mir-124', 'miRNA', 5),\n", " ('hsa-mir-99a', 'miRNA', 5),\n", " ('hsa-mir-320b', 'miRNA', 5),\n", " ('hsa-mir-95', 'miRNA', 5),\n", " ('hsa-mir-518a', 'miRNA', 5),\n", " ('hsa-mir-19', 'miRNA', 5),\n", " ('hsa-mir-1307', 'miRNA', 5),\n", " ('hsa-mir-320e', 'miRNA', 5),\n", " ('hsa-mir-374b', 'miRNA', 5),\n", " ('hsa-mir-650', 'miRNA', 5),\n", " ('hsa-mir-7', 'miRNA', 5),\n", " ('hsa-mir-760', 'miRNA', 5),\n", " ('hsa-mir-100', 'miRNA', 5),\n", " ('hsa-mir-134', 'miRNA', 5),\n", " ('hsa-mir-211', 'miRNA', 5),\n", " ('hsa-mir-362', 'miRNA', 5),\n", " ('hsa-mir-877', 'miRNA', 5),\n", " ('hsa-mir-1292', 'miRNA', 5),\n", " ('hsa-mir-503', 'miRNA', 5),\n", " ('hsa-mir-4775', 'miRNA', 5),\n", " ('hsa-mir-92b', 'miRNA', 5),\n", " ('hsa-mir-466', 'miRNA', 5),\n", " ('hsa-mir-361', 'miRNA', 5),\n", " ('hsa-mir-1910', 'miRNA', 5),\n", " ('hsa-mir-514b', 'miRNA', 5),\n", " ('hsa-mir-888', 'miRNA', 5),\n", " ('hsa-mir-383', 'miRNA', 5),\n", " ('hsa-mir-1271', 'miRNA', 5),\n", " ('hsa-mir-168', 'miRNA', 5),\n", " ('hsa-mir-939', 'miRNA', 5),\n", " ('hsa-mir-185', 'miRNA', 5),\n", " ('hsa-mir-369', 'miRNA', 5),\n", " ('hsa-mir-135a-1', 'miRNA', 5),\n", " ('hsa-mir-135a-2', 'miRNA', 5),\n", " ('hsa-mir-129', 'miRNA', 5),\n", " ('hsa-mir-499a', 'miRNA', 5),\n", " ('hsa-mir-574', 'miRNA', 5),\n", " ('hsa-mir-103a-1', 'miRNA', 5),\n", " ('hsa-mir-103a-2', 'miRNA', 5),\n", " ('hsa-mir-103b-1', 'miRNA', 5),\n", " ('hsa-mir-103b-2', 'miRNA', 5),\n", " ('hsa-mir-320c-1', 'miRNA', 5),\n", " ('hsa-mir-320c-2', 'miRNA', 5),\n", " ('hsa-mir-297', 'miRNA', 5),\n", " ('hsa-mir-340', 'miRNA', 5),\n", " ('hsa-mir-186', 'miRNA', 5),\n", " ('hsa-mir-216b', 'miRNA', 5),\n", " ('hsa-mir-337', 'miRNA', 5),\n", " ('hsa-mir-196a-1', 'miRNA', 5),\n", " ('hsa-mir-7-1', 'miRNA', 5),\n", " ('hsa-mir-7-2', 'miRNA', 5),\n", " ('hsa-mir-7-3', 'miRNA', 5),\n", " ('hsa-mir-154', 'miRNA', 5),\n", " ('hsa-mir-20b', 'miRNA', 5),\n", " ('hsa-mir-198', 'miRNA', 5),\n", " ('hsa-mir-182', 'miRNA', 5),\n", " ('hsa-mir-409', 'miRNA', 5),\n", " ('hsa-mir-892a', 'miRNA', 5),\n", " ('hsa-mir-612', 'miRNA', 5),\n", " ('hsa-mir-302a', 'miRNA', 5),\n", " ('hsa-mir-587', 'miRNA', 5),\n", " ('hsa-mir-99b', 'miRNA', 5),\n", " ('hsa-mir-519c', 'miRNA', 5),\n", " ('hsa-mir-187', 'miRNA', 5),\n", " ('hsa-mir-487b', 'miRNA', 5),\n", " ('hsa-mir-590', 'miRNA', 5),\n", " ('hsa-mir-489', 'miRNA', 5),\n", " ('hsa-mir-6869', 'miRNA', 5),\n", " ('hsa-mir-522', 'miRNA', 5),\n", " ('hsa-mir-422a', 'miRNA', 5),\n", " ('hsa-mir-600', 'miRNA', 5),\n", " ('hsa-mir-505', 'miRNA', 5),\n", " ('hsa-mir-302c', 'miRNA', 5),\n", " ('hsa-mir-519d', 'miRNA', 5),\n", " ('hsa-mir-1296', 'miRNA', 5),\n", " ('hsa-mir-1273g', 'miRNA', 5),\n", " ('hsa-mir-1269a', 'miRNA', 5),\n", " ('hsa-mir-6852', 'miRNA', 5),\n", " ('hsa-mir-1258', 'miRNA', 5),\n", " ('hsa-mir-7702', 'miRNA', 5),\n", " ('hsa-mir-376a', 'miRNA', 5),\n", " ('hsa-mir-206', 'miRNA', 5),\n", " ('hsa-mir-520g', 'miRNA', 5),\n", " ('hsa-mir-365-1', 'miRNA', 5),\n", " ('hsa-mir-365-2', 'miRNA', 5),\n", " ('hsa-mir-582', 'miRNA', 5),\n", " ('hsa-mir-1914', 'miRNA', 5),\n", " ('hsa-mir-371', 'miRNA', 5),\n", " ('hsa-mir-1295b', 'miRNA', 5),\n", " ('hsa-mir-4478', 'miRNA', 5),\n", " ('hsa-mir-452', 'miRNA', 5),\n", " ('hsa-mir-548c', 'miRNA', 5),\n", " ('hsa-mir-708', 'miRNA', 5),\n", " ('hsa-mir-1-2', 'miRNA', 5),\n", " ('hsa-mir-147b', 'miRNA', 5),\n", " ('hsa-mir-190a', 'miRNA', 5),\n", " ('hsa-mir-2110', 'miRNA', 5),\n", " ('hsa-mir-26a-1', 'miRNA', 5),\n", " ('hsa-mir-26a-2', 'miRNA', 5),\n", " ('hsa-mir-601', 'miRNA', 5),\n", " ('hsa-mir-199', 'miRNA', 5),\n", " ('hsa-mir-3142', 'miRNA', 5),\n", " ('hsa-mir-3182', 'miRNA', 5),\n", " ('hsa-mir-4286', 'miRNA', 5),\n", " ('hsa-mir-4301', 'miRNA', 5),\n", " ('hsa-mir-597', 'miRNA', 5),\n", " ('hsa-mir-1179', 'miRNA', 5),\n", " ('hsa-mir-576', 'miRNA', 5),\n", " ('hsa-mir-19b', 'miRNA', 5),\n", " ('hsa-mir-1287', 'miRNA', 5),\n", " ('hsa-mir-3666', 'miRNA', 5),\n", " ('E2F4', 'lncRNA', 6),\n", " ('hsa-mir-181d', 'miRNA', 5),\n", " ('hsa-mir-764', 'miRNA', 5),\n", " ('hsa-mir-494', 'miRNA', 5),\n", " ('hsa-mir-595', 'miRNA', 5),\n", " ('hsa-mir-30e', 'miRNA', 5),\n", " ('hsa-mir-3126', 'miRNA', 5),\n", " ('hsa-mir-718', 'miRNA', 5),\n", " ('hsa-mir-181c', 'miRNA', 5),\n", " ('hsa-mir-302', 'miRNA', 5),\n", " ('hsa-mir-604', 'miRNA', 5),\n", " ('hsa-mir-3131', 'miRNA', 5),\n", " ('hsa-mir-299', 'miRNA', 5),\n", " ('hsa-mir-1269', 'miRNA', 5),\n", " ('hsa-mir-548a', 'miRNA', 5),\n", " ('hsa-mir-1207', 'miRNA', 5),\n", " ('hsa-mir-1299', 'miRNA', 5),\n", " ('hsa-mir-500a', 'miRNA', 5),\n", " ('hsa-mir-500', 'miRNA', 5),\n", " ('hsa-mir-151', 'miRNA', 5),\n", " ('hsa-mir-1202', 'miRNA', 5),\n", " ('hsa-mir-637', 'miRNA', 5),\n", " ('hsa-mir-1301', 'miRNA', 5),\n", " ('hsa-mir-520e', 'miRNA', 5),\n", " ('hsa-mir-421', 'miRNA', 5),\n", " ('hsa-mir-147a', 'miRNA', 5),\n", " ('hsa-mir-499b', 'miRNA', 5),\n", " ('hsa-mir-376a-1', 'miRNA', 5),\n", " ('hsa-mir-376a-2', 'miRNA', 5),\n", " ('hsa-mir-26', 'miRNA', 5),\n", " ('hsa-mir-1274a', 'miRNA', 5),\n", " ('hsa-mir-508', 'miRNA', 5),\n", " ('hsa-mir-184', 'miRNA', 5),\n", " ('hsa-mir-520d', 'miRNA', 5),\n", " ('hsa-mir-190b', 'miRNA', 5),\n", " ('hsa-mir-29', 'miRNA', 5),\n", " ('hsa-mir-3144', 'miRNA', 5),\n", " ('hsa-mir-581', 'miRNA', 5),\n", " ('hsa-mir-675', 'miRNA', 5),\n", " ('hsa-mir-941', 'miRNA', 5),\n", " ('hsa-mir-105', 'miRNA', 5),\n", " ('hsa-mir-432', 'miRNA', 5),\n", " ('hsa-mir-940', 'miRNA', 5),\n", " ('hsa-mir-3178', 'miRNA', 5),\n", " ('hsa-mir-573', 'miRNA', 5),\n", " ('hsa-mir-203a', 'miRNA', 5),\n", " ('hsa-mir-379', 'miRNA', 5),\n", " ('hsa-mir-539', 'miRNA', 5),\n", " ('hsa-mir-1249', 'miRNA', 5),\n", " ('hsa-mir-1180', 'miRNA', 5),\n", " ('hsa-mir-744', 'miRNA', 5),\n", " ('hsa-mir-122a', 'miRNA', 5),\n", " ('hsa-mir-381', 'miRNA', 5),\n", " ('hsa-mir-3607', 'miRNA', 5),\n", " ('hsa-mir-513c', 'miRNA', 5),\n", " ('hsa-mir-671', 'miRNA', 5),\n", " ('hsa-mir-602', 'miRNA', 5),\n", " ('hsa-mir-512-1', 'miRNA', 5),\n", " ('hsa-mir-512-2', 'miRNA', 5),\n", " ('hsa-mir-29b-2', 'miRNA', 5),\n", " ('hsa-mir-520b', 'miRNA', 5),\n", " ('hsa-mir-216a', 'miRNA', 5),\n", " ('hsa-mir-219', 'miRNA', 5),\n", " ('hsa-mir-517a', 'miRNA', 5),\n", " ('hsa-mir-517c', 'miRNA', 5),\n", " ('hsa-mir-550a-1', 'miRNA', 5),\n", " ('hsa-mir-550a-2', 'miRNA', 5),\n", " ('hsa-mir-550a-3', 'miRNA', 5),\n", " ('hsa-mir-657', 'miRNA', 5),\n", " ('hsa-mir-212', 'miRNA', 5),\n", " ('hsa-mir-1285', 'miRNA', 5),\n", " ('hsa-mir-511', 'miRNA', 5),\n", " ('hsa-mir-1236', 'miRNA', 5),\n", " ('hsa-mir-377', 'miRNA', 5),\n", " ('hsa-mir-411', 'miRNA', 5),\n", " ('hsa-mir-709', 'miRNA', 5),\n", " ('hsa-mir-3127', 'miRNA', 5),\n", " ('hsa-mir-448', 'miRNA', 5),\n", " ('hsa-mir-570', 'miRNA', 5),\n", " ('hsa-mir-208', 'miRNA', 5),\n", " ('hsa-mir-325', 'miRNA', 5),\n", " ('hsa-mir-616', 'miRNA', 5),\n", " ('hsa-mir-384', 'miRNA', 5),\n", " ('hsa-mir-935', 'miRNA', 5),\n", " ('hsa-mir-3117', 'miRNA', 5),\n", " ('hsa-mir-98', 'miRNA', 5),\n", " ('hsa-mir-922', 'miRNA', 5),\n", " ('hsa-mir-302d', 'miRNA', 5),\n", " ('hsa-mir-3664', 'miRNA', 5),\n", " ('hsa-mir-4417', 'miRNA', 5),\n", " ('hsa-mir-346', 'miRNA', 5),\n", " ('hsa-mir-136', 'miRNA', 5),\n", " ('hsa-mir-613', 'miRNA', 5),\n", " ('hsa-mir-767', 'miRNA', 5),\n", " ('hsa-mir-103a', 'miRNA', 5),\n", " ('hsa-mir-876', 'miRNA', 5),\n", " ('hsa-mir-300', 'miRNA', 5),\n", " ('hsa-mir-298', 'miRNA', 5),\n", " ('hsa-mir-23c', 'miRNA', 5),\n", " ('hsa-mir-504', 'miRNA', 5),\n", " ('hsa-mir-1306', 'miRNA', 5),\n", " ('hsa-mir-665', 'miRNA', 5),\n", " ('hsa-mir-589', 'miRNA', 5),\n", " ('hsa-mir-645', 'miRNA', 5),\n", " ('hsa-mir-433', 'miRNA', 5),\n", " ('hsa-mir-4458', 'miRNA', 5),\n", " ('hsa-mir-188', 'miRNA', 5),\n", " ('hsa-mir-450b', 'miRNA', 5),\n", " ('hsa-mir-323b', 'miRNA', 5),\n", " ('hsa-mir-765', 'miRNA', 5),\n", " ('hsa-mir-151a', 'miRNA', 5),\n", " ('hsa-mir-208b', 'miRNA', 5),\n", " ('hsa-mir-320b-1', 'miRNA', 5),\n", " ('hsa-mir-320b-2', 'miRNA', 5),\n", " ('hsa-mir-320d-1', 'miRNA', 5),\n", " ('hsa-mir-500b', 'miRNA', 5),\n", " ('hsa-mir-518b', 'miRNA', 5),\n", " ('hsa-mir-526a-1', 'miRNA', 5),\n", " ('hsa-mir-526a-2', 'miRNA', 5),\n", " ('hsa-mir-526b', 'miRNA', 5),\n", " ('hsa-mir-527', 'miRNA', 5),\n", " ('hsa-mir-1228', 'miRNA', 5),\n", " ('hsa-mir-2116', 'miRNA', 5),\n", " ('hsa-mir-557', 'miRNA', 5),\n", " ('hsa-mir-942', 'miRNA', 5),\n", " ('hsa-mir-694', 'miRNA', 5),\n", " ('hsa-mir-610', 'miRNA', 5),\n", " ('hsa-mir-655', 'miRNA', 5),\n", " ('hsa-mir-223a', 'miRNA', 5),\n", " ('hsa-mir-320', 'miRNA', 5),\n", " ('hsa-mir-512', 'miRNA', 5),\n", " ('hsa-mir-651', 'miRNA', 5),\n", " ('hsa-mir-571', 'miRNA', 5),\n", " ('hsa-mir-943', 'miRNA', 5),\n", " ('hsa-mir-548l', 'miRNA', 5),\n", " ('hsa-mir-1468', 'miRNA', 5),\n", " ('hsa-mir-3651', 'miRNA', 5),\n", " ('hsa-mir-4270', 'miRNA', 5),\n", " ('hsa-mir-7706', 'miRNA', 5),\n", " ('hsa-mir-1234', 'miRNA', 5),\n", " ('hsa-mir-105-1', 'miRNA', 5),\n", " ('hsa-mir-105-2', 'miRNA', 5),\n", " ('hsa-mir-450a-1', 'miRNA', 5),\n", " ('hsa-mir-450a-2', 'miRNA', 5),\n", " ('hsa-mir-519e', 'miRNA', 5),\n", " ('hsa-mir-518e', 'miRNA', 5),\n", " ('hsa-mir-519a', 'miRNA', 5),\n", " ('hsa-mir-525', 'miRNA', 5),\n", " ('hsa-mir-761', 'miRNA', 5),\n", " ('hsa-mir-515', 'miRNA', 5),\n", " ('hsa-mir-520c', 'miRNA', 5),\n", " ('hsa-mir-672', 'miRNA', 5),\n", " ('hsa-mir-690', 'miRNA', 5),\n", " ('hsa-mir-449', 'miRNA', 5),\n", " ('hsa-mir-3162', 'miRNA', 5),\n", " ('hsa-mir-1260a', 'miRNA', 5),\n", " ('hsa-mir-128b', 'miRNA', 5),\n", " ('DLEU2', 'lncRNA', 6),\n", " ('HOTAIR', 'lncRNA', 6),\n", " ('hsa-mir-596', 'miRNA', 5),\n", " ('hsa-mir-611', 'miRNA', 5),\n", " ('hsa-mir-642a', 'miRNA', 5),\n", " ('hsa-mir-654', 'miRNA', 5),\n", " ('hsa-mir-769', 'miRNA', 5),\n", " ('hsa-mir-516a-1', 'miRNA', 5),\n", " ('hsa-mir-516a-2', 'miRNA', 5),\n", " ('hsa-mir-516b-1', 'miRNA', 5),\n", " ('hsa-mir-516b-2', 'miRNA', 5),\n", " ('hsa-mir-583', 'miRNA', 5),\n", " ('hsa-mir-658', 'miRNA', 5),\n", " ('hsa-mir-662', 'miRNA', 5),\n", " ('hsa-mir-219-2', 'miRNA', 5),\n", " ('hsa-mir-4449', 'miRNA', 5),\n", " ('hsa-mir-2682', 'miRNA', 5),\n", " ('hsa-mir-103-1', 'miRNA', 5),\n", " ('AC091891.2', 'lncRNA', 6),\n", " ('AIRN', 'lncRNA', 6),\n", " ('anti-NOS2A', 'lncRNA', 6),\n", " ('ATP6V1G2-DDX39B', 'lncRNA', 6),\n", " ('ATXN8OS', 'lncRNA', 6),\n", " ('B1 SINE RNA', 'lncRNA', 6),\n", " ('B2 SINE RNA', 'lncRNA', 6),\n", " ('BACE1-AS', 'lncRNA', 6),\n", " ('BCAR4', 'lncRNA', 6),\n", " ('BCYRN1', 'lncRNA', 6),\n", " ('BDNF-AS1', 'lncRNA', 6),\n", " ('BOK-AS1', 'lncRNA', 6),\n", " ('BPESC1', 'lncRNA', 6),\n", " ('BX118339', 'lncRNA', 6),\n", " ('C15orf2', 'lncRNA', 6),\n", " ('C1QTNF9B-AS1', 'lncRNA', 6),\n", " ('CASC2', 'lncRNA', 6),\n", " ('CBR3-AS1', 'lncRNA', 6),\n", " ('CDKN2B-AS1', 'lncRNA', 6),\n", " ('CECR3', 'lncRNA', 6),\n", " ('CECR9', 'lncRNA', 6),\n", " ('CHL1-AS2', 'lncRNA', 6),\n", " ('CRNDE', 'lncRNA', 6),\n", " ('DAOA-AS1', 'lncRNA', 6),\n", " ('DAPK1', 'lncRNA', 6),\n", " ('DGCR5', 'lncRNA', 6),\n", " ('DISC2', 'lncRNA', 6),\n", " ('DLEU1', 'lncRNA', 6),\n", " ('DLG2-AS1', 'lncRNA', 6),\n", " ('DLX6-AS1', 'lncRNA', 6),\n", " ('DMPK', 'lncRNA', 6),\n", " ('DNM3OS', 'lncRNA', 6),\n", " ('DSCAM-AS1', 'lncRNA', 6),\n", " ('EPB41L4A-AS1', 'lncRNA', 6),\n", " ('ERL', 'lncRNA', 6),\n", " ('ESRG', 'lncRNA', 6),\n", " ('FMR1-AS1', 'lncRNA', 6),\n", " ('GAS5', 'lncRNA', 6),\n", " ('GDNF-AS1', 'lncRNA', 6),\n", " ('GNAS-AS1', 'lncRNA', 6),\n", " ('H19', 'lncRNA', 6),\n", " ('HAR1A', 'lncRNA', 6),\n", " ('HAR1B', 'lncRNA', 6),\n", " ('HCP5', 'lncRNA', 6),\n", " ('HIF1A-AS1', 'lncRNA', 6),\n", " ('HLA-AS1', 'lncRNA', 6),\n", " ('HTT-AS', 'lncRNA', 6),\n", " ('HULC', 'lncRNA', 6),\n", " ('HYMAI', 'lncRNA', 6),\n", " ('IFNG-AS1', 'lncRNA', 6),\n", " ('IGF2-AS', 'lncRNA', 6),\n", " ('IPW', 'lncRNA', 6),\n", " ('KCNQ1DN', 'lncRNA', 6),\n", " ('KCNQ1OT1', 'lncRNA', 6),\n", " ('LDMAR', 'lncRNA', 6),\n", " ('LINC00032', 'lncRNA', 6),\n", " ('LINC00271', 'lncRNA', 6),\n", " ('LINC00312', 'lncRNA', 6),\n", " ('LINC00538', 'lncRNA', 6),\n", " ('LINC00901', 'lncRNA', 6),\n", " ('MALAT1', 'lncRNA', 6),\n", " ('MAP3K14', 'lncRNA', 6),\n", " ('MEG3', 'lncRNA', 6),\n", " ('MESTIT1', 'lncRNA', 6),\n", " ('MIAT', 'lncRNA', 6),\n", " ('MIR100HG', 'lncRNA', 6),\n", " ('MIR155HG', 'lncRNA', 6),\n", " ('MIR17HG', 'lncRNA', 6),\n", " ('MIR31HG', 'lncRNA', 6),\n", " ('MKRN3-AS1', 'lncRNA', 6),\n", " ('MYCNOS', 'lncRNA', 6),\n", " ('NAMA', 'lncRNA', 6),\n", " ('NDM29', 'lncRNA', 6),\n", " ('NEAT1', 'lncRNA', 6),\n", " ('NRON', 'lncRNA', 6),\n", " ('PCA3', 'lncRNA', 6),\n", " ('PCAT1', 'lncRNA', 6),\n", " ('PCGEM1', 'lncRNA', 6),\n", " ('PDZRN3-AS1', 'lncRNA', 6),\n", " ('PICSAR', 'lncRNA', 6),\n", " ('PINC', 'lncRNA', 6),\n", " ('PINK1-AS', 'lncRNA', 6),\n", " ('PISRT1', 'lncRNA', 6),\n", " ('PPP3CB', 'lncRNA', 6),\n", " ('PRINS', 'lncRNA', 6),\n", " ('PSORS1C3', 'lncRNA', 6),\n", " ('PTCSC1', 'lncRNA', 6),\n", " ('PVT1', 'lncRNA', 6),\n", " ('RMST', 'lncRNA', 6),\n", " ('RN7SK', 'lncRNA', 6),\n", " ('RN7SL1', 'lncRNA', 6),\n", " ('RRP1B', 'lncRNA', 6),\n", " ('SCAANT1', 'lncRNA', 6),\n", " ('SNHG11', 'lncRNA', 6),\n", " ('SNHG3', 'lncRNA', 6),\n", " ('SNHG4', 'lncRNA', 6),\n", " ('SNHG5', 'lncRNA', 6),\n", " ('SOX2-OT', 'lncRNA', 6),\n", " ('SPRY4-IT1', 'lncRNA', 6),\n", " ('SRA1', 'lncRNA', 6),\n", " ('TCL6', 'lncRNA', 6),\n", " ('TDRG1', 'lncRNA', 6),\n", " ('TERC', 'lncRNA', 6),\n", " ('TRAF3IP2-AS1', 'lncRNA', 6),\n", " ('TUG1', 'lncRNA', 6),\n", " ('TUSC7', 'lncRNA', 6),\n", " ('Ube3a-as', 'lncRNA', 6),\n", " ('uc021oqb.2', 'lncRNA', 6),\n", " ('uc061gkt.1', 'lncRNA', 6),\n", " ('UCA1', 'lncRNA', 6),\n", " ('WRAP53', 'lncRNA', 6),\n", " ('WT1-AS', 'lncRNA', 6),\n", " ('XIST', 'lncRNA', 6),\n", " ('ZFAT-AS1', 'lncRNA', 6),\n", " ('hsa-mir-598', 'miRNA', 5),\n", " ('hsa-mir-509-3', 'miRNA', 5),\n", " ('hsa-mir-519b', 'miRNA', 5),\n", " ('hsa-mir-593', 'miRNA', 5),\n", " ('hsa-mir-621', 'miRNA', 5),\n", " ('hsa-mir-4487', 'miRNA', 5),\n", " ('hsa-mir-4706', 'miRNA', 5),\n", " ('hsa-mir-4731', 'miRNA', 5),\n", " ('hsa-mir-514', 'miRNA', 5),\n", " ('hsa-mir-514a', 'miRNA', 5),\n", " ('hsa-mir-664', 'miRNA', 5),\n", " ('hsa-mir-153-2', 'miRNA', 5),\n", " ('hsa-mir-488', 'miRNA', 5),\n", " ('hsa-mir-768', 'miRNA', 5),\n", " ('hsa-mir-4633', 'miRNA', 5),\n", " ('hsa-mir-507', 'miRNA', 5),\n", " ('hsa-mir-181a-1', 'miRNA', 5),\n", " ('hsa-mir-933', 'miRNA', 5),\n", " ('hsa-mir-1308', 'miRNA', 5),\n", " ('hsa-mir-4291', 'miRNA', 5),\n", " ('hsa-mir-4317', 'miRNA', 5),\n", " ('hsa-mir-4324', 'miRNA', 5),\n", " ('hsa-mir-148', 'miRNA', 5),\n", " ('hsa-mir-509-1', 'miRNA', 5),\n", " ('hsa-mir-509-2', 'miRNA', 5),\n", " ('hsa-mir-510', 'miRNA', 5),\n", " ('hsa-mir-513a-1', 'miRNA', 5),\n", " ('hsa-mir-513a-2', 'miRNA', 5),\n", " ('hsa-mir-513b', 'miRNA', 5),\n", " ('hsa-mir-514a-1', 'miRNA', 5),\n", " ('hsa-mir-514a-2', 'miRNA', 5),\n", " ('hsa-mir-514a-3', 'miRNA', 5),\n", " ('hsa-mir-1225', 'miRNA', 5),\n", " ('hsa-mir-634', 'miRNA', 5),\n", " ('hsa-mir-1260', 'miRNA', 5),\n", " ('hsa-mir-1274b', 'miRNA', 5),\n", " ('hsa-mir-3663', 'miRNA', 5),\n", " ('hsa-mir-4281', 'miRNA', 5),\n", " ('hsa-mir-133', 'miRNA', 5),\n", " ('hsa-mir-423-5p', 'miRNA', 5),\n", " ('hsa-mir-99', 'miRNA', 5),\n", " ('hsa-mir-30', 'miRNA', 5),\n", " ('hsa-mir-515-1', 'miRNA', 5),\n", " ('hsa-mir-515-2', 'miRNA', 5),\n", " ('hsa-mir-520f', 'miRNA', 5),\n", " ('hsa-mir-520h', 'miRNA', 5),\n", " ('hsa-mir-523', 'miRNA', 5),\n", " ('hsa-mir-147', 'miRNA', 5),\n", " ('hsa-mir-550a', 'miRNA', 5),\n", " ('hsa-mir-463', 'miRNA', 5),\n", " ('hsa-mir-33', 'miRNA', 5),\n", " ('hsa-mir-4736', 'miRNA', 5),\n", " ('hsa-mir-4739', 'miRNA', 5),\n", " ('hsa-mir-664b', 'miRNA', 5),\n", " ('hsa-mir-518', 'miRNA', 5),\n", " ('hsa-mir-1324', 'miRNA', 5),\n", " ('hsa-mir-517b', 'miRNA', 5),\n", " ('hsa-mir-128-1', 'miRNA', 5),\n", " ('hsa-mir-302e', 'miRNA', 5),\n", " ('hsa-mir-302f', 'miRNA', 5),\n", " ('hsa-mir-1185-1', 'miRNA', 5),\n", " ('hsa-mir-1343', 'miRNA', 5),\n", " ('hsa-mir-3960', 'miRNA', 5),\n", " ('hsa-mir-4695', 'miRNA', 5),\n", " ('hsa-mir-6087', 'miRNA', 5),\n", " ('hsa-mir-6724', 'miRNA', 5),\n", " ('hsa-mir-6831', 'miRNA', 5),\n", " ('hsa-mir-1227', 'miRNA', 5),\n", " ('hsa-mir-642b', 'miRNA', 5),\n", " ('hsa-mir-944', 'miRNA', 5),\n", " ('hsa-mir-27', 'miRNA', 5),\n", " ('hsa-mir-892b', 'miRNA', 5),\n", " ('hsa-mir-3658', 'miRNA', 5),\n", " ('hsa-mir-329', 'miRNA', 5),\n", " ('hsa-mir-103b', 'miRNA', 5),\n", " ('hsa-mir-294', 'miRNA', 5),\n", " ('hsa-mir-1247', 'miRNA', 5),\n", " ('hsa-mir-7641', 'miRNA', 5),\n", " ('hsa-mir-3619', 'miRNA', 5),\n", " ('hsa-mir-320c', 'miRNA', 5),\n", " ('hsa-mir-1182', 'miRNA', 5),\n", " ('hsa-mir-378b', 'miRNA', 5),\n", " ('hsa-mir-378c', 'miRNA', 5),\n", " ('hsa-mir-378d-1', 'miRNA', 5),\n", " ('hsa-mir-378d-2', 'miRNA', 5),\n", " ('hsa-mir-378e', 'miRNA', 5),\n", " ('hsa-mir-378f', 'miRNA', 5),\n", " ('hsa-mir-378g', 'miRNA', 5),\n", " ('hsa-mir-378h', 'miRNA', 5),\n", " ('hsa-mir-378i', 'miRNA', 5),\n", " ('hsa-mir-1281', 'miRNA', 5),\n", " ('hsa-mir-921', 'miRNA', 5),\n", " ('hsa-mir-518a-1', 'miRNA', 5),\n", " ('hsa-mir-518a-2', 'miRNA', 5),\n", " ('hsa-mir-3007a', 'miRNA', 5),\n", " ('hsa-mir-4454', 'miRNA', 5),\n", " ('hsa-mir-4511', 'miRNA', 5),\n", " ('hsa-mir-6124', 'miRNA', 5),\n", " ('hsa-mir-1233', 'miRNA', 5),\n", " ('hsa-mir-190', 'miRNA', 5),\n", " ('hsa-mir-422b', 'miRNA', 5),\n", " ('hsa-mir-639', 'miRNA', 5),\n", " ('hsa-mir-644', 'miRNA', 5),\n", " ('hsa-mir-649', 'miRNA', 5),\n", " ('hsa-mir-3171', 'miRNA', 5),\n", " ('hsa-mir-873', 'miRNA', 5),\n", " ('hsa-mir-323a', 'miRNA', 5),\n", " ('hsa-mir-376b', 'miRNA', 5),\n", " ('hsa-mir-142a', 'miRNA', 5),\n", " ('hsa-mir-1254', 'miRNA', 5),\n", " ('hsa-mir-23', 'miRNA', 5),\n", " ('hsa-mir-322', 'miRNA', 5),\n", " ('hsa-mir-631', 'miRNA', 5),\n", " ('hsa-mir-520', 'miRNA', 5),\n", " ('hsa-mir-1181', 'miRNA', 5),\n", " ('hsa-mir-376c', 'miRNA', 5),\n", " ('hsa-mir-758', 'miRNA', 5),\n", " ('hsa-mir-4697', 'miRNA', 5),\n", " ('hsa-mir-543', 'miRNA', 5),\n", " ('hsa-mir-4271', 'miRNA', 5),\n", " ('hsa-mir-1283', 'miRNA', 5),\n", " ('hsa-mir-7a', 'miRNA', 5),\n", " ('hsa-mir-4436b-1', 'miRNA', 5),\n", " ('hsa-mir-4436b-2', 'miRNA', 5),\n", " ('hsa-mir-3925', 'miRNA', 5),\n", " ('hsa-mir-3926', 'miRNA', 5),\n", " ('hsa-mir-4634', 'miRNA', 5),\n", " ('hsa-mir-4764', 'miRNA', 5),\n", " ('hsa-mir-6089', 'miRNA', 5),\n", " ('hsa-mir-1273', 'miRNA', 5),\n", " ('hsa-mir-4513', 'miRNA', 5),\n", " ('hsa-mir-624', 'miRNA', 5),\n", " ('hsa-mir-585', 'miRNA', 5),\n", " ('hsa-mir-2909', 'miRNA', 5),\n", " ('hsa-mir-21a', 'miRNA', 5),\n", " ('hsa-mir-1908', 'miRNA', 5),\n", " ('hsa-mir-579', 'miRNA', 5),\n", " ('hsa-mir-618', 'miRNA', 5),\n", " ('hsa-mir-659', 'miRNA', 5),\n", " ('hsa-mir-4532', 'miRNA', 5),\n", " ('hsa-mir-6873', 'miRNA', 5),\n", " ('hsa-mir-548', 'miRNA', 5),\n", " ('hsa-mir-1972', 'miRNA', 5),\n", " ('hsa-mir-3138', 'miRNA', 5),\n", " ('hsa-mir-513a', 'miRNA', 5),\n", " ('hsa-mir-516a', 'miRNA', 5),\n", " ('hsa-mir-1248', 'miRNA', 5),\n", " ('hsa-mir-2861', 'miRNA', 5),\n", " ('hsa-mir-6086', 'miRNA', 5),\n", " ('hsa-mir-3158', 'miRNA', 5),\n", " ('hsa-mir-5699', 'miRNA', 5),\n", " ('hsa-mir-518d', 'miRNA', 5),\n", " ('hsa-mir-547', 'miRNA', 5),\n", " ('hsa-mir-1843', 'miRNA', 5),\n", " ('hsa-mir-323', 'miRNA', 5),\n", " ('hsa-mir-4262', 'miRNA', 5),\n", " ('hsa-mir-371a', 'miRNA', 5),\n", " ('hsa-mir-3135b', 'miRNA', 5),\n", " ('hsa-mir-462a', 'miRNA', 5),\n", " ('hsa-mir-711', 'miRNA', 5),\n", " ('hsa-mir-4488', 'miRNA', 5),\n", " ('hsa-mir-3591', 'miRNA', 5),\n", " ('NONRATT021972', 'lncRNA', 6),\n", " ('NRF', 'lncRNA', 6),\n", " ('hsa-mir-3157', 'miRNA', 5),\n", " ('hsa-mir-4521', 'miRNA', 5),\n", " ('hsa-mir-4709', 'miRNA', 5),\n", " ('hsa-mir-5091', 'miRNA', 5),\n", " ('hsa-mir-153-1', 'miRNA', 5),\n", " ('hsa-mir-548d', 'miRNA', 5),\n", " ('hsa-mir-1183', 'miRNA', 5),\n", " ('hsa-mir-1471', 'miRNA', 5),\n", " ('hsa-mir-1909', 'miRNA', 5),\n", " ('hsa-mir-5193', 'miRNA', 5),\n", " ('hsa-mir-4717', 'miRNA', 5),\n", " ('hsa-mir-6126', 'miRNA', 5),\n", " ('hsa-mir-687', 'miRNA', 5),\n", " ('hsa-mir-329-1', 'miRNA', 5),\n", " ('hsa-mir-329-2', 'miRNA', 5),\n", " ('hsa-mir-548b', 'miRNA', 5),\n", " ('hsa-mir-550b-1', 'miRNA', 5),\n", " ('hsa-mir-550b-2', 'miRNA', 5),\n", " ('hsa-mir-640', 'miRNA', 5),\n", " ('hsa-mir-3179-1', 'miRNA', 5),\n", " ('hsa-mir-3179-2', 'miRNA', 5),\n", " ('hsa-mir-3179-3', 'miRNA', 5),\n", " ('hsa-mir-668', 'miRNA', 5),\n", " ('hsa-mir-1825', 'miRNA', 5),\n", " ('hsa-mir-3620', 'miRNA', 5),\n", " ('hsa-mir-4721', 'miRNA', 5),\n", " ('hsa-mir-301', 'miRNA', 5),\n", " ('hsa-mir-565', 'miRNA', 5),\n", " ('hsa-mir-1266', 'miRNA', 5),\n", " ('hsa-mir-31a', 'miRNA', 5),\n", " ('hsa-mir-1253', 'miRNA', 5),\n", " ('hsa-mir-219a', 'miRNA', 5),\n", " ('hsa-mir-802', 'miRNA', 5),\n", " ('hsa-mir-3928', 'miRNA', 5),\n", " ('hsa-mir-661', 'miRNA', 5),\n", " ('hsa-mir-664a', 'miRNA', 5),\n", " ('hsa-mir-3200', 'miRNA', 5),\n", " ('hsa-mir-586', 'miRNA', 5),\n", " ('hsa-mir-1291', 'miRNA', 5),\n", " ('hsa-mir-572', 'miRNA', 5),\n", " ('hsa-mir-3149', 'miRNA', 5),\n", " ('AC068831.6', 'lncRNA', 6),\n", " ('LINC01254', 'lncRNA', 6),\n", " ('PAX8‐AS1', 'lncRNA', 6),\n", " ('RP11-133L14.5', 'lncRNA', 6),\n", " ('RP11-203M5.8', 'lncRNA', 6),\n", " ('RP11-68I3.11', 'lncRNA', 6),\n", " ('RP11‐259K15.2', 'lncRNA', 6),\n", " ('hsa-mir-1178', 'miRNA', 5),\n", " ('hsa-mir-126a', 'miRNA', 5),\n", " ('hsa-mir-551', 'miRNA', 5),\n", " ('hsa-mir-551b', 'miRNA', 5),\n", " ('uc063pln.1', 'lncRNA', 6),\n", " ('hsa-mir-3909', 'miRNA', 5),\n", " ('hsa-mir-4732', 'miRNA', 5),\n", " ('hsa-mir-644b', 'miRNA', 5),\n", " ('hsa-mir-941-1', 'miRNA', 5),\n", " ('hsa-mir-941-3', 'miRNA', 5),\n", " ('hsa-mir-941-4', 'miRNA', 5),\n", " ('hsa-mir-4284', 'miRNA', 5),\n", " ('hsa-mir-3074', 'miRNA', 5),\n", " ('hsa-mir-4448', 'miRNA', 5),\n", " ('hsa-mir-5481', 'miRNA', 5),\n", " ('hsa-mir-3161', 'miRNA', 5),\n", " ('hsa-mir-450', 'miRNA', 5),\n", " ('hsa-mir-569', 'miRNA', 5),\n", " ('hsa-mir-351', 'miRNA', 5),\n", " ('hsa-mir-327', 'miRNA', 5),\n", " ('hsa-mir-566', 'miRNA', 5),\n", " ('hsa-mir-1226', 'miRNA', 5),\n", " ('hsa-mir-1298', 'miRNA', 5),\n", " ('hsa-mir-1295a', 'miRNA', 5),\n", " ('hsa-mir-544', 'miRNA', 5),\n", " ('hsa-mir-4319', 'miRNA', 5),\n", " ('hsa-mir-770', 'miRNA', 5),\n", " ('circGFRA1', 'circRNA', 6),\n", " ('CYTOR', 'lncRNA', 6),\n", " ('DANCR', 'lncRNA', 6),\n", " ('hsa_circRNA_104194', 'circRNA', 6),\n", " ('MAPT-AS1', 'lncRNA', 6),\n", " ('SNHG12', 'lncRNA', 6),\n", " ('hsa_circ_0004383', 'circRNA', 6),\n", " ('hsa-mir-548a-1', 'miRNA', 5),\n", " ('hsa-mir-548a-2', 'miRNA', 5),\n", " ('hsa-mir-548a-3', 'miRNA', 5),\n", " ('hsa-mir-191a', 'miRNA', 5),\n", " ('hsa-mir-467a', 'miRNA', 5),\n", " ('hsa-mir-12', 'miRNA', 5),\n", " ('hsa-mir-555', 'miRNA', 5),\n", " ('hsa-mir-4661', 'miRNA', 5),\n", " ('hsa-mir-1270', 'miRNA', 5),\n", " ('hsa-mir-449c', 'miRNA', 5),\n", " ('hsa-mir-350', 'miRNA', 5),\n", " ('hsa-mir-710', 'miRNA', 5),\n", " ('hsa-mir-3614', 'miRNA', 5),\n", " ('hsa-mir-299a', 'miRNA', 5),\n", " ('hsa-mir-6780b', 'miRNA', 5),\n", " ('hsa-mir-380', 'miRNA', 5),\n", " ('hsa-mir-558', 'miRNA', 5),\n", " ('hsa-mir-496', 'miRNA', 5),\n", " ('hsa-mir-550', 'miRNA', 5),\n", " ('hsa-mir-371b', 'miRNA', 5),\n", " ('hsa-mir-189', 'miRNA', 5),\n", " ('hsa-mir-519a-1', 'miRNA', 5),\n", " ('hsa-mir-519a-2', 'miRNA', 5),\n", " ('hsa-mir-5096', 'miRNA', 5),\n", " ('YY1', 'lncRNA', 6),\n", " ('hsa-mir-605', 'miRNA', 5),\n", " ('hsa-mir-1293', 'miRNA', 5),\n", " ('hsa-mir-320d-2', 'miRNA', 5),\n", " ('hsa-mir-891a', 'miRNA', 5),\n", " ('hsa-mir-1973', 'miRNA', 5),\n", " ('hsa-mir-3172', 'miRNA', 5),\n", " ('hsa-mir-3175', 'miRNA', 5),\n", " ('hsa-mir-663b', 'miRNA', 5),\n", " ('hsa-mir-934', 'miRNA', 5),\n", " ('hsa-mir-1896', 'miRNA', 5),\n", " ('hsa-mir-513', 'miRNA', 5),\n", " ('hsa-mir-4443', 'miRNA', 5),\n", " ('hsa-mir-6721', 'miRNA', 5),\n", " ('ENSG00000280096', 'lncRNA', 6),\n", " ('ENSG00000280665', 'lncRNA', 6),\n", " ('hsa-mir-374c', 'miRNA', 5),\n", " ('hsa-mir-3185', 'miRNA', 5),\n", " ('hsa-mir-1237', 'miRNA', 5),\n", " ('hsa-mir-3196', 'miRNA', 5),\n", " ('ATB', 'lncRNA', 6),\n", " ('hsa-mir-549', 'miRNA', 5),\n", " ('AC002511.1', 'lncRNA', 6),\n", " ('AP000688.29', 'lncRNA', 6),\n", " ('RP4-620F22.3', 'lncRNA', 6),\n", " ('RP5-843L14.1', 'lncRNA', 6),\n", " ('hsa-mir-1897', 'miRNA', 5),\n", " ('hsa-mir-691', 'miRNA', 5),\n", " ('hsa-mir-872', 'miRNA', 5),\n", " ('hsa-mir-367a', 'miRNA', 5),\n", " ('hsa-mir-518f', 'miRNA', 5),\n", " ('hsa-mir-528a', 'miRNA', 5),\n", " ('hsa-mir-676', 'miRNA', 5),\n", " ('hsa-mir-516b', 'miRNA', 5),\n", " ('hsa-mir-517', 'miRNA', 5),\n", " ('hsa-mir-1976', 'miRNA', 5),\n", " ...]" ] }, "execution_count": 249, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tuples_rna = [tuple(x) for x in df_rna_insertion.values]\n", "tuples_rna" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# **Inserting operations for table rna**" ] }, { "cell_type": "code", "execution_count": 250, "metadata": {}, "outputs": [], "source": [ "#function to insert into \"rna\" table the information from the rna-disease associations related\n", "#to the id of the rna, its category (miRNA, lncRNA or circRNA) and the source from which the rna-disease information\n", "#was extracted.\n", "\n", "def rna_insertion(result,cnx, logfile):\n", " \n", " \"\"\"Method that inserts a list of tuples corresponding to different rna entity's features \n", " to DISNET MySQL DB, via mysql.connector objects.\n", " \"\"\"\n", "\n", " insert_rnaclasstable = \"\"\"\n", " INSERT INTO rna (rna_id, rna_category, source_id) \n", " VALUES (%s, %s, %s);\n", " \"\"\"\n", " cursor = cnx.cursor(buffered = True)\n", " \n", " try:\n", " cursor.execute('''SELECT * from rna''')\n", "# for (a, b, c) in cursor:\n", "# print(a,\" \",b,\" \",c)\n", " num_fields = len(cursor.description)\n", " field_names = [i[0] for i in cursor.description]\n", " print(field_names)\n", " '''\n", " for i in result:\n", " print(i)\n", " cursor.execute(insert_rnaclasstable,i)\n", " #print(i)\n", " '''\n", " cursor.executemany(insert_rnaclasstable, result)\n", " cnx.commit()\n", " \n", " except mysql.connector.Error as err:\n", " logfile.write('Module: ' + str(__name__) + \"\\n\" + str(err.msg))\n", " \n", " " ] }, { "cell_type": "code", "execution_count": 251, "metadata": {}, "outputs": [], "source": [ "#Calling rnaclass function to fill the rna table.\n", "#rna_insertion(tuples_rna,cnx, 'fichero.txt') #Uncomment this line to execute \"rnaclass\" function." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Inserting operations for table disease_rna" ] }, { "cell_type": "code", "execution_count": 252, "metadata": { "scrolled": true }, "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", "
rna_idrna_categorytypedisease_idcausalitysource_id
0hsa-mir-143miRNAcirculation_biomarker_diagnosis_downC0007102no5
1hsa-mir-143miRNAcirculation_biomarker_diagnosis_downC0009375no5
2hsa-mir-145miRNAcirculation_biomarker_diagnosis_downC0007102no5
3hsa-mir-145miRNAcirculation_biomarker_diagnosis_downC0009375no5
4hsa-let-7gmiRNAcirculation_biomarker_diagnosis_nsC0007102no5
.....................
587833UCA1lncRNARegulation [down-regulated]C0023869ns6
587834UphlncRNALocusC1848587ns6
587835XISTlncRNARegulation [up-regulated]C0007134ns6
587836XISTlncRNARegulation [up-regulated]C1266044ns6
587837XISTlncRNARegulation [up-regulated]C4049328ns6
\n", "

585303 rows × 6 columns

\n", "
" ], "text/plain": [ " rna_id rna_category type \\\n", "0 hsa-mir-143 miRNA circulation_biomarker_diagnosis_down \n", "1 hsa-mir-143 miRNA circulation_biomarker_diagnosis_down \n", "2 hsa-mir-145 miRNA circulation_biomarker_diagnosis_down \n", "3 hsa-mir-145 miRNA circulation_biomarker_diagnosis_down \n", "4 hsa-let-7g miRNA circulation_biomarker_diagnosis_ns \n", "... ... ... ... \n", "587833 UCA1 lncRNA Regulation [down-regulated] \n", "587834 Uph lncRNA Locus \n", "587835 XIST lncRNA Regulation [up-regulated] \n", "587836 XIST lncRNA Regulation [up-regulated] \n", "587837 XIST lncRNA Regulation [up-regulated] \n", "\n", " disease_id causality source_id \n", "0 C0007102 no 5 \n", "1 C0009375 no 5 \n", "2 C0007102 no 5 \n", "3 C0009375 no 5 \n", "4 C0007102 no 5 \n", "... ... ... ... \n", "587833 C0023869 ns 6 \n", "587834 C1848587 ns 6 \n", "587835 C0007134 ns 6 \n", "587836 C1266044 ns 6 \n", "587837 C4049328 ns 6 \n", "\n", "[585303 rows x 6 columns]" ] }, "execution_count": 252, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#reducing hmdd_lncrna_disnet dataframe by creating anotherone with the columns the table \"disease_rna\" has\n", "df_disease_rna_insertion = hmdd_lncrna_disnet[['rna_id', 'rna_category','type','disease_id', 'causality', 'source_id']].drop_duplicates()\n", "df_disease_rna_insertion" ] }, { "cell_type": "code", "execution_count": 253, "metadata": {}, "outputs": [], "source": [ "df_disease_rna_insertion_1 = df_disease_rna_insertion[df_disease_rna_insertion.rna_id != 'hsa-mir-200C']\n", "df_disease_rna_insertion_1 = df_disease_rna_insertion_1.drop_duplicates()" ] }, { "cell_type": "code", "execution_count": 254, "metadata": {}, "outputs": [], "source": [ "def disease_rna_class(result,cnx, logfile):\n", " \n", " \"\"\"Method that inserts a list of tuples corresponding to different \n", " disease_rna entity's features to DISNET MySQL DB, via mysql.connector objects.\n", " \"\"\"\n", "\n", " insert_disease_rna_classtable = \"\"\"\n", " INSERT INTO disease_rna (rna_id, rna_category, type, disease_id, causality, source_id) \n", " VALUES (%s, %s, %s, %s, %s,%s);\n", " \"\"\"\n", " \n", " \n", " cursor = cnx.cursor(buffered = True)\n", " \n", " try:\n", " cursor.execute('''SELECT * from disease_rna''')\n", "# num_fields = len(cursor.description)\n", "# field_names = [i[0] for i in cursor.description]\n", "# print(field_names)\n", " \n", " cursor.executemany(insert_disease_rna_classtable, result)\n", " cnx.commit()\n", " \n", " except mysql.connector.Error as err:\n", " logfile.write('Module: ' + str(__name__) + \"\\n\" + str(err.msg))\n", "# print(str(__name__))\n", "# print(str(err.msg))" ] }, { "cell_type": "code", "execution_count": 255, "metadata": {}, "outputs": [], "source": [ "#Calling disease_rna_class function to fill the \"disease_rna\" table.\n", "#disease_rna_class(tuples_disease_rna,cnx,'fichero.txt')" ] }, { "cell_type": "code", "execution_count": 256, "metadata": {}, "outputs": [], "source": [ "#As there are 585303 records to insert into \"disease_rna\" table, the dataframe containing \n", "#all the rna-disease records will be broken up in 10 smaller dataframes. This will allow to avoid errors\n", "#related with the size of \"df_disease_rna_insertion_1\" dataframe. Once 10 smaller dataframes are obtained and transformed into\n", "#tuples, the function \"disease_rna_class\" will be executed for each of them, one at a time.\n", "\n", "\n", "import numpy as np\n", "df_split = np.array_split(df_disease_rna_insertion_1, 10)\n", "for i in df_split:\n", " tuples_disease_rna = [tuple(x) for x in i.values]\n", "# disease_rna_class(tuples_disease_rna,cnx,'file.txt') #Uncomment this line to execute \"disease_rna_class\" function.\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Descriptive analysis of the data inserted into DISNET database" ] }, { "cell_type": "code", "execution_count": 257, "metadata": {}, "outputs": [], "source": [ "#how many miRNA, CircRNA and LncRNA have been incorporated?\n", "#how many different type of associations have been incorporated?\n", "#how many different diseases?" ] }, { "cell_type": "code", "execution_count": 258, "metadata": {}, "outputs": [], "source": [ "import seaborn as sns" ] }, { "cell_type": "code", "execution_count": 259, "metadata": { "scrolled": true }, "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", "
rna_idcausalitytypenamesource_idsource_namerna_categorydisease_idvocab
0hsa-mir-143nocirculation_biomarker_diagnosis_downColonic Neoplasms5HMDD v3.2miRNAC0007102MSH
1hsa-mir-143nocirculation_biomarker_diagnosis_downColonic Neoplasms5HMDD v3.2miRNAC0009375MSH
2hsa-mir-145nocirculation_biomarker_diagnosis_downColonic Neoplasms5HMDD v3.2miRNAC0007102MSH
3hsa-mir-145nocirculation_biomarker_diagnosis_downColonic Neoplasms5HMDD v3.2miRNAC0009375MSH
4hsa-let-7gnocirculation_biomarker_diagnosis_nsColonic Neoplasms5HMDD v3.2miRNAC0007102MSH
..............................
587833UCA1nsRegulation [down-regulated]Lithiasis6LncRNADiseaselncRNAC0023869MSH
587834UphnsLocusRight ventricle hypoplasia6LncRNADiseaselncRNAC1848587MSH
587835XISTnsRegulation [up-regulated]collecting duct carcinoma6LncRNADiseaselncRNAC0007134DO
587836XISTnsRegulation [up-regulated]collecting duct carcinoma6LncRNADiseaselncRNAC1266044DO
587837XISTnsRegulation [up-regulated]collecting duct carcinoma6LncRNADiseaselncRNAC4049328DO
\n", "

587838 rows × 9 columns

\n", "
" ], "text/plain": [ " rna_id causality type \\\n", "0 hsa-mir-143 no circulation_biomarker_diagnosis_down \n", "1 hsa-mir-143 no circulation_biomarker_diagnosis_down \n", "2 hsa-mir-145 no circulation_biomarker_diagnosis_down \n", "3 hsa-mir-145 no circulation_biomarker_diagnosis_down \n", "4 hsa-let-7g no circulation_biomarker_diagnosis_ns \n", "... ... ... ... \n", "587833 UCA1 ns Regulation [down-regulated] \n", "587834 Uph ns Locus \n", "587835 XIST ns Regulation [up-regulated] \n", "587836 XIST ns Regulation [up-regulated] \n", "587837 XIST ns Regulation [up-regulated] \n", "\n", " name source_id source_name rna_category \\\n", "0 Colonic Neoplasms 5 HMDD v3.2 miRNA \n", "1 Colonic Neoplasms 5 HMDD v3.2 miRNA \n", "2 Colonic Neoplasms 5 HMDD v3.2 miRNA \n", "3 Colonic Neoplasms 5 HMDD v3.2 miRNA \n", "4 Colonic Neoplasms 5 HMDD v3.2 miRNA \n", "... ... ... ... ... \n", "587833 Lithiasis 6 LncRNADisease lncRNA \n", "587834 Right ventricle hypoplasia 6 LncRNADisease lncRNA \n", "587835 collecting duct carcinoma 6 LncRNADisease lncRNA \n", "587836 collecting duct carcinoma 6 LncRNADisease lncRNA \n", "587837 collecting duct carcinoma 6 LncRNADisease lncRNA \n", "\n", " disease_id vocab \n", "0 C0007102 MSH \n", "1 C0009375 MSH \n", "2 C0007102 MSH \n", "3 C0009375 MSH \n", "4 C0007102 MSH \n", "... ... ... \n", "587833 C0023869 MSH \n", "587834 C1848587 MSH \n", "587835 C0007134 DO \n", "587836 C1266044 DO \n", "587837 C4049328 DO \n", "\n", "[587838 rows x 9 columns]" ] }, "execution_count": 259, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import matplotlib.pyplot as plot\n", "#hmdd_lncrna_disnet.to_excel(\"hmdd_lncrna_disnet.xlsx\")\n", "hmdd_lncrna_disnet" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**GENERAL STATISTICS OF THE INCORPORATED DATA**" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " **how many miRNA, CircRNA and LncRNA have been incorporated?** " ] }, { "cell_type": "code", "execution_count": 260, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "lncRNA 572481\n", "miRNA 12324\n", "circRNA 3033\n", "Name: rna_category, dtype: int64\n", "\n", "The number of added non-coding RNAs is: 19914\n" ] } ], "source": [ "#counting the total number of miRNA-disease, lncRNA-disease and circRNA-disease association.\n", "#An association involves ncRNA-disease-type-causality\n", "print(hmdd_lncrna_disnet['rna_category'].value_counts())\n", "print()\n", "print('The number of added non-coding RNAs is: ' + str(hmdd_lncrna_disnet['rna_id'].nunique()))#number of different ncRNAs\n", "#inserted into DISNET.\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Visualization of the number of RNAs per RNA category" ] }, { "cell_type": "code", "execution_count": 261, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "[Text(0.5, 1.0, 'Number of ncRNA-disease associations per ncRNA category')]" ] }, "execution_count": 261, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "rna_category_counts = hmdd_lncrna_disnet['rna_category'].value_counts().to_frame()\n", "rna_category_counts = rna_category_counts.reset_index()\n", "#plot.figure(figsize=(15,10))\n", "\n", "ax = sns.barplot(x=rna_category_counts['index'], y=rna_category_counts['rna_category'])\n", "ax.set_yscale(\"log\")\n", "ax.set(xlabel='ncRNA category', ylabel='ncRNA-disease association counts')\n", "ax.set(title='Number of ncRNA-disease associations per ncRNA category')\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Finding the most repeated ncRNA-disease associations**" ] }, { "cell_type": "code", "execution_count": 381, "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", "
rna_idnamedisease_id
102517HOTAIRstomach cancer81
138838UCA1stomach cancer81
74767CDKN2B-AS1coronary artery disease80
123932MALAT1stomach cancer63
100948H19stomach cancer63
131486PVT1stomach cancer63
123838MALAT1breast cancer60
103698IPWPrader-Willi syndrome60
102420HOTAIRbreast cancer60
74044CASC15stomach cancer54
74754CDKN2B-AS1breast cancer54
99959GAS5stomach cancer54
100855H19breast cancer54
123874MALAT1hepatocellular carcinoma50
124402MEG3lung cancer48
102473HOTAIRlung cancer48
102503HOTAIRprostate cancer48
102569HOTTIPstomach cancer45
76610CYTORstomach cancer45
74432CCAT1stomach cancer45
\n", "
" ], "text/plain": [ " rna_id name disease_id\n", "102517 HOTAIR stomach cancer 81\n", "138838 UCA1 stomach cancer 81\n", "74767 CDKN2B-AS1 coronary artery disease 80\n", "123932 MALAT1 stomach cancer 63\n", "100948 H19 stomach cancer 63\n", "131486 PVT1 stomach cancer 63\n", "123838 MALAT1 breast cancer 60\n", "103698 IPW Prader-Willi syndrome 60\n", "102420 HOTAIR breast cancer 60\n", "74044 CASC15 stomach cancer 54\n", "74754 CDKN2B-AS1 breast cancer 54\n", "99959 GAS5 stomach cancer 54\n", "100855 H19 breast cancer 54\n", "123874 MALAT1 hepatocellular carcinoma 50\n", "124402 MEG3 lung cancer 48\n", "102473 HOTAIR lung cancer 48\n", "102503 HOTAIR prostate cancer 48\n", "102569 HOTTIP stomach cancer 45\n", "76610 CYTOR stomach cancer 45\n", "74432 CCAT1 stomach cancer 45" ] }, "execution_count": 381, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ncrna_disease = hmdd_lncrna_disnet.groupby(['rna_id', 'name']).count()\n", "ncrna_disease = ncrna_disease.reset_index()\n", "ncrna_disease[['rna_id', 'name','disease_id']].sort_values(by=['disease_id'], ascending = False).head(20)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Finding the most repeated miRNA-disease associations**" ] }, { "cell_type": "code", "execution_count": 382, "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", "
rna_idnamedisease_id
3077hsa-mir-21Colorectal Neoplasms30
1395hsa-mir-145Colorectal Neoplasms26
4514hsa-mir-34aColorectal Neoplasms26
1326hsa-mir-143Colorectal Neoplasms22
1967hsa-mir-17Colorectal Neoplasms22
2835hsa-mir-200cColorectal Neoplasms20
4192hsa-mir-31Colorectal Neoplasms20
1425hsa-mir-145Urinary Bladder Neoplasms20
1358hsa-mir-143Urinary Bladder Neoplasms18
2998hsa-mir-20aColorectal Neoplasms18
3875hsa-mir-29aColorectal Neoplasms18
785hsa-mir-126Colorectal Neoplasms18
3076hsa-mir-21Colonic Neoplasms18
2781hsa-mir-200aColorectal Neoplasms18
527hsa-mir-122Carcinoma, Hepatocellular17
2658hsa-mir-19aColorectal Neoplasms16
2867hsa-mir-203Colorectal Neoplasms16
3245hsa-mir-215Colorectal Neoplasms16
3062hsa-mir-21Carcinoma, Hepatocellular15
1325hsa-mir-143Colonic Neoplasms14
\n", "
" ], "text/plain": [ " rna_id name disease_id\n", "3077 hsa-mir-21 Colorectal Neoplasms 30\n", "1395 hsa-mir-145 Colorectal Neoplasms 26\n", "4514 hsa-mir-34a Colorectal Neoplasms 26\n", "1326 hsa-mir-143 Colorectal Neoplasms 22\n", "1967 hsa-mir-17 Colorectal Neoplasms 22\n", "2835 hsa-mir-200c Colorectal Neoplasms 20\n", "4192 hsa-mir-31 Colorectal Neoplasms 20\n", "1425 hsa-mir-145 Urinary Bladder Neoplasms 20\n", "1358 hsa-mir-143 Urinary Bladder Neoplasms 18\n", "2998 hsa-mir-20a Colorectal Neoplasms 18\n", "3875 hsa-mir-29a Colorectal Neoplasms 18\n", "785 hsa-mir-126 Colorectal Neoplasms 18\n", "3076 hsa-mir-21 Colonic Neoplasms 18\n", "2781 hsa-mir-200a Colorectal Neoplasms 18\n", "527 hsa-mir-122 Carcinoma, Hepatocellular 17\n", "2658 hsa-mir-19a Colorectal Neoplasms 16\n", "2867 hsa-mir-203 Colorectal Neoplasms 16\n", "3245 hsa-mir-215 Colorectal Neoplasms 16\n", "3062 hsa-mir-21 Carcinoma, Hepatocellular 15\n", "1325 hsa-mir-143 Colonic Neoplasms 14" ] }, "execution_count": 382, "metadata": {}, "output_type": "execute_result" } ], "source": [ "miRNA_only = hmdd_lncrna_disnet[hmdd_lncrna_disnet.rna_category == \"miRNA\"]\n", "miRNA_only_grouped = miRNA_only.groupby(['rna_id', 'name']).count()\n", "miRNA_only_grouped = miRNA_only_grouped.reset_index()\n", "miRNA_only_grouped[['rna_id', 'name','disease_id']].sort_values(by=['disease_id'], ascending = False).head(20)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Finding the most repeated lncRNA-disease associations**" ] }, { "cell_type": "code", "execution_count": 384, "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", "
rna_idnamedisease_id
138745UCA1stomach cancer81
102471HOTAIRstomach cancer81
74756CDKN2B-AS1coronary artery disease80
100906H19stomach cancer63
123885MALAT1stomach cancer63
123791MALAT1breast cancer60
103652IPWPrader-Willi syndrome60
102374HOTAIRbreast cancer60
74743CDKN2B-AS1breast cancer54
131421PVT1stomach cancer54
100813H19breast cancer54
99919GAS5stomach cancer54
123827MALAT1hepatocellular carcinoma50
124351MEG3lung cancer48
102427HOTAIRlung cancer48
102457HOTAIRprostate cancer48
74422CCAT1stomach cancer45
102523HOTTIPstomach cancer45
76588CYTORstomach cancer45
128615PCA3prostate cancer42
\n", "
" ], "text/plain": [ " rna_id name disease_id\n", "138745 UCA1 stomach cancer 81\n", "102471 HOTAIR stomach cancer 81\n", "74756 CDKN2B-AS1 coronary artery disease 80\n", "100906 H19 stomach cancer 63\n", "123885 MALAT1 stomach cancer 63\n", "123791 MALAT1 breast cancer 60\n", "103652 IPW Prader-Willi syndrome 60\n", "102374 HOTAIR breast cancer 60\n", "74743 CDKN2B-AS1 breast cancer 54\n", "131421 PVT1 stomach cancer 54\n", "100813 H19 breast cancer 54\n", "99919 GAS5 stomach cancer 54\n", "123827 MALAT1 hepatocellular carcinoma 50\n", "124351 MEG3 lung cancer 48\n", "102427 HOTAIR lung cancer 48\n", "102457 HOTAIR prostate cancer 48\n", "74422 CCAT1 stomach cancer 45\n", "102523 HOTTIP stomach cancer 45\n", "76588 CYTOR stomach cancer 45\n", "128615 PCA3 prostate cancer 42" ] }, "execution_count": 384, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lncRNA_only = hmdd_lncrna_disnet[hmdd_lncrna_disnet.rna_category == \"lncRNA\"]\n", "lncRNA_only_grouped = lncRNA_only.groupby(['rna_id', 'name']).count()\n", "lncRNA_only_grouped = lncRNA_only_grouped.reset_index()\n", "lncRNA_only_grouped[['rna_id', 'name','disease_id']].sort_values(by=['disease_id'], ascending = False).head(20)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Finding the most repeated circRNA-disease associations**" ] }, { "cell_type": "code", "execution_count": 386, "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", "
rna_idnamedisease_id
246hsa-circRNA11783-2coronary artery disease20
366hsa_circ_0000181stomach cancer18
357hsa_circ_0000026stomach cancer18
280hsa_circRNA_100269stomach cancer18
545hsa_circ_0061276stomach cancer18
12CDKN2B-AS1arteriosclerotic cardiovascular disease18
399hsa_circ_0001017stomach cancer18
10CASC15stomach cancer18
124circ-ZFRstomach cancer18
332hsa_circRNA_104423stomach cancer18
339hsa_circRNA_104916stomach cancer18
291hsa_circRNA_101308stomach cancer18
155circMAN2B2lung cancer16
112cir-ITCHlung cancer16
229circUBAP2lung cancer16
18CDR1-AShepatocellular carcinoma15
247hsa-circRNA11783-2type 2 diabetes mellitus12
233circVRK1breast cancer12
463hsa_circ_0006528breast cancer12
419hsa_circ_0001785breast cancer12
\n", "
" ], "text/plain": [ " rna_id name disease_id\n", "246 hsa-circRNA11783-2 coronary artery disease 20\n", "366 hsa_circ_0000181 stomach cancer 18\n", "357 hsa_circ_0000026 stomach cancer 18\n", "280 hsa_circRNA_100269 stomach cancer 18\n", "545 hsa_circ_0061276 stomach cancer 18\n", "12 CDKN2B-AS1 arteriosclerotic cardiovascular disease 18\n", "399 hsa_circ_0001017 stomach cancer 18\n", "10 CASC15 stomach cancer 18\n", "124 circ-ZFR stomach cancer 18\n", "332 hsa_circRNA_104423 stomach cancer 18\n", "339 hsa_circRNA_104916 stomach cancer 18\n", "291 hsa_circRNA_101308 stomach cancer 18\n", "155 circMAN2B2 lung cancer 16\n", "112 cir-ITCH lung cancer 16\n", "229 circUBAP2 lung cancer 16\n", "18 CDR1-AS hepatocellular carcinoma 15\n", "247 hsa-circRNA11783-2 type 2 diabetes mellitus 12\n", "233 circVRK1 breast cancer 12\n", "463 hsa_circ_0006528 breast cancer 12\n", "419 hsa_circ_0001785 breast cancer 12" ] }, "execution_count": 386, "metadata": {}, "output_type": "execute_result" } ], "source": [ "circRNA_only = hmdd_lncrna_disnet[hmdd_lncrna_disnet.rna_category == \"circRNA\"]\n", "circRNA_only_grouped = circRNA_only.groupby(['rna_id', 'name']).count()\n", "circRNA_only_grouped = circRNA_only_grouped.reset_index()\n", "circRNA_only_grouped[['rna_id', 'name','disease_id']].sort_values(by=['disease_id'], ascending = False).head(20)" ] }, { "cell_type": "code", "execution_count": 262, "metadata": { "scrolled": true }, "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", "
disease counts
HOTAIR937
MALAT1926
H19840
CDKN2B-AS1811
UCA1697
......
oebiotech_137191
hsa-mir-3501
hsa-mir-5141
A_19_P003295641
A_21_P00069931
\n", "

19914 rows × 1 columns

\n", "
" ], "text/plain": [ " disease counts\n", "HOTAIR 937\n", "MALAT1 926\n", "H19 840\n", "CDKN2B-AS1 811\n", "UCA1 697\n", "... ...\n", "oebiotech_13719 1\n", "hsa-mir-350 1\n", "hsa-mir-514 1\n", "A_19_P00329564 1\n", "A_21_P0006993 1\n", "\n", "[19914 rows x 1 columns]" ] }, "execution_count": 262, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#counts of the number of times a ncRNA appears in a ncRNA-disease association.\n", "ncrna = hmdd_lncrna_disnet['rna_id'].value_counts().to_frame()\n", "ncrna_counts = ncrna.rename(columns={'rna_id': 'disease counts'})\n", "ncrna_counts" ] }, { "cell_type": "code", "execution_count": 263, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "mode ncRNA in a ncRNA-disease association is: 0 HOTAIR\n", "dtype: object\n", "max number of ncRNA in ncRNA-disease association is: 937\n", "min number of ncRNA in ncRNA-disease association is: 1\n", "mean of ncRNA in ncRNA-disease association is: 29.518830973184695\n", "quantiles of the number of ncRNA-disease association are: \n", "0.25 9.0\n", "0.50 21.0\n", "0.75 46.0\n", "Name: rna_id, dtype: float64\n", "Times a ncRNA appears in a ncRNA-disease association standard deviation is: 37.753703263372465\n" ] } ], "source": [ "#Calculates general statistics of the ncRNA-disease associations\n", "print(\"mode ncRNA in a ncRNA-disease association is: \" + str(hmdd_lncrna_disnet['rna_id'].mode()))\n", "print(\"max number of ncRNA in ncRNA-disease association is: \" + str(ncrna['rna_id'].max()))\n", "print(\"min number of ncRNA in ncRNA-disease association is: \" + str(ncrna['rna_id'].min()))\n", "print(\"mean of ncRNA in ncRNA-disease association is: \" + str(ncrna['rna_id'].mean()))\n", "print(\"quantiles of the number of ncRNA-disease association are: \\n\"\n", " + str(ncrna['rna_id'].quantile([0.25,0.5,0.75])))\n", "print(\"Times a ncRNA appears in a ncRNA-disease association standard deviation is: \" + str(ncrna['rna_id'].std()))" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Statistical parameters of miRNAs in miRNA-disease associations" ] }, { "cell_type": "code", "execution_count": 266, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "mode of miRNA-disease associations per miRNA is: 0 hsa-mir-21\n", "dtype: object\n", "max number of miRNA-disease associations per miRNA is: 364\n", "min number of miRNA-disease associations per miRNA is: 1\n", "mean of miRNA-disease associations per miRNA is: 14.23094688221709\n", "quantiles of miRNA-disease associations per miRNA are: \n", "0.25 2.0\n", "0.50 4.0\n", "0.75 15.0\n", "Name: rna_id, dtype: float64\n", "miRNA-disease associations per miRNA standard deviation is: 27.479468123509015\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", "
disease counts
hsa-mir-21364
hsa-mir-155244
hsa-mir-146a207
hsa-mir-34a172
hsa-mir-17170
hsa-mir-126159
hsa-mir-223154
hsa-mir-221141
hsa-mir-145140
hsa-mir-20a125
\n", "
" ], "text/plain": [ " disease counts\n", "hsa-mir-21 364\n", "hsa-mir-155 244\n", "hsa-mir-146a 207\n", "hsa-mir-34a 172\n", "hsa-mir-17 170\n", "hsa-mir-126 159\n", "hsa-mir-223 154\n", "hsa-mir-221 141\n", "hsa-mir-145 140\n", "hsa-mir-20a 125" ] }, "execution_count": 266, "metadata": {}, "output_type": "execute_result" } ], "source": [ "miRNA = hmdd_lncrna_disnet.loc[hmdd_lncrna_disnet['rna_category'] == 'miRNA', 'rna_id'].to_frame()\n", "miRNA_counts = miRNA['rna_id'].value_counts().to_frame()\n", "print(\"mode of miRNA-disease associations per miRNA is: \" + str(miRNA['rna_id'].mode()))\n", "print(\"max number of miRNA-disease associations per miRNA is: \" + str(miRNA_counts['rna_id'].max()))\n", "print(\"min number of miRNA-disease associations per miRNA is: \" + str(miRNA_counts['rna_id'].min()))\n", "print(\"mean of miRNA-disease associations per miRNA is: \" + str(miRNA_counts['rna_id'].mean()))\n", "print(\"quantiles of miRNA-disease associations per miRNA are: \\n\"\n", " + str(miRNA_counts['rna_id'].quantile([0.25,0.5,0.75])))\n", "print(\"miRNA-disease associations per miRNA standard deviation is: \" + str(miRNA_counts['rna_id'].std()))\n", "miRNA_counts = miRNA_counts.rename(columns={'rna_id': 'disease counts'})\n", "#disease counts stands for the number of disease-ncRNA association in which a ncRNA appears.\n", "miRNA_counts.head(10)" ] }, { "cell_type": "code", "execution_count": 267, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "rna_id 866\n", "dtype: int64\n" ] } ], "source": [ "#number of different miRNA incorporated into DISNET\n", "miRNA_only = hmdd_lncrna_disnet[hmdd_lncrna_disnet.rna_category == \"miRNA\"]\n", "print(miRNA_only[['rna_id']].drop_duplicates().count())\n", "#miRNA_only" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Statistical parameters of LncRNAs in lncRNA-disease associations" ] }, { "cell_type": "code", "execution_count": 270, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "mode of lncRNA-disease association per lncRNA is: 0 HOTAIR\n", "dtype: object\n", "max number of lncRNA-disease association per lncRNA is: 937\n", "min number of lncRNA-disease association per lncRNA is: 1\n", "mean of the number of times a lncRNA appears in a lncRNA-disease association is: 30.954958364875093\n", "quantiles of the number of times a lncRNA appears in a lncRNA-disease association are: \n", "0.25 21.0\n", "0.50 21.0\n", "0.75 50.0\n", "Name: rna_id, dtype: float64\n", "lncRNA-disease associations' standard deviation is: 38.282507707610655\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", "
disease counts
HOTAIR937
MALAT1926
H19840
CDKN2B-AS1792
UCA1697
......
TCONS_000261021
oebiotech_173011
ASAP11
AQP91
RP11-68I3.111
\n", "

18494 rows × 1 columns

\n", "
" ], "text/plain": [ " disease counts\n", "HOTAIR 937\n", "MALAT1 926\n", "H19 840\n", "CDKN2B-AS1 792\n", "UCA1 697\n", "... ...\n", "TCONS_00026102 1\n", "oebiotech_17301 1\n", "ASAP1 1\n", "AQP9 1\n", "RP11-68I3.11 1\n", "\n", "[18494 rows x 1 columns]" ] }, "execution_count": 270, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lncRNA = hmdd_lncrna_disnet.loc[hmdd_lncrna_disnet['rna_category'] == 'lncRNA', 'rna_id'].to_frame()\n", "lncRNA_counts = lncRNA['rna_id'].value_counts().to_frame()\n", "print(\"mode of lncRNA-disease association per lncRNA is: \" + str(lncRNA['rna_id'].mode()))\n", "print(\"max number of lncRNA-disease association per lncRNA is: \" + str(lncRNA_counts['rna_id'].max()))\n", "print(\"min number of lncRNA-disease association per lncRNA is: \" + str(lncRNA_counts['rna_id'].min()))\n", "print(\"mean of the number of times a lncRNA appears in a lncRNA-disease association is: \" + str(lncRNA_counts['rna_id'].mean()))\n", "print(\"quantiles of the number of times a lncRNA appears in a lncRNA-disease association are: \\n\"\n", " + str(lncRNA_counts['rna_id'].quantile([0.25,0.5,0.75])))\n", "print(\"lncRNA-disease associations' standard deviation is: \" + str(lncRNA_counts['rna_id'].std()))\n", "lncRNA_counts = lncRNA_counts.rename(columns={'rna_id': 'disease counts'})\n", "lncRNA_counts" ] }, { "cell_type": "code", "execution_count": 271, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "18494" ] }, "execution_count": 271, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#number of different lncRNA incorporated into DISNET\n", "lncRNA['rna_id'].nunique()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Statistical parameters of CircRNAs in circRNA-disease associations" ] }, { "cell_type": "code", "execution_count": 274, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "mode number of times a circRNA appears in acircRNA-disease is: 0 CDR1-AS\n", "dtype: object\n", "max number of times a circRNA appears in a circRNA-disease is: 44\n", "min number of times a circRNA appears in a circRNA-disease is: 1\n", "mean of the number of times a circRNA appears associated is: 5.425760286225403\n", "quantiles of the number of times of circRNA per appers are: \n", "0.25 2.0\n", "0.50 4.0\n", "0.75 9.0\n", "Name: rna_id, dtype: float64\n", "The number of times a circRNA appears' standard deviation is: 4.944253579879147\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", "
disease counts
CDR1-AS44
hsa_circ_000028438
hsa-circRNA11783-232
circPVT127
hsa_circ_000164925
......
hsa_circ_00570931
hsa_circ_00231171
hsa_circ_00087971
circRNA_1007821
hsa_circ_00019461
\n", "

559 rows × 1 columns

\n", "
" ], "text/plain": [ " disease counts\n", "CDR1-AS 44\n", "hsa_circ_0000284 38\n", "hsa-circRNA11783-2 32\n", "circPVT1 27\n", "hsa_circ_0001649 25\n", "... ...\n", "hsa_circ_0057093 1\n", "hsa_circ_0023117 1\n", "hsa_circ_0008797 1\n", "circRNA_100782 1\n", "hsa_circ_0001946 1\n", "\n", "[559 rows x 1 columns]" ] }, "execution_count": 274, "metadata": {}, "output_type": "execute_result" } ], "source": [ "circRNA =hmdd_lncrna_disnet.loc[hmdd_lncrna_disnet['rna_category'] == 'circRNA', 'rna_id'].to_frame()\n", "circRNA_counts = circRNA['rna_id'].value_counts().to_frame()\n", "print(\"mode number of times a circRNA appears in acircRNA-disease is: \" + str(circRNA['rna_id'].mode()))\n", "print(\"max number of times a circRNA appears in a circRNA-disease is: \" + str(circRNA_counts['rna_id'].max()))\n", "print(\"min number of times a circRNA appears in a circRNA-disease is: \" + str(circRNA_counts['rna_id'].min()))\n", "print(\"mean of the number of times a circRNA appears associated is: \" + str(circRNA_counts['rna_id'].mean()))\n", "print(\"quantiles of the number of times of circRNA per appers are: \\n\"\n", " + str(circRNA_counts['rna_id'].quantile([0.25,0.5,0.75])))\n", "print(\"The number of times a circRNA appears' standard deviation is: \" + str(circRNA_counts['rna_id'].std()))\n", "circRNA_counts = circRNA_counts.rename(columns={'rna_id': 'disease counts'})\n", "circRNA_counts" ] }, { "cell_type": "code", "execution_count": 275, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "559" ] }, "execution_count": 275, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#number of different circRNA incorporated into DISNET\n", "circRNA['rna_id'].nunique()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Combining All ncRNA, number of ncRNA-disease associations plots in one grid" ] }, { "cell_type": "code", "execution_count": 278, "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", "
indexdisease countsncRNA
0hsa-mir-21364miRNA
1hsa-mir-155244miRNA
2hsa-mir-146a207miRNA
3hsa-mir-34a172miRNA
4hsa-mir-17170miRNA
............
554hsa_circ_00570931circRNA
555hsa_circ_00231171circRNA
556hsa_circ_00087971circRNA
557circRNA_1007821circRNA
558hsa_circ_00019461circRNA
\n", "

19919 rows × 3 columns

\n", "
" ], "text/plain": [ " index disease counts ncRNA\n", "0 hsa-mir-21 364 miRNA\n", "1 hsa-mir-155 244 miRNA\n", "2 hsa-mir-146a 207 miRNA\n", "3 hsa-mir-34a 172 miRNA\n", "4 hsa-mir-17 170 miRNA\n", ".. ... ... ...\n", "554 hsa_circ_0057093 1 circRNA\n", "555 hsa_circ_0023117 1 circRNA\n", "556 hsa_circ_0008797 1 circRNA\n", "557 circRNA_100782 1 circRNA\n", "558 hsa_circ_0001946 1 circRNA\n", "\n", "[19919 rows x 3 columns]" ] }, "execution_count": 278, "metadata": {}, "output_type": "execute_result" } ], "source": [ "miRNA_counts_1 = miRNA_counts.reset_index()\n", "miRNA_counts_1['ncRNA'] = 'miRNA'\n", "lncRNA_counts_1 = lncRNA_counts.reset_index()\n", "lncRNA_counts_1['ncRNA'] = 'lncRNA'\n", "circRNA_counts_1 = circRNA_counts.reset_index()\n", "circRNA_counts_1['ncRNA'] = 'circRNA'\n", "df_to_plot = pd.concat([miRNA_counts_1, lncRNA_counts_1, circRNA_counts_1])\n", "df_to_plot" ] }, { "cell_type": "code", "execution_count": 279, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "[Text(0.5, 1.0, 'Logarithmic distribution of the number of ncRNA-disease associations per ncRNA')]" ] }, "execution_count": 279, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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R9KzZ88GdZxzzjm8+uqrO71rqLy8nLFjxwIwduxYysvL07JeSljSrKamhjlz5uDuzJkzR60sIiLSotwdM0s6zW677dbotEOHDmXp0qW89dZb3HvvvSxevLjB+Pbt23PVVVc1eKPzjh07ePLJJ7nxxhspLi5m4sSJzJkzh02bNjVvpVDCknZlZWVEXihZV1enVhYREWlRJ510Eo899lj9P8yffPJJwmkPOeQQVq1axcKFCwHYtGkT27dvbzDNwQcfzHXXXdcgMYmYMGEC8+bNY926dQDMmzePQYMGsWLFCqqqqvjwww8ZM2YMTz/9dLPXSwlLms2dO5fa2loAamtr9ShxERFpUQMGDOD666/nG9/4BoMGDeLKK69MOG2HDh2YMWMGEydOZNCgQQwfPpytW7fuNN0ll1zCggULdrr806FDByZNmsTatWuB4HLQ6NGjG0wzZswYHn300Wavl0VaA/JRaWmpL1q0KNthNHD77bcze/ZsamtrKSws5Dvf+U7SnUVERFqPZcuWceihh9aXc+W25lwUu60AzOx1dy+NN71ua06z8ePH1/eINjO9AFGkmWpqavj5z3/O5MmT9fZzyTutJbnIBboklGY9evSgd+/eAOy///46wYo0k+66ExFQwpJ2NTU1rFoVPCRo1apVuktIpBl0152IRChhSbPou4TcXf8VijSD7rqTfJTPfUNbyq5sIyUsaaa7hETSR8eT5JtOnTqxfv16JS1JuDvr169v8uP687LTrZmdDpxeUlKS7VB2Mnz48AZ3CY0YMSLbIYnkreHDhzNz5sz6h1vpeJJcV1RURHV1df1zSSS+Tp06UVRU1KR5dFtzmtXU1DB27Fi+/PJLOnbsyPTp09XxVmQXvfvuu1x44YX15QcffJBc/EdFRNIj2W3NuiSUZj169OD4448H4Pjjj1eyItIMs2bNqn9suJkxc+bMLEckItmihCUD3nvvPQAqKyuzHIlIfps7d26DTuzqwyLSdilhSbN3332XFStWALBixQolLSLNMHz4cAoLCwHUJ0ykjVPCkmY33XRTg/KNN96YpUhE8t/48ePrLwkVFBToydEibZgSljSrqqpKWhaR1PXo0YNvfvObAHzzm99UnzCRNkwJS5p17do1aVlERESaTglLmkUecpWoLCKpq6mp4YUXXgDghRde0KP5RdowJSxp1qtXr6RlEUld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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, ax = plot.subplots(figsize = (9, 5)) \n", "#plot.xlim(0, 200)\n", "ax.set_yscale(\"log\")\n", "ax = sns.boxplot(y=df_to_plot['disease counts'], x=df_to_plot['ncRNA'], hue = df_to_plot['ncRNA'])\n", "ax.set(xlabel='ncRNA', ylabel='log (disease counts)')\n", "ax.set(title='Logarithmic distribution of the number of ncRNA-disease associations per ncRNA')" ] }, { "cell_type": "code", "execution_count": 280, "metadata": {}, "outputs": [], "source": [ "#-------------------------------------------------------------------" ] }, { "cell_type": "code", "execution_count": 281, "metadata": {}, "outputs": [], "source": [ "#----------------------------------------------------------------" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**How many different diseases are associated to circRNAs, lncRNAs and miRNAs?**\n" ] }, { "cell_type": "code", "execution_count": 292, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " disease_id\n", "rna_category \n", "circRNA 196\n", "lncRNA 692\n", "miRNA 359\n", " disease_id\n", "rna_category \n", "circRNA 3033\n", "lncRNA 572481\n", "miRNA 12324\n", " rna_category\n", "disease_id \n", "C0011849 3\n", "C0003486 3\n", "C0003873 3\n", "C0029463 3\n", "C2239176 3\n", "... ...\n", "C0037944 1\n", "C0038165 1\n", "C0038436 1\n", "C0038454 1\n", "C4290092 1\n", "\n", "[970 rows x 1 columns]\n", "-------------------------------------------------------\n", " rna_category\n", "disease_id \n", "C0011849 3\n", "C0003486 3\n", "C0003873 3\n", "C0029463 3\n", "C2239176 3\n", "... ...\n", "C0037944 1\n", "C0038165 1\n", "C0038436 1\n", "C0038454 1\n", "C4290092 1\n", "\n", "[970 rows x 1 columns]\n" ] } ], "source": [ "disease_and_rna_no_dup = hmdd_lncrna_disnet[['rna_category', 'disease_id']].drop_duplicates()\n", "print(disease_and_rna_no_dup.groupby(['rna_category']).nunique())\n", "disease_and_rna = hmdd_lncrna_disnet[['rna_category', 'disease_id']]\n", "print(disease_and_rna.groupby(['rna_category']).count())\n", "print(disease_and_rna.groupby(['disease_id']).nunique().sort_values(by=['rna_category'], ascending=False))\n", "print('-------------------------------------------------------')\n", "print(disease_and_rna_no_dup.groupby(['disease_id']).count().sort_values(by=['rna_category'], ascending=False))\n", "#hmdd_lncrna_disnet[['rna_category']].groupby()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Plotting the number of diseases per RNA category.**" ] }, { "cell_type": "code", "execution_count": 293, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "[Text(0.5, 0, 'RNA category'), Text(0, 0.5, 'Disases counts')]" ] }, "execution_count": 293, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAEGCAYAAACKB4k+AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAAAZTElEQVR4nO3dfbRddX3n8feHB1ELKkigCGjQZnCgU1EjtYuqVVSwWoMPaDLVRsuUPuADtlqhTlt1VpQ1dmytHbQsbY0dFDMqQ7TVSqOg0lYMiiJIJIpCCpKIFawoCnznj/3L9nBzbnII2fckN+/XWnfts3/7t/f5npyV+7n76bdTVUiSBLDHtAuQJO08DAVJUs9QkCT1DAVJUs9QkCT19pp2AffGgQceWAsXLpx2GZK0S7nsssu+U1ULxi3bpUNh4cKFrF27dtplSNIuJcm3Zlvm4SNJUs9QkCT1DAVJUm+wUEhyZJLLR35uTXJ6kgOSXJjkmjbdf2SdM5OsT7IuyQlD1SZJGm+wUKiqdVV1TFUdAzwWuA04HzgDWFNVi4A1bZ4kRwFLgaOBE4Gzk+w5VH2SpC3N1eGj44GvV9W3gCXAyta+EjipvV4CnFdVt1fVtcB64Ng5qk+SxNyFwlLg/e31wVV1I0CbHtTaDwWuH1lnQ2u7mySnJlmbZO2mTZsGLFmSdj+Dh0KS+wDPBv7vtrqOadtiXO+qOqeqFlfV4gULxt57IUnaTnOxp/AM4AtVdVObvynJIQBturG1bwAOH1nvMOCGOahPktTMxR3Ny/jpoSOA1cBy4Kw2vWCk/X1J3go8BFgEXDoH9WkXcN0b/8u0S5j3HvonV0y7BO0EBg2FJPcHngb89kjzWcCqJKcA1wEnA1TVlUlWAVcBdwCnVdWdQ9YnSbq7QUOhqm4DHjyj7Wa6q5HG9V8BrBiyJknS7LyjWZLUMxQkST1DQZLUMxQkST1DQZLUMxQkST1DQZLUMxQkST1DQZLUMxQkST1DQZLUMxQkST1DQZLUMxQkST1DQZLUMxQkST1DQZLUMxQkST1DQZLUMxQkST1DQZLUGzQUkjwoyQeTXJ3kq0l+KckBSS5Mck2b7j/S/8wk65OsS3LCkLVJkrY09J7C24CPV9UjgUcBXwXOANZU1SJgTZsnyVHAUuBo4ETg7CR7DlyfJGnEYKGQ5AHAE4F3A1TVj6vqe8ASYGXrthI4qb1eApxXVbdX1bXAeuDYoeqTJG1pyD2FhwObgL9N8sUk70ryM8DBVXUjQJse1PofClw/sv6G1nY3SU5NsjbJ2k2bNg1YviTtfoYMhb2AxwDvqKpHAz+gHSqaRca01RYNVedU1eKqWrxgwYIdU6kkCRg2FDYAG6rqc23+g3QhcVOSQwDadONI/8NH1j8MuGHA+iRJMwwWClX1beD6JEe2puOBq4DVwPLWthy4oL1eDSxNsk+SI4BFwKVD1SdJ2tJeA2//5cC5Se4DfAN4KV0QrUpyCnAdcDJAVV2ZZBVdcNwBnFZVdw5cnyRpxKChUFWXA4vHLDp+lv4rgBVD1iRJmp13NEuSeoaCJKlnKEiSeoaCJKlnKEiSeoaCJKlnKEiSeoaCJKlnKEiSeoaCJKlnKEiSeoaCJKlnKEiSeoaCJKlnKEiSeoaCJKlnKEiSeoaCJKlnKEiSeoaCJKlnKEiSeoOGQpJvJrkiyeVJ1ra2A5JcmOSaNt1/pP+ZSdYnWZfkhCFrkyRtaS72FJ5cVcdU1eI2fwawpqoWAWvaPEmOApYCRwMnAmcn2XMO6pMkNdM4fLQEWNlerwROGmk/r6pur6prgfXAsXNfniTtvoYOhQI+keSyJKe2toOr6kaANj2otR8KXD+y7obWdjdJTk2yNsnaTZs2DVi6JO1+9hp4+8dV1Q1JDgIuTHL1VvpmTFtt0VB1DnAOwOLFi7dYLknafoPuKVTVDW26ETif7nDQTUkOAWjTja37BuDwkdUPA24Ysj5J0t0NFgpJfibJfptfA08HvgKsBpa3bsuBC9rr1cDSJPskOQJYBFw6VH2SpC0NefjoYOD8JJvf531V9fEknwdWJTkFuA44GaCqrkyyCrgKuAM4raruHLA+SdIM2wyFJMcBl1fVD5K8CHgM8Laq+tbW1quqbwCPGtN+M3D8LOusAFZMUrgkaceb5PDRO4DbkjwK+EPgW8B7B61KkjQVk4TCHVVVdPcRvK2q3gbsN2xZkqRpmOScwveTnAm8CHhiu8t472HLkiRNwyR7Ci8EbgdOqapv091Q9pZBq5IkTcUkewqvqqrXbp6pquuSHD1gTZKkKZlkT+FpY9qesaMLkSRN36x7Ckl+F/g94OFJvjyyaD/gn4cuTJI097Z2+Oh9wMeAN9OGt26+X1XfHbQqSdJUzBoKVXULcAuwrF1xdHDrv2+SfavqujmqUZI0Rya5o/llwOuBm4C7WnMBvzBcWZKkaZjk6qPTgSPb8BSSpHlskquPrqc7jCRJmucm2VP4BnBRkr+nu4kNgKp662BVSZKmYpJQuK793Kf9SJLmqW2GQlW9YS4KkSRN3yRXH32K8c9KfsogFUmSpmaSw0evHnl9X+B5dE9GkyTNM5McPrpsRtMlSS4eqB5J0hRNcvjogJHZPYDHAj87WEWSpKmZ5PDRZXTnFEJ32Oha4JQhi5IkTcckh4+OmItCJEnTt807mpPsneQVST7Yfl6WZOLHcSbZM8kXk3y0zR+Q5MIk17Tp/iN9z0yyPsm6JCds30eSJG2vSYa5eAfdeYSz289jW9ukXgl8dWT+DGBNVS0C1rR5khwFLAWOBk4Ezm6js0qS5sgkofC4qlpeVZ9sPy8FHjfJxpMcBjwTeNdI8xJgZXu9EjhppP28qrq9qq4F1gPHTvI+kqQdY5JQuDPJIzbPJHk4cOeE2/8L4A/56ZDbAAdX1Y0AbXpQaz+UbvC9zTa0trtJcmqStUnWbtq0acIyJEmTmCQUXgN8KslF7f6ETwJ/sK2VkjwL2DjmPodZVxnTNu5O6nOqanFVLV6wYMGEm5YkTWKSq4/WJFkEHEn3i/vqqrp9G6sBHAc8O8mv0t0J/YAk/we4KckhVXVjkkOAja3/BuDwkfUPA264B59FknQvTXL10WnA/arqy1X1JeD+SX5vW+tV1ZlVdVhVLaQ7gfzJqnoRsBpY3rotBy5or1cDS5Psk+QIYBFw6T3+RJKk7TbJ4aPfqqrvbZ6pqn8HfutevOdZwNOSXAM8rc1TVVcCq4CrgI8Dp1XVpOcuJEk7wCR3NO+RJFVV0N13wD18rkJVXQRc1F7fDBw/S78VwIp7sm1J0o4zSSj8I7AqyTvpTvz+Dt1f8pKkeWaSUHgtcCrwu3Qnmj/B3e87kCTNE5NcfXQX8M72I0maxyY50SxJ2k0YCpKk3j0KhSR7JHnAUMVIkqZrkievvY/uiqM76R6488Akb62qtwxdnKT54bi3HzftEua9S15+yQ7ZziR7CkdV1a10o5n+A/BQ4MU75N0lSTuVSUJh7/ZQnZOAC6rqJ4wZqE6StOubJBT+Gvgm8DPAp5M8DLh1yKIkSdMxyX0Kfwn85UjTt5I8ebiSJEnTMskoqQcneXeSj7X5o/jpKKeSpHlkksNH76Eb/+ghbf5rwOkD1SNJmqJJQuHAqlpFe6RmVd3B5I/jlCTtQiYJhR8keTDtiqMkjwduGbQqSdJUTDJK6u/TPRXtEUkuARYAzx+0KknSVExy9dEXkjyJnz6jeV27V0GSNM9McvXRyXTPaL6S7ga2DyR5zNCFSZLm3iTnFP64qr6f5JeBE4CVwDuGLUuSNA2ThMLmK42eCbyjqi7gHj6jWZK0a5gkFP4tyV8DLwD+Ick+E64nSdrFTPLL/QV0N6+dWFXfAw4AXrOtlZLcN8mlSb6U5Mokb2jtByS5MMk1bbr/yDpnJlmfZF2SE7bvI0mSttc2Q6GqbquqDwO3JHkosDdw9QTbvh14SlU9CjgGOLHd43AGsKaqFgFr2vzm4TOWAkcDJwJnJ9nznn8kSdL2muTqo2cnuQa4Fri4TT+2rfWq8x9tdu/2U8ASupPVtOlJ7fUS4Lyqur2qrgXWA8dO/lEkSffWJIeP/gfweOBrVXUE8FRgokf8JNkzyeXARuDCqvoccHBV3QjQpge17ocC14+svqG1zdzmqUnWJlm7adOmScqQJE1oklD4SVXdDOyRZI+q+hTd4aBtqqo7q+oY4DDg2CQ/v5XuGbeJMds8p6oWV9XiBQsWTFKGJGlCkwxz8b0k+wKfBs5NshG44568SVV9L8lFdOcKbkpySFXdmOQQur0I6PYMDh9Z7TDghnvyPpKke2eSPYUlwG3Aq4CPA18Hfm1bKyVZkORB7fX96A47XU03jtLm5zEsBy5or1cDS5Psk+QIYBFw6cSfRJJ0r02ypwB0Q2Yn+RfgkUz2OM5DgJXtCqI9gFVV9dG2jVVJTgGuA05u278yySrgKro9kdOqyiG6JWkOTRIKnwae0O4nWAOsBV4I/PrWVqqqLwOPHtN+M3D8LOusAFZMUJMkaQCTHD5KVd0GPBd4e1U9Bzhq2LIkSdMwUSgk+SW6PYO/b20TH3aSJO06JgmF04EzgfPbcf+HA58atCpJ0lRM8pCdi+nuZN48/w3gFUMWJUmajllDIclfVNXpST7C+JvInj1oZZKkObe1PYW/a9M/m4tCJEnTN2soVNVlbXpxkgXttYMNSdI8NuuJ5nRen+Q7dHcify3JpiR/MnflSZLm0tauPjodOA54XFU9uKr2B34ROC7Jq+aiOEnS3NpaKPwGsKw92wDorzx6UVsmSZpnthYKe1fVd2Y2tvMKew9XkiRpWrYWCj/ezmWSpF3U1i5JfVSScaOhBrjvQPVIkqZoa5ek7jmXhUiSpm+SsY8kSbsJQ0GS1DMUJEk9Q0GS1DMUJEk9Q0GS1DMUJEm9wUIhyeFJPpXkq0muTPLK1n5AkguTXNOm+4+sc2aS9UnWJTlhqNokSeMNuadwB/AHVfWfgccDpyU5CjgDWFNVi4A1bZ62bClwNHAicHYSb6CTpDk0WChU1Y1V9YX2+vvAV4FDgSXAytZtJXBSe70EOK+qbm8js64Hjh2qPknSlubknEKShcCjgc8BB1fVjdAFB3BQ63YocP3Iahta28xtnZpkbZK1mzb5IDhJ2pG2NiDeDpFkX+BDwOlVdWuSWbuOaastGqrOAc4BWLx48RbLZ/PY17x30q66Fy57i4/akHZlg+4pJNmbLhDOraoPt+abkhzSlh8CbGztG4DDR1Y/DLhhyPokSXc35NVHAd4NfLWq3jqyaDWwvL1eDlww0r40yT5JjgAWAZcOVZ8kaUtDHj46DngxcEWSy1vbHwFnAauSnAJcB5wMUFVXJlkFXEV35dJpVXXngPVJkmYYLBSq6rOMP08AcPws66wAVgxVkyRp67yjWZLUMxQkST1DQZLUMxQkST1DQZLUMxQkST1DQZLUMxQkST1DQZLUMxQkST1DQZLUMxQkST1DQZLUMxQkST1DQZLUMxQkST1DQZLUMxQkST1DQZLUMxQkST1DQZLUGywUkvxNko1JvjLSdkCSC5Nc06b7jyw7M8n6JOuSnDBUXZKk2Q25p/Ae4MQZbWcAa6pqEbCmzZPkKGApcHRb5+wkew5YmyRpjMFCoao+DXx3RvMSYGV7vRI4aaT9vKq6vaquBdYDxw5VmyRpvLk+p3BwVd0I0KYHtfZDgetH+m1obVtIcmqStUnWbtq0adBiJWl3s7OcaM6YthrXsarOqarFVbV4wYIFA5clSbuXuQ6Fm5IcAtCmG1v7BuDwkX6HATfMcW2StNub61BYDSxvr5cDF4y0L02yT5IjgEXApXNcmyTt9vYaasNJ3g/8CnBgkg3AnwJnAauSnAJcB5wMUFVXJlkFXAXcAZxWVXcOVZskabzBQqGqls2y6PhZ+q8AVgxVjyRp23aWE82SpJ2AoSBJ6hkKkqSeoSBJ6hkKkqSeoSBJ6hkKkqSeoSBJ6hkKkqSeoSBJ6hkKkqSeoSBJ6hkKkqSeoSBJ6hkKkqSeoSBJ6hkKkqSeoSBJ6hkKkqSeoSBJ6hkKkqTeThcKSU5Msi7J+iRnTLseSdqd7FShkGRP4H8DzwCOApYlOWq6VUnS7mOnCgXgWGB9VX2jqn4MnAcsmXJNkrTbSFVNu4ZekucDJ1bVf2vzLwZ+sapeNtLnVODUNnsksG7OC507BwLfmXYR2m5+f7uu+f7dPayqFoxbsNdcV7INGdN2t9SqqnOAc+amnOlKsraqFk+7Dm0fv79d1+783e1sh482AIePzB8G3DClWiRpt7OzhcLngUVJjkhyH2ApsHrKNUnSbmOnOnxUVXckeRnwj8CewN9U1ZVTLmuadovDZPOY39+ua7f97naqE82SpOna2Q4fSZKmyFCQJPUMhTmQ5HeS/MY96P8rSW5J8sUkVyf5s5FlL0lyV5JfGGn7SpKFI/OPTlJJTthhH2I3k+Q/tnM9v7tdRJJnbx5KJ8nrk/xbksuTXJVk2Ui/97Rl+7T5A5N8c8a2XpXkR0keOKcfYgCGwhyoqndW1XtntifZ2on+z1TVo4FHA89KctzIsg3A67ay7jLgs22qued3twuoqtVVddZI059X1TF0oyj8dZK9R5bdCfzmVja3jO7qyefs8ELnmKEwgCS/keTLSb6U5O/aXyGvbssuSvKmJBcDr0zyuCT/3PpemmS/0W1V1Q+By4FDR5o/Chyd5Mgx7x3g+cBLgKcnue8wn3L30P7yvyjJB9tf/ue2f2P87nZeSRa27+tdbW/s3CRPTXJJkmuSHNv23P5q5rpVdQ1wG7D/SPNfAK8a94dckkcA+wL/nXkQ5obCDpbkaLq/BJ9SVY8CXjmm24Oq6knA24EPAK9sfZ8K/HDG9vYHFgGfHmm+C/ifwB+N2fZxwLVV9XXgIuBX79UHEnR/8Z9ON0jjw4Hj2n00fnc7t58D3gb8AvBI4L8Cvwy8mvH//gAkeQxwTVVtHGm+jm4P7sVjVlkGvB/4DHBkkoN2SPVTYijseE8BPlhV3wGoqu+O6fOBNj0SuLGqPt/63lpVd7RlT0jyZeDbwEer6tsztvE+4PFJjpjRvoxuIEHadJf/y2UncGlVbaiqu+j+8l+I392u4NqquqJ9b1cCa6q7Bv8Kuu9wplclWQd8Dnj9mOVvAl7Dlr83lwLntff5MHDyjil/Onaqm9fmiTBjvKYxfjBB389U1bOS/Cfgs0nOr6rLNy9sN/r9L+C1/Rt3Q48/D3h2kte17T84yX5V9f3t+zgCbh95fSfd/xu/u53f6Pd218j8XYz/3ffnVfVnSZ4LvDfJI6rqR5sXVtX6JJcDL9jc1i4aWARc2I4q3gf4Bt0jAHZJ7inseGuAFyR5MECSA7bS92rgIUke1/ruN/OYZVV9DXgzI79ARryH7rDF5tEOnwp8qaoOr6qFVfUw4EPASdv/cTQLv7t5qqo+DKwFlo9ZvILu8NNmy4DXt+9sYVU9BDg0ycPmoNRBGAo7WBuWYwVwcZIvAW/dSt8fAy8E3t76XgiMO7n4TuCJMw83tPX/Eth8DHMZcP6MdT9EdyxVO5Df3bz3RuD3k9ztd2T7//2FkaalbPm9nd/ad0kOcyFJ6rmnIEnqGQqSpJ6hIEnqGQqSpJ6hIEnqGQqal5Lc2Ua8/EqSjyR5UGtf2EYhfflI379K8pKR+b2SfCfJm3dQLQ9K8ns7YlvS0AwFzVc/rKpjqurnge8Cp40s20g3GOF9Zln36cA6upsQswNqeRAweChsY9RdaSKGgnYH/8LdRyrdRHfn+bg7VqG7kextdIOgPX5chyQ/l+Sf2gipX0jyiCT7JlnT5q9IsqR1Pwt4RNtzeUtb/zVJPp9uNN03jGz3j9vonhcmeX9+OrruMUn+tfU/vw22N3PU3dcluTZtyOckD0jyzdx9CGhpq/zLQvNaG1PoeODdMxadBXwsyd/M6H+/1v+36f7CX0YXKjOdC5xVVee3Ia73AH4MPKeqbk1yIPCvSVYDZwA/38bqJ8nT6cbLOZZujKPVSZ5IN1zz8+hGZd2L7s7Zy9r7vRd4eVVdnOSNwJ/SjdwKPx11l3QP7Hkm8P/o7qr9UFX9ZMJ/Lsk9Bc1b92uDl90MHEA3DEWvqq4FLmXLYSSeBXyqqm6jG2biOS1Yeumem3BoVZ3ftvWj1j/Am9oIqf9Et3dy8Jjant5+vkj3i/+RdCHxy8AFVfXDNgjeR9r7PZDuF//Fbf2VwBNHtveBkdfvAl7aXr8U+Nux/zrSLAwFzVc/bH+ZP4xu5MrTxvR5E91gdaP/D5YBT033uMXLgAcDT56x3mznGX6dboC7x7b3vonx4yEFeHM753FMVf1cVb17K9vdls2j7lJVlwALkzwJ2LOqvrKd29RuylDQvFZVtwCvAF4989h6VV0NXEW3d0CSB9D9tf7QzaNe0oXJshnr3QpsSHJSW2+fJPcHHghsrKqfJHkyXSABfB8YfSrbPwK/mWTftv6h7cEsnwV+Lcl927JnjnyGf0/yhLb+i4GLmd176R764l6C7jFDQfNeVX0R+BLjR65cARzWXj8X+GRVjY7DfwHdMw72mbHei4FXtENF/wz8LN15hsVJ1tLtNVzd3v9m4JJ2eexbquoTdA/a+ZckVwAfBPZrD+xZ3WrdPHzzLe39lgNvae93DN0onrM5l+5Rku/fSh9pLEdJlXYiSfatqv9oex6fBk6tqi9sa70Z23g+sKSqxj06Utoqrz6Sdi7nJDmK7lzEyu0IhLcDz8DnO2s7uacgSep5TkGS1DMUJEk9Q0GS1DMUJEk9Q0GS1Pv/Khqi63KhcawAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "disease_and_rna_grouped = disease_and_rna.groupby(['rna_category']).nunique()\n", "disease_and_rna_grouped = disease_and_rna_grouped.reset_index()\n", "ax = sns.barplot(x=disease_and_rna_grouped['rna_category'], y=disease_and_rna_grouped['disease_id'])\n", "ax.set(xlabel='RNA category', ylabel='Disases counts')\n", "#ax.set(title='Number of different diseases per RNA category')#different diseases" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Visualization of the logaritmic distribution of the number of ncRNA-disease associations per ncRNA" ] }, { "cell_type": "code", "execution_count": 328, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[Text(0.5, 0, 'ncRNA'), Text(0, 0.5, 'log (counts of unique diseases)')]" ] }, "execution_count": 328, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "disease_mirna_grouped_sorted_1 = disease_mirna_grouped_sorted.reset_index()\n", "disease_mirna_grouped_sorted_1['ncRNA'] = 'miRNA'\n", "disease_lncrna_grouped_sorted_1 = disease_lncrna_grouped_sorted.reset_index()\n", "disease_lncrna_grouped_sorted_1['ncRNA'] = 'lncRNA'\n", "disease_circrna_grouped_sorted_1 = disease_circrna_grouped_sorted.reset_index()\n", "disease_circrna_grouped_sorted_1['ncRNA'] = 'circRNA'\n", "df_to_plot = pd.concat([disease_mirna_grouped_sorted_1, disease_lncrna_grouped_sorted_1, disease_circrna_grouped_sorted_1])\n", "df_to_plot\n", "fig, ax = plot.subplots(figsize = (9, 5)) \n", "#plot.xlim(0, 200)\n", "ax.set_yscale(\"log\")\n", "ax = sns.boxplot(y=df_to_plot['counts of unique diseases'], x=df_to_plot['ncRNA'], hue = df_to_plot['ncRNA'])\n", "ax.set(xlabel='ncRNA', ylabel='log (counts of unique diseases)')\n", "#ax.set(title='Logarithmic distribution of the number of ncRNA-disease associations per ncRNA')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Study of the relationships between the RNA features and DISNET features" ] }, { "cell_type": "code", "execution_count": 335, "metadata": {}, "outputs": [], "source": [ "import mysql.connector\n", "import json\n", "conn_param_file = 'C:/Users/end user/OneDrive/Desktop/UPM Master/CTB TFM/Datasets/DISNET_CONNECTION_correct.json'\n", "# Setting the connection to the database\n", "\n", "# The connection configuration is stored in a JSON file\n", "with open(conn_param_file, 'r') as f:\n", " config = json.load(f) # The JSON file is translated to a pyhton dictionary\n", "\n", "# Stablishing the connection with the parameters in the dictionary\n", "cnx = mysql.connector.connect(**config)" ] }, { "cell_type": "code", "execution_count": 336, "metadata": {}, "outputs": [], "source": [ "# config['user']\n", "# connection = create_engine_conn(None)" ] }, { "cell_type": "code", "execution_count": 337, "metadata": {}, "outputs": [], "source": [ "%reload_ext sql" ] }, { "cell_type": "code", "execution_count": 338, "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", "
class_nameclass_range
0Certain conditions originating in the perinata...P00-P96
1Certain infectious and parasitic diseasesA00-B99
2Codes for special purposesU00-U85
3Congenital malformations, deformations and chr...Q00-Q99
4Diseases of the blood and blood-forming organs...D50-D89
5Diseases of the circulatory systemI00-I99
6Diseases of the digestive systemK00-K93
7Diseases of the ear and mastoid processH60-H95
8Diseases of the eye and adnexaH00-H59
9Diseases of the genitourinary systemN00-N99
10Diseases of the musculoskeletal system and con...M00-M99
11Diseases of the nervous systemG00-G99
12Diseases of the respiratory systemJ00-J99
13Diseases of the skin and subcutaneous tissueL00-L99
14Endocrine, nutritional and metabolic diseasesE00-E90
15External causes of morbidity and mortalityV01-Y98
16Factors influencing health status and contact ...Z00-Z99
17Injury, poisoning and certain other consequenc...S00-T98
18Mental and behavioural disordersF00-F99
19NeoplasmsC00-D48
20Pregnancy, childbirth and the puerperiumO00-O099
21Symptoms, signs and abnormal clinical and labo...R00-R99
\n", "
" ], "text/plain": [ " class_name class_range\n", "0 Certain conditions originating in the perinata... P00-P96\n", "1 Certain infectious and parasitic diseases A00-B99\n", "2 Codes for special purposes U00-U85\n", "3 Congenital malformations, deformations and chr... Q00-Q99\n", "4 Diseases of the blood and blood-forming organs... D50-D89\n", "5 Diseases of the circulatory system I00-I99\n", "6 Diseases of the digestive system K00-K93\n", "7 Diseases of the ear and mastoid process H60-H95\n", "8 Diseases of the eye and adnexa H00-H59\n", "9 Diseases of the genitourinary system N00-N99\n", "10 Diseases of the musculoskeletal system and con... M00-M99\n", "11 Diseases of the nervous system G00-G99\n", "12 Diseases of the respiratory system J00-J99\n", "13 Diseases of the skin and subcutaneous tissue L00-L99\n", "14 Endocrine, nutritional and metabolic diseases E00-E90\n", "15 External causes of morbidity and mortality V01-Y98\n", "16 Factors influencing health status and contact ... Z00-Z99\n", "17 Injury, poisoning and certain other consequenc... S00-T98\n", "18 Mental and behavioural disorders F00-F99\n", "19 Neoplasms C00-D48\n", "20 Pregnancy, childbirth and the puerperium O00-O099\n", "21 Symptoms, signs and abnormal clinical and labo... R00-R99" ] }, "execution_count": 338, "metadata": {}, "output_type": "execute_result" } ], "source": [ "query_tmp_icd = \"\"\"\n", " SELECT*\n", " FROM\n", " disnet_biolayer.tmp_icd \n", "\n", "\n", " \"\"\"\n", "\n", "query_tmp_icd = pd.read_sql_query(query_tmp_icd, con = cnx)\n", "query_tmp_icd" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The following query returns the ICD-10 classification names that correspond to each CUI in DISNET" ] }, { "cell_type": "code", "execution_count": 339, "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", "
disease_idclass_nameclass_range
0C0008354Certain infectious and parasitic diseasesA00-B99
1C0178238Certain infectious and parasitic diseasesA00-B99
2C0041466Certain infectious and parasitic diseasesA00-B99
3C0030528Certain infectious and parasitic diseasesA00-B99
4C0152491Certain infectious and parasitic diseasesA00-B99
............
3613C0013182Injury, poisoning and certain other consequenc...S00-T98
3614C0041755Injury, poisoning and certain other consequenc...S00-T98
3615C0085639External causes of morbidity and mortalityV01-Y98
3616C0019699Factors influencing health status and contact ...Z00-Z99
3617C0037316Factors influencing health status and contact ...Z00-Z99
\n", "

3618 rows × 3 columns

\n", "
" ], "text/plain": [ " disease_id class_name class_range\n", "0 C0008354 Certain infectious and parasitic diseases A00-B99\n", "1 C0178238 Certain infectious and parasitic diseases A00-B99\n", "2 C0041466 Certain infectious and parasitic diseases A00-B99\n", "3 C0030528 Certain infectious and parasitic diseases A00-B99\n", "4 C0152491 Certain infectious and parasitic diseases A00-B99\n", "... ... ... ...\n", "3613 C0013182 Injury, poisoning and certain other consequenc... S00-T98\n", "3614 C0041755 Injury, poisoning and certain other consequenc... S00-T98\n", "3615 C0085639 External causes of morbidity and mortality V01-Y98\n", "3616 C0019699 Factors influencing health status and contact ... Z00-Z99\n", "3617 C0037316 Factors influencing health status and contact ... Z00-Z99\n", "\n", "[3618 rows x 3 columns]" ] }, "execution_count": 339, "metadata": {}, "output_type": "execute_result" } ], "source": [ "query_icd = \"\"\"\n", " SELECT DISTINCT\n", " d.disease_id, i.class_name, i.class_range\n", " FROM\n", " disnet_biolayer.disease d\n", " INNER JOIN\n", " disnet_biolayer.has_code hc ON d.disease_id = hc.disease_id\n", " LEFT JOIN\n", " disnet_biolayer.tmp_icd i ON 1 = 1\n", " WHERE\n", " hc.vocabulary = 'ICD10CM'\n", " AND SUBSTR(i.class_range, 1, 3) <= SUBSTR(hc.code_id, 1, 3)\n", " AND SUBSTR(i.class_range, 5, 3) >= SUBSTR(hc.code_id, 1, 3)\n", "\n", " \"\"\"\n", "\n", "query_icd = pd.read_sql_query(query_icd, con = cnx)\n", "query_icd" ] }, { "cell_type": "code", "execution_count": 340, "metadata": { "scrolled": true }, "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", "
disease_idgene_idsource_idscoresio_id
0C00007317210.10SIO_001121
1C000073167210.10SIO_001121
2C0000731128010.10SIO_001121
3C0000731148210.10SIO_001121
4C0000731181110.10SIO_001121
..................
358204C4540535277810.30SIO_001122
358205C4540536277810.30SIO_001122
358206C4540602277810.30SIO_001122
358207C4543926306010.03SIO_001121
358208C4545381515610.30SIO_001348
\n", "

358209 rows × 5 columns

\n", "
" ], "text/plain": [ " disease_id gene_id source_id score sio_id\n", "0 C0000731 72 1 0.10 SIO_001121\n", "1 C0000731 672 1 0.10 SIO_001121\n", "2 C0000731 1280 1 0.10 SIO_001121\n", "3 C0000731 1482 1 0.10 SIO_001121\n", "4 C0000731 1811 1 0.10 SIO_001121\n", "... ... ... ... ... ...\n", "358204 C4540535 2778 1 0.30 SIO_001122\n", "358205 C4540536 2778 1 0.30 SIO_001122\n", "358206 C4540602 2778 1 0.30 SIO_001122\n", "358207 C4543926 3060 1 0.03 SIO_001121\n", "358208 C4545381 5156 1 0.30 SIO_001348\n", "\n", "[358209 rows x 5 columns]" ] }, "execution_count": 340, "metadata": {}, "output_type": "execute_result" } ], "source": [ "query_disease_gene = \"\"\"\n", " SELECT*\n", " FROM\n", " disnet_biolayer.disease_gene\n", " \"\"\"\n", "\n", "query_disease_gene = pd.read_sql_query(query_disease_gene, con = cnx)\n", "query_disease_gene" ] }, { "cell_type": "code", "execution_count": 341, "metadata": {}, "outputs": [], "source": [ "#query_disease_gene.to_excel(\"disease_gene_query.xlsx\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Merging querey_disease_gene and query_icd dataframes and that merged df with a df containing the icd10 short version names**" ] }, { "cell_type": "code", "execution_count": 342, "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", "
disease_idgene_idclass_rangeicd_class_nameclass_name
0C000074425E00-E90Endocrine, nutritional and metabolic diseasesMetabolic
1C000074427E00-E90Endocrine, nutritional and metabolic diseasesMetabolic
2C0000744238E00-E90Endocrine, nutritional and metabolic diseasesMetabolic
3C0000744338E00-E90Endocrine, nutritional and metabolic diseasesMetabolic
4C0000744348E00-E90Endocrine, nutritional and metabolic diseasesMetabolic
..................
118041C16917792707H60-H95Diseases of the ear and mastoid processEar
118042C16917794036H60-H95Diseases of the ear and mastoid processEar
118043C16917795172H60-H95Diseases of the ear and mastoid processEar
118044C16917798772H60-H95Diseases of the ear and mastoid processEar
118045C169177910265H60-H95Diseases of the ear and mastoid processEar
\n", "

118046 rows × 5 columns

\n", "
" ], "text/plain": [ " disease_id gene_id class_range \\\n", "0 C0000744 25 E00-E90 \n", "1 C0000744 27 E00-E90 \n", "2 C0000744 238 E00-E90 \n", "3 C0000744 338 E00-E90 \n", "4 C0000744 348 E00-E90 \n", "... ... ... ... \n", "118041 C1691779 2707 H60-H95 \n", "118042 C1691779 4036 H60-H95 \n", "118043 C1691779 5172 H60-H95 \n", "118044 C1691779 8772 H60-H95 \n", "118045 C1691779 10265 H60-H95 \n", "\n", " icd_class_name class_name \n", "0 Endocrine, nutritional and metabolic diseases Metabolic \n", "1 Endocrine, nutritional and metabolic diseases Metabolic \n", "2 Endocrine, nutritional and metabolic diseases Metabolic \n", "3 Endocrine, nutritional and metabolic diseases Metabolic \n", "4 Endocrine, nutritional and metabolic diseases Metabolic \n", "... ... ... \n", "118041 Diseases of the ear and mastoid process Ear \n", "118042 Diseases of the ear and mastoid process Ear \n", "118043 Diseases of the ear and mastoid process Ear \n", "118044 Diseases of the ear and mastoid process Ear \n", "118045 Diseases of the ear and mastoid process Ear \n", "\n", "[118046 rows x 5 columns]" ] }, "execution_count": 342, "metadata": {}, "output_type": "execute_result" } ], "source": [ "disease_gene_icd= pd.merge(query_disease_gene, query_icd.drop(['class_name'], axis=1), on='disease_id')\n", "disease_gene_icd = disease_gene_icd.drop(['source_id', 'sio_id','score'], axis=1)\n", "icd_10_short = pd.read_csv('icd10_links.csv')\n", "disease_gene_icd= pd.merge(disease_gene_icd, icd_10_short, on='class_range')\n", "disease_gene_icd" ] }, { "cell_type": "code", "execution_count": 343, "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", "
class_namedisease_idnum_feature_diseasecaracteristica
0CirculatoryC000294056genes
1CirculatoryC000296254genes
2CirculatoryC00029631genes
3CirculatoryC000296519genes
4CirculatoryC000348695genes
...............
2796SkinC070216644genes
2797SkinC11125704genes
2798SkinC12608741genes
2799SkinC29368461genes
2800SkinC408321219genes
\n", "

2801 rows × 4 columns

\n", "
" ], "text/plain": [ " class_name disease_id num_feature_disease caracteristica\n", "0 Circulatory C0002940 56 genes\n", "1 Circulatory C0002962 54 genes\n", "2 Circulatory C0002963 1 genes\n", "3 Circulatory C0002965 19 genes\n", "4 Circulatory C0003486 95 genes\n", "... ... ... ... ...\n", "2796 Skin C0702166 44 genes\n", "2797 Skin C1112570 4 genes\n", "2798 Skin C1260874 1 genes\n", "2799 Skin C2936846 1 genes\n", "2800 Skin C4083212 19 genes\n", "\n", "[2801 rows x 4 columns]" ] }, "execution_count": 343, "metadata": {}, "output_type": "execute_result" } ], "source": [ "disease_gene_icd_test = disease_gene_icd[['disease_id', 'class_name', 'gene_id']]\n", "#disease_gene_icd_test['gene_id'] = disease_gene_icd_test['gene_id'].apply(str)\n", "disease_gene_icd_test = disease_gene_icd_test.groupby(['class_name', 'disease_id']).count()#.agg(num_feature_disease=('gene_id', sum))\n", "#disease_gene_icd_test\n", "disease_gene_icd_test = disease_gene_icd_test.reset_index()\n", "disease_gene_icd_test = disease_gene_icd_test.rename(columns={'gene_id': 'num_feature_disease'})\n", "disease_gene_icd_test['caracteristica'] = 'genes'\n", "disease_gene_icd_test\n" ] }, { "cell_type": "code", "execution_count": 344, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "count 118046\n", "unique 17\n", "top Neoplasms\n", "freq 27447\n", "Name: class_name, dtype: object" ] }, "execution_count": 344, "metadata": {}, "output_type": "execute_result" } ], "source": [ "disease_gene_icd['class_name'].describe()" ] }, { "cell_type": "code", "execution_count": 345, "metadata": { "scrolled": true }, "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", "
disease_idgene_idclass_rangeicd_class_name
class_name
Circulatory8345834583458345
Congenital11574115741157411574
Digestive8108810881088108
Ear1770177017701770
Eye5541554155415541
Genitourinary3810381038103810
Immunitary3385338533853385
Infectious3651365136513651
Mental10566105661056610566
Metabolic9825982598259825
Musculoskeletal8066806680668066
Neoplasms27447274472744727447
Nervous9167916791679167
Perinatal497497497497
Pregnancy262262262262
Respiratory2800280028002800
Skin3232323232323232
\n", "
" ], "text/plain": [ " disease_id gene_id class_range icd_class_name\n", "class_name \n", "Circulatory 8345 8345 8345 8345\n", "Congenital 11574 11574 11574 11574\n", "Digestive 8108 8108 8108 8108\n", "Ear 1770 1770 1770 1770\n", "Eye 5541 5541 5541 5541\n", "Genitourinary 3810 3810 3810 3810\n", "Immunitary 3385 3385 3385 3385\n", "Infectious 3651 3651 3651 3651\n", "Mental 10566 10566 10566 10566\n", "Metabolic 9825 9825 9825 9825\n", "Musculoskeletal 8066 8066 8066 8066\n", "Neoplasms 27447 27447 27447 27447\n", "Nervous 9167 9167 9167 9167\n", "Perinatal 497 497 497 497\n", "Pregnancy 262 262 262 262\n", "Respiratory 2800 2800 2800 2800\n", "Skin 3232 3232 3232 3232" ] }, "execution_count": 345, "metadata": {}, "output_type": "execute_result" } ], "source": [ "disease_gene_icd.groupby(['class_name']).count()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Processing ncRNA dataset to merge with disnet disease_gene table content**" ] }, { "cell_type": "code", "execution_count": 346, "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", "
rna_idcausalitytypenamerna_categorydisease_id
0hsa-mir-143nocirculation_biomarker_diagnosis_downColonic NeoplasmsmiRNAC0007102
1hsa-mir-143nocirculation_biomarker_diagnosis_downColonic NeoplasmsmiRNAC0009375
2hsa-mir-145nocirculation_biomarker_diagnosis_downColonic NeoplasmsmiRNAC0007102
3hsa-mir-145nocirculation_biomarker_diagnosis_downColonic NeoplasmsmiRNAC0009375
4hsa-let-7gnocirculation_biomarker_diagnosis_nsColonic NeoplasmsmiRNAC0007102
.....................
587833UCA1nsRegulation [down-regulated]LithiasislncRNAC0023869
587834UphnsLocusRight ventricle hypoplasialncRNAC1848587
587835XISTnsRegulation [up-regulated]collecting duct carcinomalncRNAC0007134
587836XISTnsRegulation [up-regulated]collecting duct carcinomalncRNAC1266044
587837XISTnsRegulation [up-regulated]collecting duct carcinomalncRNAC4049328
\n", "

587838 rows × 6 columns

\n", "
" ], "text/plain": [ " rna_id causality type \\\n", "0 hsa-mir-143 no circulation_biomarker_diagnosis_down \n", "1 hsa-mir-143 no circulation_biomarker_diagnosis_down \n", "2 hsa-mir-145 no circulation_biomarker_diagnosis_down \n", "3 hsa-mir-145 no circulation_biomarker_diagnosis_down \n", "4 hsa-let-7g no circulation_biomarker_diagnosis_ns \n", "... ... ... ... \n", "587833 UCA1 ns Regulation [down-regulated] \n", "587834 Uph ns Locus \n", "587835 XIST ns Regulation [up-regulated] \n", "587836 XIST ns Regulation [up-regulated] \n", "587837 XIST ns Regulation [up-regulated] \n", "\n", " name rna_category disease_id \n", "0 Colonic Neoplasms miRNA C0007102 \n", "1 Colonic Neoplasms miRNA C0009375 \n", "2 Colonic Neoplasms miRNA C0007102 \n", "3 Colonic Neoplasms miRNA C0009375 \n", "4 Colonic Neoplasms miRNA C0007102 \n", "... ... ... ... \n", "587833 Lithiasis lncRNA C0023869 \n", "587834 Right ventricle hypoplasia lncRNA C1848587 \n", "587835 collecting duct carcinoma lncRNA C0007134 \n", "587836 collecting duct carcinoma lncRNA C1266044 \n", "587837 collecting duct carcinoma lncRNA C4049328 \n", "\n", "[587838 rows x 6 columns]" ] }, "execution_count": 346, "metadata": {}, "output_type": "execute_result" } ], "source": [ "hmdd_lncrna_disnet_to_merge = hmdd_lncrna_disnet.drop(['source_id', 'source_name','vocab'], axis=1)\n", "hmdd_lncrna_disnet_to_merge" ] }, { "cell_type": "code", "execution_count": 347, "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", "
rna_idcausalitytypenamerna_categorydisease_id
count587838587838587838587838587838587838
unique1991432336333970
topHOTAIRnsnsstomach cancerlncRNAC0024299
freq93757551454173212793557248114550
\n", "
" ], "text/plain": [ " rna_id causality type name rna_category disease_id\n", "count 587838 587838 587838 587838 587838 587838\n", "unique 19914 3 233 633 3 970\n", "top HOTAIR ns ns stomach cancer lncRNA C0024299\n", "freq 937 575514 541732 127935 572481 14550" ] }, "execution_count": 347, "metadata": {}, "output_type": "execute_result" } ], "source": [ "hmdd_lncrna_disnet_to_merge.describe()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Merging hmdd_lncrna_disnet_to_merge (RNA df) and query_icd (icd terms df) dataframes and that merged df with a df containing the icd10 short version names**" ] }, { "cell_type": "code", "execution_count": 348, "metadata": { "scrolled": true }, "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", "
rna_iddisease_idclass_rangeicd_class_nameclass_name
0hsa-mir-143C0007102C00-D48NeoplasmsNeoplasms
1hsa-mir-145C0007102C00-D48NeoplasmsNeoplasms
2hsa-let-7gC0007102C00-D48NeoplasmsNeoplasms
3hsa-mir-155C0007102C00-D48NeoplasmsNeoplasms
4hsa-mir-145C0007102C00-D48NeoplasmsNeoplasms
..................
232026hsa-mir-182C0018776H60-H95Diseases of the ear and mastoid processEar
232027hsa-mir-183C0018776H60-H95Diseases of the ear and mastoid processEar
232028hsa-mir-96C0018776H60-H95Diseases of the ear and mastoid processEar
232029hsa-mir-183C0018776H60-H95Diseases of the ear and mastoid processEar
232030hsa-mir-146bC0029882H60-H95Diseases of the ear and mastoid processEar
\n", "

232031 rows × 5 columns

\n", "
" ], "text/plain": [ " rna_id disease_id class_range \\\n", "0 hsa-mir-143 C0007102 C00-D48 \n", "1 hsa-mir-145 C0007102 C00-D48 \n", "2 hsa-let-7g C0007102 C00-D48 \n", "3 hsa-mir-155 C0007102 C00-D48 \n", "4 hsa-mir-145 C0007102 C00-D48 \n", "... ... ... ... \n", "232026 hsa-mir-182 C0018776 H60-H95 \n", "232027 hsa-mir-183 C0018776 H60-H95 \n", "232028 hsa-mir-96 C0018776 H60-H95 \n", "232029 hsa-mir-183 C0018776 H60-H95 \n", "232030 hsa-mir-146b C0029882 H60-H95 \n", "\n", " icd_class_name class_name \n", "0 Neoplasms Neoplasms \n", "1 Neoplasms Neoplasms \n", "2 Neoplasms Neoplasms \n", "3 Neoplasms Neoplasms \n", "4 Neoplasms Neoplasms \n", "... ... ... \n", "232026 Diseases of the ear and mastoid process Ear \n", "232027 Diseases of the ear and mastoid process Ear \n", "232028 Diseases of the ear and mastoid process Ear \n", "232029 Diseases of the ear and mastoid process Ear \n", "232030 Diseases of the ear and mastoid process Ear \n", "\n", "[232031 rows x 5 columns]" ] }, "execution_count": 348, "metadata": {}, "output_type": "execute_result" } ], "source": [ "hmdd_lncrna_disnet_to_merge_1 = hmdd_lncrna_disnet_to_merge[['rna_id', 'disease_id']]\n", "icd_rna= pd.merge(hmdd_lncrna_disnet_to_merge_1, query_icd.drop(['class_name'], axis=1), on='disease_id')\n", "icd_rna\n", "# disease_gene_icd = disease_gene_icd.drop(['source_id', 'sio_id','score'], axis=1)\n", "icd_10_short = pd.read_csv('icd10_links.csv')\n", "icd_rna= pd.merge(icd_rna, icd_10_short, on='class_range')\n", "icd_rna" ] }, { "cell_type": "code", "execution_count": 349, "metadata": { "scrolled": true }, "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", "
class_namedisease_idnum_feature_diseasecaracteristica
0CirculatoryC00029401ncRNA
1CirculatoryC0003486129ncRNA
2CirculatoryC000381120ncRNA
3CirculatoryC0003850135ncRNA
4CirculatoryC0004153301ncRNA
...............
449SkinC00429003ncRNA
450SkinC016281015ncRNA
451SkinC01628202ncRNA
452SkinC01628361ncRNA
453SkinC070216610ncRNA
\n", "

454 rows × 4 columns

\n", "
" ], "text/plain": [ " class_name disease_id num_feature_disease caracteristica\n", "0 Circulatory C0002940 1 ncRNA\n", "1 Circulatory C0003486 129 ncRNA\n", "2 Circulatory C0003811 20 ncRNA\n", "3 Circulatory C0003850 135 ncRNA\n", "4 Circulatory C0004153 301 ncRNA\n", ".. ... ... ... ...\n", "449 Skin C0042900 3 ncRNA\n", "450 Skin C0162810 15 ncRNA\n", "451 Skin C0162820 2 ncRNA\n", "452 Skin C0162836 1 ncRNA\n", "453 Skin C0702166 10 ncRNA\n", "\n", "[454 rows x 4 columns]" ] }, "execution_count": 349, "metadata": {}, "output_type": "execute_result" } ], "source": [ "icd_rna = icd_rna[['disease_id', 'class_name', 'rna_id']]\n", "#disease_gene_icd_test['gene_id'] = disease_gene_icd_test['gene_id'].apply(str)\n", "icd_rna_1 = icd_rna.groupby(['class_name', 'disease_id']).count()#agg(num_feature_disease=('rna_id', sum))\n", "icd_rna_1 = icd_rna_1.reset_index()\n", "# icd_rna_1 = icd_rna.reset_index()\n", "icd_rna_1 = icd_rna_1.rename(columns={'rna_id': 'num_feature_disease'})\n", "icd_rna_1['caracteristica'] = 'ncRNA'\n", "icd_rna_1" ] }, { "cell_type": "code", "execution_count": 350, "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", "
num_feature_disease
class_name
Circulatory5310
Congenital4083
Digestive1146
Ear23
Eye293
Genitourinary964
Immunitary436
Infectious5120
Mental4159
Metabolic2453
Musculoskeletal749
Neoplasms193696
Nervous12389
Perinatal149
Pregnancy371
Respiratory354
Skin336
\n", "
" ], "text/plain": [ " num_feature_disease\n", "class_name \n", "Circulatory 5310\n", "Congenital 4083\n", "Digestive 1146\n", "Ear 23\n", "Eye 293\n", "Genitourinary 964\n", "Immunitary 436\n", "Infectious 5120\n", "Mental 4159\n", "Metabolic 2453\n", "Musculoskeletal 749\n", "Neoplasms 193696\n", "Nervous 12389\n", "Perinatal 149\n", "Pregnancy 371\n", "Respiratory 354\n", "Skin 336" ] }, "execution_count": 350, "metadata": {}, "output_type": "execute_result" } ], "source": [ "icd_rna_1.groupby(['class_name']).sum()" ] }, { "cell_type": "code", "execution_count": 351, "metadata": {}, "outputs": [], "source": [ "#icd_rna_1.to_excel('icd_rna_1.xlsx')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Concat function on disease_gene_icd_test and icd_rna dataframes**" ] }, { "cell_type": "code", "execution_count": 352, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[Text(0.5, 1.0, 'Gene and ncRNA distribution per ICD10 disease group')]" ] }, "execution_count": 352, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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wwauueYa3vjGN7J69WqGh4d5zWtew4UXXsiFF144ZXbsc5/7HOeddx7nn38+H/3oR7nlllvYvn07V155JcuXL2dkZIQdO3bwute9josuuog3velNPPHEEwBccsklXH/99bzuda9j48aNbNiwgc9//vMAbNq0ibPPPptly5bxjne8g+HhYb785S/zz//8zyxfvpyf/exnU9I7jkNbWxvnn38+F154If/7v//L0aNH+cu//EsuvPBCzjvvPG699daS9ndgB3PAiKouV9VzgUPA3xeycFV9VfI2EQllyJbTYE5cOR+D+vr6jK/SmO3C4XDaPgqHw/HZuJaWlrRpm5qaaG9vR0Rob2+PvzYg1fZCyrWOpqYmOjo64p87Ojoq5jUHfm0pRR8al/V15aq2Y/Pwww/zqU99ijvvvJMHHniAjRs3cvHFF/OrX/2K+++/n3e84x187nOfi6ffsWMHt956KzfffDOLFi1i69at3HfffXz729+mq6sLcB/m+sEPfsCvf/1rHnjgAa677jouv/xyWltb+eY3v8nOnTupra1l3bp13HLLLezYsYOrr76aj33sY/F6nnnmGe6++24+/OEPT4n3s5/9LPfffz8PPvggX/7yl2lpaeH9738/69evZ+fOnbzmNa+Zkv7KK6/k7//+73nggQf4xS9+wQtf+ELmzp3L97//fe677z5+8pOf8OEPf3jKLS/FVi2XWX8JLAMQkZcC/wo8HzgOvE9VHxGRvwFuACaAZ1X1tSJyFXAZUA+8BLhZVW/0yjmqqvNE5BIv3xPAcuBsEfkB8GJgLrBRVW8Skc8CDSKyE3hYVa8UkQ8BV3sxfkVVvyQiLcAg8BPglcAPROQUVV3v1fs+4CxV/VCqxi5atIh169ZV/EMI5ZTNcmM9PT10d3ennZWL6ezsZHh4eNpfzKm2F1KudXR2drJ3715EpOL+wvdrSyn60LisrytXNR2bO++8k8svv5znPe95ACxcuJBdu3ZxxRVX8MQTTzA2Njbl1RxvfvOb4w+sjY+P84EPfICdO3cSCoX43e9+B7j3Fb7nPe+hsbExXmay3/72tzz00EPxy9QTExO88IUvjO+/4oorfONdtmwZV155JW95y1t4y1vekrZtR44cYf/+/Vx22WWA+964WNzXX389P/3pT6mpqWH//v0cOHCAF7zgBRn7qxACP5jzZsv+EvhP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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "df_to_plot = pd.concat([disease_gene_icd_test, icd_rna_1])\n", "fig, ax = plot.subplots(figsize = (9, 9)) \n", "plot.xlim(0, 400)\n", "ax = sns.boxplot(data=df_to_plot, x='num_feature_disease', y='class_name', hue='caracteristica')\n", "ax.set(xlabel='num_feature_disease', ylabel='class_name')\n", "ax.set(title='Gene and ncRNA distribution per ICD10 disease group')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**DISEASE_VARIANTS_RNAs Boxplot generation**" ] }, { "cell_type": "code", "execution_count": 353, "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", "
disease_idvariant_idsource_idscore
0C0000737rs105751880610.70
1C0000737rs105751888610.70
2C0000744rs14606471410.70
3C0000744rs19942221910.70
4C0000744rs19942222010.80
...............
210493C4540536rs14803359210.70
210494C4540536rs6174969810.70
210495C4540602rs14803359210.70
210496C4540602rs6174969810.70
210497C4543822rs104439610.01
\n", "

210498 rows × 4 columns

\n", "
" ], "text/plain": [ " disease_id variant_id source_id score\n", "0 C0000737 rs1057518806 1 0.70\n", "1 C0000737 rs1057518886 1 0.70\n", "2 C0000744 rs146064714 1 0.70\n", "3 C0000744 rs199422219 1 0.70\n", "4 C0000744 rs199422220 1 0.80\n", "... ... ... ... ...\n", "210493 C4540536 rs148033592 1 0.70\n", "210494 C4540536 rs61749698 1 0.70\n", "210495 C4540602 rs148033592 1 0.70\n", "210496 C4540602 rs61749698 1 0.70\n", "210497 C4543822 rs1044396 1 0.01\n", "\n", "[210498 rows x 4 columns]" ] }, "execution_count": 353, "metadata": {}, "output_type": "execute_result" } ], "source": [ "query_variants = \"\"\"\n", " SELECT*\n", " FROM\n", " disnet_biolayer.disease_variant\n", " \"\"\"\n", "\n", "query_variants = pd.read_sql_query(query_variants, con = cnx)\n", "query_variants" ] }, { "cell_type": "code", "execution_count": 354, "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", "
disease_idclass_nameclass_range
0C0008354Certain infectious and parasitic diseasesA00-B99
1C0178238Certain infectious and parasitic diseasesA00-B99
2C0041466Certain infectious and parasitic diseasesA00-B99
3C0030528Certain infectious and parasitic diseasesA00-B99
4C0152491Certain infectious and parasitic diseasesA00-B99
............
3613C0013182Injury, poisoning and certain other consequenc...S00-T98
3614C0041755Injury, poisoning and certain other consequenc...S00-T98
3615C0085639External causes of morbidity and mortalityV01-Y98
3616C0019699Factors influencing health status and contact ...Z00-Z99
3617C0037316Factors influencing health status and contact ...Z00-Z99
\n", "

3618 rows × 3 columns

\n", "
" ], "text/plain": [ " disease_id class_name class_range\n", "0 C0008354 Certain infectious and parasitic diseases A00-B99\n", "1 C0178238 Certain infectious and parasitic diseases A00-B99\n", "2 C0041466 Certain infectious and parasitic diseases A00-B99\n", "3 C0030528 Certain infectious and parasitic diseases A00-B99\n", "4 C0152491 Certain infectious and parasitic diseases A00-B99\n", "... ... ... ...\n", "3613 C0013182 Injury, poisoning and certain other consequenc... S00-T98\n", "3614 C0041755 Injury, poisoning and certain other consequenc... S00-T98\n", "3615 C0085639 External causes of morbidity and mortality V01-Y98\n", "3616 C0019699 Factors influencing health status and contact ... Z00-Z99\n", "3617 C0037316 Factors influencing health status and contact ... Z00-Z99\n", "\n", "[3618 rows x 3 columns]" ] }, "execution_count": 354, "metadata": {}, "output_type": "execute_result" } ], "source": [ "query_icd" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here we generate a df merging query_variants and query_icd dataframes to associate the ICD10 classification disease groups to the CUIs of the diseases associated to variants." ] }, { "cell_type": "code", "execution_count": 355, "metadata": { "scrolled": true }, "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", "
class_namedisease_idnum_feature_diseasecaracteristica
0CirculatoryC00029407variants
1CirculatoryC000296264variants
2CirculatoryC00029632variants
3CirculatoryC00029654variants
4CirculatoryC00034869variants
...............
1623SkinC04063171variants
1624SkinC040997417variants
1625SkinC04774741variants
1626SkinC07021668variants
1627SkinC40832122variants
\n", "

1628 rows × 4 columns

\n", "
" ], "text/plain": [ " class_name disease_id num_feature_disease caracteristica\n", "0 Circulatory C0002940 7 variants\n", "1 Circulatory C0002962 64 variants\n", "2 Circulatory C0002963 2 variants\n", "3 Circulatory C0002965 4 variants\n", "4 Circulatory C0003486 9 variants\n", "... ... ... ... ...\n", "1623 Skin C0406317 1 variants\n", "1624 Skin C0409974 17 variants\n", "1625 Skin C0477474 1 variants\n", "1626 Skin C0702166 8 variants\n", "1627 Skin C4083212 2 variants\n", "\n", "[1628 rows x 4 columns]" ] }, "execution_count": 355, "metadata": {}, "output_type": "execute_result" } ], "source": [ "disease_variant_icd= pd.merge(query_variants, query_icd.drop(['class_name'], axis=1), on='disease_id')# query_disease_variant es un df de la tabla #disease_variant y query_icd un df de la consulta icd\n", "disease_variant_icd = disease_variant_icd.drop(['source_id','score'], axis=1)\n", "icd_10_short = pd.read_csv('icd10_links.csv')\n", "disease_variant_icd= pd.merge(disease_variant_icd, icd_10_short, on='class_range')\n", "disease_variant_icd\n", "\n", "disease_variant_icd_test = disease_variant_icd[['disease_id', 'class_name', 'variant_id']]\n", "disease_variant_icd_test = disease_variant_icd_test.groupby(['class_name', 'disease_id']).count()\n", "disease_variant_icd_test = disease_variant_icd_test.reset_index()\n", "disease_variant_icd_test = disease_variant_icd_test.rename(columns={'variant_id': 'num_feature_disease'})\n", "disease_variant_icd_test['caracteristica'] = 'variants'\n", "disease_variant_icd_test" ] }, { "cell_type": "code", "execution_count": 357, "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", "
disease_idpathway_id
0C0000731WP117
1C0000731WP138
2C0000731WP15
3C0000731WP1533
4C0000731WP1544
.........
400696C4540602WP734
400697C4545381WP306
400698C4545381WP322
400699C4545381WP3611
400700C4545381WP51
\n", "

400701 rows × 2 columns

\n", "
" ], "text/plain": [ " disease_id pathway_id\n", "0 C0000731 WP117\n", "1 C0000731 WP138\n", "2 C0000731 WP15\n", "3 C0000731 WP1533\n", "4 C0000731 WP1544\n", "... ... ...\n", "400696 C4540602 WP734\n", "400697 C4545381 WP306\n", "400698 C4545381 WP322\n", "400699 C4545381 WP3611\n", "400700 C4545381 WP51\n", "\n", "[400701 rows x 2 columns]" ] }, "execution_count": 357, "metadata": {}, "output_type": "execute_result" } ], "source": [ "query_pathways = \"\"\"\n", " SELECT DISTINCT\n", " dg.disease_id,\n", " gp.pathway_id\n", " FROM\n", " disnet_biolayer.disease_gene dg\n", " INNER JOIN\n", " disnet_biolayer.gene g ON dg.gene_id = g.gene_id\n", " INNER JOIN\n", " disnet_biolayer.gene_pathway gp ON g.gene_id = gp.gene_id\n", " \"\"\"\n", "\n", "query_pathways = pd.read_sql_query(query_pathways, con = cnx)\n", "query_pathways" ] }, { "cell_type": "code", "execution_count": 359, "metadata": { "scrolled": true }, "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", "
class_namedisease_idnum_feature_diseasecaracteristica
0CirculatoryC0002940120pathway
1CirculatoryC000296296pathway
2CirculatoryC00029638pathway
3CirculatoryC000296579pathway
4CirculatoryC0003486139pathway
...............
2423SkinC05495679pathway
2424SkinC06003361pathway
2425SkinC070216681pathway
2426SkinC11125704pathway
2427SkinC408321231pathway
\n", "

2428 rows × 4 columns

\n", "
" ], "text/plain": [ " class_name disease_id num_feature_disease caracteristica\n", "0 Circulatory C0002940 120 pathway\n", "1 Circulatory C0002962 96 pathway\n", "2 Circulatory C0002963 8 pathway\n", "3 Circulatory C0002965 79 pathway\n", "4 Circulatory C0003486 139 pathway\n", "... ... ... ... ...\n", "2423 Skin C0549567 9 pathway\n", "2424 Skin C0600336 1 pathway\n", "2425 Skin C0702166 81 pathway\n", "2426 Skin C1112570 4 pathway\n", "2427 Skin C4083212 31 pathway\n", "\n", "[2428 rows x 4 columns]" ] }, "execution_count": 359, "metadata": {}, "output_type": "execute_result" } ], "source": [ "disease_pathways_icd= pd.merge(query_pathways, query_icd.drop(['class_name'], axis=1), on='disease_id')# query_disease_pathways es un df de la tabla #disease_pathways y query_icd un df de la consulta icd\n", "#disease_pathways_icd #= disease_pathways_icd.drop(['source_id','score'], axis=1)\n", "icd_10_short = pd.read_csv('icd10_links.csv')\n", "disease_pathways_icd= pd.merge(disease_pathways_icd, icd_10_short, on='class_range')\n", "disease_pathways_icd\n", "\n", "disease_pathways_icd_test = disease_pathways_icd[['disease_id', 'class_name', 'pathway_id']]\n", "disease_pathways_icd_test = disease_pathways_icd_test.groupby(['class_name', 'disease_id']).count()\n", "disease_pathways_icd_test = disease_pathways_icd_test.reset_index()\n", "disease_pathways_icd_test = disease_pathways_icd_test.rename(columns={'pathway_id': 'num_feature_disease'})\n", "disease_pathways_icd_test['caracteristica'] = 'pathway'\n", "disease_pathways_icd_test" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#disease_pathways_icd_test.to_excel('pathway.xlsx')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**ncRNA, genes, variants and pathways distribution per ICD10 disease group boxplots' chart**" ] }, { "cell_type": "code", "execution_count": 380, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[Text(0.5, 1.0, 'ncRNA, genes, variants and pathways distribution per ICD10 disease group')]" ] }, "execution_count": 380, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "df_to_plot = pd.concat([icd_rna_1, disease_gene_icd_test, disease_variant_icd_test, disease_pathways_icd_test])\n", "df_to_plot= df_to_plot.rename(columns={'caracteristica': 'feature'})\n", "fig, ax = plot.subplots(figsize = (11, 13)) \n", "#plot.xlim(0, 400)\n", "ax.set_xscale(\"log\")\n", "ax = sns.boxplot(data=df_to_plot, x='num_feature_disease', y='class_name', hue='feature', showfliers = False)\n", "ax.set(xlabel='log (number of features)', ylabel='ICD-10 class name')\n", "ax.set(title='ncRNA, genes, variants and pathways distribution per ICD10 disease group')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The distribution of ncRNAs per diseases is significantly different than the other feature-disease distributions. The least homogeneous ncRNA distribution per diseases of all is that of neoplasms where a disease can be in an association with less than 100 ncRNAs or more than 10000 ncRNAs.\n", "\n", "ncRNA-gene-variant-pathway:\n", "Neoplasms: 50% of the diseases have less than 100 ncRNA-disease associations and its third quartile between 100 and 1000. However there are outlier diseases that have about 1000 and 10000 disease associations. About gene-neoplasm associations, 50% of the total neoplasms have less than 50 genes-disease associations and the 100% of the neoplasms has less than 100 genes associated. However there are outlier diseases that have between 1000 and 10000 genes associated." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Genes vs miRNAs vs lncRNAs vs circRNAs Boxplot generation**" ] }, { "cell_type": "code", "execution_count": 362, "metadata": { "scrolled": true }, "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", "
rna_idcausalitytypenamerna_categorydisease_id
0hsa-mir-143nocirculation_biomarker_diagnosis_downColonic NeoplasmsmiRNAC0007102
1hsa-mir-143nocirculation_biomarker_diagnosis_downColonic NeoplasmsmiRNAC0009375
2hsa-mir-145nocirculation_biomarker_diagnosis_downColonic NeoplasmsmiRNAC0007102
3hsa-mir-145nocirculation_biomarker_diagnosis_downColonic NeoplasmsmiRNAC0009375
4hsa-let-7gnocirculation_biomarker_diagnosis_nsColonic NeoplasmsmiRNAC0007102
.....................
587833UCA1nsRegulation [down-regulated]LithiasislncRNAC0023869
587834UphnsLocusRight ventricle hypoplasialncRNAC1848587
587835XISTnsRegulation [up-regulated]collecting duct carcinomalncRNAC0007134
587836XISTnsRegulation [up-regulated]collecting duct carcinomalncRNAC1266044
587837XISTnsRegulation [up-regulated]collecting duct carcinomalncRNAC4049328
\n", "

587838 rows × 6 columns

\n", "
" ], "text/plain": [ " rna_id causality type \\\n", "0 hsa-mir-143 no circulation_biomarker_diagnosis_down \n", "1 hsa-mir-143 no circulation_biomarker_diagnosis_down \n", "2 hsa-mir-145 no circulation_biomarker_diagnosis_down \n", "3 hsa-mir-145 no circulation_biomarker_diagnosis_down \n", "4 hsa-let-7g no circulation_biomarker_diagnosis_ns \n", "... ... ... ... \n", "587833 UCA1 ns Regulation [down-regulated] \n", "587834 Uph ns Locus \n", "587835 XIST ns Regulation [up-regulated] \n", "587836 XIST ns Regulation [up-regulated] \n", "587837 XIST ns Regulation [up-regulated] \n", "\n", " name rna_category disease_id \n", "0 Colonic Neoplasms miRNA C0007102 \n", "1 Colonic Neoplasms miRNA C0009375 \n", "2 Colonic Neoplasms miRNA C0007102 \n", "3 Colonic Neoplasms miRNA C0009375 \n", "4 Colonic Neoplasms miRNA C0007102 \n", "... ... ... ... \n", "587833 Lithiasis lncRNA C0023869 \n", "587834 Right ventricle hypoplasia lncRNA C1848587 \n", "587835 collecting duct carcinoma lncRNA C0007134 \n", "587836 collecting duct carcinoma lncRNA C1266044 \n", "587837 collecting duct carcinoma lncRNA C4049328 \n", "\n", "[587838 rows x 6 columns]" ] }, "execution_count": 362, "metadata": {}, "output_type": "execute_result" } ], "source": [ "hmdd_lncrna_disnet_to_merge" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Generating dataframes for miRNA, lncRNA and circRNA only based on hmdd_lncrna_disnet_to_merge" ] }, { "cell_type": "code", "execution_count": 363, "metadata": {}, "outputs": [], "source": [ "hmdd_lncrna_disnet_drop = hmdd_lncrna_disnet_to_merge\n", "hmdd_lncrna_disnet_mirna = hmdd_lncrna_disnet_drop[hmdd_lncrna_disnet.rna_category == \"miRNA\"]\n", "hmdd_lncrna_disnet_lncrna = hmdd_lncrna_disnet_drop[hmdd_lncrna_disnet.rna_category == \"lncRNA\"]\n", "hmdd_lncrna_disnet_circrna = hmdd_lncrna_disnet_drop[hmdd_lncrna_disnet.rna_category == \"circRNA\"]" ] }, { "cell_type": "code", "execution_count": 364, "metadata": { "scrolled": true }, "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", "
rna_idcausalitytypenamerna_categorydisease_id
528ZEB1nsExpression [high expression]Colonic NeoplasmslncRNAC0007102
529ZEB1nsExpression [high expression]Colonic NeoplasmslncRNAC0009375
530ZFAS1nsExpression [high expression]Colonic NeoplasmslncRNAC0007102
531ZFAS1nsExpression [high expression]Colonic NeoplasmslncRNAC0009375
2475E2F4nsnsColorectal NeoplasmslncRNAC0009402
.....................
587833UCA1nsRegulation [down-regulated]LithiasislncRNAC0023869
587834UphnsLocusRight ventricle hypoplasialncRNAC1848587
587835XISTnsRegulation [up-regulated]collecting duct carcinomalncRNAC0007134
587836XISTnsRegulation [up-regulated]collecting duct carcinomalncRNAC1266044
587837XISTnsRegulation [up-regulated]collecting duct carcinomalncRNAC4049328
\n", "

572481 rows × 6 columns

\n", "
" ], "text/plain": [ " rna_id causality type \\\n", "528 ZEB1 ns Expression [high expression] \n", "529 ZEB1 ns Expression [high expression] \n", "530 ZFAS1 ns Expression [high expression] \n", "531 ZFAS1 ns Expression [high expression] \n", "2475 E2F4 ns ns \n", "... ... ... ... \n", "587833 UCA1 ns Regulation [down-regulated] \n", "587834 Uph ns Locus \n", "587835 XIST ns Regulation [up-regulated] \n", "587836 XIST ns Regulation [up-regulated] \n", "587837 XIST ns Regulation [up-regulated] \n", "\n", " name rna_category disease_id \n", "528 Colonic Neoplasms lncRNA C0007102 \n", "529 Colonic Neoplasms lncRNA C0009375 \n", "530 Colonic Neoplasms lncRNA C0007102 \n", "531 Colonic Neoplasms lncRNA C0009375 \n", "2475 Colorectal Neoplasms lncRNA C0009402 \n", "... ... ... ... \n", "587833 Lithiasis lncRNA C0023869 \n", "587834 Right ventricle hypoplasia lncRNA C1848587 \n", "587835 collecting duct carcinoma lncRNA C0007134 \n", "587836 collecting duct carcinoma lncRNA C1266044 \n", "587837 collecting duct carcinoma lncRNA C4049328 \n", "\n", "[572481 rows x 6 columns]" ] }, "execution_count": 364, "metadata": {}, "output_type": "execute_result" } ], "source": [ "hmdd_lncrna_disnet_lncrna" ] }, { "cell_type": "code", "execution_count": 365, "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", "
disease_idclass_nameclass_range
0C0008354Certain infectious and parasitic diseasesA00-B99
1C0178238Certain infectious and parasitic diseasesA00-B99
2C0041466Certain infectious and parasitic diseasesA00-B99
3C0030528Certain infectious and parasitic diseasesA00-B99
4C0152491Certain infectious and parasitic diseasesA00-B99
............
3613C0013182Injury, poisoning and certain other consequenc...S00-T98
3614C0041755Injury, poisoning and certain other consequenc...S00-T98
3615C0085639External causes of morbidity and mortalityV01-Y98
3616C0019699Factors influencing health status and contact ...Z00-Z99
3617C0037316Factors influencing health status and contact ...Z00-Z99
\n", "

3618 rows × 3 columns

\n", "
" ], "text/plain": [ " disease_id class_name class_range\n", "0 C0008354 Certain infectious and parasitic diseases A00-B99\n", "1 C0178238 Certain infectious and parasitic diseases A00-B99\n", "2 C0041466 Certain infectious and parasitic diseases A00-B99\n", "3 C0030528 Certain infectious and parasitic diseases A00-B99\n", "4 C0152491 Certain infectious and parasitic diseases A00-B99\n", "... ... ... ...\n", "3613 C0013182 Injury, poisoning and certain other consequenc... S00-T98\n", "3614 C0041755 Injury, poisoning and certain other consequenc... S00-T98\n", "3615 C0085639 External causes of morbidity and mortality V01-Y98\n", "3616 C0019699 Factors influencing health status and contact ... Z00-Z99\n", "3617 C0037316 Factors influencing health status and contact ... Z00-Z99\n", "\n", "[3618 rows x 3 columns]" ] }, "execution_count": 365, "metadata": {}, "output_type": "execute_result" } ], "source": [ "query_icd" ] }, { "cell_type": "code", "execution_count": 366, "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", "
class_namedisease_idnum_feature_diseasecaracteristica
0CirculatoryC000348610miRNA
1CirculatoryC000381120miRNA
2CirculatoryC00071925miRNA
3CirculatoryC0010054125miRNA
4CirculatoryC0018799337miRNA
...............
195SkinC00381652miRNA
196SkinC00429003miRNA
197SkinC016281015miRNA
198SkinC01628202miRNA
199SkinC01628361miRNA
\n", "

200 rows × 4 columns

\n", "
" ], "text/plain": [ " class_name disease_id num_feature_disease caracteristica\n", "0 Circulatory C0003486 10 miRNA\n", "1 Circulatory C0003811 20 miRNA\n", "2 Circulatory C0007192 5 miRNA\n", "3 Circulatory C0010054 125 miRNA\n", "4 Circulatory C0018799 337 miRNA\n", ".. ... ... ... ...\n", "195 Skin C0038165 2 miRNA\n", "196 Skin C0042900 3 miRNA\n", "197 Skin C0162810 15 miRNA\n", "198 Skin C0162820 2 miRNA\n", "199 Skin C0162836 1 miRNA\n", "\n", "[200 rows x 4 columns]" ] }, "execution_count": 366, "metadata": {}, "output_type": "execute_result" } ], "source": [ "icd_mirna= pd.merge(hmdd_lncrna_disnet_mirna, query_icd.drop(['class_name'], axis=1), on='disease_id')\n", "icd_10_short = pd.read_csv('icd10_links.csv')\n", "icd_mirna_1= pd.merge(icd_mirna, icd_10_short, on='class_range')\n", "icd_mirna_1\n", "\n", "icd_mirna_1 = icd_mirna_1[['disease_id', 'class_name', 'rna_id']]\n", "#disease_gene_icd_test['gene_id'] = disease_gene_icd_test['gene_id'].apply(str)\n", "icd_mirna_2 = icd_mirna_1.groupby(['class_name', 'disease_id']).count()#agg(num_feature_disease=('rna_id', sum))\n", "icd_mirna_2 = icd_mirna_2.reset_index()\n", "# icd_rna_1 = icd_rna.reset_index()\n", "icd_mirna_2 = icd_mirna_2.rename(columns={'rna_id': 'num_feature_disease'})\n", "icd_mirna_2['caracteristica'] = 'miRNA'\n", "icd_mirna_2\n" ] }, { "cell_type": "code", "execution_count": 367, "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", "
num_feature_disease
class_name
Circulatory782
Congenital75
Digestive319
Ear23
Eye56
Genitourinary220
Immunitary75
Infectious488
Mental179
Metabolic280
Musculoskeletal303
Neoplasms2809
Nervous171
Perinatal31
Pregnancy20
Respiratory179
Skin192
\n", "
" ], "text/plain": [ " num_feature_disease\n", "class_name \n", "Circulatory 782\n", "Congenital 75\n", "Digestive 319\n", "Ear 23\n", "Eye 56\n", "Genitourinary 220\n", "Immunitary 75\n", "Infectious 488\n", "Mental 179\n", "Metabolic 280\n", "Musculoskeletal 303\n", "Neoplasms 2809\n", "Nervous 171\n", "Perinatal 31\n", "Pregnancy 20\n", "Respiratory 179\n", "Skin 192" ] }, "execution_count": 367, "metadata": {}, "output_type": "execute_result" } ], "source": [ "icd_mirna_2.groupby(['class_name']).sum()" ] }, { "cell_type": "code", "execution_count": 368, "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", "
class_namedisease_idnum_feature_diseasecaracteristica
0CirculatoryC00029401lncRNA
1CirculatoryC0003486118lncRNA
2CirculatoryC0003850131lncRNA
3CirculatoryC0004153269lncRNA
4CirculatoryC0007193121lncRNA
...............
294RespiratoryC12608811lncRNA
295RespiratoryC13190181lncRNA
296RespiratoryC18007061lncRNA
297SkinC00225482lncRNA
298SkinC0033860122lncRNA
\n", "

299 rows × 4 columns

\n", "
" ], "text/plain": [ " class_name disease_id num_feature_disease caracteristica\n", "0 Circulatory C0002940 1 lncRNA\n", "1 Circulatory C0003486 118 lncRNA\n", "2 Circulatory C0003850 131 lncRNA\n", "3 Circulatory C0004153 269 lncRNA\n", "4 Circulatory C0007193 121 lncRNA\n", ".. ... ... ... ...\n", "294 Respiratory C1260881 1 lncRNA\n", "295 Respiratory C1319018 1 lncRNA\n", "296 Respiratory C1800706 1 lncRNA\n", "297 Skin C0022548 2 lncRNA\n", "298 Skin C0033860 122 lncRNA\n", "\n", "[299 rows x 4 columns]" ] }, "execution_count": 368, "metadata": {}, "output_type": "execute_result" } ], "source": [ "icd_lncrna= pd.merge(hmdd_lncrna_disnet_lncrna, query_icd.drop(['class_name'], axis=1), on='disease_id')\n", "icd_10_short = pd.read_csv('icd10_links.csv')\n", "icd_lncrna_1= pd.merge(icd_lncrna, icd_10_short, on='class_range')\n", "\n", "icd_lncrna_1 = icd_lncrna_1[['disease_id', 'class_name', 'rna_id']]\n", "#disease_gene_icd_test['gene_id'] = disease_gene_icd_test['gene_id'].apply(str)\n", "icd_lncrna_2 = icd_lncrna_1.groupby(['class_name', 'disease_id']).count()#agg(num_feature_disease=('rna_id', sum))\n", "icd_lncrna_2 = icd_lncrna_2.reset_index()\n", "# icd_rna_1 = icd_rna.reset_index()\n", "icd_lncrna_2 = icd_lncrna_2.rename(columns={'rna_id': 'num_feature_disease'})\n", "icd_lncrna_2['caracteristica'] = 'lncRNA'\n", "icd_lncrna_2" ] }, { "cell_type": "code", "execution_count": 369, "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", "
num_feature_disease
class_name
Circulatory4251
Congenital3982
Digestive769
Eye237
Genitourinary733
Immunitary361
Infectious4618
Mental3955
Metabolic2150
Musculoskeletal414
Neoplasms189868
Nervous12205
Perinatal118
Pregnancy351
Respiratory175
Skin124
\n", "
" ], "text/plain": [ " num_feature_disease\n", "class_name \n", "Circulatory 4251\n", "Congenital 3982\n", "Digestive 769\n", "Eye 237\n", "Genitourinary 733\n", "Immunitary 361\n", "Infectious 4618\n", "Mental 3955\n", "Metabolic 2150\n", "Musculoskeletal 414\n", "Neoplasms 189868\n", "Nervous 12205\n", "Perinatal 118\n", "Pregnancy 351\n", "Respiratory 175\n", "Skin 124" ] }, "execution_count": 369, "metadata": {}, "output_type": "execute_result" } ], "source": [ "icd_lncrna_2.groupby(['class_name']).sum()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#icd_lncrna_2.to_excel('icd_lncrna_2.xlsx')" ] }, { "cell_type": "code", "execution_count": 370, "metadata": { "scrolled": true }, "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", "
class_namedisease_idnum_feature_diseasecaracteristica
0CirculatoryC00034861circRNA
1CirculatoryC00038504circRNA
2CirculatoryC000415332circRNA
3CirculatoryC00071931circRNA
4CirculatoryC001005432circRNA
...............
88NeoplasmsC28541228circRNA
89NervousC00023951circRNA
90NervousC002676912circRNA
91SkinC000114410circRNA
92SkinC070216610circRNA
\n", "

93 rows × 4 columns

\n", "
" ], "text/plain": [ " class_name disease_id num_feature_disease caracteristica\n", "0 Circulatory C0003486 1 circRNA\n", "1 Circulatory C0003850 4 circRNA\n", "2 Circulatory C0004153 32 circRNA\n", "3 Circulatory C0007193 1 circRNA\n", "4 Circulatory C0010054 32 circRNA\n", ".. ... ... ... ...\n", "88 Neoplasms C2854122 8 circRNA\n", "89 Nervous C0002395 1 circRNA\n", "90 Nervous C0026769 12 circRNA\n", "91 Skin C0001144 10 circRNA\n", "92 Skin C0702166 10 circRNA\n", "\n", "[93 rows x 4 columns]" ] }, "execution_count": 370, "metadata": {}, "output_type": "execute_result" } ], "source": [ "icd_circrna= pd.merge(hmdd_lncrna_disnet_circrna, query_icd.drop(['class_name'], axis=1), on='disease_id')\n", "icd_10_short = pd.read_csv('icd10_links.csv')\n", "icd_circrna_1= pd.merge(icd_circrna, icd_10_short, on='class_range')\n", "\n", "icd_circrna_1 = icd_circrna_1[['disease_id', 'class_name', 'rna_id']]\n", "#disease_gene_icd_test['gene_id'] = disease_gene_icd_test['gene_id'].apply(str)\n", "icd_circrna_2 = icd_circrna_1.groupby(['class_name', 'disease_id']).count()#agg(num_feature_disease=('rna_id', sum))\n", "icd_circrna_2 = icd_circrna_2.reset_index()\n", "# icd_rna_1 = icd_rna.reset_index()\n", "icd_circrna_2 = icd_circrna_2.rename(columns={'rna_id': 'num_feature_disease'})\n", "icd_circrna_2['caracteristica'] = 'circRNA'\n", "icd_circrna_2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Genes vs miRNAs vs lncRNAs vs circRNAs**" ] }, { "cell_type": "code", "execution_count": 371, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[Text(0.5, 1.0, 'Genes, miRNA, lncRNA and circRNA distribution per ICD10 disease group')]" ] }, "execution_count": 371, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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ALsrIiISe//zyfNZ++KGgRccpCl7TuYHV/Y5QlZZK/lEDcDdnwfel2fWrHD+QoJblpnl2wgSqd7l3AjcmGf6gpzXPwJ+lGeZe4EDek1+Y57l5uaJ8yjgRnffmGfeqNE4aoWRaaMmUtLqoHHa0MekK5a41OzJ4Kx9cQNPvXpu4Qp8YWnhyiox8WotWoHM7CqCwXkjve0JQc9FjSclInGkzycZyNe+9jX2339/3v72t/P+97+fyy+/nCeffJJ3vvOdHHrooRx99NE89thjAJx55pkkk0ne9KY3se+++3LjjS/X0Xz729/msMMOY/bs2Xz5y18GYOvWrbz73e/moIMOYtasWdxwww15YyiGsqhRK2Xufl7UMWToF2sBbYxfrzmRnWwM/vR5nm4Epo1SLIOgzyfpT0tLCzfddBPLly9nx44dHHLIIRx66KHMnz+fH//4xzQ2NnLffffx8Y9/nLvuuguAF154gb/97W889thjHHfccZx88sncfvvtpFIp7r//ftyd4447jnvuuYd169ax11578fvf/x6ATZs2jdq+KVGTompubi6r3lqDGSQ0nU5TN64O2kcrqtJSU1PT7/GT0ZH28Fye1sf/xTQ9sUFKx9/+9jeOP/74bIeT//qv/6Kzs5O///3vvPe9780u19XVlX39nve8h0QiwQEHHMDatWsBuP3227n99ts5+OCDgeARU6lUiqOPPprzzz+fz33uc8ybN4+jjz561PZNiZoUVWtrK4+tWMHUqAMpkEw34I0vvtjnMnXk74UisAaob4xPuycRKQ/uu4641dPTw6RJk1ixYkXedcaPH7/L+u7OhRdeyEc/+tFdll+2bBl/+MMfuPDCC3nHO97BxRdfXJjgB6BETbKKNaDkVOAjlMdI+NeEQ+2Vy/6MtmvyDl9YfBosVaS8HXXUUXz0ox/lwgsvZMeOHfz+97/n7LPPZp999uE3v/kN733ve3F3HnroIQ466KA+yzn22GP50pe+xGmnnUZdXR3PPfccY8eOZceOHUyePJkPfvCD1NXVsXDhwlHbNyVqklVOtyhFcuncFhldU/acXNCemlP2nNzv/MMOO4zjjjuOgw46iL333pumpiZ23313rrvuOj72sY9xySWXsH37dk499dR+E7V3vOMdPProoxxxxBEA1NXV8ctf/pLW1lY++9nPkkgkGDt2LD/60S6DPxSN5asulHhramrylpaWgpd74okn0tHRQWNjY8HKTKVSJLZu5YIyqYFSjdrIfAunZ7fdCnqODUZmsNSbb755VLcrUikeffRRXve610UaQ1tbG3V1dbS3t3PMMcdw9dVXc8ghh0QaUz75jpWZLXP3pnzLq0ZNRERESt78+fNZtWoVnZ2dnHHGGbFM0oZDiZpkFWPA22QyycY+GnJK5dkDmBRBZwK1TRMpf9dff33UIRSFEjXJUld8KVc6t0WkVClRk6xi1TqsIbrefoX2Qvi3XPZntK0BJkWwXdWoiUipUqImRVVuNRlt4YC3kzRg67BMovzOCRGRYlKiJkWlmgwREZHhU6ImIiIiBXXhp/6HTevXFKy83feYytev+MGIy7n11ltZtWoVn//851mwYAE/+clPeOUrX8m2bdv40pe+xPvf/34geGj7HXfcwb/+9S/Gjx/Piy++SFNTE6tXr86WdcUVV3DhhReydu1adt999xHH1hclaiIiIlJQm9av4fMNTxSsvG8UaMzq4447juOOOy77/lOf+hTnn38+qVSKQw89lJNPPpmxY8cCUFVVxbXXXsvHPvaxvGUtXryYww47jN/+9receeaZhQkwj0TRShYREREZJatXr2b//ffnv//7v5k1axannXYad955J0ceeSSNjY3cf//9LFy4kHPPPXeXdRsbG6mtreWll17KTvvkJz/JFVdcwY4dO3ZZ/sknn6StrY1LLrmExYsXF3W/lKiJiIhIWWhtbeUTn/gEDz30EI899hjXX389f/vb37j88su57LLL+lzvwQcfpLGxkVe96lXZadOnT+eoo47iF7/4xS7LL168mPe///0cffTRPP744/z73/8uyv6AEjUREREpE/vssw8HHnggiUSC17/+9bz1rW/FzDjwwAN3al+WccUVV/Da176WN7zhDSxYsGCX+V/4whf49re/TU9Pz07Tf/WrX3HqqaeSSCQ48cQT+c1vflOkPVIbNalAzc3NZfWQ7nQ4ZEi9hgyhoaFBPY1FKtj48eOzrxOJRPZ9IpHIewsz00bt5ptv5kMf+hBPPvkk1dXV2fkNDQ3MmTOHX//619lpDz30EKlUire//e0AbNu2jX333Zf/+Z//Kco+KVGTitPa2srylavoqZ0cdSgFkWjfBMDarsq+nBPtG6IOQURK1IknnsiiRYtYtGgRH/3oR3ea98UvfpF3v/vd2feLFy9mwYIFXHjhhdlp++yzD08//TR77713wWOr7E922Unm+YuVUCPRUzuZzgPmRR1GQVSvWgJQNvszXJnjUEoq6ZqTyrL7HlML1lMzU16xXXzxxXzgAx/g7LPP3mn661//eg455BAefPBBILjtedttt+20zAknnMCvfvUrPve5zxU8LiVqklVOtwNFSoGuOSlXhRjzbKhmzJjBww8/nH2/cOHCvPMyQ2n0bpN26KGH8vjjj++yLsDNN9+cff3UU0/tsu3vfve7I4i8f0rUJCudTtPR0VH2v+5TqRS2Tc/qLDfWuZlUaktJnb+pVIqampqowxCRGFOvTxEREZGYUo2aZGV6DWbazZSrZDLJsicL92gTiQevnkjjzKkldf6WUu2fiERDiZpkNTQ0RB2CSEXRNSciA1GiJlmV9Os+0b6hJHsJ5pNoXw+UZq/HQgqG5yh+z7BCqqRrTkSGR4maFFUcB5d97LHHGGs9jO/ZUtBya2pqIhl0Np0OBnGsry+tJKXwpqqGSkTKjhI1KarW1laeePhBptd1Rx1Klm2vYizwmrEdBSvzmbYq6hsbS6p9lIhIsZz7mXNZu35twcqbsscUvv+d7/e7TF1dHW1tbUMue+nSpRx//PHsu+++dHR0MG/ePC6//HIgGKbjrLPOYsWKFcyePRuAWbNmsWTJEmbMmAHA8uXLOeSQQ/jjH//IscceO+TtD0SJmmQVa/DN6XXdXNQ09IunWC5pqQMoaEyZMnvTgKYiUonWrl/L84c+X7gClxWuqHyOPvpolixZQkdHBwcffDAnnHACRx55JBB0tLv00ku54YYb8q67ePFijjrqKBYvXlyURE3Dc0hWa2tr7G5TljodUxGR0bV06VLmzp3LySefzP77789pp52GezB25gMPPMCb3vQmDjroIA4//HC2bNm5CUxNTQ1z5szhueeey06bN28ejzzySHYw3Fzuzo033sjChQu5/fbb6ezsLPj+qEZNsoox4G0qlWLc9vL/PbC2PcG2VGqXY6cBTUVERt/y5ct55JFH2GuvvTjyyCO59957OfzwwznllFO44YYbOOyww9i8efMun88vvfQSqVSKY445JjstkUhwwQUXcNlll7Fo0aKdlr/33nvZZ599mDlzJnPnzuUPf/gDJ554YkH3pfy/QUVERKSiHH744dTX15NIJJgzZw6r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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "df_to_plot = pd.concat([disease_gene_icd_test, icd_mirna_2, icd_lncrna_2, icd_circrna_2])\n", "df_to_plot_1 = df_to_plot.rename(columns={'caracteristica': 'feature'})\n", "fig, ax = plot.subplots(figsize = (9, 13)) \n", "#plot.xlim(0, 500)\n", "ax.set_xscale(\"log\")\n", "ax = sns.boxplot(data=df_to_plot_1, x='num_feature_disease', y='class_name', hue='feature', showfliers = False)\n", "ax.set(xlabel='log_number_feature_disease', ylabel='class_name')\n", "ax.set(title='Genes, miRNA, lncRNA and circRNA distribution per ICD10 disease group')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Variants vs miRNAs vs lncRNAs vs circRNAs**" ] }, { "cell_type": "code", "execution_count": 372, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[Text(0.5, 1.0, 'Variants, miRNA, lncRNA and circRNA distribution per ICD10 disease group')]" ] }, "execution_count": 372, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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jh2kUina2tqiDqUolJeXU11dzciRI/u8jj71JaOhoQEgVrUKnZXjaTtsVtRhRK58ZXBvah2Lwkgf36EWx/ecSH+kUinGjBnDlClT2HUPecnF3dm4cSOpVIoDDzywz+spUZMMXWYUGVp6z0mxa2trU5LWR2bGPvvsw/r16/u1nhI1yUilUrS2tsbm130ymcS2684ZUnjWtpVksmnIz/1kMklFRcWQblMk35Sk9d1AjpV6fYqIiIjElGrUJCPdozDdbiZq9fX1LHl+bdRhyDDg5WOpnTpxyM/9uNReixSruXPn8u53v5v999+/X+vddNNNVFZW8pGPfCTn/IULFzJq1Cje8pa39Gn5QlKiJhk1NTVRhyAyrOg9J7LLzp07GTGif2nJ3LlzmTZtWr8StZ07d3LBBRf0uMzChQupqqrKJGq9LV9IStQkI46/7hMtmyLrkdcf1rYV69xRuA107ASgcvG8wZXT2RE8JsoGGVB8eWIkXj62X+sEw3NMLExAPYjje04kH2699Vauv/56zIzp06fzwQ9+kKuuuort27ezzz77cNtttzFhwgTmzJnDyy+/zKpVq9h333255pprOOecc9i2bRsA3//+9zPJ0nXXXcfPf/5zEokEJ510EnV1dSxevJizzz6biooKHn/8cVauXMnnPvc5mpub2XfffZk7dy777bcfM2fO5C1veQuLFi3i5JNPpqmpiaqqKi655BIaGhq46aabGDFiBIcddhjXXnstN910E2VlZfziF7/gxhtv5I9//GNm+cbGRi644ALWr19PWVkZv/rVr5gwYQIf+MAHePXVV9mxYwdXXXUVH/jAB/JyLJWoSWwVU21DMtmEt7czuaqjIOWvawmak06o3D6oclY3BQnaAWPaBx1THL3YXIaNGkXt1P4mXROL6nwTibMVK1Zw9dVXs2jRIvbdd182bdqEmfHXv/4VM+MnP/kJ1113Hd/+9rcBWLJkCX/+85+pqKigpaWFBx98kPLycpLJJB/60IdYvHgxDzzwAPfddx9/+9vfqKysZNOmTYwfP57vf//7XH/99dTV1bFjxw4uuugifv3rX/Pa176WO+64g8suu4xbbrkFgM2bN/Poo48CMGfOnEy81157LS+88AKjR49m8+bNjBs3jgsuuCCTmAH88Y9/zCx/9tln86UvfYnZs2fT1tZGZ2cno0aN4t5772Xs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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "df_to_plot = pd.concat([disease_variant_icd_test, icd_mirna_2, icd_lncrna_2, icd_circrna_2])\n", "fig, ax = plot.subplots(figsize = (9, 13)) \n", "#plot.xlim(0, 500)\n", "ax.set_xscale(\"log\")\n", "ax = sns.boxplot(data=df_to_plot, x='num_feature_disease', y='class_name', hue='caracteristica', showfliers = False)\n", "ax.set(xlabel='num_feature_disease', ylabel='class_name')\n", "ax.set(title='Variants, miRNA, lncRNA and circRNA distribution per ICD10 disease group')\n", "#ax.set(title='Pathway and RNA distribution per ICD10 disease group')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Pathways vs miRNAs vs lncRNAs vs circRNAs**" ] }, { "cell_type": "code", "execution_count": 373, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[Text(0.5, 1.0, 'Pathways, miRNA, lncRNA and circRNA distribution per ICD10 disease group')]" ] }, "execution_count": 373, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmoAAAMECAYAAAAPWwnhAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAACR5ElEQVR4nOzde3wcdb3/8ddn00sS0lIL2kJDKTRBLqUWCN641aOiHCtSQEERragcVIg3Dl5ArQqInCoaUPkhYotiRbnJ6REVxAJWVFJaaanQDVJgC6290NI06S35/P6Y2e023dx3M7O77+fj0Ud2d2a+85np7OxnvvP9fsfcHRERERGJn0TUAYiIiIhIbkrURERERGJKiZqIiIhITClRExEREYkpJWoiIiIiMaVETURERCSmlKhJwZiZm1ld1HEUkplNNLNWM6uIOpY0M1toZh+LOo6omdlcM7tyAMs9aWbT8x/R0Mj+/zez88zsD3ksO7NvzGy2mf08j2V/2cxuzld50r3sc7OZ3WhmX4k6JumeEjXZg5mtMrP2MPlYa2Y/NbOaPixXlsmBuz/v7jXu3gGZ/bAt3H/rzewuMzsgPX/44+Zm9t6sz4aFn03KLjtr3tcP2QbtXvd0M+sMt2OLmT1tZh/pMo+b2TIzS2R9dqWZze0y3z5hOb8dovAHxd2PcveF/V0ujvvM3W9z91P7EHufktqB7psc65tuZqkuZV/t7kV3DumasFqg0cyWm9lWM0uZ2a/N7Ohw+lwz2xEeI1vC+b5lZvtmlXGAmd1rZi92c24YaWa3mNkrZrbGzD430Pjd/SJ3/+ZAl5fCU6Imubzb3WuAY4HjgSsijqfYXBzuvzqgBpjTZfpG4Bs91cKZmQHnh/N+uFCB9uLFcDtGA58Ffmxmr+0yz4HAub2UczawHTg1O2ktRmY2rJdZSnKf9WG7y0If98P3gU8DjcBY4DDgHuBdWfNc6+6jgFcDHwHeCCwys33C6Z3A74CzulnHbKAeOBh4C3CZmb2zP9tSysJkuWTym5LZEMk/d18N3AdMMbNXmdkCM1tnZi+Hr2sBzOwq4CTghrAW4IasYt5mZslwmR+ECQhm9pyZHRe+/mB41Xhk+P5jZnZP+Pr1ZvaomW0ys5fM7AYzGxFO+4GZfSc7ZjP7XzP7TPj6C2a2Oqt246192W4LahX/28yeCK+If2Jm48zsvrCsB8zsVeG8k8LY9zqBu/smghP0tC6TfgfsAD7YQxgnEfygfxo4N73N/WVms8zsz2Y2J/w/eNbMTsuaPtaCWtMXw+n35NgOd/ffEiSNU7tMvhb4ei8/YB8GbgSeAM7rJd7vm9kLYU3BYjM7KWvabDP7lZndGv4/PGlmDVnTjzGzx8NptwOVvazr42b2z3D+FWZ2bPj5KjN7W9Y67zCzn5vZK8CsGO6zt5vZU2a2OfzuWda0WWb25/C1mdl1ZvbvcN4nzGyKmV0YruOy8Pv7v1n74Qtm9gSw1YKa38y+CVWa2e3hPnzczF6Xte49mj5YWGtnQTJyH3BguL5WMzvQ9q6ZOj38P95kQU31EVnTVpnZpeE2bA5jyPn/He6DRWZ2fTjvU9nnAjPbN/yOvxSeL6608CIqa9nrzGwjQYLU0/9FPfAp4P3u/qC7b3f3trBm85qu87v7Nnd/DDgd2I8gacPd17r7D4HHulnVh4BvuvvL7v5P4MfArB7i+u9w+140swu6TMvUpprZ/hac2zeZ2UYze8TChCf8P7rTgt+AZ82sMauMns7TOY+7cNpIC85Nz1twB+dGM6vqZhsqzOw7FtypeNbMLrasc294jFxlZouANuBQM3uzmT0WrvcxM3tzVnl7HMvZx5/tPq9fGO6zl8zs893t30JToibdMrODgP8ElhAcKz8luIKbCLQDNwC4++XAI4Q1Se5+cVYxMwhq5V4HvA94R/j5Q8D08PXJwL+AU7LePxS+7iComdgfeBPwVuCT4bR5wPuzTiT7h9PnW1CLcTFwfHjl+g5gVT82/yzg7QRXw+8m+GH5chhHguBquUdmth9wJtDSZZIDXwG+ZmbDu1n8w8D/AreH72f0I/au3gA8TRD7tcBPzCz9Y/4zoBo4CngNcF3Xhc0sYWanh8t33Za7gFfo5kfCzCYS/D/fFv77UC+xPkaQ2I4FfgH8ussP8OnAL4ExwL2Ex2D4o3BPuD1jgV/TfW0EFtx6nh3GMzosd0M3s78HuCNc523EaJ+Fx/ydBLXe+wPPACd0M/upBN+tw8JtOQfY4O43heu5Nvz+vjtrmfcT1ASNcfddOcp8D8G+Tv9/3dPDMQ2Au28FTiOsfQz/vdhluw4D5gOfIah1+i3wv7bnBcv7gHcChxAkw7N6WO0bCM4x+wNfA+4ys7HhtHnALoIa8GMI9tPHciz7GuCqnraN4PyTcve/9zLfHtx9C3A/wQVajyy4SDwQ+EfWx/8gOB5zzf9O4FKC81k98LZc84U+D6QI9vk4gnOeh+fY/w3XM4FgOz9jZunzeU/n6ZzHXTjt2+Hn0wj2/wTgq93E9nGC42Yawd2eM3LMcz5wITAK2AL8H9BEkAR/F/i/8LzcV28h2GenAl+0PS9ShowSNcnlHjPbBPyZIGG62t03uPud4dXhFoIT1ik9FRK6xt03ufvzwJ/YXbv0UNbyJwHfynp/Sjgdd1/s7n91913uvgr4f+n5wpPhZoKTAgS3kxa6+1qCE8dI4EgzG+7uq9z9mX7sg+vDq9rVBEno39x9ibtvB+4mOKF3p8nMNgPrCU5cl3Sdwd3vBdax5w8CAGZWDbwX+IW77yRIEgZz+/M5d/9x2I5uHnAAMM6CW2qnAReFV+Y73f2hrOUODI+DdoJt/py7L+m6KQRJ51fNbGSOdX8IeMLdVxD88B5lZt3uO3f/eXis7XL37xD8H2bfOvyzu/823JafEVwAQHDraDjwvXA77qD72ggI9vu17v5YWPvV4u7PdTPvo+5+j7t3EvzQxGmf/Sewwt3vCI+V7wFrupl3J8EP2OGAufs/3f2lbuZNa3L3F9y9vZvpi7PW/V2CWsw39lJmX5wD/J+73x+WPQeoAt6cNU+Tu7/o7hsJkohpPZT3b3YfG7cTXLi8y8zGEfx/fsbdt7r7vwkS7+xb0y+6+/XhMdndfkjbD+htn3bnRYKEtzfpNsObsz7bTPB/m8v7gJ+6+/IwSZ7dQ9k7Cc4PB4f76hF3d4KL7Ve7+zfcfYe7/4ugFu9c6Pk8TTfHXXix+HHgs+6+MfxduZrumwW8D/i+u6fc/WVgrxpKYK67PxleVJwKJN39Z2Fc84GnCC68++rr4XGxjKCi4v39WDZvlKhJLme4+xh3P9jdP+nu7WZWbWb/z4Jblq8ADwNjrPfejtk/Gm3sPsk8BJxkZuOBCoKaoxMsaDS7L7AUgivrsCp+TbjeqwmSn7R57L6F+EGCH2/cvYXganw28G8z+6WZHdiPfbA263V7jvc9dbBodPd9Ca7yXwXUdjPfFcDl7H2LbibBFX66IfltwGlm9uq+hb6XzP+Bu7eFL2uAg4CN4UkvlxfdfQxBjVMT8B+5ZvLgFt/zBFeyXX2IIH7CWpOH6CHpNLPPW3A7cnOY8OzLnv/fXY+nyvDWx4HA6vBHJa27xAuCbe9r4v5Cl+XitM8OzI4v3P4Xcs3o7g8S1ED+AFhrZjeZ2ehuyk3LWVau6WEimwpjGqwDyfr/C8t+gaDGJa27c0suuY6NAwnuEAwHXgpv220iSDJekzVvb/sg2waCRGcgJhDcKu9Na/g3+/9uNEENUi57HCP0/L34H4Ia4D+Y2b/M7Ivh5wcTXoRk7acvE9S69Xie7uG4ezVBzfTirDJ/F37el+3I9f+S/dkex1DWtk+g77rut3wc2/2mRE366vMENRtvcPfRBFXZsLs9jOdcqhthItVGcAvx4fBqag3BD9efwxMzwI8IroLqw/V+OWudAD8H3mNB25gjCG5/pdfxC3c/keAk4wTV7EMmvAq7Esi0zesy/X6Ck+Inu0z6MMGPzvNmtobg1tJw8n819wIw1szG9DRTWIv4BeBoMzujm9nSSWd1+oOwPUg98KXwBL6G4DbS+y1H+ywL2qN9geDK+VVhwrOZPf+/u/MSMKHLfp7Yw/wvAJP7UC7seWzHap8RbPdBWctb9vsccTW5+3EEt8kOA/47xzbusUh3ZYWy150guChJ38ZsI2vbgPH9KPdFgu9tuuz0dq3uZbnu5Do2XiT4/9wO7B9enI5x99Hunn0bsT/ntj8CtZbVdrIvLOhZ/zaC2vsehRcJL7G7Npnw9ZPdLLLHMUIP3wt33+Lun3f3Qwlqnj5nQXu+F4Bns/bRGHcf5e7/GS7a43m6m+NuPcFF71FZZe7rQWec7rYj+6I313Ge/X+1xzGUte3pY2gr3R+fudaRPmaGnBI16atRBF+qTWHbjq91mb4WOLSfZT5E0I4sfetoYZf36fW+ArSa2eHAJ7ILcPcUwS2unwF3pm9NmNlrzew/wltL28LY00NoTDezfiWWgzCP4Or89G6mXw5cln5jZun2HzMIbuVMIzgJf5uwViWroeukwQQW3va6D/ihBZ1FhpvZyd3MuwP4Dt20H/FgyIZl7Fnz82GCdjdHZm3LFIKT42nsbRRBTeI6YJiZfZU9aw168mi4bKMFjd7PBHoa1uRm4FIzO84CdWbW9aS+lxjus/8juDV6ZpjINZL7BwczO97M3hC2IdtK8L3oCCcP5PsLcFzWuj9DkPT8NZy2FPiABY3A38meTSXWAvtZ1pAUXfyK4NbkW8N4Px+W/ZcBxAjBd7Ax/P96L8FF3W/D/88/AN8xs9EWtC2cbGZ9adaxF3dPAj8kaCc73cxGmFmlmZ2bVTuVYUFj+uMILjBfJri9lp5WSXDrH2Ck7dlW81bgivAYPJzgFuLcbsL6FUEnmCMtaFbR9dydHc+M8LtgBOfdjvDf34FXLOhcUhX+n04xs+PDRbs9T3d33IUX4z8GrjOz14TzTrDd7d5ybcenw3nGEFwI9eS3wGFm9oHwnHAOwfdqQTh9KUFHreFhYn12jjK+YsHdpKMIOnrcnmOeglOiJn31PYI2IusJTsS/6zL9+8DZFvSCa+pjmQ8RfMEf7uY9BI1gP0BQrf9jcn9R5gFHE972DI0kaMOwnqCm7jUEV3kQXCU92scYByX8sW4iaJOUa/oigpNg2vnAUnf/g7uvSf8Ly5hqQW+pgwiq4Qdau5DtfII2JE8RtOP5TA/z3gJMNLPu2nhcQdjGJvxReR9BW781Wf+eJfh/ynUr7/cESdBKgu3bRh9vO4X7+UyCBuUvE7RxuquH+X9N0M7yFwTH1j30rX0QxGifuft6gvaM1xDcdqsHFnWzrtEE36GXCfbvBnYPHfMTgvacmyxHL9Ye/IZgX79MsF/ODNuUQdBj+d3AJoJepZly3f0pgvZ3/wrXucctJXd/mqApw/UE3+F3EwwbtKMfsWX7G8G+WU/w/362u6cbtH8IGAGsCLfjDgZ++xKCZDl9q28TwS32mQTt6NIuM7MtBLc6bwUWA28O25CltbP7NudT4fu0r4XlPkdw3vwfd+96TgbA3e8jOH8/SFCD/2APsdcDD4TrfRT4obsv9KBN6LsJLhyeJdiPNxM0TYCez9M9HXdfCGP6qwW3TB9gzzap2X5MkFQ/QdDB7bcEF2cduWYO/39nECT5GwguiGeE3xkIzsmTw7i+TnAu6OqhML4/AnPcPW+DR/eH7XnbXqT4hDUaPwcmZd0y7Wn+m4Ffu/vvCx5cAZjZFcA6d/9/UcciEndmNgv4WNgMQkqEBcMM3ejuvdaED6DsSQQJ6XDP3dt5SGkQQylqYXX6p4Gb+5KkAXgRjn6ezd37/VgkEZFiZsH4am8hqFUbR1CreHekQQ0R3fqUomXBAJibCG5TfC/SYEREpJCM4BblywS3Pv9J92OulRTd+hQRERGJKdWoiYiIiMSU2qgVof33398nTZoUdRgiIiKSB4sXL17v7jkH+1WiVoQmTZpEc3Nz1GGIiIhIHphZt0+M0K1PERERkZhSoiYiIiISU7r1KVIEmpqaaGlpiTqMWEmlUgDU1nb3zPvyU1dXR2NjY9RhiEgeKVETKQItLS0sWbaCzuq+PuWo9CXaNgOwdrtOYwCJto1RhyBlZOfOnaRSKbZt2xZ1KEWlsrKS2tpahg8f3udldIaTjKam4BGduiKPp87qsWw7ckbUYcRG5Yrg2craJ4H0/igmOucUr1QqxahRo5g0aRLBM9ylN+7Ohg0bSKVSHHLIIX1eTomaZOjWmogMJZ1zite2bduUpPWTmbHffvuxbt26fi2nRE0yUqkU7e3turqNoWQyie3QU0Ske7btFZLJLUX1/U0mk1RVVUUdhgyQkrT+G8g+U69PERERkZhSjZpkpHvPpduNSHw0Njay+Jk1UYchMeaVo6mfPL6ovr/FVPsn8TN37lxOPfVUDjzwwH4td+ONN1JdXc2HPvShnNMXLlzIiBEjePOb39yn+QtNiZpk1NXVRR2CiJQRnXMkbdeuXQwb1r+UZO7cuUyZMqVfidquXbu46KKLepxn4cKF1NTUZBK13uYvNHNXu5di09DQ4HqEVLwUepyzZDJJ69Y2qBjktVVnR/A3UTH4oKLWsSv422WfeGI4Xjk6goCilWjbyDFHH1lUNWpSvP75z39yxBFH5Jx26623MmfOHMyMqVOn8r73vY8rr7ySHTt2sN9++3Hbbbcxbtw4Zs+ezYsvvsiqVavYf//9ufrqqzn//PPZunUrADfccEMmWbr22mv52c9+RiKR4LTTTqOhoYFZs2YxYcIEqqqqePTRR1mxYgWf+9znaG1tZf/992fu3LkccMABTJ8+nTe/+c0sWrSI008/nS1btlBTU8Oll15KU1MTN954I8OGDePII4/kmmuu4Y1vfCMVFRW8+tWv5vrrr+ePf/xjZv6WlhYuuugi1q1bR0VFBb/+9a8ZN24c73nPe3j55ZfZuXMnV155Je95z3v6te/MbLG7N+SaXzVqInnQ0tLCyuWPM7GmoyDlHzQcGAOwY1DlPLclSNAOHrV9sCFFbm1b0MR2XPXuffJ8awU2YgT1k8dHFVaExquGSiL35JNPctVVV7Fo0SL2339/Nm7ciJnx17/+FTPj5ptv5tprr+U73/kOAIsXL+bPf/4zVVVVtLW1cf/991NZWUkymeT9738/zc3N3Hfffdxzzz387W9/o7q6mo0bNzJ27FhuuOEG5syZQ0NDAzt37uSSSy7hN7/5Da9+9au5/fbbufzyy7nlllsA2LRpEw899BAAs2fPzsR7zTXX8OyzzzJy5Eg2bdrEmDFjuOiiizKJGcAf//jHzPznnXceX/ziF5k5cybbtm2js7OTESNGcPfddzN69GjWr1/PG9/4Rk4//fS8dbZQoiYZGtNocCbWdHBFQ2vUYfToyuYagNjHOVBXNtdQOam+37VKOvZF8uPBBx/k7LPPZv/99wdg7NixLFu2jHPOOYeXXnqJHTt27DGG2Omnn57p+btz504uvvhili5dSkVFBStXrgTggQce4CMf+QjV1dWZMrt6+umnWb58OW9/+9sB6Ojo4IADDshMP+ecc3LGO3XqVM477zzOOOMMzjjjjB63bcuWLaxevZqZM2cCweC16bi//OUv8/DDD5NIJFi9ejVr165l/Pj8XDAqUZMMjWkk5UrHvkh+uPteNUmXXHIJn/vc5zj99NNZuHDhHjVa++yzT+b1ddddx7hx4/jHP/5BZ2dnJhHKVWau9R511FE8+uijOadnryfb//3f//Hwww9z77338s1vfpMnn3yyx3Xkctttt7Fu3ToWL17M8OHDmTRpUl6f2KBETTI0jtrAJZNJRuzUaDdRW9uWYEcy2e9jWON5ieTHW9/6VmbOnMlnP/tZ9ttvPzZu3MjmzZuZMGECAPPmzet22c2bN1NbW0sikWDevHl0dARNSU499VS+8Y1v8IEPfGCPW5+jRo1iy5YtALz2ta9l3bp1PProo7zpTW9i586drFy5kqOOOqrb9XV2dvLCCy/wlre8hRNPPJFf/OIXtLa2MmrUKF555ZW95h89ejS1tbXcc889nHHGGWzfvp2Ojg42b97Ma17zGoYPH86f/vQnnnvuucHswr3ol0VERETy4qijjuLyyy/nlFNO4XWvex2f+9znmD17Nu9973s56aSTMrdEc/nkJz/JvHnzeOMb38jKlSsztWDvfOc7Of3002loaGDatGnMmTMHgFmzZnHRRRcxbdo0Ojo6uOOOO/jCF77A6173OqZNm8Zf/vKXHmPt6Ojggx/8IEcffTTHHHMMn/3sZxkzZgzvfve7ufvuu5k2bRqPPPLIHsv87Gc/o6mpialTp/LmN7+ZNWvWcN5559Hc3ExDQwO33XYbhx9++CD34p5KotenmY0HvgccD2wHVgHXAI3ufnYeyp8NtLr7nB7mOQNY6e4rBru+3hSq12e6FkK9xvqvsbGRbasei33br/Joo3Z8v49hHfsi/dNTr0/pWdn1+rTgxvXdwDx3Pzf8bBowKleSZmbD3H1XAUI5A1gA9DlRK2AsA6IeY1KudOyLSFwVfaIGvAXY6e43pj9w96VmNsnMlrv7FDObBbwLqAT2MbPTgeuBBsCBr7v7nWbW6u41AGZ2NjDD3Wdlr8zMPg5cCIwAWoDzgWnA6cApZnYFcBYwCrgRqAaeAS5w95fNbCHwF+AE4MEwtsPcfaeZjQaeAOrdfWee91Ov1DZtcJ5vreDK5hrWtiXY1hHPZ+BtD+P6+J/2jTiSwtjeYVQNoI1aWjl9B1KpFLD7iSS51NXVldU+EYmjUkjUpgCL+zDfm4Cp7r7RzL4NbHb3owHM7FX9WN9d7v7jcLkrgY+6+/Vmdi+wwN3vCKc9AVzi7g+Z2TeArwGfCcsY4+6nhPNNIkgi7wHOBe7MlaSZ2YUECSITJ07sR7gyFLJrZHYkk7R5azjuWcyEdzzbauKZSOZDK60sWb0k6jDib3PwZ52tyz1905BFIiI9KIVEra/ud/eN4eu3ESRFALj7y/0oZ0qYoI0BaoDfd53BzPYlSMYeCj+aB/w6a5bbs17fDFxGkKh9BPh4rpW6+03ATRC0UetHvH2msaQGLnufNTY2smT1Ejqnd0YYkUjPEguDvmTdHafp6XGh85OUq1JI1J4E+tJhYGvWayO45dlV9meV3ZQzFzjD3f8R3rac3od1dxuLuy8Kb9OeAlS4+/IBlJcXGktKROJK5ycpV6WQqD0IXG1mH8+6JXk8Qduw7vwBuJjwVqSZvSqsVVtrZkcATwMzgS05lh0FvGRmw4HzgNXh51vCabj7ZjN72cxOcvdHCNqxPZSjrLRbgfnAN/uwvQWjcdTyI5lMgirTpNi1BsdyXM4HGutOylXRJ2ru7mY2E/iemX0R2EYwPMdneljsSuAHZrYc6AC+DtwFfJGg5+YLwHKCW5tdfQX4G/AcsIwwOQN+CfzYzBoJavg+DNxoZtXAvwhua3bntjCm+b1sroiISOx86jOXsnb9xt5n7KNx+4/lB9/rdkSsAZk7dy6nnnoqBx54IACTJk2iubm5x7Hd4qDoEzUAd38ReF+OSVPC6XMJblmm528lSKS6lnMHcEeOz2dnvf4R8KMc8ywCjuzy8RtzzDc9R5wnAne4+6Yc04ZMuveXxpIanHQbNZGiVgP1E/r/3NRCiUvNnuS2dv1Gnj1gev4KfGlh/soKzZ07lylTpmQStWIRr9aiZcjMricYnDfS254Q9FzUeFIiEkc6P0lXq1at4vDDD+fDH/4wU6dO5eyzz6atrY1vfOMbHH/88UyZMoULL7wQd+eOO+6gubmZ8847j2nTptHe3g7A9ddfz7HHHsvRRx/NU089BcDRRx/Npk2bcHf2228/br31VgDOP/98HnjgAVatWsVJJ53Esccey7HHHpt5AsL555/Pb37zm0x85513Hvfee++gt7MkatSKmbtfEnUMabpizaNN8es1J7KHTcGfbo/TTcCEIYqlD3R+klyefvppfvKTn3DCCSdwwQUX8MMf/pCLL76Yr371q0CQPC1YsICzzz6bG264gTlz5tDQsPsBAPvvvz+PP/44P/zhD5kzZw4333wzJ5xwAosWLeLggw/m0EMP5ZFHHuFDH/oQf/3rX/nRj35EIpHg/vvvp7KykmQyyfvf/36am5v52Mc+xnXXXcd73vMeNm/ezF/+8pcen23aV0rUpKCamppKqrdWXwYJTaVS1Iyogbahiqq4VFVV9bj/ZGikPDyWJ3TzfzFBT2yQ+DvooIM44YQTAPjgBz9IU1MThxxyCNdeey1tbW1s3LiRo446ine/+905lz/zzDMBOO6447jrrrsAOOmkk3j44Yc5+OCD+cQnPsFNN93E6tWrGTt2LDU1NWzevJmLL76YpUuXUlFRwcqVKwE45ZRT+NSnPsW///1v7rrrLs466yyGDRt8mqVETQqqpaWFp5YuZXzUgeRJuhvwpvXru52nhty9UATWALX18Wn3JCLFLXiK5J7vP/nJT9Lc3MxBBx3E7Nmz2bZtW7fLjxw5EoCKigp27Qqe6HjyySfzgx/8gOeff56rrrqKu+++mzvuuIOTTjoJgOuuu45x48bxj3/8g87OTiord4/mdf7553Pbbbfxy1/+kltuuSUv26hETTIKNaDkeOCjlMZI+D8Jh9orle0Zaj/JOXxh4WmwVJHS9Pzzz/Poo4/ypje9ifnz53PiiSfyl7/8hf3335/W1lbuuOMOzj47GGp11KhRbNmSa9StPR100EGsX7+eHTt2cOihh3LiiScyZ84cbrjhBgA2b95MbW0tiUSCefPm0dHRkVl21qxZvP71r2f8+PEcddRRedlGJWqSUUq3KEWy6dgWKaxx+4/Na0/NcfuP7dN8RxxxBPPmzeO//uu/qK+v5xOf+AQvv/wyRx99NJMmTeL444/PzDtr1iwuuugiqqqqePTRR3ss9w1veEMmATvppJP40pe+xIknngjAJz/5Sc466yx+/etf85a3vIV99tlnd9zjxnHEEUdwxhln9HOLu2fu0VzhysA1NDR4c3Nz3ss988wzaW9vp76+Pm9lJpNJElu3clmJ1ECpRm1wrsXp3GefvB5jfZEeLDXdBkVEBuef//wnRxxxRKQxrFq1ihkzZrB8eWQP9NlLW1sbRx99NI8//jj77rtvznly7TszW+zuDbnmV7c0ERERkUF64IEHOPzww7nkkku6TdIGQrc+JaMQA942NjayaenSvJUnxW0/YEwEnQnUNk2k9EyaNClWtWlve9vbeP755/NerhI1yVBXfClVOrZFpFgpUZOMQtU6rCG63n759lL4t1S2Z6itAcZEsF7VqIlIsVKiJgVVajUZreGAt2M0YOuAjKH0jgkRkUJSoiYFpZoMERGRgVOiJiIiIoPypc9+is0b1uStvH33G8+3rvvBoMu59957WbFiBV/84heZPXs2P/7xj3n1q1/Njh07+MpXvsL73/9+IBhj7f777+df//oXI0eOZP369TQ0NLBq1apMWddddx1f+tKXWLt2bV57dfZGiZqIiIgMyuYNa/hi3cq8lXdNnsaoPv300zn99NMz7z/72c9y6aWXkkwmOe644zj77LMZPnw4EDxG6pZbbuETn/hEzrLmz5/P8ccfz913382sWbPyE2AfaBw1ERERKTqrVq3i8MMP52Mf+xhTpkzhvPPO44EHHuCEE06gvr6ev//978ydO5eLL754r2Xr6+uprq7m5Zdfznz2mc98huuuuy7zzM9szzzzDK2trVx55ZXMnz+/oNvVlRI1ERERKUotLS18+tOf5oknnuCpp57iF7/4BX/+85+ZM2cOV199dbfLPf7449TX1/Oa17wm89nEiRM58cQT+dnPfrbX/PPnz+f9738/J510Ek8//TT//ve/C7I9uShRExERkaJ0yCGHcPTRR5NIJDjqqKN461vfiplx9NFH79G+LO26667jta99LW94wxuYPXv2XtO//OUv8z//8z90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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "df_to_plot = pd.concat([disease_pathways_icd_test, icd_mirna_2, icd_lncrna_2, icd_circrna_2])\n", "fig, ax = plot.subplots(figsize = (9, 13)) \n", "#plot.xlim(0, 500)\n", "ax.set_xscale(\"log\")\n", "ax = sns.boxplot(data=df_to_plot, x='num_feature_disease', y='class_name', hue='caracteristica', showfliers = False)\n", "ax.set(xlabel='num_feature_disease', ylabel='class_name')\n", "ax.set(title='Pathways, miRNA, lncRNA and circRNA distribution per ICD10 disease group')\n", "#ax.set(title='Pathway and RNA distribution per ICD10 disease group')" ] }, { "cell_type": "code", "execution_count": 375, "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", "
class_namedisease_idnum_feature_diseasecaracteristica
0CirculatoryC0002940120pathway
1CirculatoryC000296296pathway
2CirculatoryC00029638pathway
3CirculatoryC000296579pathway
4CirculatoryC0003486139pathway
...............
88NeoplasmsC28541228circRNA
89NervousC00023951circRNA
90NervousC002676912circRNA
91SkinC000114410circRNA
92SkinC070216610circRNA
\n", "

3020 rows × 4 columns

\n", "
" ], "text/plain": [ " class_name disease_id num_feature_disease caracteristica\n", "0 Circulatory C0002940 120 pathway\n", "1 Circulatory C0002962 96 pathway\n", "2 Circulatory C0002963 8 pathway\n", "3 Circulatory C0002965 79 pathway\n", "4 Circulatory C0003486 139 pathway\n", ".. ... ... ... ...\n", "88 Neoplasms C2854122 8 circRNA\n", "89 Nervous C0002395 1 circRNA\n", "90 Nervous C0026769 12 circRNA\n", "91 Skin C0001144 10 circRNA\n", "92 Skin C0702166 10 circRNA\n", "\n", "[3020 rows x 4 columns]" ] }, "execution_count": 375, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_to_plot" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Boxplot comparing the genes, variants, pathways, miRNA, lncRNA and circRNA distributions per ICD-10\n", "disease group**" ] }, { "cell_type": "code", "execution_count": 376, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "[Text(0.5, 0, 'log_num_feature_disease'), Text(0, 0.5, 'class_name')]" ] }, "execution_count": 376, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmoAAARxCAYAAACRE6sdAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAAEAAElEQVR4nOzdfXxT5d0/8M83NPSBomg7xRUhSsvUqaAW5+YT3g62diii3PfYvCXuQfdomOg23UrlcdNN5n5lc9zOeRs2h86HadXWgU6mc9utRRhq1abOVIqKpgqjtIWUXL8/knM4SU+e2iTnJP28Xy9fTXKuc13fkyZy9co5n4hSCkRERERkPw6rCyAiIiIic5yoEREREdkUJ2pERERENsWJGhEREZFNcaJGREREZFOcqBERERHZVJHVBVD6KisrlcvlsroMIiIiyoAtW7YElFIfMdvGiVoecrlcaGtrs7oMIiIiygAR6Yq3jR99EhEREdkUJ2pERERENsWJGhEREZFN8Rw1spWmpiZ0dnZaXYbluru7AQCTJk2yuBL7q66uhsfjsboMolElGAyiu7sbAwMDVpeSV0pKSjBp0iQ4nc6U9+FEjWyls7MTW19qR6jsSKtLsZSjbw8AYNd+vkUTcfR9YHUJRKNSd3c3xo8fD5fLBRGxupy8oJRCT08Puru7cdxxx6W8H/8VIF1TUxMAWL46ESo7EgMnzbW0BquVtD8GAKP+eUhGe57sJt57KRAIYPny5Vi2bBmUUkNuezweNDU14ZJLLsHKlStx7bXXYt26dVi5ciW8Xq++fdmyZaioqMhK7YFAAA0NDQCA6667bkTjacebbt1mNRj7MHvuRlpjNp/TQjQwMMBJWppEBBUVFXj//ffT2o8TNdLxI0eizIj3XvJ6vdi+fTu8Xi+UUkNur1y5El1dXXjllVcQCoXws5/9DEopNDY2Yt++ffp2r9eLJUuWZKV2r9eL9vZ2ABjxeNrxptuPWQ3GPsyeu5HWmM3ntFBxkpa+4TxnvJiAiCgHAoEAWltboZRCS0uL6W2/3w+lFAYHBwGEPyoBgN7e3qjtra2t6OnpyUqNLS0t+v2RjGc83nT60faLrUH7Ge+5G2mN2XpOKX1NTU048cQTcfnll6e1n9/vx+9///ssVWUdrqiRrru7G/39/ZZ+9Onz+SAHlGXjU36RgX/D59tr+cf1sXw+H0pLS6Me01Z/gPCJ2Brj7VSFQqGsrAB5vV59kjjS8YzHm04/Xq834XMS77kbaY3Zek4pfbfffjtaW1vTOo8LODRR++IXv5jWfgcPHsSYMWPS2ieXuKJGRJQDmzZt0icWSil9gmC8napgMIiNGzdmpUazWoYznvF40+knXg2aeM/dSGvM1nNK6fn617+Of/3rX7j44ouxevVqfPnLX8bMmTNx2mmn4ZFHHgEQnpCde+65OP3003H66afjb3/7GwDghhtuwLPPPosZM2bgtttuw913341vf/vbet9z587F5s2bAQDl5eVobGzEJz7xCfz973/H7373O5x55pmYMWMGvva1r+HgwYM5P/Z4uKJGOi0KQjsR2goejwdb3njXsvEpv6iSw1AzdaKlr1kzZit8s2fPRktLC4LBoH6eilIq6naqnE4n5syZk5liY2psbm4eUstwxjMebzr9xKtBE++5G2mN2XpOKT3r1q3DE088gaeffho/+9nP8B//8R+46667sHv3bpx55pn49Kc/jaOOOgqbNm1CSUkJfD4fvvCFL6CtrQ0333wzbr31Vjz2WPgio7vvvjvuOPv27cPJJ5+MFStW4NVXX8Utt9yC5557Dk6nE9/85jdxzz33YNGiRTk66sS4oka66upqVFdXW10GUd4zey+53W59YuF0OvUcJePtVDkcDrjd7swUG1NjUdHQv9+HM57xeNPpx+12J3w+4j13I60xW88pDd/GjRtx8803Y8aMGZg1axYGBgbw1ltvIRgM4qqrrsIpp5yC//zP/9QvPEnHmDFjcNlllwEAnnrqKWzZsgUzZ87EjBkz8NRTT+Ff//pXpg9n2LiiRjo7nOfT3d0Nx94elLV5rS4l+0KRpXWHybkRB8PnCY2K52EkQgcBTLS6iiHM3kuVlZWoq6tDc3Mz6uvroZQacnvKlCno6urCmDFjMDg4CBGBUgrl5eXYt2+fvr2uri4rURKVlZWor6/XP2JyuVzDHs94vOnUre0XW4PWR7znbqQ1Zus5peFTSuHBBx/Exz72sajHly1bhqOPPhr//Oc/EQqFUFJSYrp/UVERQqGQft8YzltSUqKfl6aUgtvtxo9//OMsHMXIcaJGtjOu6CAmlx+wuoys69ob/p/ElPH7h2zb1Rde7D66rPCfh+F6q3cMpGx8XqwCG/PE/H4/3G63fiWj2+1GT08PnnzySXg8Htx5553Yt28furq6UFVVhUAggKOOOkpf6TrxxBOHvfKTKDPMWKPP59M/oj3xxBNx0UUX4Zprrkm4n7Yttp8TTzxRz0Iz1p2olnPPPRePPvooXC4XfvjDH0blqMU+d8bbw3kujL8TspfPfOYzWLt2LdauXQsRwdatW3Haaadhz549mDRpEhwOB7xer34+2fjx47F37159f5fLhdtvvx2hUAg7d+7E888/bzrOhRdeiHnz5uHaa6/FUUcdhQ8++AB79+7FlClTcnKcyXCiRjo7BN5OmjQJA4PvoKG217IacmVVWzkAjIpjzYZVbeUocdXk5PU60veGltX16KOPYu3atfrj2u27774bfX19eOaZZ1BTU4Pm5uaolaQ333xTX1GaN2/esFd+EmWGGWtct24d1qxZg+bmZsybNw/Nzc1J99O2xWanzZs3DzU1NVHHnayWX/ziFwiFQgiFQlH7mj13sbfTfS5ifydkH0uXLsV3vvMdnHrqqVBKweVy4bHHHsM3v/lNXHbZZbj//vtxwQUXYNy4cQCAU089FUVFRZg+fTquvPJKfOc738Fxxx2HU045BSeffDJOP/1003FOOukkrFq1CnPmzEEoFILT6cQvf/lL20zUJN2rjch6tbW1qq2tLeP9av8IWX0xwYD/hVExeeFEbWTCE7WZOXm9juS9EQgEsHDhQhw4cADFxcW49957oyZaxu1jx46FUiphPIVZHyOtI3bb7bffjm984xt6TQDS3i9RvYlq6ejowFe/+lW97V133ZXxVdNkvxNK7tVXX8WJJ55odRl5yey5E5EtSqlas/ZcUSOdXXLUxgZ5jQslt6vPgQM+X05er2a5aKlKltUVL18tnuHmfSWqI3bbypUrTWtKZ79E9SaqZdWqVVH7r1ixAuvXr0/rWJNhfhrlE/6LSESURcmyuuLlq8Uz3LyvRHXEbvP7/aY1pbNfonoT1eL3+6Paxt7PBOanUT7hihrp7JKjNuB/wbLxKX8cXRZCiasmpx99DkeyrK54+WrxDDfvK1Edsduqqqqwc+fOITWls1+iehPV4nK5oiZnLpcr7WNNhvlplE+4okY65qgRmRvJeyNZVldsvppZjpnRcPO+EtURu23p0qWmmW/p7Jeo3kS1NDQ0RLVtbGxM+1iTYX4a5ROuqJHODjlqQDh2QTvRvpB17ilCSAFXPX241aXk3IFQ+B/JsY7hX8y0/6CgNEfnqGmGO9b48ePR09ODqqqqISetx8tX067yjP053LyvRJlhsdtqampMa0pnv0T1Jqpl2rRp+qqay+XKyh+PzE+jfMKJGtnKqFrRe/llHAwF0XekJG9baHaHfwxOGNmx96IXW3duHXk92aYACOJekOB2u4fkgmm5YbE/R7L6Yxwn2TazmtLZL1m9iWppaGjA4sWLs7Kalsr4RHbCeI48lK14Dsotj8eDrTu3IjQrlLxxgXFsDp91MZqO3bHZgdOqTrPd95Im0tHRAY/Hg8rKSgQCAaxatQper9c0pJZGF8ZzDB/jOWjY7BB4S0TWMHv/r1q1Cn19fXjrrbcAhM8X27dvH+MsaIhvfed67Ap8kLH+jq48Er/8+a0Z6y+fcaJGus7OTqtLICKLxL7/Ozo6hkRj9PaGw5lbW1vhdru5qka6XYEP8OYxszLX4TubU2q2cuVK3HPPPTj22GNRWVmJM844A/Pnz8e3vvUtvP/++ygrK8Ovf/1rnHDCCbjyyitx2GGHoa2tDe+++y5+8pOfYMGCBQCAn/70p/jDH/6A/fv3Y/78+Vi+fDn27duH//qv/0J3dzcOHjyIpUuX4vOf/3zmjjFFnKiRzg6Bt6OJz+cDRs8nf9Qb/p3b9f0VG+obGzxrxJBYsoO2tjY8+OCD2Lp1KwYHB3H66afjjDPOwNVXX41169ahpqYG//d//4dvfvOb+POf/wwAeOedd/DXv/4Vr732Gi6++GIsWLAAGzduhM/nw/PPPw+lFC6++GI888wzeP/99/HRj34Ujz/+OABgz549lhxnQcRziMhEEblXRN4QkXYRaRGR80TkgQz1v0xErk/S5hIROSkT4xERWS1R0CxDYskO/vrXv2LevHkoLS3F+PHjcdFFF2FgYAB/+9vf8J//+Z+YMWMGvva1r+Gdd97R97nkkkvgcDhw0kknYdeuXQCAjRs3YuPGjTjttNNw+umn47XXXoPP58Mpp5yCJ598Et///vfx7LPP4vDDrblCP+9X1CQchvNHAF6l1MLIYzMAjFdKLTBpX6SUGsxCKZcAeAxAe6o7ZLGWYbFD4O1ool1MQKNEOVBTlZuA3uGIXemLDZ41Ykgs2YHZxZChUAgTJkzAtm3bTPcpLi4esr9SCjfeeCO+9rWvDWm/ZcsWtLS04MYbb8ScOXOyeiVyPIWwonYBgKBSap32gFJqG4AdIvIyAIjIlSJyv4g8CmCjiJSLyP+KyEsisl1ELou0078dW0QWiMjdsYOJyFUi8oKI/FNEHhSRMhH5FICLAfxURLaJyFQRmSEi/4j0/0cROSKy/2YR+ZGI/AXAD0XkTRFxRrYdJiJ+7X6uMfCWaPSKff/HBs8aMSSW7OCcc87Bo48+ioGBAfT29uLxxx9HWVkZjjvuONx///0AwpOwf/7znwn7+cxnPoO77rpLPwdz586deO+99/D222+jrKwM//3f/43rr78eL774YtaPyUzer6gBOBnAlhTafRLAqUqpD0TkFgB7lFKnAIA2iUrRQ0qpX0f2WwXgK0qptSLSDOAxpdQDkW3bAVyjlPqLiKwAcBOA70T6mKCUOj/SzgXgcwAeBrAQwINKqeTfzJwFdj13xg6ampoyfrGFz+cD+gDHwyP4e+lg5OeYjJSUO5F15KhjLwJQyDnHuwFUWV1EfLHvf2PwrKa8vBz79u1jSCzZwsyZM3HxxRdj+vTpmDJlCmpra3H44YfjnnvuwTe+8Q2sWrUKwWAQCxcuxPTp0+P2M2fOHLz66qv45Cc/CSD8Ov/d736Hzs5OfPe734XD4YDT6cSvfvWrXB1alEKYqKVqk1JKu3b40whPigAASqkP0+jn5MgEbQLC/6z8KbaBiByO8GTsL5GHvADuNzS5z3D7TgDfQ3ii9iUAV5kNKiJXA7gaACZPnpxGuZQJnZ2deG3bNkzMYJ8fAfARCDCCabl25sUxeXZRQk/kZ0Xk2N8FMGbsONRU1VhVUvZVDS/QORAIYPny5RnNLku1z4aGhqgctRUrVsDr9aa8mpaN2smejq48MuUrNVPuLwXXX389li1bhr6+Ppx33nm47rrrcNxxx+GJJ54Y0vbuu++Ouq+toAHA4sWLsXjx4qjtU6dOxWc+85n0i8+wQpiovQJgyLloJvYZbgvCWeGxjI+VxOnnbgCXKKX+KSJXApiVwthxa1FKPSciLhE5H8AYpdTLZjsope4AcAcQDrwdxphJMUctsYkAvgJ7fYvAbyIvWbvVla7fQGFCTXrnb42W16vX68X27dszepVlqn1OmzZtyD94tbWmmZwjGofyn1WZZ1dffTXa29sxMDAAt9uN008/3ZI6sqkQzlH7M4BiEdFXokRkJoApCfbZCODbhvbaR5+7ROREEXEAmB9n3/EA3omcR3a54fG9kW1QSu0B8KGInBvZdgWAvyC+9QA2APjfBG2yrrOzk1lqlDdGw+s1EAigtbUVSim0traip6cn+U4W9GnlODS6/f73v8e2bdvw2muv4cYbb7S6nKzI+xU1pZQSkfkAfi4iNwAYAODHofPBzKwC8MvIxQYHASwH8BCAGxC+cnMHgJdhfsbMUgD/B6ALwEuITM4A3Avg1yLiQXiFzw1gnYiUAfgXwh9rxnNPpKYNSQ43q5ijFp/P5yuIv2rsqgfA+2lmjMXmfhUir9erX5mWqeyybPRp5ThEhS7vJ2oAoJR6G8B/mWw6ObL9boQ/stTa9yI8kYrt5wEAQ7LXlFLLDLd/BWDIGYVKqecAxOaonWXSbpZJnecAeEAptdtkGxGNUps2bUIwGD6RT8suG+lkJxt9WjkOUaEriIlaPhORtQDqANRbXQtz1OLzeDzYHSeXh0auAkj7HLXRsPI7e/ZstLS0IBgMZiy7LBt9WjkOUaHjpzkWU0pdo5SqVkp1WF0Lc9Qon4yG16vb7UY40ztz2WXZ6NPKcYgKHVfUSDcaVihG4l2Er07sAXDA6mIitDpWmV7EnD8OIP1z1DSF+Lrt7u4GEF7lHj9+PHp6elBeXo7ly5cDCE9Sh3vclZWVqKurQ3Nzc1bz0HI1DtFw1NfX4/e//z0mTJiQ9r4PP/wwpk2bhpNOys23RnKiRpQC48rN+z4fQgODmFB2lIUVhfUOhCMAy0vSyWy2r51v8MpAANjTtxcAIPt7oELFcI4pBgaKsfONHuzue2/E/bvdbvj9/qyvcuVqHLLejdd+C3t63s1Yf4dXTMSPb/tlxvrTKKWglEJLS8uw+3j44Ycxd+5cTtSI7MS4euHxeLDzjR5ccMLCBHsQDd/Tr90LAKavMW3bSFRWVmLt2rUj7me44zAIt/Ds6XkXN1Rn7gyem5Mk73z/+9/HlClT8M1vfhMAsGzZMogInnnmGXz44YcIBoNYtWoV5s2bB7/fj7q6OlxwwQX4+9//jocffhjnn38+2traUFlZiUsuuQQ7duzAwMAAFi9ejKuvvhpA+BsKFi9ejMceewylpaV45JFH8MYbb6C5uRl/+ctfsGrVKjz44IN4/PHHsW7dOhQVFeGkk07CvfeO/D1qxHPUSNfU1MQLCYgooUz8f8IYhEs0HAsXLsR99x36kp8//OEP+NKXvoQ//vGPePHFF/H000/juuuu0yNiXn/9dSxatAhbt27FlCnRMat33XUXtmzZgra2NjQ1NemZf/v27cNZZ52Ff/7znzjvvPPw61//Gp/61Kdw8cUX46c//Sm2bduGqVOn4uabb8bWrVuxfft2rFu3DpnGiRrpRkOAKBGNzEj/P8EgXMqE0047Tf/i9H/+85844ogjcMwxx+AHP/gBTj31VHz605/Gzp07sWvXLgDAlClTcNZZQxKzAIT/+Jg+fTrOOuss7NixI/w9zADGjh2LuXPnAgDOOOOMqO+9NTr11FNx+eWX43e/+x2KijL/QSU/+iQdA29T4/P5EDqQ31/ZRPmrd+BD+HwfWPY+HWnQMINwKVMWLFiABx54AO+++y4WLlyIe+65B++//z62bNkCp9MJl8uFgYEBAMC4ceNM+9i8eTOefPJJ/P3vf0dZWRlmzZql7+N0OvUrl8eMGYPBwUHTPh5//HE888wzaG5uxsqVK/HKK69kdMLGFTUiIsoZsyBcouFYuHAh7r33XjzwwANYsGAB9uzZg6OOOgpOpxNPP/00urq6kvaxZ88eHHHEESgrK8Nrr72Gf/zjH0n3GT9+PPbuDV/wEwqFsGPHDlxwwQX4yU9+gt27d0d92XsmcEWNdAy8TY12MQGRFcpLjkDV1ArL3qcjXcljEC5lysc//nHs3bsXVVVVOOaYY3D55ZfjoosuQm1tLWbMmIETTjghaR+f/exnsW7dOpx66qn42Mc+FvfjUaOFCxfiqquuQlNTE+6991585StfwZ49e6CUwrXXXjusyI9EOFEjXaGHhxLRyI30/xNutxutra0AGIRbSA6vmJj0Ss10+0vFSy+9pN+urKzE3//+d9N2L7/8ctR94/lm2usxlnFlbMGCBViwYAEA4Oyzz0Z7e7u+7a9//WtKtQ4XJ2qky+Q5L01NTXl7YYIxbNSMz+dD374+/PHF0bnyWORwFkxum11pWWlmURy7+95DFayLtBjp/ycYhFuYspF5RmGcqFFWdHZ24uV//hPjx+bfS2zvgfAJowf37jHdPhbA2OIiAKHcFWUTew8MwlFShKqp/Mc1m1R3PwCgatLQ57kKFXm/+s0gXKLU5d+/opQ12jkvmVpZGz+2CGcenX8rL8/vCqf952Pt2fb8rg8xJc0vTx+JTL8myR5yFbhLVAg4USNdvn5USYWLr0kiGu04USNdJnPUfD4fBgcPZqAqspO+wYPwDfPL04djpJldRET5jjlqRERERDbFFTXSZTJHzePxoOvVV0bcD9lLWdGYnJ6jxnPTiChT7r77bsyZMwcf/ehHAQAul0v/YnY740SNdPl+JRkVHr4mifLDt6/7Nnb17MpYf0dXHI1frPlFxvoDwhO1k08+WZ+o5QtO1EiX6dWLvQcG9Sso84kWz5GPtWeb9tzkClfUiPLDrp5dePuMtzPX4ZbkTfx+Pz772c/iE5/4BLZu3Ypp06Zh/fr1uPXWW/Hoo4+iv78fn/rUp/A///M/ePDBB9HW1obLL78cpaWlejDu2rVr8eijjyIYDOL+++/HCSecgFNOOQXPPvssDj/8cFRWVuK2227DokWLcMUVV8DtdqO6uhpXXHEF9u3bBwD4xS9+gU996lO44oorsGDBAsybNw8AcPnll+Pzn/88Lr744hE9FZyoUVbk80pIssDb0S6ff7dEVFhef/11/OY3v8HZZ5+NL3/5y7j99tvx7W9/G42NjQCAK664Ao899hgWLFiAX/ziF7j11ltRW1ur719ZWYkXX3wRt99+O2699VbceeedOPvss/Hcc89hypQpOP744/Hss89i0aJF+Mc//oFf/epXcDgc2LRpE0pKSuDz+fCFL3wBbW1t+OpXv4rbbrsN8+bNw549e/C3v/0NXq93xMfIiRplBVdCiIgo24499licffbZAID//u//RlNTE4477jj85Cc/QV9fHz744AN8/OMfx0UXXWS6/6WXXgoAOOOMM/DQQw8BAM4991w888wzmDJlCr7xjW/gjjvuwM6dO3HkkUeivLwce/bswbe//W1s27YNY8aMQUdHBwDg/PPPx7e+9S289957eOihh3DZZZehqGjk0yxe9UlERER5SUSG3P/mN7+JBx54AC+99BKuuuoqDAwMxN2/uLgYADBmzBgMDoZP7TjvvPPw7LPP4tlnn8WsWbPwkY98BA888ADOPfdcAMBtt92Go48+Gv/85z/R1taGAwcO6P1dccUVuOeee/C///u/+NKXvpSRY+REjYiIiPLSW2+9pZ9vtmHDBpxzzjkAwh9p9vb24oEHHtDbjh8/Hnv37k3a57HHHotAIACfz4fjjz8e55xzDm699VZ9orZnzx4cc8wxcDgc+O1vf4uDBw9lhl555ZX4+c9/DgD4+Mc/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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "df_to_plot = pd.concat([disease_gene_icd_test,disease_variant_icd_test, disease_pathways_icd_test, icd_mirna_2, icd_lncrna_2, icd_circrna_2])\n", "df_to_plot_1 = df_to_plot.rename(columns={'caracteristica': 'feature'})\n", "fig, ax = plot.subplots(figsize = (9, 20)) \n", "ax.set_xscale(\"log\")\n", "#plot.xlim(0, 500)\n", "ax = sns.boxplot(data=df_to_plot_1, x='num_feature_disease', y='class_name', hue='feature')\n", "ax.set(xlabel='log_num_feature_disease', ylabel='class_name')\n", "#ax.set(title='Pathway and RNA distribution per ICD10 disease group')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#######################################################################" ] }, { "cell_type": "code", "execution_count": 377, "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", "
class_namedisease_idnum_feature_diseasecaracteristica
0CirculatoryC000348610miRNA
1CirculatoryC000381120miRNA
2CirculatoryC00071925miRNA
3CirculatoryC0010054125miRNA
4CirculatoryC0018799337miRNA
...............
88NeoplasmsC28541228circRNA
89NervousC00023951circRNA
90NervousC002676912circRNA
91SkinC000114410circRNA
92SkinC070216610circRNA
\n", "

592 rows × 4 columns

\n", "
" ], "text/plain": [ " class_name disease_id num_feature_disease caracteristica\n", "0 Circulatory C0003486 10 miRNA\n", "1 Circulatory C0003811 20 miRNA\n", "2 Circulatory C0007192 5 miRNA\n", "3 Circulatory C0010054 125 miRNA\n", "4 Circulatory C0018799 337 miRNA\n", ".. ... ... ... ...\n", "88 Neoplasms C2854122 8 circRNA\n", "89 Nervous C0002395 1 circRNA\n", "90 Nervous C0026769 12 circRNA\n", "91 Skin C0001144 10 circRNA\n", "92 Skin C0702166 10 circRNA\n", "\n", "[592 rows x 4 columns]" ] }, "execution_count": 377, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_to_plot = pd.concat([icd_mirna_2, icd_lncrna_2, icd_circrna_2])\n", "df_to_plot" ] }, { "cell_type": "code", "execution_count": 378, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "[Text(0.5, 0, 'log_num_feature_disease'), Text(0, 0.5, 'class_name')]" ] }, "execution_count": 378, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "df_to_plot = pd.concat([icd_mirna_2, icd_lncrna_2, icd_circrna_2])\n", "df_to_plot_1 = df_to_plot.rename(columns={'caracteristica': 'feature'})\n", "fig, ax = plot.subplots(figsize = (9, 13)) \n", "ax.set_xscale(\"log\")\n", "#plot.xlim(0, 500)\n", "ax = sns.boxplot(data=df_to_plot_1, x='num_feature_disease', y='class_name', hue='feature', showfliers = False)\n", "ax.set(xlabel='log_num_feature_disease', ylabel='class_name')" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.8.5" } }, "nbformat": 4, "nbformat_minor": 4 }