xolotl: yet another neuron simulator. Fast (written in C++). Flexible (fully object oriented). Immediate (live manipulation in MATLAB)
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


xolotl: a fast and flexible neuronal simulator

xolotl is a fast single-compartment and multi-compartment simulator written in C++ with a MATLAB interface. Designed with a focus on ease-of-use, flexibility and speed, xolotl simulates conductance-based neuron models and networks.

Why Use xolotl?

It's easy to use

You can set up complex models of neurons and networks very efficently, using an intuitive language that is tightly coupled to the object-based architecture of the underlying C++ code.

For example, here, we set up a compartment with some channels in it:

  x = xolotl;
  x.add('compartment', 'HH', 'Cm', 10, 'A', 0.01);
  x.HH.add('liu/NaV', 'gbar', 1000);
  x.HH.add('liu/Kd', 'gbar', 300);
  x.HH.add('Leak', 'gbar', 0.1);
  x.I_ext = 0.1;
  x.t_end = 300; % ms

That's it. To integrate it and see the time evolution of the voltage, type:


xolotl handles all of the compilation/linking/etc. for you.

It's fast

Because xolotl is written in C++, it's quite fast. Here are some benchmarks for a single-compartment Hodgkin-Huxley model_ with sodium, potassium, and passive leak conductances. The built-in benchmarking tool can benchmark any model configured in it:


Manipulate models in real time

Neurons and networks in xolotl can be manipulated in real-time using the graphical interface. Any parameter in xolotl can be accessed by a slider. Simulations are displayed by a chosen visualization function. Here, we manipulate the synaptic maximal conductances of a three neuron model and display using the xolotl plot function.

It's free to use, free to copy and free to improve

xolotl is released under a permissive GPL license. xolotl is meant to make working with neuron models easier, and will always be free to use.

Where do I get this?

Click here to download, and click on the downloaded file to install.