From f4c029f030323197ff27241f79698bf7b73a197a Mon Sep 17 00:00:00 2001 From: Giuseppe Chindemi Date: Mon, 20 Mar 2017 16:20:14 +0100 Subject: [PATCH] Added example of TMFit --- examples/tsodyksmarkramstp/tmevaluator.py | 78 + examples/tsodyksmarkramstp/tmodeint.py | 90 + examples/tsodyksmarkramstp/trace.pkl | Bin 0 -> 208325 bytes examples/tsodyksmarkramstp/tsodyksmarkramstp.ipynb | 1737 ++++++++++++++++++++ 4 files changed, 1905 insertions(+) create mode 100644 examples/tsodyksmarkramstp/tmevaluator.py create mode 100644 examples/tsodyksmarkramstp/tmodeint.py create mode 100644 examples/tsodyksmarkramstp/trace.pkl create mode 100644 examples/tsodyksmarkramstp/tsodyksmarkramstp.ipynb diff --git a/examples/tsodyksmarkramstp/tmevaluator.py b/examples/tsodyksmarkramstp/tmevaluator.py new file mode 100644 index 0000000..75f2a0e --- /dev/null +++ b/examples/tsodyksmarkramstp/tmevaluator.py @@ -0,0 +1,78 @@ +"""Tsodyks-Markram model Evaluator. +This module contains an evaluator for the Tsodyks-Markram model. + +@author: Giuseppe Chindemi +@remark: Copyright (c) 2017, EPFL/Blue Brain Project + This file is part of BluePyOpt + This library is free software; you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License version 3.0 as + published by the Free Software Foundation. + This library is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Lesser General Public License for more details. + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +""" +import bluepyopt as bpop +import numpy as np +import tmodeint + + +class TsodyksMarkramEvaluator(bpop.evaluators.Evaluator): + def __init__(self, t, v, tstim, params): + """ + Parameters + ---------- + t : numpy.ndarray + Time vector. + v : numpy.ndarray + Voltage vector, must have same dimension of t. + tstim : numpy.ndarray + Time of the stimuli. + params : list + List of parameters to fit. Every entry must be a tuple + (name, lower bound, upper bound). + """ + super(TsodyksMarkramEvaluator, self).__init__() + self.v = v + self.t = t + self.stimidx = np.searchsorted(t, tstim) + self.dx = t[1] - t[0] + self.nsamples = len(v) + self.params = params + # Find voltage baseline + bs_stop = np.searchsorted(t, tstim[0]) + self.vrest = np.mean(v[:bs_stop]) + # Compute time windows where to compare model and data + offset = 0.005 # s + window = 0.04 # s + window_samples = int(np.round(window/self.dx)) + psp_start = np.searchsorted(t, tstim+offset) + psp_stop = psp_start + window_samples + psp_stop[-1] += 2*window_samples # Extend last psp window (RTR case) + self.split_idx = zip(psp_start, psp_stop) + # Parameters to be optimized + self.params = [bpop.parameters.Parameter(name, bounds=(minval, maxval)) + for name, minval, maxval in self.params] + # Objectives + self.objectives = [bpop.objectives.Objective('interval_%d' % (i,)) + for i in xrange(len(self.split_idx))] + + def generate_model(self, individual): + v, _ = tmodeint.integrate(self.stimidx, self.nsamples, self.dx, + self.vrest, *individual) + return v + + def evaluate_with_lists(self, individual): + candidate_v = self.generate_model(individual) + errors = [np.linalg.norm(self.v[t0:t1] - candidate_v[t0:t1]) + for t0, t1 in self.split_idx] + return errors + + def evaluate_with_lists_aggregate(self, param_values): + errors = self.evaluate_with_lists(param_values) + return np.linalg.norm(errors) + diff --git a/examples/tsodyksmarkramstp/tmodeint.py b/examples/tsodyksmarkramstp/tmodeint.py new file mode 100644 index 0000000..a61cc8a --- /dev/null +++ b/examples/tsodyksmarkramstp/tmodeint.py @@ -0,0 +1,90 @@ +"""Tsodyks-Markram model ODEINT. +This module contains functions to numerically integrate the Tsodyks-Markram +model. The current implementation is a port of an Igor Pro (WaveMetrics) +routine, written by Rodrigo Perin with the help of Raphael Holzer. Many thanks +to Misha Tsodyks and Henry Markram for their support during all development +stages. + +@author: Giuseppe Chindemi, Rodrigo Perin +@remark: Copyright (c) 2017, EPFL/Blue Brain Project + This file is part of BluePyOpt + This library is free software; you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License version 3.0 as + published by the Free Software Foundation. + This library is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Lesser General Public License for more details. + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +""" +import numpy as np + + +def integrate(sampstim, nsamples, dt, vRest, Trec, Tfac, ASE, USE, Rinput, Tmem, + Tinac, latency): + """Integrate Tsodyks-Markram model and produce corresponding voltage trace. + + Parameters + ---------- + sampstim : numpy.ndarray + Array of sample indices where stimulation occurs. + nsamples : int + Number of samples in the trace. + dt : float + Time step of the trace. + vRest : float + Membrane resting potential (V). + Trec : float + Recovery time constant (ms). + Tfac : float + Facilitation time constant (ms). + ASE : float + Absolute Synaptic Efficacy. + USE : float + Utilization of Synaptic Efficacy. Has to be in the interval [0, 1]. + Rinput : float + Input resistance (MOhm). + Tmem : float + Membrane time constant (ms). + Tinac : float + Inactivation time constant (ms). + latency : float + PSP latency (ms). + + Returns + ------- + vtrace : numpy.ndarray + Voltage trace corresponding to the input parameters. + tm_statevar : dictionary + Integral of all state variables. + """ + AP = np.zeros(nsamples) + I = np.zeros(nsamples) + R = np.zeros(nsamples) + E = np.zeros(nsamples) + U = np.zeros(nsamples) + P = np.zeros(nsamples) + # Set stimuli in AP vector + psp_offset = int(np.round(1e-3*latency/dt)) + AP[sampstim+psp_offset] = 1 + # Initialize state vectors + R[0] = 1 + E[0] = 0 + P[0] = 0 + U[0] = USE + # Integrate TM model ODE + for i in xrange(1, nsamples): + R[i] = R[i-1] + dt*(1-R[i-1]-E[i-1])*1e3/Trec - U[i-1]*R[i-1]*AP[i-1] + E[i] = E[i-1] - dt*E[i-1]*1e3/Tinac + U[i-1]*R[i-1]*AP[i-1] + U[i] = U[i-1] - dt*(U[i-1]-USE)*1e3/Tfac + USE*(1-U[i-1])*AP[i-1] + P[i] = P[i-1] + dt*(Rinput*ASE/10**6*E[i-1]-P[i-1])*1e3/Tmem + # Update state + P = P + vRest + E = E*ASE/10**12 + I = 1-R-E + tm_statevar = {'recovered': R, 'effective': E, 'used': U, 'inactive': I} + return P, tm_statevar + diff --git a/examples/tsodyksmarkramstp/trace.pkl b/examples/tsodyksmarkramstp/trace.pkl new file mode 100644 index 0000000000000000000000000000000000000000..0c236646e3529b2a31f0b33db8de4741b58bf9b4 GIT binary patch literal 208325 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 literal 0 HcmV?d00001 diff --git a/examples/tsodyksmarkramstp/tsodyksmarkramstp.ipynb b/examples/tsodyksmarkramstp/tsodyksmarkramstp.ipynb new file mode 100644 index 0000000..5845e04 --- /dev/null +++ b/examples/tsodyksmarkramstp/tsodyksmarkramstp.ipynb @@ -0,0 +1,1737 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "deletable": true, + "editable": true + }, + "source": [ + "# Tsodyks-Markram model of short-term synaptic plasticity\n", + "In this notebook we demonstrate how to fit the parameters of the Tsodyks-Markram model to a given in vitro somatic recording. The in vitro trace used here shows a typical L5TTPC-L5TTPC depressing connection, kindly provided by Rodrigo Perin (EPFL)." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false, + "deletable": true, + "editable": true + }, + "outputs": [ + { + "data": { + "application/javascript": [ + "/* Put everything inside the global mpl namespace */\n", + "window.mpl = {};\n", + "\n", + "mpl.get_websocket_type = function() {\n", + " if (typeof(WebSocket) !== 'undefined') {\n", + " return WebSocket;\n", + " } else if (typeof(MozWebSocket) !== 'undefined') {\n", + " return MozWebSocket;\n", + " } else {\n", + " alert('Your browser does not have WebSocket support.' +\n", + " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", + " 'Firefox 4 and 5 are also supported but you ' +\n", + " 'have to enable WebSockets in about:config.');\n", + " };\n", + "}\n", + "\n", + "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n", + " this.id = figure_id;\n", + "\n", + " this.ws = websocket;\n", + "\n", + " this.supports_binary = (this.ws.binaryType != undefined);\n", + "\n", + " if (!this.supports_binary) {\n", + " var warnings = document.getElementById(\"mpl-warnings\");\n", + " if (warnings) {\n", + " warnings.style.display = 'block';\n", + " warnings.textContent = (\n", + " \"This browser does not support binary websocket messages. \" +\n", + " \"Performance may be slow.\");\n", + " }\n", + " }\n", + "\n", + " this.imageObj = new Image();\n", + "\n", + " this.context = undefined;\n", + " this.message = undefined;\n", + " this.canvas = undefined;\n", + " this.rubberband_canvas = undefined;\n", + " this.rubberband_context = undefined;\n", + " this.format_dropdown = undefined;\n", + "\n", + " this.image_mode = 'full';\n", + "\n", + " this.root = $('
');\n", + " this._root_extra_style(this.root)\n", + " this.root.attr('style', 'display: inline-block');\n", + "\n", + " $(parent_element).append(this.root);\n", + "\n", + " this._init_header(this);\n", + " this._init_canvas(this);\n", + " this._init_toolbar(this);\n", + "\n", + " var fig = this;\n", + "\n", + " this.waiting = false;\n", + "\n", + " this.ws.onopen = function () {\n", + " fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n", + " fig.send_message(\"send_image_mode\", {});\n", + " fig.send_message(\"refresh\", {});\n", + " }\n", + "\n", + " this.imageObj.onload = function() {\n", + " if (fig.image_mode == 'full') {\n", + " // Full images could contain transparency (where diff images\n", + " // almost always do), so we need to clear the canvas so that\n", + " // there is no ghosting.\n", + " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", + " }\n", + " fig.context.drawImage(fig.imageObj, 0, 0);\n", + " };\n", + "\n", + " this.imageObj.onunload = function() {\n", + " this.ws.close();\n", + " }\n", + "\n", + " this.ws.onmessage = this._make_on_message_function(this);\n", + "\n", + " this.ondownload = ondownload;\n", + "}\n", + "\n", + "mpl.figure.prototype._init_header = function() {\n", + " var titlebar = $(\n", + " '
');\n", + " var titletext = $(\n", + " '
');\n", + " titlebar.append(titletext)\n", + " this.root.append(titlebar);\n", + " this.header = titletext[0];\n", + "}\n", + "\n", + "\n", + "\n", + "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n", + "\n", + "}\n", + "\n", + "\n", + "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n", + "\n", + "}\n", + "\n", + "mpl.figure.prototype._init_canvas = function() {\n", + " var fig = this;\n", + "\n", + " var canvas_div = $('
');\n", + "\n", + " canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n", + "\n", + " function canvas_keyboard_event(event) {\n", + " return fig.key_event(event, event['data']);\n", + " }\n", + "\n", + " canvas_div.keydown('key_press', canvas_keyboard_event);\n", + " canvas_div.keyup('key_release', canvas_keyboard_event);\n", + " this.canvas_div = canvas_div\n", + " this._canvas_extra_style(canvas_div)\n", + " this.root.append(canvas_div);\n", + "\n", + " var canvas = $('');\n", + " canvas.addClass('mpl-canvas');\n", + " canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n", + "\n", + " this.canvas = canvas[0];\n", + " this.context = canvas[0].getContext(\"2d\");\n", + "\n", + " var rubberband = $('');\n", + " rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n", + "\n", + " var pass_mouse_events = true;\n", + "\n", + " canvas_div.resizable({\n", + " start: function(event, ui) {\n", + " pass_mouse_events = false;\n", + " },\n", + " resize: function(event, ui) {\n", + " fig.request_resize(ui.size.width, ui.size.height);\n", + " },\n", + " stop: function(event, ui) {\n", + " pass_mouse_events = true;\n", + " fig.request_resize(ui.size.width, ui.size.height);\n", + " },\n", + " });\n", + "\n", + " function mouse_event_fn(event) {\n", + " if (pass_mouse_events)\n", + " return fig.mouse_event(event, event['data']);\n", + " }\n", + "\n", + " rubberband.mousedown('button_press', mouse_event_fn);\n", + " rubberband.mouseup('button_release', mouse_event_fn);\n", + " // Throttle sequential mouse events to 1 every 20ms.\n", + " rubberband.mousemove('motion_notify', mouse_event_fn);\n", + "\n", + " rubberband.mouseenter('figure_enter', mouse_event_fn);\n", + " rubberband.mouseleave('figure_leave', mouse_event_fn);\n", + "\n", + " canvas_div.on(\"wheel\", function (event) {\n", + " event = event.originalEvent;\n", + " event['data'] = 'scroll'\n", + " if (event.deltaY < 0) {\n", + " event.step = 1;\n", + " } else {\n", + " event.step = -1;\n", + " }\n", + " mouse_event_fn(event);\n", + " });\n", + "\n", + " canvas_div.append(canvas);\n", + " canvas_div.append(rubberband);\n", + "\n", + " this.rubberband = rubberband;\n", + " this.rubberband_canvas = rubberband[0];\n", + " this.rubberband_context = rubberband[0].getContext(\"2d\");\n", + " this.rubberband_context.strokeStyle = \"#000000\";\n", + "\n", + " this._resize_canvas = function(width, height) {\n", + " // Keep the size of the canvas, canvas container, and rubber band\n", + " // canvas in synch.\n", + " canvas_div.css('width', width)\n", + " canvas_div.css('height', height)\n", + "\n", + " canvas.attr('width', width);\n", + " canvas.attr('height', height);\n", + "\n", + " rubberband.attr('width', width);\n", + " rubberband.attr('height', height);\n", + " }\n", + "\n", + " // Set the figure to an initial 600x600px, this will subsequently be updated\n", + " // upon first draw.\n", + " this._resize_canvas(600, 600);\n", + "\n", + " // Disable right mouse context menu.\n", + " $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n", + " return false;\n", + " });\n", + "\n", + " function set_focus () {\n", + " canvas.focus();\n", + " canvas_div.focus();\n", + " }\n", + "\n", + " window.setTimeout(set_focus, 100);\n", + "}\n", + "\n", + "mpl.figure.prototype._init_toolbar = function() {\n", + " var fig = this;\n", + "\n", + " var nav_element = $('
')\n", + " nav_element.attr('style', 'width: 100%');\n", + " this.root.append(nav_element);\n", + "\n", + " // Define a callback function for later on.\n", + " function toolbar_event(event) {\n", + " return fig.toolbar_button_onclick(event['data']);\n", + " }\n", + " function toolbar_mouse_event(event) {\n", + " return fig.toolbar_button_onmouseover(event['data']);\n", + " }\n", + "\n", + " for(var toolbar_ind in mpl.toolbar_items) {\n", + " var name = mpl.toolbar_items[toolbar_ind][0];\n", + " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", + " var image = mpl.toolbar_items[toolbar_ind][2];\n", + " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", + "\n", + " if (!name) {\n", + " // put a spacer in here.\n", + " continue;\n", + " }\n", + " var button = $('');\n", + " button.click(method_name, toolbar_event);\n", + " button.mouseover(tooltip, toolbar_mouse_event);\n", + " nav_element.append(button);\n", + " }\n", + "\n", + " // Add the status bar.\n", + " var status_bar = $('');\n", + " nav_element.append(status_bar);\n", + " this.message = status_bar[0];\n", + "\n", + " // Add the close button to the window.\n", + " var buttongrp = $('
');\n", + " var button = $('');\n", + " button.click(function (evt) { fig.handle_close(fig, {}); } );\n", + " button.mouseover('Stop Interaction', toolbar_mouse_event);\n", + " buttongrp.append(button);\n", + " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n", + " titlebar.prepend(buttongrp);\n", + "}\n", + "\n", + "mpl.figure.prototype._root_extra_style = function(el){\n", + " var fig = this\n", + " el.on(\"remove\", function(){\n", + "\tfig.close_ws(fig, {});\n", + " });\n", + "}\n", + "\n", + "mpl.figure.prototype._canvas_extra_style = function(el){\n", + " // this is important to make the div 'focusable\n", + " el.attr('tabindex', 0)\n", + " // reach out to IPython and tell the keyboard manager to turn it's self\n", + " // off when our div gets focus\n", + "\n", + " // location in version 3\n", + " if (IPython.notebook.keyboard_manager) {\n", + " IPython.notebook.keyboard_manager.register_events(el);\n", + " }\n", + " else {\n", + " // location in version 2\n", + " IPython.keyboard_manager.register_events(el);\n", + " }\n", + "\n", + "}\n", + "\n", + "mpl.figure.prototype._key_event_extra = function(event, name) {\n", + " var manager = IPython.notebook.keyboard_manager;\n", + " if (!manager)\n", + " manager = IPython.keyboard_manager;\n", + "\n", + " // Check for shift+enter\n", + " if (event.shiftKey && event.which == 13) {\n", + " this.canvas_div.blur();\n", + " // select the cell after this one\n", + " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n", + " IPython.notebook.select(index + 1);\n", + " }\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_save = function(fig, msg) {\n", + " fig.ondownload(fig, null);\n", + "}\n", + "\n", + "\n", + "mpl.find_output_cell = function(html_output) {\n", + " // Return the cell and output element which can be found *uniquely* in the notebook.\n", + " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", + " // IPython event is triggered only after the cells have been serialised, which for\n", + " // our purposes (turning an active figure into a static one), is too late.\n", + " var cells = IPython.notebook.get_cells();\n", + " var ncells = cells.length;\n", + " for (var i=0; i= 3 moved mimebundle to data attribute of output\n", + " data = data.data;\n", + " }\n", + " if (data['text/html'] == html_output) {\n", + " return [cell, data, j];\n", + " }\n", + " }\n", + " }\n", + " }\n", + "}\n", + "\n", + "// Register the function which deals with the matplotlib target/channel.\n", + "// The kernel may be null if the page has been refreshed.\n", + "if (IPython.notebook.kernel != null) {\n", + " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n", + "}\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Get v trace for best model\n", + "vmodel = evaluator.generate_model(best)\n", + "\n", + "fig, ax = plt.subplots()\n", + "ax.plot(trace['t'], trace['v'], label='in vitro')\n", + "ax.plot(trace['t'], vmodel, label='model')\n", + "ax.legend(loc=0)\n", + "ax.set_xlabel('time (s)')\n", + "ax.set_ylabel('soma voltage (V)')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}