QIF method code - by Catalina Vich from [Vich et al. 2017]
(1) MAIN ROUTINE: mainQIFestimator
mainQIFestimator is the main program to estimate the excitatory and the inhibitory conductances on the subthreshold regime when some ionic current of quadratic type are active in the subthreshold regime.
Input parameters:
v: vector containing the voltage of the neuron (mV). dt: the time step that v has been recovered (ms). TimeW: the time window where the conductances are supposed to be stationary (100ms in our experimental data). neuronParameters: vector containing [C vE vI vT IT gL vL Iapp] such that C is the membrane capacitance (constant) vE is the excitatory reversal potential (constant) vI is the inhibitory reversal potential (constant) (IT,vT) is the bifurcation point of the v-I curve or the first non-zero value of tge f-I curve (both are constant) gL leak conductance (constant) vL leak reversal potential (constant) Iapp is the applied current (constant)
Output parameters:
Program returns a constant value ahat, and vectors that, gEhat, gIhat, such that ahat: the quadratic coefficient that: time vector for the estimated conductances gEhat: estimated excitatory conductance (nS/cm^2) gIhat: estimated inhibitory conductance (nS/cm^2)
The code asks to the user if they want to filter the data or not. Type 'Y' if you do, type 'N' if you do not (between single quotes).
(2) SUB-ROUTINES:
MLEquadratic.m which contains the maximum likelihood estimator (MLE).
QIFestimateGs.m to estimate gE and gI knowing the coefficient 'a'
QIFestimatorREC.m to estimate gE, gI and a
(*) TYPE ON THE MATLAB COMMAND PROMPT
[ahat, that, gEhat, gIhat] = mainQIFestimator(v,t0,tf,dt,TimeW,neuronParameters);
to run the code. The estimated excitatory and inhibitory conductances are gEhat and gIhat, respectively.
(3) EXAMPLES FROM THE PAPER AND SUPPLEMENTARY MATERIAL
Type stellate_paper on the matlab command line and type 'Y' when asked to generate a figure similar to figure 3 A, B in the paper: