UCI-CARL / CARLsim6

CARLsim is an efficient, easy-to-use, GPU-accelerated software framework for simulating large-scale spiking neural network (SNN) models with a high degree of biological detail.
MIT License
41 stars 16 forks source link

CARLsim docs appear to incorrectly list setExternalCurrent’s unit #35

Open nmsutton opened 1 year ago

nmsutton commented 1 year ago

CARLsim’s documentation (link) lists setExternalCurrent’s unit as milliamps (mA) but multiple sources of evidence indicate that it should be picoamps (pA). Also, documentation appears missing about what unit NeuronMonitor’s current values in .dat files are stored as. It is indicated the correct unit is also pA for that and can be observed with OAT’s NeuronReader.

Source 1: Dr. Izhikevich’s 2007 Dynamical Systems book (link). Several examples of running simulations with specific current input in pA are listed. For example, Fig. 8.27 lists current at 50, 70 and 110 pA. This is run (as listed in figure caption) with a 9-param Izhikevich model using approx. C:40;k:0.25;vr:-65;vt:-45;a:0.015;b:2;vpeak:0;c:-55;d:50. Running this in CARLsim with setExternalCurrent=110, etc., produces similar results as those in the figure. If setExternalCurrent was mA this would be 0.11 input instead and that does not recreate the figure results.

Source 2: Hippocampome.org’s Izhikevich models page (link). Many specific pA current input records are listed in neuron pages that are accessed by clicking a neuron type name on the left of the matrix. Then scroll to “Izhikevich Model” section. For example, the “CA3 Axo-axonic” neuron. The image under “Izhikevich Model” shows a simulation with 632 pA current input. This is with the Izhikevich params listed under “Parameters Single Compartment”. This is aimed to recreate the firing pattern in the image listed under “firing pattern”. A “simulate” link has a javascript version of the simulation. Running the sim with these settings in CARLsim creates similar results with setExternalCurrent=632 but similar results are not created when current is set to 0.632.

Source 3: Dr. Izhikevich’s 2007 article (link). This describes in “...model proposed by Izhikevich…” that “...I is the dendritic and synaptic current (in pA)...”. If the same 9-param formula is used in CARLsim as listed in the “Neuronal Dynamics” section than current (I) would normally be included in pA not mA as the article describes.

I have attached a zip file with CARLsim and matlab code that can be used to test the simulations described (current_compare.zip). The plot_volt_or_current.m script can plot CARLsim results with OAT. A note is that the file accessed by NeuronReader in the script should be pointed at the directory with the NeuronMonitor dat file. OAT’s NeuronReader reporting results as the same unit as setExternalCurrent inputs, e.g., as seen in plot_volt_or_current.m’s plots, indicates that NeuronReader’s values in the .dat file are stored in pA not mA. This should be added to the CARLsim documentation for clarity because currently it appears no unit is listed in documentation for the NeuronMonitor output.