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.
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.
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;
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.
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.
Click here to download, and click on the downloaded file to install.
We use Read the Docs for our documentation.
We've published a technology report in Frontiers in Neuroinformatics.