Efficient estimation of detailed single-neuron models (Huys et al. 2006)

 Download zip file 
Help downloading and running models
Accession:93390
"Biophysically accurate multicompartmental models of individual neurons ... depend on a large number of parameters that are difficult to estimate. ... We propose a statistical approach to the automatic estimation of various biologically relevant parameters, including 1) the distribution of channel densities, 2) the spatiotemporal pattern of synaptic input, and 3) axial resistances across extended dendrites. ... We demonstrate that the method leads to accurate estimations on a wide variety of challenging model data sets that include up to about 10,000 parameters (roughly two orders of magnitude more than previously feasible) and describe how the method gives insights into the functional interaction of groups of channels."
Reference:
1 . Huys QJ, Ahrens MB, Paninski L (2006) Efficient estimation of detailed single-neuron models. J Neurophysiol 96:872-90 [PubMed]
Citations  Citation Browser
Model Information (Click on a link to find other models with that property)
Model Type: Neuron or other electrically excitable cell;
Brain Region(s)/Organism:
Cell Type(s):
Channel(s):
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: MATLAB;
Model Concept(s): Methods;
Implementer(s):
% PLOTS.M
%
% Infer full compartmental model given only access to the voltage in the
% compartments. This code is released in conjunction with the paper 
%
%	Huys QJM, Ahrens M and Paninski L (2006): Efficient estimation of
%	detailed single-neurone models
%
% and can be downloaded from 
%
%	http://www.gatsby.ucl.ac.uk/~qhuys/code.html
%
% This scripte generates a plot of the voltage trace and the parameters
% inferred. It is called by MAIN.M. It asks whether to generate an inset to
% visualise the amount of noise in the data. If the answer is yes, you get to
% select an area in the rightmost panel to enlarge. 
%
% Copyright Quentin Huys 2006

figure(1);
clf;
subplot(2,3,1); hold on;
		ind = 1:3:nch;
		plot(atrue(ind),a(ind),'k.','markersize',10);%axis tight
		fplot('x',[min(atrue(ind)) max(atrue(ind))],'k');
		hold off
		set(gca,'fontsize',18,'xlim',[min(atrue(ind)) max(atrue(ind))],'ylim',[min(a(ind)) max(a(ind))])
		xlabel('true g_{Na}');ylabel('est g_{Na}')
		box on;
subplot(2,3,2); hold on;
		ind = 2:3:nch;
		plot(atrue(ind),a(ind),'k.','markersize',10);%axis tight
		fplot('x',[min(atrue(ind)) max(atrue(ind))],'k');
		hold off
		set(gca,'fontsize',18)
		set(gca,'fontsize',18,'xlim',[min(atrue(ind)) max(atrue(ind))],'ylim',[min(a(ind)) max(a(ind))])
		xlabel('true g_{K}');ylabel('est g_{K}')
		box on;
subplot(2,3,4); hold on;
		ind = 3:3:nch;
		plot(atrue(ind),a(ind),'k.','markersize',10);%axis tight
		fplot('x',[min(atrue(ind)) max(atrue(ind))],'k');
		hold off
		set(gca,'fontsize',18)
		set(gca,'fontsize',18,'xlim',[min(atrue(ind)) max(atrue(ind))],'ylim',[min(a(ind)) max(a(ind))])
		xlabel('true g_{L}');ylabel('est g_{L}')
		box on;
subplot(2,3,5); hold on;
		ind = nch+1:nch+nc-1;
		plot(atrue(ind),a(ind),'k.','markersize',10);%axis tight
		fplot('x',[min(atrue(ind)) max(atrue(ind))],'k');
		hold off
		set(gca,'fontsize',18)
		set(gca,'fontsize',18,'xlim',[min(atrue(ind)) max(atrue(ind))],'ylim',[min(a(ind)) max(a(ind))])
		xlabel('true g_{intercomp}');ylabel('est g_{intercomp}')
		box on;
subplot(2,3,[3 6]);	
		timevec = [1:T]*delta;
		if nc>=30; vind=1:30;
		else 	   vind = 1:nc;
		end
		plot(timevec,V(:,vind),'k');
		axis tight
		set(gca,'fontsize',18)
		xlabel('Time [ms]');ylabel('Voltage [mV]');
		box on


if str2num(input('Select region for voltage inset? [default no; yes=1]','s'))
	reg = getrect(gca);
	axes('position',[0.9050-.075    0.7    0.07    0.2]);box on
			tind = find(timevec>reg(1) & timevec<reg(1)+reg(3));
			plot(timevec(tind),V(tind,vind),'k');
			axis tight
			set(gca,'fontsize',14)
end