/xolotl

xolotl: yet another neuron simulator. Fast (written in C++). Flexible (fully object oriented). Immediate (live manipulation in MATLAB)

Primary LanguageC++GNU General Public License v3.0GPL-3.0

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 efficiently, 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:

   x.plot

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 and another single-compartment model with eight conductances. The built-in benchmarking tool can benchmark any model configured in it:

   x.benchmark;

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 maximal conductances and reversal potentials of a Hodgkin-Huxley neuron model, simulate over a range of injected currents, and display using the xolotl plot function, and a firing rate over input (fI) 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.

How do I learn about this?

We use Read the Docs for our documentation.

How do I cite this?

We've published a technology report in Frontiers in Neuroinformatics.