From 026fbbe8b918ff705b01807f9a379990288aac4e Mon Sep 17 00:00:00 2001 From: Ayushi Agrawal Date: Wed, 12 Apr 2023 12:14:46 -0700 Subject: [PATCH] :bug: #6 fix --- PET_notebook_v1.ipynb | 742 +++--------------------------------------- 1 file changed, 40 insertions(+), 702 deletions(-) diff --git a/PET_notebook_v1.ipynb b/PET_notebook_v1.ipynb index 045b520..8d8c04b 100644 --- a/PET_notebook_v1.ipynb +++ b/PET_notebook_v1.ipynb @@ -39,7 +39,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -48,37 +48,11 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": { "id": "BrREAxe69lsV" }, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n", - "
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "from IPython.display import display, HTML\n", "display(HTML('''\n", @@ -124,28 +98,13 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "f06ac045e68d43bbbf3f635594ee2d87", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Box(children=(VBox(children=(HBox(children=(Label(value='TRAPI Result URL:'), Text(value='https://arax.ncats.i…" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# TRAPI Result URL\n", "trapi_results_url = widgets.Text(\n", - " value='https://arax.ncats.io/api/arax/v1.3/response/7b14f961-9066-41f7-9e3b-d76b2b4a7fac',\n", + " value='https://arax.ncats.io/api/arax/v1.3/response/33dd53d9-fd8e-4f17-9a3b-055a782d8467',\n", " placeholder='Paste here',\n", " description='',\n", " disabled=False\n", @@ -199,19 +158,11 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "metadata": { "scrolled": true }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Summary: query_graph: 2 edges, 3 nodes; results: 7\n" - ] - } - ], + "outputs": [], "source": [ "with urlopen(trapi_results_url.value) as url:\n", " trapi_results_json = json.load(url)\n", @@ -245,124 +196,11 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "metadata": { "scrolled": false }, - "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", - "
reasoner_idscorenode_bindings.n0node_bindings.n1node_bindings.n2
0BTE2.906806PUBCHEM.COMPOUND:123596NCBIGene:7422HP:0002099
1BTE1.120319PUBCHEM.COMPOUND:123596NCBIGene:841HP:0002099
2BTE0.851030PUBCHEM.COMPOUND:123596NCBIGene:4067HP:0002099
3BTE0.796666PUBCHEM.COMPOUND:123596NCBIGene:3576HP:0002099
4BTE0.000000PUBCHEM.COMPOUND:123596NCBIGene:142HP:0002099
5BTE0.000000PUBCHEM.COMPOUND:123596NCBIGene:5156HP:0002099
6BTE0.000000PUBCHEM.COMPOUND:123596NCBIGene:3725HP:0002099
\n", - "
" - ], - "text/plain": [ - " reasoner_id score node_bindings.n0 node_bindings.n1 \\\n", - "0 BTE 2.906806 PUBCHEM.COMPOUND:123596 NCBIGene:7422 \n", - "1 BTE 1.120319 PUBCHEM.COMPOUND:123596 NCBIGene:841 \n", - "2 BTE 0.851030 PUBCHEM.COMPOUND:123596 NCBIGene:4067 \n", - "3 BTE 0.796666 PUBCHEM.COMPOUND:123596 NCBIGene:3576 \n", - "4 BTE 0.000000 PUBCHEM.COMPOUND:123596 NCBIGene:142 \n", - "5 BTE 0.000000 PUBCHEM.COMPOUND:123596 NCBIGene:5156 \n", - "6 BTE 0.000000 PUBCHEM.COMPOUND:123596 NCBIGene:3725 \n", - "\n", - " node_bindings.n2 \n", - "0 HP:0002099 \n", - "1 HP:0002099 \n", - "2 HP:0002099 \n", - "3 HP:0002099 \n", - "4 HP:0002099 \n", - "5 HP:0002099 \n", - "6 HP:0002099 " - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# Using the xrefs in knowledge_graph node attributes we are building dictionaries of \n", "# result CURIEs and names.\n", @@ -370,8 +208,7 @@ "curie_to_name = dict()\n", "curie_to_unified_curies = dict()\n", "for k, v in trapi_message[\"knowledge_graph\"][\"nodes\"].items():\n", - " #curie_to_name[k] = v[\"name\"]\n", - " #first check is k is already what we want\n", + " #first check if k is already what we want\n", " [prefix, identifier] = k.split(\":\")\n", " if prefix in preferred_prefixes:\n", " curie_to_unified_curies[k] = k\n", @@ -390,6 +227,13 @@ " curie_to_unified_curies[k] = list(unified_curies)[0]\n", " elif len(unified_curies) > 1:\n", " curie_to_unified_curies[k] = unified_curies\n", + " #get the node name\n", + " if \"name\" in v:\n", + " curie_to_name[k] = v[\"name\"]\n", + " elif k in curie_to_unified_curies.keys():\n", + " curie_to_name[k] = curie_to_unified_curies[k]\n", + " else:\n", + " curie_to_name[k] = \"NaN\"\n", " \n", "# Append new columns to results df: name and unified_curie\n", "columns_to_lookup = [col for col in trapi_results_df.columns if col.startswith(\"node_bindings\") and col[-2].lower() == 'n' and col[-1].isdigit()]\n", @@ -402,13 +246,13 @@ "\n", "# Add the new columns per node by applying the lookup function\n", "for i in range(len(columns_to_lookup)):\n", - " #trapi_results_df[new_name_columns[i]] = trapi_results_df.apply(lambda row: lookup(row, columns_to_lookup[i], curie_to_name), axis=1)\n", + " trapi_results_df[new_name_columns[i]] = trapi_results_df.apply(lambda row: lookup(row, columns_to_lookup[i], curie_to_name), axis=1)\n", " trapi_results_df[new_unified_curies_columns[i]] = trapi_results_df.apply(lambda row: lookup(row, columns_to_lookup[i], curie_to_unified_curies), axis=1)\n", "\n", "# Append a new columns: result_name and unified_curie_set for pathway analysis\n", "#trapi_results_df['result_name'] = trapi_results_df[new_name_columns[0]].str.cat(trapi_results_df[new_name_columns], sep=\"_\")\n", "trapi_results_df['result_name'] = trapi_results_df.reset_index().index.astype(str)\n", - "#trapi_results_df['result_name'] = trapi_results_df['result_name'].str.cat(trapi_results_df[new_name_columns], sep='_')\n", + "trapi_results_df['result_name'] = trapi_results_df['result_name'].str.cat(trapi_results_df[new_name_columns], sep='_')\n", "\n", "\n", "def collect_curie_set(row):\n", @@ -421,7 +265,7 @@ " return unified_curie_set\n", "trapi_results_df['unified_curie_set'] = trapi_results_df.apply(collect_curie_set, axis=1)\n", "display_columns = ['reasoner_id','score']\n", - "display_columns.extend(columns_to_lookup)\n", + "display_columns.extend(new_name_columns)\n", "display(trapi_results_df[display_columns])" ] }, @@ -436,17 +280,9 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "set()\n" - ] - } - ], + "outputs": [], "source": [ "#get all nodes with ids from the query \n", "user_specified_ids = set()\n", @@ -473,7 +309,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -486,21 +322,11 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "metadata": { "scrolled": false }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Total number of PFOCR pathways: 77719\n", - "Total number of PFOCR pathway CURIEs: 30163\n", - "Total number of TRAPI result CURIEs: 8\n" - ] - } - ], + "outputs": [], "source": [ "# Define total sets of unified curies for enrichment test\n", "total_pfocr_pathways = len(figure_metadata_df.index)\n", @@ -530,7 +356,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -750,418 +576,9 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Total number of pathway figure results: 3\n" - ] - }, - { - "data": { - "text/html": [ - "
" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "

1. Contribution of toll-like receptor signaling pathways to breast tumorigenesis and treatment.

     * Link to pathway figure at PFOCR * Link to article at PMC" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Number of TRAPI results represented by this pathway: 4\n", - "Number of CURIEs represented by this pathway: 4\n", - "Query-specified CURIEs in this pathway: set()\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", - "
reasoner_idscorenode_bindings.n0node_bindings.n1node_bindings.n2
1BTE1.120319PUBCHEM.COMPOUND:123596NCBIGene:841HP:0002099
3BTE0.796666PUBCHEM.COMPOUND:123596NCBIGene:3576HP:0002099
4BTE0.000000PUBCHEM.COMPOUND:123596NCBIGene:142HP:0002099
6BTE0.000000PUBCHEM.COMPOUND:123596NCBIGene:3725HP:0002099
\n", - "
" - ], - "text/plain": [ - " reasoner_id score node_bindings.n0 node_bindings.n1 \\\n", - "1 BTE 1.120319 PUBCHEM.COMPOUND:123596 NCBIGene:841 \n", - "3 BTE 0.796666 PUBCHEM.COMPOUND:123596 NCBIGene:3576 \n", - "4 BTE 0.000000 PUBCHEM.COMPOUND:123596 NCBIGene:142 \n", - "6 BTE 0.000000 PUBCHEM.COMPOUND:123596 NCBIGene:3725 \n", - "\n", - " node_bindings.n2 \n", - "1 HP:0002099 \n", - "3 HP:0002099 \n", - "4 HP:0002099 \n", - "6 HP:0002099 " - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "

2. Platelet targeted therapeutics

     * Link to pathway figure at PFOCR * Link to article at PMC" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Number of TRAPI results represented by this pathway: 3\n", - "Number of CURIEs represented by this pathway: 3\n", - "Query-specified CURIEs in this pathway: set()\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", - "
reasoner_idscorenode_bindings.n0node_bindings.n1node_bindings.n2
0BTE2.906806PUBCHEM.COMPOUND:123596NCBIGene:7422HP:0002099
2BTE0.851030PUBCHEM.COMPOUND:123596NCBIGene:4067HP:0002099
5BTE0.000000PUBCHEM.COMPOUND:123596NCBIGene:5156HP:0002099
\n", - "
" - ], - "text/plain": [ - " reasoner_id score node_bindings.n0 node_bindings.n1 \\\n", - "0 BTE 2.906806 PUBCHEM.COMPOUND:123596 NCBIGene:7422 \n", - "2 BTE 0.851030 PUBCHEM.COMPOUND:123596 NCBIGene:4067 \n", - "5 BTE 0.000000 PUBCHEM.COMPOUND:123596 NCBIGene:5156 \n", - "\n", - " node_bindings.n2 \n", - "0 HP:0002099 \n", - "2 HP:0002099 \n", - "5 HP:0002099 " - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "

3. Key Figure Schematic of Transgelin-2 in the Intracellular Interaction and Signaling Mechanism

     * Link to pathway figure at PFOCR * Link to article at PMC" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Number of TRAPI results represented by this pathway: 7\n", - "Number of CURIEs represented by this pathway: 1\n", - "Query-specified CURIEs in this pathway: set()\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", - "
reasoner_idscorenode_bindings.n0node_bindings.n1node_bindings.n2
0BTE2.906806PUBCHEM.COMPOUND:123596NCBIGene:7422HP:0002099
1BTE1.120319PUBCHEM.COMPOUND:123596NCBIGene:841HP:0002099
2BTE0.851030PUBCHEM.COMPOUND:123596NCBIGene:4067HP:0002099
3BTE0.796666PUBCHEM.COMPOUND:123596NCBIGene:3576HP:0002099
4BTE0.000000PUBCHEM.COMPOUND:123596NCBIGene:142HP:0002099
5BTE0.000000PUBCHEM.COMPOUND:123596NCBIGene:5156HP:0002099
6BTE0.000000PUBCHEM.COMPOUND:123596NCBIGene:3725HP:0002099
\n", - "
" - ], - "text/plain": [ - " reasoner_id score node_bindings.n0 node_bindings.n1 \\\n", - "0 BTE 2.906806 PUBCHEM.COMPOUND:123596 NCBIGene:7422 \n", - "1 BTE 1.120319 PUBCHEM.COMPOUND:123596 NCBIGene:841 \n", - "2 BTE 0.851030 PUBCHEM.COMPOUND:123596 NCBIGene:4067 \n", - "3 BTE 0.796666 PUBCHEM.COMPOUND:123596 NCBIGene:3576 \n", - "4 BTE 0.000000 PUBCHEM.COMPOUND:123596 NCBIGene:142 \n", - "5 BTE 0.000000 PUBCHEM.COMPOUND:123596 NCBIGene:5156 \n", - "6 BTE 0.000000 PUBCHEM.COMPOUND:123596 NCBIGene:3725 \n", - "\n", - " node_bindings.n2 \n", - "0 HP:0002099 \n", - "1 HP:0002099 \n", - "2 HP:0002099 \n", - "3 HP:0002099 \n", - "4 HP:0002099 \n", - "5 HP:0002099 \n", - "6 HP:0002099 " - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "from IPython.display import display, Image\n", "from IPython.core.display import HTML \n", @@ -1200,17 +617,9 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Total number of TRAPI results represented by pathways: 7 out of 7\n" - ] - } - ], + "outputs": [], "source": [ "#as heatmap, sorting rows by pathway figure groupings\n", "pathway_figure_df_tall = pathway_figure_df[[\"figure_id\",\"trapi_result_set\"]].explode(\"trapi_result_set\")\n", @@ -1226,29 +635,9 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Pathway figures by TRAPI results, sorting rows by pathway figure groupings (not all 7 row names are shown)\n" - ] - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "plt_w = len(pathway_figure_df.index)\n", "plt_h = min(rep_trapi_result_count,plt_w*2)\n", @@ -1264,27 +653,9 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Pathway figures by TRAPI results, sorting rows by result order (not all 7 row names are shown)\n" - ] - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "#as heatmap, sorting rows by original TRAPI result order\n", "sorted_result_bool=trapi_results_df['result_name'].isin(df.index)\n", @@ -1314,17 +685,9 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Total number of CURIEs represented by pathways: 8 out of 8\n" - ] - } - ], + "outputs": [], "source": [ "pathway_figure_df_tall_2 = pathway_figure_df[[\"figure_id\",\"figure_curies_in_trapi_results\"]].explode(\"figure_curies_in_trapi_results\")\n", "rep_curie_count = len(pathway_figure_df_tall_2['figure_curies_in_trapi_results'].unique())\n", @@ -1340,27 +703,9 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Pathway figures by CURIEs (not all 8 row names are shown)\n" - ] - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAR4AAAI5CAYAAAB3iFXFAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAABkbUlEQVR4nO3deVyUVf//8dcI4oZbyKItd5mEKSoqGriDmWIswq2mCZqhqamolWKaplJuud9qhku5pOUWqGnmbiqo3bhvmVqCIkggmyIwc35/8HO+EehtAXPB+Hk+HjwezJmZaz4zI2+v61znOkenlFIIIYQJldO6ACHEk0eCRwhhchI8QgiTk+ARQpicBI8QwuQkeIQQJmepdQFCPKl0Op3WJZSoR43UkT0eIYTJSfAIIUxOgkcIYXISPEIIk5PgEUKYnASPEMLkJHiEECYnwSOEMDkJHiGEyUnwCCFMToJHCGFyEjxCCJOT4BFCmJwEjxDC5CR4hBAmV6LBExcXh5OTExMnTszXfuHCBZycnNi8eTOenp507doVPz8/48+HH34IQFpaGu+//z4+Pj74+PgQHBzMb7/9BsDRo0cJCgoq8Hqenp4F6jh69ChNmzbFz88PX19fOnfuzNSpU8nMzDQ+ZsWKFXTp0oXOnTvz448/Gtu3bt1K165dee211/j666/zbTcnJ4d+/fpx9OhRY9vu3buNr/Puu++Smpqa7znnz5/H2dnZePu3334jMDAQHx8fgoKCuHbt2uN8tEKUbaoExcbGqpYtW6oOHTqo3NxcY/usWbOUm5ub2rRpk/Lw8FCxsbGFPn/ixIlqyZIlxttbt25V3bp1U0opFR0drQIDAwu8noeHR4Ht/PWx2dnZ6oMPPlAffPCBUkqpU6dOKT8/P5WVlaWSkpJUx44dVUpKirp165by8PBQKSkpKjMzU/n4+KjLly8rpZS6cuWKeuONN1SjRo1UdHS0Ukqp9PR01bp1a3Xr1i2llFLz5s1TYWFhxte9e/eu6tWrl3rppZeMbb169VKbNm1SSil14sQJ5evr+78+VmEmALP+eZQSP9SqUqUKL7/8MsePHze2HT58mFatWv3P5yYlJXH//n0MBgMAXbt2Zfjw4Y/1umfOnGHgwIGF3le+fHnGjBnD9u3bSUtL4+DBg3Tq1IkKFSpgY2NDy5Yt2b9/P0eOHMHNzY0aNWpQuXJlOnfuzA8//ADAxo0bGTBgAE2aNDFuNycnh48//hh7e3sAnJyciI+PN94/ffp0+vXrl6+WCxcu0KVLFwBcXFxITEwkNjb2sd6jEGWVSaY+9fLyYufOnbi5uXH69GmcnJzyTYv4zjvvUL58eePtvn378u9//5shQ4YwdOhQ1q5di5ubG61bt8bX19f4uLNnz+Ln52e8nZOTY/y9UaNGLF269KE12draUq1aNX777TcSExNp1KhRvvtu3bqFTqfD1tbW2G5nZ8fp06cBGDNmDAArV6403l+zZk06deoEQFZWFuHh4cbDwT179pCVlWUMmQcaNGjA999/T48ePYiKiuLOnTvcvn2bZ5999lEfqRBlmkmCx9PTk3nz5mEwGNixYwdeXl5s377deH94eDjPPPNMgec5OzuzZ88eYmJiOHLkCCtWrOCbb77h22+/Nd6/evVq4+Pj4uLo27fvY9el0+moUKGCcY/qz8qVK4der883L65S6rHmyU1PT2fo0KHUr18ff39/bt++zeeff85XX31V4LHTp08nLCyM1atX065dO+rXr58vhIUwRyY5q1WlShXq16/Pf//7X6Kjox/rMEspxccff4xer6dly5aMHDmSLVu2kJKSwvnz54tcU1JSEunp6Tz33HM4ODhw+/Zt4323b9/Gzs7uoe2PkpiYyJtvvomTkxOffvopAPv37+fOnTv06dPHuIfm5+dHRkYGubm5LFq0iC1btjBixAji4uIKDWEhzInJTqd7eXkxe/ZsnJ2dsbT83ztaOp2OK1eusHz5cuMeSVxcHLm5uTz33HNFqiU7O5uZM2fi7+9PpUqVaNeuHT/++CP37t0jOTmZ6Oho3N3dadWqFVFRUSQnJ3Pv3j1+/PFH2rVr99Dt6vV6Bg8ejJeXF+PHjzfuHfXo0YPdu3cTGRlJZGQkAJGRkVhbWzN37lz27NkD5PUbNWrUiJo1axbp/QlR2plseRsPDw/Gjx/PiBEjCtz31z6eSpUq8c033zBnzhymTZtGx44dqVSpElWrVmX27NnUqFHjf77emTNnWLBggbGf58/9QXq9Hjc3N2M/TePGjfH19aV79+7k5uYSEhJi7CAeNWoUffv2JScnh+7du9O4ceOHvubevXs5f/48er2enTt3AnmHgw/2fArzwQcfEBoaysKFC7G3t2fatGn/870JUdbplHrE4jdC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1brEYpWUlMT+/fvp3r271qUAEjzib8jNzcXS0jx2kn19fY1rwxsMBvr06cO6devIzs7G19eXH374QeMKi+bevXvMnj2bPXv2GK+1e7AuWnBwMBYWFprWJ+N4RKHu379PaGgou3btMrYNGzaM0NDQfKN9yyq9Xm9civn27dvGfqucnByzCNeJEyfi4ODAsmXLeOedd/jwww8JCwvj0qVLfPrpp1qXJ8EjCjdjxgwqVaqUb5DZrFmzsLKyYubMmRpWVjyCg4MJCAhg5MiR9OrVi+DgYH7//Xe8vb3p37+/1uUV2S+//MKAAQN48cUXGT58OOvXr6dRo0bMmjWLI0eOaF2edC6Lwh0/fpzIyMh8a2hZW1szceJEunXrpl1hxSQgIICmTZty6dIlRo4cyfPPP092djbfffed8Rq1skwpxdWrV6lbty6XLl0yntF60JGuNQkeUSgLC4tCF+4rX758qfiHWxyuXLnCvn372LBhQ74+EBcXF61LK7L333+fwMBAnn76aeLj45k5cyZXrlzh7bffZsqUKVqXJ8EjClejRg3OnDlDo0aN8rWfOXPGLEb2mvva8O3bt2fnzp389ttvPP/881StWhWlFPv37y8V43nkrJYo1MmTJxk2bBg9evSgYcOGWFlZcebMGdatW8dnn32Gu7u71iUWiZ+fn3Ft+Pv37xvXhk9PT883dqmsys3NJSIigooVK9K5c2emTZvG8ePHadSoEWPGjNH8cFL2eEShXFxcWLZsGStWrGD37t3odDqcnZ1ZsWIFL730ktblFZm5rw3/0UcfcffuXbKzs1mzZg2NGzdm7ty57N69m4kTJ2q+NpoEj3io+vXrm8UZrMKY+9rw586dY+vWrej1etq3b88333wD5F3y4ufnp3F1EjziIfr27fvI+1etWmWiSkrGO++8Q6NGjTh//jxjx441rg0/Y8YMs1gbvly5cly7do309HTS09OJi4vjmWeeITk52XjVupYkeEShUlNTuX37Nl26dKFDhw5m0aH8V+7u7vn6qh6sDW8ORo8eTf/+/TEYDMyePZuBAwfy0ksvcebMGUJCQrQuTzqXxcNdu3aN7du3s3//fp577jm8vLxo164dVlZWWpcm/qakpCR+/vlnHB0defHFF7UuR4JHPJ7Lly+zY8cOfvrpJ1588UWmT5+udUlF0qZNG+MlE3+m/v+kWZpP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\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "#as heatmap\n", "import matplotlib.pyplot as plt\n", @@ -1377,13 +722,6 @@ " print('Pathway figures by CURIEs (not all',rep_curie_count,'row names are shown)')\n", "plt.show()" ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { @@ -1407,7 +745,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.7" + "version": "3.9.16" } }, "nbformat": 4,