{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# NMODL to Python conversion for Jaxley (Notebook)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/Poirazi-Lab/DendroTweaks/blob/main/docs/source/tutorials/convert_to_jaxley.ipynb)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This notebook demonstrates how to convert channel models from NEURON MOD files to Jaxley-compatible Python classes. \n", "\n", "We will use the `MODFileConverter` class to convert Na and Kv channels using a Jinja template (`jaxley.py`). These channels will be added to a simple Jaxley point-neuron model to demonstrate the simulation. \n", "\n", "Note that while this notebook provides a working example, the template implementation is currently under development. In particular, handling equilibrium potentials (currently hardcoded) and the temperature adjustment coefficient `tadj` will likely be improved in a future version.\n", "\n", "If you experience any problems parsing your own MOD files with DendroTweaks, please refer to this [tutorial](https://dendrotweaks.readthedocs.io/en/latest/tutorials/tutorial_mod.html). If the problem persists, feel free to contact us." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "!pip install jaxley==0.8.0 --quiet" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "!pip install dendrotweaks --quiet" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If you are using Google Colab, you might also need to restart the session as the installation downgraded some packages (numpy). You can do it manually or programmatically as shown below:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# import os\n", "# os.kill(os.getpid(), 9)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import os" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'0.4.4'" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import dendrotweaks as dd\n", "dd.__version__" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Downloading example data...\n", "Downloading data from https://github.com/Poirazi-Lab/DendroTweaks/archive/refs/heads/main.zip...\n", "Extracting relevant folders to examples...\n", "Data downloaded and extracted successfully to examples/.\n" ] } ], "source": [ "os.makedirs('examples', exist_ok=True)\n", "if not os.listdir('examples/'):\n", " print(\"Downloading example data...\")\n", " dd.download_example_data('examples')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Converting channels" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from dendrotweaks.biophys.io import MODFileConverter" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "converter = MODFileConverter()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "path_to_mod_file = os.path.join('examples', 'Toy', 'biophys', 'mod', 'Na.mod')\n", "path_to_python = os.path.join('examples', 'Toy', 'biophys', 'python', 'Najx.py')\n", "path_to_template = os.path.join('examples', 'Templates', 'jaxley.py')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Saved content to /home/roman/Documents/code/DendroTweaksLab/DendroTweaks/examples/Toy/biophys/python/Najx.py\n" ] } ], "source": [ "converter.convert(path_to_mod_file, path_to_python, path_to_template);" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "# This Python channel class was automatically generated from a MOD file\n", "# using DendroTweaks toolbox, dendrotweaks.dendrites.gr\n", "\n", "\n", "from jaxley.channels import Channel\n", "from jaxley.solver_gate import exponential_euler\n", "import jax.numpy as np\n", "\n", "class Kv(Channel):\n", " \"\"\"\n", " Kv_Park_ref\n", " \"\"\"\n", "\n", " def __init__(self, name=\"Kv\"):\n", " self.current_is_in_mA_per_cm2 = True\n", " super().__init__(name=name)\n", " self.channel_params = {\n", " \"gbar_Kv\": 0.0,\n", " \"Ra_Kv\": 0.02,\n", " \n", "...\n" ] } ], "source": [ "with open(path_to_python, 'r') as f:\n", " code = f.read()\n", " print(code[:500]) # Print the first 500 characters of the generated code\n", " print(\"...\")" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "path_to_mod_file = os.path.join('examples', 'Toy', 'biophys', 'mod', 'Kv.mod')\n", "path_to_python = os.path.join('examples', 'Toy', 'biophys', 'python', 'Kvjx.py')\n", "path_to_template = os.path.join('examples', 'Templates', 'jaxley.py')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Saved content to /home/roman/Documents/code/DendroTweaksLab/DendroTweaks/examples/Toy/biophys/python/Kvjx.py\n" ] } ], "source": [ "converter.convert(path_to_mod_file, path_to_python, path_to_template);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Setting up a model" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "import jaxley as jx" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from examples.Toy.biophys.python.Najx import Na\n", "from examples.Toy.biophys.python.Kvjx import Kv\n", "from jaxley.channels import Leak" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "An NVIDIA GPU may be present on this machine, but a CUDA-enabled jaxlib is not installed. Falling back to cpu.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "3.2093639532679714 3.2093639532679714\n" ] } ], "source": [ "cell = jx.Cell() # Define cell.\n", "\n", "temperature = 37.0\n", "\n", "na = Na()\n", "kv = Kv()\n", "na.set_tadj(temperature)\n", "kv.set_tadj(temperature)\n", "print(na.tadj, kv.tadj)\n", "\n", "cell.insert(na)\n", "cell.insert(kv)\n", "cell.insert(Leak())" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Index(['local_cell_index', 'local_branch_index', 'local_comp_index', 'length',\n", " 'radius', 'axial_resistivity', 'capacitance', 'v', 'global_cell_index',\n", " 'global_branch_index', 'global_comp_index', 'controlled_by_param', 'Na',\n", " 'gbar_Na', 'Rma_Na', 'Rmb_Na', 'v12m_Na', 'qm_Na', 'Rhb_Na', 'Rha_Na',\n", " 'v12ha_Na', 'v12hb_Na', 'qh_Na', 'v12hinf_Na', 'qhinf_Na', 'temp_Na',\n", " 'q10_Na', 'm_Na', 'h_Na', 'Kv', 'gbar_Kv', 'Ra_Kv', 'Rb_Kv', 'v12_Kv',\n", " 'q_Kv', 'temp_Kv', 'q10_Kv', 'n_Kv', 'Leak', 'Leak_gLeak',\n", " 'Leak_eLeak'],\n", " dtype='object')" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cell.nodes.columns" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 -70.0\n", "Name: Leak_eLeak, dtype: float64" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cell.nodes['Leak_eLeak']" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "cell.set('gbar_Na', 0.05)\n", "cell.set('gbar_Kv', 0.01)\n", "cell.set('length', 20)\n", "cell.set('radius', 10)\n", "cell.set('Leak_gLeak', 0.0003)\n", "cell.set('axial_resistivity', 100)\n", "cell.set('capacitance', 1.0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Running a simulation" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Added 1 external_states. See `.externals` for details.\n", "Added 1 recordings. See `.recordings` for details.\n" ] } ], "source": [ "current = jx.step_current(i_delay=100.0, i_dur=100.0, i_amp=0.1, delta_t=0.025, t_max=300.0)\n", "cell.stimulate(current) # Stimulate with step current.\n", "cell.record(\"v\") # Record voltage." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 1.0, 'Somatic Action Potentials')" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA14AAAHWCAYAAABnpFhuAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAm6NJREFUeJzt3XecFPX9P/DX7pW9XuAavQtSVSDkxIpENGgsBGOMCtZo0ETAhgXUGPlaYv1akyjm97VgjcaONAsoiiKC0nu5o94d1+925/fH3szO7M7uzudzs7O3d6/n48HDY28/+5nZPWRevD+f97gURVFAREREREREMeOO9wEQERERERG1dwxeREREREREMcbgRUREREREFGMMXkRERERERDHG4EVERERERBRjDF5EREREREQxxuBFREREREQUYwxeREREREREMcbgRUREREREFGMMXkRE5KjevXtj6tSp8T4MIdu2bYPL5cK8efPifSjtwpIlS+ByubBkyRLhsXfddRdcLpf9B0VEFGMMXkREbdiPP/6I3/72t+jVqxfS0tLQrVs3/OpXv8ITTzwR70OLaNmyZbjrrrtQUVHhyHxerxddu3aFy+XChx9+KP06L7/8Mh599FH7DswGU6dOhcvl0n7l5ORgxIgR+Pvf/46Ghgah16qtrcVdd90lFXhkPPXUUwyrREQtkuN9AEREZG7ZsmU49dRT0bNnT1x11VUoKSnBzp078dVXX+Gxxx7D9ddfH+9DDGvZsmW4++67MXXqVOTl5Rm+t379erjd9v6736JFi7B371707t0bL730Es4880yp13n55ZexZs0a3HDDDYbHe/Xqhbq6OqSkpNhwtOI8Hg/++c9/AgAqKirw5ptv4sYbb8Q333yDV1991fLr1NbW4u677wYAnHLKKbE4VIOnnnoKBQUFIRXOk046CXV1dUhNTY35MRARtRUMXkREbdTf/vY35Obm4ptvvgkJL/v27YvPQdnA4/HY/pr/93//h+OOOw5TpkzBbbfdhpqaGmRmZtr2+i6XC2lpaba9nqjk5GRcfPHF2u//9Kc/YcyYMZg/fz4efvhhdO3aNW7HJsPtdsf1/SQiigcuNSQiaqM2b96MIUOGhIQuACgqKjL8vrm5GX/961/Rr18/eDwe9O7dG7fddlvIUrTevXvjrLPOwpIlSzBq1Cikp6dj2LBh2tKz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eOyxx6KOPXToUMhjxxxzDACE3E6BiCieWPEiImqjrr/+etTW1uK8887DoEGD0NjYiGXLlmH+/Pno3bs3LrvsMgDAiBEjMGXKFDz33HOoqKjAySefjBUrVuDFF1/Eueeei1NPPdWW48nJycFJJ52EBx54AE1NTejWrRs++eQTbN26NeS5I0eOBADcfvvtuPDCC5GSkoKzzz7btAp000034Y033sDkyZNx+eWXY+TIkTh06BDeffddPPPMMxgxYoTp8bz00ks45phjQvamqX7zm9/g+uuvx3fffYfjjjsOjzzyCK688kqMHj0aF110EfLz8/HDDz+gtrZWu9/VyJEjMX/+fMyYMQOjR49GVlYWzj77bNPXf/DBB3HmmWeitLQUV1xxhdZOPjc313BvLCdcffXVePbZZzF16lSsXLkSvXv3xhtvvIEvv/wSjz76KLKzswH4l+UNHjwY8+fPx1FHHYVOnTph6NChGDp0KJ588kmccMIJGDZsGK666ir07dsX5eXlWL58OXbt2oUffvhB+LhGjhyJp59+Gvfeey/69++PoqIijBs3LuR5gwYNQr9+/XDjjTdi9+7dyMnJwZtvvmlpv9g999yDzz77DBMnTkSvXr2wb98+PPXUU+jevTtOOOEE4WMmIoqZOHVTJCKiKD788EPl8ssvVwYNGqRkZWUpqampSv/+/ZXrr79eKS8vNzy3qalJufvuu5U+ffooKSkpSo8ePZRZs2YZWoMrir+V+8SJE0PmAqBMmzbN8JjaQv3BBx/UHtu1a5dy3nnnKXl5eUpubq4yefJkZc+ePaYtyv/6178q3bp1U9xut6G1fHA7eUVRlIMHDyrXXXed0q1bNyU1NVXp3r27MmXKFOXAgQOm783KlSsVAMqdd94Z9v3btm2bAkCZPn269ti7776rHH/88Up6erqSk5Oj/OIXv1BeeeUV7fvV1dXKRRddpOTl5SkAtNbyZu3kFUVRPv30U2Xs2LHa65199tnKTz/9ZHiO2v48uN252pbdrOW+ntpOPpry8nLlsssuUwoKCpTU1FRl2LBhIcerKIqybNkyZeTIkUpqamrI57Z582bl0ksvVUpKSpSUlBSlW7duyllnnaW88cYbIcf9zTffGF7XrEV8WVmZMnHiRCU7O1sBoLWWN3vuTz/9pIwfP17JyspSCgoKlKuuukr54YcfQt734Hby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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "v = jx.integrate(cell, delta_t=0.025, t_max=300.0) # Run simulation.\n", "t = np.arange(0, 300, 0.025) # Create time vector.\n", "fig, ax = plt.subplots(figsize=(10, 5))\n", "ax.plot(t, v.T[:-1]) \n", "ax.set_ylim(-100, 60)\n", "ax.set_xlabel('Time (ms)')\n", "ax.set_ylabel('Voltage (mV)')\n", "ax.set_title('Somatic Action Potentials')" ] } ], "metadata": { "kernelspec": { "display_name": "dendrotweakstest", "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.11.11" } }, "nbformat": 4, "nbformat_minor": 2 }