Contents Why use NEURON ( 5-10 mins) Basics of NEURON (20-25 mins) Exercises (45 mins) Wrap Up (10 mins)

Similar documents

November 27, 2004 The NEURON Book: Chapter 5

Biological Modeling of Neural Networks

80% of all excitatory synapses - at the dendritic spines.

Client-Server Architecture for a Neural Simulation Tool

Compartmental Modelling

Mathematical Foundations of Neuroscience - Lecture 3. Electrophysiology of neurons - continued

Hines, Michael (1993). NEURON - A program for simulation of nerve equations. In: Neural Systems: Analysis and Modeling. pp.127{136. F.

Virtual Cell Membrane Potential Tutorial IV

Virtual Cell Version 4.0 Membrane Potential

Table of Contents and Schedule of Presentations

Deconstructing Actual Neurons

Particles with opposite charges (positives and negatives) attract each other, while particles with the same charge repel each other.

Electronics 101 Solving a differential equation Incorporating space. Numerical Methods. Accuracy, stability, speed. Robert A.

Annales UMCS Informatica AI 1 (2003) UMCS. Liquid state machine built of Hodgkin-Huxley neurons pattern recognition and informational entropy

Passive Membrane Properties

A methodology for simulating biological systems using Microsoft Excel

Supratim Ray

BIOELECTRIC PHENOMENA


Ionic basis of the resting membrane potential. Foundations in Neuroscience I, Oct

Lecture 10 : Neuronal Dynamics. Eileen Nugent

MATLAB Ordinary Differential Equation (ODE) solver for a simple example 1. Introduction

IndiFrag v2.1: An Object-based Fragmentation Analysis Software Tool

Resting Distribution of Ions in Mammalian Neurons. Outside Inside (mm) E ion Permab. K Na Cl

Sample HHSim Exercises

Voltage-clamp and Hodgkin-Huxley models

Cosmic Ray Detector Software

Scripting Languages Fast development, extensible programs

Reaction-Diffusion in the NEURON Simulator

Computational Neuroscience. Lubica Benuskova Lecture 1

Νευροφυσιολογία και Αισθήσεις

DISCRETE EVENT SIMULATION IN THE NEURON ENVIRONMENT

Topics in Neurophysics

We observe the model neuron s response to constant input current, studying the dependence of:

Basic elements of neuroelectronics -- membranes -- ion channels -- wiring

STUDENT PAPER. Santiago Santana University of Illinois, Urbana-Champaign Blue Waters Education Program 736 S. Lombard Oak Park IL, 60304

HOW TO USE MIKANA. 1. Decompress the zip file MATLAB.zip. This will create the directory MIKANA.

Foundations of Computation

A FINITE STATE AUTOMATON MODEL FOR MULTI-NEURON SIMULATIONS

Reaction-Diffusion in the NEURON Simulator

Supervisor: Prof. Stefano Spaccapietra Dr. Fabio Porto Student: Yuanjian Wang Zufferey. EPFL - Computer Science - LBD 1

Phase Response Curves, Delays and Synchronization in Matlab

Voltage-clamp and Hodgkin-Huxley models

Lab 4 Motion in One-Dimension Part 2: Position, Velocity and Acceleration Graphically and Statistically (pre-requisite Lab3)

A Brief Introduction To. GRTensor. On MAPLE Platform. A write-up for the presentation delivered on the same topic as a part of the course PHYS 601

BME 5742 Biosystems Modeling and Control

ES205 Analysis and Design of Engineering Systems: Lab 1: An Introductory Tutorial: Getting Started with SIMULINK

General Physics. Nerve Conduction. Newton s laws of Motion Work, Energy and Power. Fluids. Direct Current (DC)

1 Overview of Simulink. 2 State-space equations

LESSON 2.2 WORKBOOK How do our axons transmit electrical signals?

Neural Modeling and Computational Neuroscience. Claudio Gallicchio

Department of Chemical Engineering University of California, Santa Barbara Spring Exercise 2. Due: Thursday, 4/19/09

Math 345 Intro to Math Biology Lecture 20: Mathematical model of Neuron conduction

Effects of Betaxolol on Hodgkin-Huxley Model of Tiger Salamander Retinal Ganglion Cell

Karsten Vennemann, Seattle. QGIS Workshop CUGOS Spring Fling 2015

System Identification for the Hodgkin-Huxley Model using Artificial Neural Networks

THE DETERMINANTS OF THE ONSET DYNAMICS OF ACTION POTENTIALS IN A COMPUTATIONAL MODEL

Electrodiffusion Model of Electrical Conduction in Neuronal Processes

1 Introduction and neurophysiology

ISSP User Guide CY3207ISSP. Revision C

3.3 Simulating action potentials

Overview Organization: Central Nervous System (CNS) Peripheral Nervous System (PNS) innervate Divisions: a. Afferent

UML. Design Principles.

Laboratory 2: Motion in One Dimension: Velocity

1 R.V k V k 1 / I.k/ here; we ll stimulate the action potential another way.) Note that this further simplifies to. m 3 k h k.

