Skip to content

Instantly share code, notes, and snippets.

@BjornFJohansson
Created September 20, 2023 14:07
Show Gist options
  • Save BjornFJohansson/14e3a70fed1d61b4b84991f34b214873 to your computer and use it in GitHub Desktop.
Save BjornFJohansson/14e3a70fed1d61b4b84991f34b214873 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"id": "428b61ce",
"metadata": {},
"source": [
"# Escher Introduction"
]
},
{
"cell_type": "markdown",
"id": "f70bd5f9",
"metadata": {},
"source": [
"Load the Escher COBRApy package"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "204fcda3",
"metadata": {},
"outputs": [],
"source": [
"import cobra\n",
"import escher\n",
"from escher import Builder"
]
},
{
"cell_type": "markdown",
"id": "88fc1c44",
"metadata": {},
"source": [
"## Default Models\n",
"\n",
"Load a model and an Escher map. The standard models available from Escher include"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "89652e6d",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[{'organism': 'Saccharomyces cerevisiae', 'model_name': 'iMM904'},\n",
" {'organism': 'Homo sapiens', 'model_name': 'RECON1'},\n",
" {'organism': 'Escherichia coli', 'model_name': 'e_coli_core'},\n",
" {'organism': 'Escherichia coli', 'model_name': 'iJO1366'}]"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"escher.list_available_models()"
]
},
{
"cell_type": "markdown",
"id": "a84540ab",
"metadata": {},
"source": [
"Other models can be used but that will be discussed in a later tutorial. The Escher maps available from Escher are list below."
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "7b3d3fad",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[{'organism': 'Saccharomyces cerevisiae',\n",
" 'map_name': 'iMM904.Central carbon metabolism'},\n",
" {'organism': 'Homo sapiens',\n",
" 'map_name': 'RECON1.Inositol retinol metabolism'},\n",
" {'organism': 'Homo sapiens', 'map_name': 'RECON1.Glycolysis TCA PPP'},\n",
" {'organism': 'Homo sapiens', 'map_name': 'RECON1.Tryptophan metabolism'},\n",
" {'organism': 'Homo sapiens', 'map_name': 'RECON1.Carbohydrate metabolism'},\n",
" {'organism': 'Homo sapiens',\n",
" 'map_name': 'RECON1.Amino acid metabolism (partial)'},\n",
" {'organism': 'Escherichia coli', 'map_name': 'iJO1366.Nucleotide metabolism'},\n",
" {'organism': 'Escherichia coli',\n",
" 'map_name': 'iJO1366.Fatty acid biosynthesis (saturated)'},\n",
" {'organism': 'Escherichia coli',\n",
" 'map_name': 'iJO1366.Nucleotide and histidine biosynthesis'},\n",
" {'organism': 'Escherichia coli', 'map_name': 'e_coli_core.Core metabolism'},\n",
" {'organism': 'Escherichia coli', 'map_name': 'iJO1366.Central metabolism'},\n",
" {'organism': 'Escherichia coli',\n",
" 'map_name': 'iJO1366.Fatty acid beta-oxidation'}]"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"escher.list_available_maps()"
]
},
{
"cell_type": "markdown",
"id": "0400ab47",
"metadata": {},
"source": [
"Downloading the *E.coli* core map and model into the Jupyter widget \"builder\""
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "41eaf43a",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Downloading Map from https://escher.github.io/1-0-0/6/maps/Escherichia%20coli/e_coli_core.Core%20metabolism.json\n",
"Downloading Model from https://escher.github.io/1-0-0/6/models/Escherichia%20coli/e_coli_core.json\n"
]
}
],
"source": [
"builder = Builder(\n",
" map_name='e_coli_core.Core metabolism',\n",
" model_name='e_coli_core',\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "35483eb1",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "e1bf6ffea94949d48aaf18cd9dfa6ae9",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Builder()"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"builder"
]
},
{
"cell_type": "markdown",
"id": "c10a8444",
"metadata": {},
"source": [
"Download the map and model for the iJO1366 central metabolism"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "7b5b0e8d",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Downloading Map from https://escher.github.io/1-0-0/6/maps/Escherichia%20coli/iJO1366.Central%20metabolism.json\n",
"Downloading Model from https://escher.github.io/1-0-0/6/models/Escherichia%20coli/iJO1366.json\n"
]
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "3c257fb8e5de4eb3affd37be068ec8a0",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Builder()"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"builder = Builder(\n",
" map_name='iJO1366.Central metabolism',\n",
" model_name='iJO1366',\n",
")\n",
"builder"
]
},
{
"cell_type": "markdown",
"id": "7a39b32c",
"metadata": {},
"source": [
"Download the map and model for the ''Saccharomyces cerevisiae (iMM904)' central metabolism"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "d8f9caf4",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Downloading Map from https://escher.github.io/1-0-0/6/maps/Saccharomyces%20cerevisiae/iMM904.Central%20carbon%20metabolism.json\n",
"Downloading Model from https://escher.github.io/1-0-0/6/models/Saccharomyces%20cerevisiae/iMM904.json\n"
]
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "0a0d1e4568e944afa830bdc48dff353b",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Builder()"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"builder = Builder(\n",
" map_name='iMM904.Central carbon metabolism',\n",
" model_name='iMM904',\n",
")\n",
"builder"
]
},
{
"cell_type": "markdown",
"id": "f234d394",
"metadata": {},
"source": [
"Download the map and model for the 'RECON1.Carbohydrate metabolism' central metabolism"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "77ffce98",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Downloading Map from https://escher.github.io/1-0-0/6/maps/Homo%20sapiens/RECON1.Carbohydrate%20metabolism.json\n",
"Downloading Model from https://escher.github.io/1-0-0/6/models/Homo%20sapiens/RECON1.json\n"
]
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "080e88fba0fa435c851caf6d9a27c90c",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Builder()"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"builder = Builder(\n",
" map_name='RECON1.Carbohydrate metabolism',\n",
" model_name='RECON1',\n",
")\n",
"builder"
]
},
{
"cell_type": "markdown",
"id": "03ddb974",
"metadata": {},
"source": [
"## External Models\n",
"\n",
"Loading a json model and map that are not part of the Escher package"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "b6275491",
"metadata": {},
"outputs": [
{
"ename": "ValueError",
"evalue": "Could not load map_json. Not valid json, url, or filepath",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mJSONDecodeError\u001b[0m Traceback (most recent call last)",
"File \u001b[0;32m~/mambaforge/envs/me21/lib/python3.8/site-packages/escher/plots.py:138\u001b[0m, in \u001b[0;36m_load_resource\u001b[0;34m(resource, name)\u001b[0m\n\u001b[1;32m 137\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 138\u001b[0m _ \u001b[38;5;241m=\u001b[39m \u001b[43mjson\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mloads\u001b[49m\u001b[43m(\u001b[49m\u001b[43mresource\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 139\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m err:\n",
"File \u001b[0;32m~/mambaforge/envs/me21/lib/python3.8/json/__init__.py:357\u001b[0m, in \u001b[0;36mloads\u001b[0;34m(s, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)\u001b[0m\n\u001b[1;32m 354\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m (\u001b[38;5;28mcls\u001b[39m \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mand\u001b[39;00m object_hook \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mand\u001b[39;00m\n\u001b[1;32m 355\u001b[0m parse_int \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mand\u001b[39;00m parse_float \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mand\u001b[39;00m\n\u001b[1;32m 356\u001b[0m parse_constant \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mand\u001b[39;00m object_pairs_hook \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m kw):\n\u001b[0;32m--> 357\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43m_default_decoder\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdecode\u001b[49m\u001b[43m(\u001b[49m\u001b[43ms\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 358\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mcls\u001b[39m \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n",
"File \u001b[0;32m~/mambaforge/envs/me21/lib/python3.8/json/decoder.py:337\u001b[0m, in \u001b[0;36mJSONDecoder.decode\u001b[0;34m(self, s, _w)\u001b[0m\n\u001b[1;32m 333\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"Return the Python representation of ``s`` (a ``str`` instance\u001b[39;00m\n\u001b[1;32m 334\u001b[0m \u001b[38;5;124;03mcontaining a JSON document).\u001b[39;00m\n\u001b[1;32m 335\u001b[0m \n\u001b[1;32m 336\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[0;32m--> 337\u001b[0m obj, end \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mraw_decode\u001b[49m\u001b[43m(\u001b[49m\u001b[43ms\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43midx\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m_w\u001b[49m\u001b[43m(\u001b[49m\u001b[43ms\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m0\u001b[39;49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mend\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 338\u001b[0m end \u001b[38;5;241m=\u001b[39m _w(s, end)\u001b[38;5;241m.\u001b[39mend()\n",
"File \u001b[0;32m~/mambaforge/envs/me21/lib/python3.8/json/decoder.py:355\u001b[0m, in \u001b[0;36mJSONDecoder.raw_decode\u001b[0;34m(self, s, idx)\u001b[0m\n\u001b[1;32m 354\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mStopIteration\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m err:\n\u001b[0;32m--> 355\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m JSONDecodeError(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mExpecting value\u001b[39m\u001b[38;5;124m\"\u001b[39m, s, err\u001b[38;5;241m.\u001b[39mvalue) \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m 356\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m obj, end\n",
"\u001b[0;31mJSONDecodeError\u001b[0m: Expecting value: line 1 column 1 (char 0)",
"\nDuring handling of the above exception, another exception occurred:\n",
"\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)",
"Cell \u001b[0;32mIn[9], line 2\u001b[0m\n\u001b[1;32m 1\u001b[0m builder \u001b[38;5;241m=\u001b[39m Builder( model_json\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124miAB_RBC_283.json\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[0;32m----> 2\u001b[0m \u001b[43mbuilder\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmap_json\u001b[49m \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124miAB_RBC_283.metabolism.json\u001b[39m\u001b[38;5;124m'\u001b[39m \u001b[38;5;66;03m# File needs to be in the current directory\u001b[39;00m\n\u001b[1;32m 3\u001b[0m builder\n",
"File \u001b[0;32m~/mambaforge/envs/me21/lib/python3.8/site-packages/traitlets/traitlets.py:732\u001b[0m, in \u001b[0;36mTraitType.__set__\u001b[0;34m(self, obj, value)\u001b[0m\n\u001b[1;32m 730\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m TraitError(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mThe \u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;132;01m%s\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m trait is read-only.\u001b[39m\u001b[38;5;124m'\u001b[39m \u001b[38;5;241m%\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mname)\n\u001b[1;32m 731\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 732\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mset\u001b[49m\u001b[43m(\u001b[49m\u001b[43mobj\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mvalue\u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[0;32m~/mambaforge/envs/me21/lib/python3.8/site-packages/traitlets/traitlets.py:721\u001b[0m, in \u001b[0;36mTraitType.set\u001b[0;34m(self, obj, value)\u001b[0m\n\u001b[1;32m 717\u001b[0m silent \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mFalse\u001b[39;00m\n\u001b[1;32m 718\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m silent \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mTrue\u001b[39;00m:\n\u001b[1;32m 719\u001b[0m \u001b[38;5;66;03m# we explicitly compare silent to True just in case the equality\u001b[39;00m\n\u001b[1;32m 720\u001b[0m \u001b[38;5;66;03m# comparison above returns something other than True/False\u001b[39;00m\n\u001b[0;32m--> 721\u001b[0m \u001b[43mobj\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_notify_trait\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mname\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mold_value\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mnew_value\u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[0;32m~/mambaforge/envs/me21/lib/python3.8/site-packages/traitlets/traitlets.py:1505\u001b[0m, in \u001b[0;36mHasTraits._notify_trait\u001b[0;34m(self, name, old_value, new_value)\u001b[0m\n\u001b[1;32m 1504\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_notify_trait\u001b[39m(\u001b[38;5;28mself\u001b[39m, name, old_value, new_value):\n\u001b[0;32m-> 1505\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mnotify_change\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 1506\u001b[0m \u001b[43m \u001b[49m\u001b[43mBunch\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 1507\u001b[0m \u001b[43m \u001b[49m\u001b[43mname\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mname\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1508\u001b[0m \u001b[43m \u001b[49m\u001b[43mold\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mold_value\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1509\u001b[0m \u001b[43m \u001b[49m\u001b[43mnew\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mnew_value\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1510\u001b[0m \u001b[43m \u001b[49m\u001b[43mowner\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1511\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43mtype\u001b[39;49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mchange\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1512\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1513\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[0;32m~/mambaforge/envs/me21/lib/python3.8/site-packages/ipywidgets/widgets/widget.py:606\u001b[0m, in \u001b[0;36mWidget.notify_change\u001b[0;34m(self, change)\u001b[0m\n\u001b[1;32m 603\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m name \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mkeys \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_should_send_property(name, \u001b[38;5;28mgetattr\u001b[39m(\u001b[38;5;28mself\u001b[39m, name)):\n\u001b[1;32m 604\u001b[0m \u001b[38;5;66;03m# Send new state to front-end\u001b[39;00m\n\u001b[1;32m 605\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39msend_state(key\u001b[38;5;241m=\u001b[39mname)\n\u001b[0;32m--> 606\u001b[0m \u001b[38;5;28;43msuper\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mWidget\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mnotify_change\u001b[49m\u001b[43m(\u001b[49m\u001b[43mchange\u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[0;32m~/mambaforge/envs/me21/lib/python3.8/site-packages/traitlets/traitlets.py:1517\u001b[0m, in \u001b[0;36mHasTraits.notify_change\u001b[0;34m(self, change)\u001b[0m\n\u001b[1;32m 1515\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mnotify_change\u001b[39m(\u001b[38;5;28mself\u001b[39m, change):\n\u001b[1;32m 1516\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"Notify observers of a change event\"\"\"\u001b[39;00m\n\u001b[0;32m-> 1517\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_notify_observers\u001b[49m\u001b[43m(\u001b[49m\u001b[43mchange\u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[0;32m~/mambaforge/envs/me21/lib/python3.8/site-packages/traitlets/traitlets.py:1564\u001b[0m, in \u001b[0;36mHasTraits._notify_observers\u001b[0;34m(self, event)\u001b[0m\n\u001b[1;32m 1561\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(c, EventHandler) \u001b[38;5;129;01mand\u001b[39;00m c\u001b[38;5;241m.\u001b[39mname \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 1562\u001b[0m c \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mgetattr\u001b[39m(\u001b[38;5;28mself\u001b[39m, c\u001b[38;5;241m.\u001b[39mname)\n\u001b[0;32m-> 1564\u001b[0m \u001b[43mc\u001b[49m\u001b[43m(\u001b[49m\u001b[43mevent\u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[0;32m~/mambaforge/envs/me21/lib/python3.8/site-packages/escher/plots.py:347\u001b[0m, in \u001b[0;36mBuilder._observe_map_json\u001b[0;34m(self, change)\u001b[0m\n\u001b[1;32m 344\u001b[0m \u001b[38;5;129m@observe\u001b[39m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mmap_json\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[1;32m 345\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_observe_map_json\u001b[39m(\u001b[38;5;28mself\u001b[39m, change):\n\u001b[1;32m 346\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m change\u001b[38;5;241m.\u001b[39mnew:\n\u001b[0;32m--> 347\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_loaded_map_json \u001b[38;5;241m=\u001b[39m \u001b[43m_load_resource\u001b[49m\u001b[43m(\u001b[49m\u001b[43mchange\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mnew\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mmap_json\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m 348\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 349\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_loaded_map_json \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n",
"File \u001b[0;32m~/mambaforge/envs/me21/lib/python3.8/site-packages/escher/plots.py:140\u001b[0m, in \u001b[0;36m_load_resource\u001b[0;34m(resource, name)\u001b[0m\n\u001b[1;32m 138\u001b[0m _ \u001b[38;5;241m=\u001b[39m json\u001b[38;5;241m.\u001b[39mloads(resource)\n\u001b[1;32m 139\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m err:\n\u001b[0;32m--> 140\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mCould not load \u001b[39m\u001b[38;5;132;01m%s\u001b[39;00m\u001b[38;5;124m. Not valid json, url, or filepath\u001b[39m\u001b[38;5;124m'\u001b[39m\n\u001b[1;32m 141\u001b[0m \u001b[38;5;241m%\u001b[39m name)\n\u001b[1;32m 142\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 143\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m resource\n",
"\u001b[0;31mValueError\u001b[0m: Could not load map_json. Not valid json, url, or filepath"
]
}
],
"source": [
"builder = Builder( model_json='iAB_RBC_283.json')\n",
"builder.map_json = 'iAB_RBC_283.metabolism.json' # File needs to be in the current directory\n",
"builder"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "16ce33fe",
"metadata": {},
"outputs": [],
"source": [
"from cobrapy_bigg_client import client\n",
"model = client.download_model('iAB_RBC_283', save=False) # Loading the model to the simulation\n",
"solution = model.optimize()\n",
"builder.reaction_data = solution.fluxes"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "fb85d7a5",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"# packages in environment at /home/bjorn/mambaforge:\n",
"#\n",
"# Name Version Build Channel\n",
"_libgcc_mutex 0.1 conda_forge conda-forge\n",
"_openmp_mutex 4.5 2_gnu conda-forge\n",
"alabaster 0.7.13 pyhd8ed1ab_0 conda-forge\n",
"alsa-lib 1.2.8 h166bdaf_0 conda-forge\n",
"anyio 3.7.0 pyhd8ed1ab_1 conda-forge\n",
"argon2-cffi 21.3.0 pyhd8ed1ab_0 conda-forge\n",
"argon2-cffi-bindings 21.2.0 py310h5764c6d_3 conda-forge\n",
"arrow 1.2.3 pyhd8ed1ab_0 conda-forge\n",
"astroid 2.15.5 py310hff52083_0 conda-forge\n",
"asttokens 2.2.1 pyhd8ed1ab_0 conda-forge\n",
"async-lru 2.0.2 pyhd8ed1ab_0 conda-forge\n",
"atomicwrites 1.4.1 pyhd8ed1ab_0 conda-forge\n",
"attr 2.5.1 h166bdaf_1 conda-forge\n",
"attrs 23.1.0 pyh71513ae_1 conda-forge\n",
"autopep8 2.0.2 pyhd8ed1ab_0 conda-forge\n",
"babel 2.12.1 pyhd8ed1ab_1 conda-forge\n",
"backcall 0.2.0 pyh9f0ad1d_0 conda-forge\n",
"backports 1.0 pyhd8ed1ab_3 conda-forge\n",
"backports.functools_lru_cache 1.6.4 pyhd8ed1ab_0 conda-forge\n",
"bash-completion 2.11 ha770c72_1 conda-forge\n",
"beautifulsoup4 4.12.2 pyha770c72_0 conda-forge\n",
"binaryornot 0.4.4 py_1 conda-forge\n",
"black 23.3.0 py310hff52083_1 conda-forge\n",
"bleach 6.0.0 pyhd8ed1ab_0 conda-forge\n",
"brotlipy 0.7.0 py310h5764c6d_1005 conda-forge\n",
"bzip2 1.0.8 h7f98852_4 conda-forge\n",
"c-ares 1.18.1 h7f98852_0 conda-forge\n",
"ca-certificates 2023.5.7 hbcca054_0 conda-forge\n",
"cairo 1.16.0 h35add3b_1015 conda-forge\n",
"certifi 2023.5.7 pyhd8ed1ab_0 conda-forge\n",
"cffi 1.15.1 py310h255011f_3 conda-forge\n",
"chardet 5.1.0 py310hff52083_0 conda-forge\n",
"charset-normalizer 3.1.0 pyhd8ed1ab_0 conda-forge\n",
"click 8.1.3 unix_pyhd8ed1ab_2 conda-forge\n",
"cloudpickle 2.2.1 pyhd8ed1ab_0 conda-forge\n",
"colorama 0.4.6 pyhd8ed1ab_0 conda-forge\n",
"comm 0.1.3 pyhd8ed1ab_0 conda-forge\n",
"conda 23.1.0 py310hff52083_0 conda-forge\n",
"conda-bash-completion 1.7 ha770c72_1 conda-forge\n",
"conda-package-handling 2.0.2 pyh38be061_0 conda-forge\n",
"conda-package-streaming 0.7.0 pyhd8ed1ab_1 conda-forge\n",
"cookiecutter 2.1.1 pyh6c4a22f_0 conda-forge\n",
"cryptography 40.0.1 py310h34c0648_0 conda-forge\n",
"dbus 1.13.6 h5008d03_3 conda-forge\n",
"debugpy 1.6.7 py310heca2aa9_0 conda-forge\n",
"decorator 5.1.1 pyhd8ed1ab_0 conda-forge\n",
"defusedxml 0.7.1 pyhd8ed1ab_0 conda-forge\n",
"diff-match-patch 20230430 pyhd8ed1ab_0 conda-forge\n",
"dill 0.3.6 pyhd8ed1ab_1 conda-forge\n",
"docstring-to-markdown 0.12 pyhd8ed1ab_0 conda-forge\n",
"docutils 0.20.1 py310hff52083_0 conda-forge\n",
"entrypoints 0.4 pyhd8ed1ab_0 conda-forge\n",
"exceptiongroup 1.1.1 pyhd8ed1ab_0 conda-forge\n",
"executing 1.2.0 pyhd8ed1ab_0 conda-forge\n",
"expat 2.5.0 hcb278e6_1 conda-forge\n",
"fftw 3.3.10 nompi_hc118613_107 conda-forge\n",
"flake8 6.0.0 pyhd8ed1ab_0 conda-forge\n",
"flit-core 3.9.0 pyhd8ed1ab_0 conda-forge\n",
"fmt 9.1.0 h924138e_0 conda-forge\n",
"font-ttf-dejavu-sans-mono 2.37 hab24e00_0 conda-forge\n",
"font-ttf-inconsolata 3.000 h77eed37_0 conda-forge\n",
"font-ttf-source-code-pro 2.038 h77eed37_0 conda-forge\n",
"font-ttf-ubuntu 0.83 hab24e00_0 conda-forge\n",
"fontconfig 2.14.2 h14ed4e7_0 conda-forge\n",
"fonts-conda-ecosystem 1 0 conda-forge\n",
"fonts-conda-forge 1 0 conda-forge\n",
"freetype 2.12.1 hca18f0e_1 conda-forge\n",
"gettext 0.21.1 h27087fc_0 conda-forge\n",
"giflib 5.2.1 h0b41bf4_3 conda-forge\n",
"glib 2.76.3 hfc55251_0 conda-forge\n",
"glib-tools 2.76.3 hfc55251_0 conda-forge\n",
"graphite2 1.3.13 h58526e2_1001 conda-forge\n",
"gst-plugins-base 1.22.0 h4243ec0_2 conda-forge\n",
"gstreamer 1.22.0 h25f0c4b_2 conda-forge\n",
"gstreamer-orc 0.4.34 hd590300_0 conda-forge\n",
"harfbuzz 6.0.0 h3ff4399_1 conda-forge\n",
"icu 72.1 hcb278e6_0 conda-forge\n",
"idna 3.4 pyhd8ed1ab_0 conda-forge\n",
"imagesize 1.4.1 pyhd8ed1ab_0 conda-forge\n",
"importlib-metadata 6.6.0 pyha770c72_0 conda-forge\n",
"importlib_metadata 6.6.0 hd8ed1ab_0 conda-forge\n",
"importlib_resources 5.12.0 pyhd8ed1ab_0 conda-forge\n",
"inflection 0.5.1 pyh9f0ad1d_0 conda-forge\n",
"intervaltree 3.1.0 pyhd8ed1ab_1 conda-forge\n",
"ipykernel 6.24.0 pyh71e2992_0 conda-forge\n",
"ipython 8.14.0 pyh41d4057_0 conda-forge\n",
"ipython_genutils 0.2.0 py_1 conda-forge\n",
"isort 5.12.0 pyhd8ed1ab_1 conda-forge\n",
"jack 1.9.22 h11f4161_0 conda-forge\n",
"jaraco.classes 3.2.3 pyhd8ed1ab_0 conda-forge\n",
"jedi 0.18.2 pyhd8ed1ab_0 conda-forge\n",
"jeepney 0.8.0 pyhd8ed1ab_0 conda-forge\n",
"jellyfish 0.9.0 py310h5764c6d_2 conda-forge\n",
"jinja2 3.1.2 pyhd8ed1ab_1 conda-forge\n",
"jinja2-time 0.2.0 pyhd8ed1ab_3 conda-forge\n",
"json5 0.9.5 pyh9f0ad1d_0 conda-forge\n",
"jsonschema 4.17.3 pyhd8ed1ab_0 conda-forge\n",
"jupyter-lsp 2.2.0 pyhd8ed1ab_0 conda-forge\n",
"jupyter_client 8.2.0 pyhd8ed1ab_0 conda-forge\n",
"jupyter_core 5.3.0 py310hff52083_0 conda-forge\n",
"jupyter_events 0.6.3 pyhd8ed1ab_0 conda-forge\n",
"jupyter_server 2.6.0 pyhd8ed1ab_0 conda-forge\n",
"jupyter_server_terminals 0.4.4 pyhd8ed1ab_1 conda-forge\n",
"jupyterlab 4.0.2 pyhd8ed1ab_0 conda-forge\n",
"jupyterlab_pygments 0.2.2 pyhd8ed1ab_0 conda-forge\n",
"jupyterlab_server 2.22.1 pyhd8ed1ab_0 conda-forge\n",
"keyring 23.13.1 py310hff52083_0 conda-forge\n",
"keyutils 1.6.1 h166bdaf_0 conda-forge\n",
"krb5 1.20.1 h81ceb04_0 conda-forge\n",
"lame 3.100 h166bdaf_1003 conda-forge\n",
"lazy-object-proxy 1.9.0 py310h1fa729e_0 conda-forge\n",
"ld_impl_linux-64 2.40 h41732ed_0 conda-forge\n",
"lerc 4.0.0 h27087fc_0 conda-forge\n",
"libarchive 3.6.2 h3d51595_0 conda-forge\n",
"libcap 2.67 he9d0100_0 conda-forge\n",
"libclang 16.0.1 default_h62803fd_0 conda-forge\n",
"libclang13 16.0.1 default_h9b593c0_0 conda-forge\n",
"libcups 2.3.3 h36d4200_3 conda-forge\n",
"libcurl 7.88.1 hdc1c0ab_1 conda-forge\n",
"libdb 6.2.32 h9c3ff4c_0 conda-forge\n",
"libdeflate 1.18 h0b41bf4_0 conda-forge\n",
"libedit 3.1.20191231 he28a2e2_2 conda-forge\n",
"libev 4.33 h516909a_1 conda-forge\n",
"libevent 2.1.10 h28343ad_4 conda-forge\n",
"libexpat 2.5.0 hcb278e6_1 conda-forge\n",
"libffi 3.4.2 h7f98852_5 conda-forge\n",
"libflac 1.4.2 h27087fc_0 conda-forge\n",
"libgcc-ng 12.2.0 h65d4601_19 conda-forge\n",
"libgcrypt 1.10.1 h166bdaf_0 conda-forge\n",
"libgfortran-ng 13.1.0 h69a702a_0 conda-forge\n",
"libgfortran5 13.1.0 h15d22d2_0 conda-forge\n",
"libglib 2.76.3 hebfc3b9_0 conda-forge\n",
"libgomp 12.2.0 h65d4601_19 conda-forge\n",
"libgpg-error 1.46 h620e276_0 conda-forge\n",
"libiconv 1.17 h166bdaf_0 conda-forge\n",
"libjpeg-turbo 2.1.5.1 h0b41bf4_0 conda-forge\n",
"libllvm16 16.0.1 hadd5161_0 conda-forge\n",
"libmamba 1.4.1 hcea66bb_0 conda-forge\n",
"libmambapy 1.4.1 py310h1428755_0 conda-forge\n",
"libnghttp2 1.52.0 h61bc06f_0 conda-forge\n",
"libnsl 2.0.0 h7f98852_0 conda-forge\n",
"libogg 1.3.4 h7f98852_1 conda-forge\n",
"libopus 1.3.1 h7f98852_1 conda-forge\n",
"libpng 1.6.39 h753d276_0 conda-forge\n",
"libpq 15.3 hbcd7760_1 conda-forge\n",
"libsndfile 1.2.0 hb75c966_0 conda-forge\n",
"libsodium 1.0.18 h36c2ea0_1 conda-forge\n",
"libsolv 0.7.23 h3eb15da_0 conda-forge\n",
"libspatialindex 1.9.3 h9c3ff4c_4 conda-forge\n",
"libsqlite 3.40.0 h753d276_0 conda-forge\n",
"libssh2 1.10.0 hf14f497_3 conda-forge\n",
"libstdcxx-ng 12.2.0 h46fd767_19 conda-forge\n",
"libsystemd0 253 h8c4010b_1 conda-forge\n",
"libtiff 4.5.0 ha587672_6 conda-forge\n",
"libtool 2.4.7 h27087fc_0 conda-forge\n",
"libudev1 253 h0b41bf4_1 conda-forge\n",
"libuuid 2.38.1 h0b41bf4_0 conda-forge\n",
"libvorbis 1.3.7 h9c3ff4c_0 conda-forge\n",
"libwebp 1.3.0 hb47c5f0_0 conda-forge\n",
"libwebp-base 1.3.0 h0b41bf4_0 conda-forge\n",
"libxcb 1.13 h7f98852_1004 conda-forge\n",
"libxkbcommon 1.5.0 h79f4944_1 conda-forge\n",
"libxml2 2.10.3 hfdac1af_6 conda-forge\n",
"libzlib 1.2.13 h166bdaf_4 conda-forge\n",
"lz4-c 1.9.4 hcb278e6_0 conda-forge\n",
"lzo 2.10 h516909a_1000 conda-forge\n",
"mamba 1.4.1 py310h51d5547_0 conda-forge\n",
"mamba-bash-completion 1.0 ha770c72_1 conda-forge\n",
"markupsafe 2.1.3 py310h2372a71_0 conda-forge\n",
"matplotlib-inline 0.1.6 pyhd8ed1ab_0 conda-forge\n",
"mccabe 0.7.0 pyhd8ed1ab_0 conda-forge\n",
"mistune 2.0.5 pyhd8ed1ab_0 conda-forge\n",
"more-itertools 9.1.0 pyhd8ed1ab_0 conda-forge\n",
"mpg123 1.31.3 hcb278e6_0 conda-forge\n",
"mypy_extensions 1.0.0 pyha770c72_0 conda-forge\n",
"mysql-common 8.0.32 hf1915f5_2 conda-forge\n",
"mysql-libs 8.0.32 hca2cd23_2 conda-forge\n",
"nbclient 0.8.0 pyhd8ed1ab_0 conda-forge\n",
"nbconvert 7.4.0 pyhd8ed1ab_0 conda-forge\n",
"nbconvert-core 7.4.0 pyhd8ed1ab_0 conda-forge\n",
"nbconvert-pandoc 7.4.0 pyhd8ed1ab_0 conda-forge\n",
"nbformat 5.9.0 pyhd8ed1ab_0 conda-forge\n",
"ncurses 6.3 h27087fc_1 conda-forge\n",
"nest-asyncio 1.5.6 pyhd8ed1ab_0 conda-forge\n",
"notebook-shim 0.2.3 pyhd8ed1ab_0 conda-forge\n",
"nspr 4.35 h27087fc_0 conda-forge\n",
"nss 3.89 he45b914_0 conda-forge\n",
"numpydoc 1.5.0 pyhd8ed1ab_0 conda-forge\n",
"openssl 3.1.1 hd590300_1 conda-forge\n",
"overrides 7.3.1 pyhd8ed1ab_0 conda-forge\n",
"packaging 23.1 pyhd8ed1ab_0 conda-forge\n",
"pandoc 2.19.2 h32600fe_2 conda-forge\n",
"pandocfilters 1.5.0 pyhd8ed1ab_0 conda-forge\n",
"parso 0.8.3 pyhd8ed1ab_0 conda-forge\n",
"pathspec 0.11.1 pyhd8ed1ab_0 conda-forge\n",
"pcre2 10.40 hc3806b6_0 conda-forge\n",
"pexpect 4.8.0 pyh1a96a4e_2 conda-forge\n",
"pickleshare 0.7.5 py_1003 conda-forge\n",
"pip 23.0.1 pyhd8ed1ab_0 conda-forge\n",
"pixman 0.40.0 h36c2ea0_0 conda-forge\n",
"pkgutil-resolve-name 1.3.10 pyhd8ed1ab_0 conda-forge\n",
"platformdirs 3.5.1 pyhd8ed1ab_0 conda-forge\n",
"pluggy 1.0.0 pyhd8ed1ab_5 conda-forge\n",
"ply 3.11 py_1 conda-forge\n",
"prometheus_client 0.17.0 pyhd8ed1ab_0 conda-forge\n",
"prompt-toolkit 3.0.38 pyha770c72_0 conda-forge\n",
"prompt_toolkit 3.0.38 hd8ed1ab_0 conda-forge\n",
"psutil 5.9.5 py310h1fa729e_0 conda-forge\n",
"pthread-stubs 0.4 h36c2ea0_1001 conda-forge\n",
"ptyprocess 0.7.0 pyhd3deb0d_0 conda-forge\n",
"pulseaudio 16.1 hcb278e6_3 conda-forge\n",
"pulseaudio-client 16.1 h5195f5e_3 conda-forge\n",
"pulseaudio-daemon 16.1 ha8d29e2_3 conda-forge\n",
"pure_eval 0.2.2 pyhd8ed1ab_0 conda-forge\n",
"pybind11-abi 4 hd8ed1ab_3 conda-forge\n",
"pycodestyle 2.10.0 pyhd8ed1ab_0 conda-forge\n",
"pycosat 0.6.4 py310h5764c6d_1 conda-forge\n",
"pycparser 2.21 pyhd8ed1ab_0 conda-forge\n",
"pydocstyle 6.3.0 pyhd8ed1ab_0 conda-forge\n",
"pyflakes 3.0.1 pyhd8ed1ab_0 conda-forge\n",
"pygments 2.15.1 pyhd8ed1ab_0 conda-forge\n",
"pylint 2.17.4 pyhd8ed1ab_0 conda-forge\n",
"pylint-venv 3.0.2 pyhd8ed1ab_0 conda-forge\n",
"pyls-spyder 0.4.0 pyhd8ed1ab_0 conda-forge\n",
"pyopenssl 23.1.1 pyhd8ed1ab_0 conda-forge\n",
"pyqt 5.15.7 py310hab646b1_3 conda-forge\n",
"pyqt5-sip 12.11.0 py310heca2aa9_3 conda-forge\n",
"pyqtwebengine 5.15.7 py310h1165ae2_3 conda-forge\n",
"pyrsistent 0.19.3 py310h1fa729e_0 conda-forge\n",
"pysocks 1.7.1 pyha2e5f31_6 conda-forge\n",
"python 3.10.10 he550d4f_0_cpython conda-forge\n",
"python-dateutil 2.8.2 pyhd8ed1ab_0 conda-forge\n",
"python-fastjsonschema 2.17.1 pyhd8ed1ab_0 conda-forge\n",
"python-json-logger 2.0.7 pyhd8ed1ab_0 conda-forge\n",
"python-lsp-black 1.3.0 pyhd8ed1ab_0 conda-forge\n",
"python-lsp-jsonrpc 1.0.0 pyhd8ed1ab_0 conda-forge\n",
"python-lsp-server 1.7.4 pyhd8ed1ab_0 conda-forge\n",
"python-lsp-server-base 1.7.4 pyhd8ed1ab_0 conda-forge\n",
"python-slugify 8.0.1 pyhd8ed1ab_1 conda-forge\n",
"python_abi 3.10 3_cp310 conda-forge\n",
"pytoolconfig 1.2.5 pyhd8ed1ab_0 conda-forge\n",
"pytz 2023.3 pyhd8ed1ab_0 conda-forge\n",
"pyxdg 0.28 pyhd8ed1ab_0 conda-forge\n",
"pyyaml 6.0 py310h5764c6d_5 conda-forge\n",
"pyzmq 25.1.0 py310h5bbb5d0_0 conda-forge\n",
"qdarkstyle 3.1 pyhd8ed1ab_0 conda-forge\n",
"qstylizer 0.2.2 pyhd8ed1ab_0 conda-forge\n",
"qt-main 5.15.8 h5c52f38_9 conda-forge\n",
"qt-webengine 5.15.8 h77d6d84_0 conda-forge\n",
"qtawesome 1.2.3 pyhd8ed1ab_0 conda-forge\n",
"qtconsole 5.4.3 pyhd8ed1ab_0 conda-forge\n",
"qtconsole-base 5.4.3 pyha770c72_0 conda-forge\n",
"qtpy 2.3.1 pyhd8ed1ab_0 conda-forge\n",
"readline 8.2 h8228510_1 conda-forge\n",
"reproc 14.2.4 h0b41bf4_0 conda-forge\n",
"reproc-cpp 14.2.4 hcb278e6_0 conda-forge\n",
"requests 2.28.2 pyhd8ed1ab_1 conda-forge\n",
"rfc3339-validator 0.1.4 pyhd8ed1ab_0 conda-forge\n",
"rfc3986-validator 0.1.1 pyh9f0ad1d_0 conda-forge\n",
"rope 1.8.0 pyhd8ed1ab_0 conda-forge\n",
"rtree 1.0.1 py310hbdcdc62_1 conda-forge\n",
"ruamel.yaml 0.17.21 py310h1fa729e_3 conda-forge\n",
"ruamel.yaml.clib 0.2.7 py310h1fa729e_1 conda-forge\n",
"secretstorage 3.3.3 py310hff52083_1 conda-forge\n",
"send2trash 1.8.2 pyh41d4057_0 conda-forge\n",
"setuptools 65.6.3 pyhd8ed1ab_0 conda-forge\n",
"sip 6.7.9 py310hc6cd4ac_0 conda-forge\n",
"six 1.16.0 pyh6c4a22f_0 conda-forge\n",
"sniffio 1.3.0 pyhd8ed1ab_0 conda-forge\n",
"snowballstemmer 2.2.0 pyhd8ed1ab_0 conda-forge\n",
"sortedcontainers 2.4.0 pyhd8ed1ab_0 conda-forge\n",
"soupsieve 2.3.2.post1 pyhd8ed1ab_0 conda-forge\n",
"sphinx 7.0.1 pyhd8ed1ab_0 conda-forge\n",
"sphinxcontrib-applehelp 1.0.4 pyhd8ed1ab_0 conda-forge\n",
"sphinxcontrib-devhelp 1.0.2 py_0 conda-forge\n",
"sphinxcontrib-htmlhelp 2.0.1 pyhd8ed1ab_0 conda-forge\n",
"sphinxcontrib-jsmath 1.0.1 py_0 conda-forge\n",
"sphinxcontrib-qthelp 1.0.3 py_0 conda-forge\n",
"sphinxcontrib-serializinghtml 1.1.5 pyhd8ed1ab_2 conda-forge\n",
"spyder 5.4.4 py310hff52083_0 conda-forge\n",
"spyder-kernels 2.4.4 unix_pyh707e725_0 conda-forge\n",
"stack_data 0.6.2 pyhd8ed1ab_0 conda-forge\n",
"terminado 0.17.1 pyh41d4057_0 conda-forge\n",
"text-unidecode 1.3 py_0 conda-forge\n",
"textdistance 4.5.0 pyhd8ed1ab_0 conda-forge\n",
"three-merge 0.1.1 pyh9f0ad1d_0 conda-forge\n",
"tinycss2 1.2.1 pyhd8ed1ab_0 conda-forge\n",
"tk 8.6.12 h27826a3_0 conda-forge\n",
"toml 0.10.2 pyhd8ed1ab_0 conda-forge\n",
"tomli 2.0.1 pyhd8ed1ab_0 conda-forge\n",
"tomlkit 0.11.8 pyha770c72_0 conda-forge\n",
"toolz 0.12.0 pyhd8ed1ab_0 conda-forge\n",
"tornado 6.3.2 py310h2372a71_0 conda-forge\n",
"tqdm 4.65.0 pyhd8ed1ab_1 conda-forge\n",
"traitlets 5.9.0 pyhd8ed1ab_0 conda-forge\n",
"typing-extensions 4.6.3 hd8ed1ab_0 conda-forge\n",
"typing_extensions 4.6.3 pyha770c72_0 conda-forge\n",
"typing_utils 0.1.0 pyhd8ed1ab_0 conda-forge\n",
"tzdata 2023c h71feb2d_0 conda-forge\n",
"ujson 5.7.0 py310heca2aa9_0 conda-forge\n",
"unidecode 1.3.6 pyhd8ed1ab_0 conda-forge\n",
"urllib3 1.26.15 pyhd8ed1ab_0 conda-forge\n",
"watchdog 3.0.0 py310hff52083_0 conda-forge\n",
"wcwidth 0.2.6 pyhd8ed1ab_0 conda-forge\n",
"webencodings 0.5.1 py_1 conda-forge\n",
"websocket-client 1.5.3 pyhd8ed1ab_0 conda-forge\n",
"whatthepatch 1.0.5 pyhd8ed1ab_0 conda-forge\n",
"wheel 0.40.0 pyhd8ed1ab_0 conda-forge\n",
"wrapt 1.15.0 py310h1fa729e_0 conda-forge\n",
"wurlitzer 3.0.3 pyhd8ed1ab_0 conda-forge\n",
"xcb-util 0.4.0 h516909a_0 conda-forge\n",
"xcb-util-image 0.4.0 h166bdaf_0 conda-forge\n",
"xcb-util-keysyms 0.4.0 h516909a_0 conda-forge\n",
"xcb-util-renderutil 0.3.9 h166bdaf_0 conda-forge\n",
"xcb-util-wm 0.4.1 h516909a_0 conda-forge\n",
"xkeyboard-config 2.38 h0b41bf4_0 conda-forge\n",
"xorg-kbproto 1.0.7 h7f98852_1002 conda-forge\n",
"xorg-libice 1.1.1 hd590300_0 conda-forge\n",
"xorg-libsm 1.2.4 h7391055_0 conda-forge\n",
"xorg-libx11 1.8.4 h0b41bf4_0 conda-forge\n",
"xorg-libxau 1.0.11 hd590300_0 conda-forge\n",
"xorg-libxdmcp 1.1.3 h7f98852_0 conda-forge\n",
"xorg-libxext 1.3.4 h0b41bf4_2 conda-forge\n",
"xorg-libxrender 0.9.10 h7f98852_1003 conda-forge\n",
"xorg-renderproto 0.11.1 h7f98852_1002 conda-forge\n",
"xorg-xextproto 7.3.0 h0b41bf4_1003 conda-forge\n",
"xorg-xf86vidmodeproto 2.3.1 h7f98852_1002 conda-forge\n",
"xorg-xproto 7.0.31 h7f98852_1007 conda-forge\n",
"xz 5.2.6 h166bdaf_0 conda-forge\n",
"yaml 0.2.5 h7f98852_2 conda-forge\n",
"yaml-cpp 0.7.0 h27087fc_2 conda-forge\n",
"yapf 0.33.0 pyhd8ed1ab_1 conda-forge\n",
"zeromq 4.3.4 h9c3ff4c_1 conda-forge\n",
"zipp 3.15.0 pyhd8ed1ab_0 conda-forge\n",
"zlib 1.2.13 h166bdaf_4 conda-forge\n",
"zstandard 0.19.0 py310hdeb6495_1 conda-forge\n",
"zstd 1.5.2 h3eb15da_6 conda-forge\n"
]
}
],
"source": [
"!mamba list"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "c8ff404f-8b10-40f0-b938-f4ce27b6fa99",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Package Version\n",
"----------------------------- -----------\n",
"alabaster 0.7.13\n",
"anyio 3.7.0\n",
"argon2-cffi 21.3.0\n",
"argon2-cffi-bindings 21.2.0\n",
"arrow 1.2.3\n",
"astroid 2.15.5\n",
"asttokens 2.2.1\n",
"async-lru 2.0.2\n",
"atomicwrites 1.4.1\n",
"attrs 23.1.0\n",
"autopep8 2.0.2\n",
"Babel 2.12.1\n",
"backcall 0.2.0\n",
"backports.functools-lru-cache 1.6.4\n",
"beautifulsoup4 4.12.2\n",
"binaryornot 0.4.4\n",
"black 23.3.0\n",
"bleach 6.0.0\n",
"brotlipy 0.7.0\n",
"certifi 2023.5.7\n",
"cffi 1.15.1\n",
"chardet 5.1.0\n",
"charset-normalizer 3.1.0\n",
"click 8.1.3\n",
"cloudpickle 2.2.1\n",
"colorama 0.4.6\n",
"comm 0.1.3\n",
"conda 23.1.0\n",
"conda-package-handling 2.0.2\n",
"conda_package_streaming 0.7.0\n",
"cookiecutter 2.1.1\n",
"cryptography 40.0.1\n",
"debugpy 1.6.7\n",
"decorator 5.1.1\n",
"defusedxml 0.7.1\n",
"diff-match-patch 20230430\n",
"dill 0.3.6\n",
"docstring-to-markdown 0.12\n",
"docutils 0.20.1\n",
"entrypoints 0.4\n",
"exceptiongroup 1.1.1\n",
"executing 1.2.0\n",
"fastjsonschema 2.17.1\n",
"flake8 6.0.0\n",
"flit_core 3.9.0\n",
"idna 3.4\n",
"imagesize 1.4.1\n",
"importlib-metadata 6.6.0\n",
"importlib-resources 5.12.0\n",
"inflection 0.5.1\n",
"intervaltree 3.1.0\n",
"ipykernel 6.24.0\n",
"ipython 8.14.0\n",
"ipython-genutils 0.2.0\n",
"isort 5.12.0\n",
"jaraco.classes 3.2.3\n",
"jedi 0.18.2\n",
"jeepney 0.8.0\n",
"jellyfish 0.9.0\n",
"Jinja2 3.1.2\n",
"jinja2-time 0.2.0\n",
"json5 0.9.5\n",
"jsonschema 4.17.3\n",
"jupyter_client 8.2.0\n",
"jupyter_core 5.3.0\n",
"jupyter-events 0.6.3\n",
"jupyter-lsp 2.2.0\n",
"jupyter_server 2.6.0\n",
"jupyter_server_terminals 0.4.4\n",
"jupyterlab 4.0.2\n",
"jupyterlab-pygments 0.2.2\n",
"jupyterlab_server 2.22.1\n",
"keyring 23.13.1\n",
"lazy-object-proxy 1.9.0\n",
"libmambapy 1.4.1\n",
"mamba 1.4.1\n",
"MarkupSafe 2.1.3\n",
"matplotlib-inline 0.1.6\n",
"mccabe 0.7.0\n",
"mistune 2.0.5\n",
"more-itertools 9.1.0\n",
"mypy-extensions 1.0.0\n",
"nbclient 0.8.0\n",
"nbconvert 7.4.0\n",
"nbformat 5.9.0\n",
"nest-asyncio 1.5.6\n",
"notebook_shim 0.2.3\n",
"numpydoc 1.5.0\n",
"overrides 7.3.1\n",
"packaging 23.1\n",
"pandocfilters 1.5.0\n",
"parso 0.8.3\n",
"pathspec 0.11.1\n",
"pexpect 4.8.0\n",
"pickleshare 0.7.5\n",
"pip 23.0.1\n",
"pkgutil_resolve_name 1.3.10\n",
"platformdirs 3.5.1\n",
"pluggy 1.0.0\n",
"ply 3.11\n",
"prometheus-client 0.17.0\n",
"prompt-toolkit 3.0.38\n",
"psutil 5.9.5\n",
"ptyprocess 0.7.0\n",
"pure-eval 0.2.2\n",
"pycodestyle 2.10.0\n",
"pycosat 0.6.4\n",
"pycparser 2.21\n",
"pydocstyle 6.3.0\n",
"pyflakes 3.0.1\n",
"Pygments 2.15.1\n",
"pylint 2.17.4\n",
"pylint-venv 3.0.2\n",
"pyls-spyder 0.4.0\n",
"pyOpenSSL 23.1.1\n",
"PyQt5 5.15.7\n",
"PyQt5-sip 12.11.0\n",
"PyQtWebEngine 5.15.4\n",
"pyrsistent 0.19.3\n",
"PySocks 1.7.1\n",
"python-dateutil 2.8.2\n",
"python-json-logger 2.0.7\n",
"python-lsp-black 1.3.0\n",
"python-lsp-jsonrpc 1.0.0\n",
"python-lsp-server 1.7.4\n",
"python-slugify 8.0.1\n",
"pytoolconfig 1.2.5\n",
"pytz 2023.3\n",
"pyxdg 0.28\n",
"PyYAML 6.0\n",
"pyzmq 25.1.0\n",
"QDarkStyle 3.1\n",
"qstylizer 0.2.2\n",
"QtAwesome 1.2.3\n",
"qtconsole 5.4.3\n",
"QtPy 2.3.1\n",
"requests 2.28.2\n",
"rfc3339-validator 0.1.4\n",
"rfc3986-validator 0.1.1\n",
"rope 1.8.0\n",
"Rtree 1.0.1\n",
"ruamel.yaml 0.17.21\n",
"ruamel.yaml.clib 0.2.7\n",
"SecretStorage 3.3.3\n",
"Send2Trash 1.8.2\n",
"setuptools 65.6.3\n",
"sip 6.7.9\n",
"six 1.16.0\n",
"sniffio 1.3.0\n",
"snowballstemmer 2.2.0\n",
"sortedcontainers 2.4.0\n",
"soupsieve 2.3.2.post1\n",
"Sphinx 7.0.1\n",
"sphinxcontrib-applehelp 1.0.4\n",
"sphinxcontrib-devhelp 1.0.2\n",
"sphinxcontrib-htmlhelp 2.0.1\n",
"sphinxcontrib-jsmath 1.0.1\n",
"sphinxcontrib-qthelp 1.0.3\n",
"sphinxcontrib-serializinghtml 1.1.5\n",
"spyder 5.4.4\n",
"spyder-kernels 2.4.4\n",
"stack-data 0.6.2\n",
"terminado 0.17.1\n",
"text-unidecode 1.3\n",
"textdistance 4.5.0\n",
"three-merge 0.1.1\n",
"tinycss2 1.2.1\n",
"toml 0.10.2\n",
"tomli 2.0.1\n",
"tomlkit 0.11.8\n",
"toolz 0.12.0\n",
"tornado 6.3.2\n",
"tqdm 4.65.0\n",
"traitlets 5.9.0\n",
"typing_extensions 4.6.3\n",
"typing-utils 0.1.0\n",
"ujson 5.7.0\n",
"Unidecode 1.3.6\n",
"urllib3 1.26.15\n",
"watchdog 3.0.0\n",
"wcwidth 0.2.6\n",
"webencodings 0.5.1\n",
"websocket-client 1.5.3\n",
"whatthepatch 1.0.5\n",
"wheel 0.40.0\n",
"wrapt 1.15.0\n",
"wurlitzer 3.0.3\n",
"yapf 0.33.0\n",
"zipp 3.15.0\n",
"zstandard 0.19.0\n"
]
}
],
"source": [
"!pip list"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "58ecc396-58bf-4bdd-b97d-b45d835876d8",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "me21",
"language": "python",
"name": "me21"
},
"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.17"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment