Previously I demonstrated how to represent and simulate models of individual neurons using Python. In this next series of articles I'm going to show how Python can be used to simulate connected networks of spiking neurons. Modeling and evaluating these networks can give us an insight into how populations of neurons in the brain interact to give rise to various observed phenomena. Lateral and feedback recurrent networks are of particular interest for computational simulation as attempting to analytically describe these systems quickly becomes intractable. First I'm going to start off with some of the most basic recurrent networks. Read the rest of this entry »

Spiking Neural Networks in Python (Part 1)
March 6, 2011Comments: 3 CommentsCategories: Computing, NeurobiologyAlso tagged spiking neural networks, spiking neurons 
Neural Modeling with Python (Part 5)
February 22, 2011We've seen how Python can be an effective tool for simply and efficiently implementing and simulating four different neural models using Python: leaky Integrateandfire, HodgkinHuxley, Izhikevich, and active compartments. However, other than some convenience methods and simple tricks, these examples could have been done in MATLAB without too much pain for an experienced user. So where does Python really stand out? In my first post I argued that a major advantage of Python is it's power and flexibility as a general programming language. In this case, its extensibility has allowed it to become the interface of choice for many powerful neural simulator tools. Read the rest of this entry »
Comments: 1 CommentCategories: Computing, Neurobiology 
Neural Modeling with Python (Part 4)
February 11, 2011So far I've presented three different models for simulating neural spiking dynamics. A key assumption that was made but never stated in each of these examples was that the neuron we were modeling had no defined morphology. In other words, we were looking at models that assumed the neuron was a dimensionless sphere or point. These point neurons can be very effective for studying the behavior of largescale spiking neural networks (e.g. Izhikevich), but are impractical if you want to investigate how anatomical features of a neuron contribute to signal propagation. For this we return to the HodgkinHuxley model and cable theory. Read the rest of this entry »
Comments: 2 CommentsCategories: Computing, Neurobiology 
Neural Modeling with Python (Part 3)
February 2, 2011So far we've looked at how to simulate a simple LIF model neuron and a complex HodgkinHuxley model neuron. The LIF neuron is computationally simple but physiologically implausible, while HodgkinHuxley gives us a very good representation of actual neural dynamics but is parameterheavy and computationally expensive. An intriguing compromise between the two exists  one that can generate a wide variety of observed neural spiking behavior while doing so with limited computational demand. It is called the quadratic integrateandfire model neuron, or simply Izhikevich neuron. Read the rest of this entry »
Comments: 1 CommentCategories: Computing, Neurobiology 
Neural Modeling with Python (Part 2)
January 26, 2011In my last post, I demonstrated how to simulate and plot a simple leaky integrateandfire (LIF) neuron using Python. The LIF neuron provides a simple representation of a spiking neuron, but lacks biological plausibility especially when it comes to the actual spike generation. A neural model that does have a solid foundation in physiology is that originally proposed by Alan Hodgkin and Andrew Huxley in 1952. Read the rest of this entry »
Comments: Leave a commentCategories: Computing, Neurobiology 
Neural Modeling with Python (Part 1)
January 19, 2011Representing the function and behavior of neurons in software is one of the core activities of computational neuroscience. As neurons communicate via electrochemical currents, this is typically accomplished through modeling the dynamical nature of the neuron's electrical properties. Several models treat the neuron as an equivalent electrical circuit, with its membrane potential described by one or more differential equations. In order to simulate the response of the neuron to various stimuli, these equations are numerically solved over some time interval for a given pattern of input current. There are several methods for numerically solving differential equations, and for the purpose of this series, I'm going to use the forward Euler method because it's one of the easiest to implement and understand while providing sufficient stability.
So, without further ado, let's start simulating some neurons in Python! Read the rest of this entry »
Comments: 6 CommentsCategories: Neurobiology, RoboticsAlso tagged spikebased models, spiking neurons 
Python in Computational Neuroscience
December 20, 2010Python (http://www.python.org/) is a programming language that has gained a significant amount of traction in the scientific computing community over the last few years. It combines the rapid prototyping and expressiveness of MATLAB with the power and objectoriented nature of C++ or Java. In the fields of Computational Neuroscience and Neuroinformatics, Python has seen its star rise especially fast. The journal Frontiers in Neuroinformatics dedicated a special topics issue to Python in 2008, with papers from several tool developers and integrators. At the recent 2010 SfN meeting in San Diego, a workshop was devoted to current state of many of these tools and initiatives with no sign that the pace is slowing down. Read the rest of this entry »
Comments: 4 CommentsCategories: Computing, Neurobiology