SUPPLEMENTARY INFORMATION

Propagation& Integration: Passive electrical properties

All-or-None Principle and Weakness of Hodgkin-Huxley Mathematical Model

Dynamic Systems: Ordinary Differential Equations. Ordinary Differential Equations

Signal processing in nervous system - Hodgkin-Huxley model

Introduction to Neural Networks U. Minn. Psy 5038 Spring, 1999 Daniel Kersten. Lecture 2a. The Neuron - overview of structure. From Anderson (1995)

MODELING IN XCOS USING MODELICA

An Introductory Course in Computational Neuroscience

Tutorial 11. Use of User-Defined Scalars and User-Defined Memories for Modeling Ohmic Heating

This tutorial is intended to familiarize you with the Geomatica Toolbar and describe the basics of viewing data using Geomatica Focus.

Phys498BIO; Prof. Paul Selvin Hw #9 Assigned Wed. 4/18/12: Due 4/25/08

Chapter 1 subtitles Ion gradients

Limitations of the Hodgkin-Huxley Formalism: Effects of Single Channel Kinetics on Transmembrane Voltage Dynamics

St art. rp m. Km /h 1: : : : : : : : : : : : :5 2.5.

The Axonal Plexus. A description of the behavior of a network of neurons connected by gap junctions. Erin Munro, 4/4/2007

The Nervous System and the Sodium-Potassium Pump

Lecture 11 : Simple Neuron Models. Dr Eileen Nugent

CELLULAR BIOPHYSICS SOFTWARE BASED ON MATLAB. Fall 1997

Linear and nonlinear optimization with CasADi

Equivalent Circuit Model of the Neuron

Presented by Sarah Hedayat. Supervised by Pr.Cappy and Dr.Hoel

5.4 Modelling ensembles of voltage-gated ion channels

Octave. Tutorial. Daniel Lamprecht. March 26, Graz University of Technology. Slides based on previous work by Ingo Holzmann

ph Probe ReallyEasyData com

DISCRETE RANDOM VARIABLES EXCEL LAB #3

Single-Compartment Neural Models

Introduction and the Hodgkin-Huxley Model

Computational Study of Chemical Kinetics (GIDES)

Predici 11 Quick Overview

Information on the test material EDS-TM002 and the BAM software package EDX Spectrometer Test for determination of the spectrometer performance

Lab 1: Dynamic Simulation Using Simulink and Matlab

Channels can be activated by ligand-binding (chemical), voltage change, or mechanical changes such as stretch.

September 16, 2004 The NEURON Book: Chapter 2

Software BioScout-Calibrator June 2013

Transcription:

Contents Why use NEURON ( 5-10 mins) 3 Basics of NEURON (20-25 mins) 8 Exercises (45 mins) 27 Wrap Up (10 mins) 28 (Many thanks to David Sterratt (Uni of Edinburgh) for allowing the use of his tutorials and images)

Why use NEURON ( 5-10 mins) (From the NEURON website, my bold type): is a flexible and powerful simulator of neurons and networks has important advantages over general-purpose simulators helps users focus on important biological issues rather than purely computational concerns has a convenient user interface has a user-extendable library of biophysical mechanisms has many enhancements for efficient network modeling offers customizable initialization and simulation flow control is widely used in neuroscience research by experimentalists and theoreticians is well-documented and actively supported is free, open source, and runs on (almost) everything

Use-cases Modelling of multicompartmental neurons in which membrane voltage is calculated from ion flows across the membranes Connections between cells through synapses (chemical & electrical) If you are interested in large networks of 'simple', single compartement neurons, there are other options.

Use-cases For a single compartment cell with simple HH dynamics, you can probably write your own simulation using the ODE solvers in provided matlab/python. As your models develop more complexity: Current dependancies e.g. K channels dependant on intracellular Ca Incoorperation of the cable equation for multicompartmental neurons Connections via synapses (delays) You may find that you are reimplementing lots of mathematical solving, which has been already been done efficiently in NEURON. MOD files provide a standard for exchanging channel descriptions (e.g. modeldb) NEURON is highly parallelisable (e.g. BBP) for large networks There is a python interface

What do i need to use it? It runs on most operating systems (Windows/Linux/Mac). On the NEURON website: - Windows installer - Mac package - Linux.deb,.rpm package Eilif Muller has precompiled binaries including Python support http://neuralensemble.org/people/eilifmuller/software.html

Resources Active questions board ModelDB The NEURON Book

Basics of NEURON (20-25 mins)

Overview NEURON is complex (I will cover a lot of material in the next slides, don't worry if you don't remember all the details - its the concepts that are important) NEURON is old (& built on even older software) (These are positives and negatives)

2 Parts: HOC and NMODL files Two main types of language: Interpreted languages (Python/matlab) are interactive, but slow Compiled languages (Fortran/C/C++/...) are fast, but not interactive NEURON uses both: HOC - which controls the 'structure' of the simulation NMODL - a compiled language for defining the dynamics of channels/synapses mathematically (e.g. Hodgkin-Huxley type channels). We will not cover NMODL in this tutorial.

HOC Interpreter HOC is an interactive interpreter which controls the structure of the simulation: creating morphologies choosing which channels to apply and where, changing certain parameters (channel densities) connecting cells together with synapses creating stimuli: current clamps, voltage clamps defining what you want to record: voltages, internal states setting simulation parameters: stimulation time-steps, running the simulation

Example simulation: Soma + Axon, HH Channels, with current injection We will walk through the steps required to simulate a neuron, which has a soma and an axon, stimulate it with a current clamp, and visualise the somatic membrane voltage.

HOC - Graphical User Interface NEURON has a graphical user interface: $ nrngui oc> Or NEURON can be used entirely from the commandline and within scripts: $ nrnoc oc>

Morphologies I (Overview) Neuron morphologies are represented as a tree of unbranched cylinders called Sections which describe the gross morphology of the neuron. e.g.

Morphology II (Building & Connecting Sections) Sections are created with the create <section-name> command Length and diameter of the sections are set as properties for each section. // Create 3 Sections: oc> create soma oc> create axon_proximal oc> create axon_distal // Setup the sizes of each Section: oc> soma L = 12.3 oc> soma diam = 12.3 oc> axon_proximal diam = 1.0 oc> axon_proximal L = 50 oc> axon_distal diam = 0.5 oc> axon_distal L = 20

Morphology II (Building & Connecting Sections) Sections are connected together with the connect function. '0' defines one end of the Section, '1' defines the other. // Setup the connections: oc> connect soma(1.0), axon_proximal(0.0) oc> connect axon_proximal(1.0), axon_distal(0.0)

Morphologies III (Segments) To solve simulations for better spatial accuracy, Sections can be subdivided into segments. Each segment has its own voltage and state variables (Hines & Carnevale recommend using an odd number of segments) oc> axon_proximal nseg = 11 oc> axon_distal nseg = 3

HOC: psection() oc>axon_proximal psection() axon_proximal { nseg=11 L=50 Ra=35.4 /*location 0 attached to cell 1*/ /* First segment only */ insert capacitance { cm=1} insert morphology { diam=1} } This can be used with foreach: oc> forall psection() // <shows 'psection()' for every section>...

Channels I (Overview) Neurons are interesting because of their active membrane channels Channels define the currents flowing across the membrane (e.g. sodium, potassium, leak) In NEURON: it comes with some predefined channel definitions (pas, hh) it is possible to define your own using NMODL files (not covered here) Normally we only need to define the currents flowing accross the membrane - NEURON automatically handles membrane capacitance and axial resistances

Channels II (Segments)

Channels III (Using channels) Channels are inserted into each Section Channels can have parameters that can be changed in HOC, (e.g. conduction density) E.g. // Insert the channel into the soma Section oc> soma insert hh // View and change some properties: oc> soma.gnabar_hh 0.12 oc>soma.gnabar_hh = 0.2 // (in S/cm2)

Channels IV (Summary): oc> soma psection() soma { nseg=1 L=12.3 Ra=35.4 axon_proximal connect soma (1), 0 /* First segment only */ insert morphology { diam=12.3} insert capacitance { cm=1} insert hh { gnabar_hh=0.2 gkbar_hh=0.036 gl_hh=0.0003 el_hh=-54.3} insert na_ion { ena=50} insert k_ion { ek=-77} }

Stimuli (Overview) NEURON is very flexible in the stimulation protocols that can be used Most commonly used are: Current Clamp (IClamp) Voltage Clamp (SEClamp, VClamp)

Stimuli (Current Clamp) For example, a current clamp called 'stim' at the centre of the soma: oc> objref stim oc> soma stim = new IClamp(0.5) oc> stim.del = 100 oc> stim.dur = 100 oc> stim.amp = 0.1 (NEURON documentation gives details of properties of specific objects)

Running the simulation NEURON simulations are run: with the 'run()' command from hoc clicking 'Init & Run' from the GUI By default, running the simulation will not plot anything...

Plotting the results We want to plot the internal states of the simulation (e.g. membrane voltage, current flows, state variables) This is easiest done by using the NEURON GUI (It is also possible to save results to file using code)

Exercises (45 mins) We will work through the tutorial from David Sterratt and Andrew Gillies. Section A: investigates a single compartment neuron containing HH channels, stimulated with a current clamp Section B: extending this to a multicompartmental neuron These can be found at: http://www.anc.ed.ac.uk/school/neuron/

Wrap Up (10 mins)

Useful things to know about NEURON NEURON is contains an 'adaptive-timestep' integrator, which can dramatically improve simulation time in some circumstances. This is enabled simply by adding cvode_active(1) before calling run() NEURON has a python interface. This allows you to use the hoc Interpreter from within Python, use objects and access stored data as numpy-arrays. HOWEVER! There are limitations on 'clearing-the-workspace'

'Competitors' to NEURON GENESIS, MOOSE

Other Tools in the ecosystem morphforge NeuroML & neuroconstruct NineML neuronvisio

Any Questions??