Pipette and membrane patch geometry effects on GABAa currents patch-clamp exps (Moroni et al. 2011)

 Download zip file 
Help downloading and running models
Accession:127190
Ion currents, mediated by GABAa-receptors in outside-out membrane patches, may alter the concentration of Chloride ions inside the pipette and the membrane patch. GABAa-receptors are in fact ionotropic synaptic receptors, selective to Chloride ions. Therefore, chloride fluxes across the membrane patch correlate to GABAa-receptor opening. Chloride ions accumulation, depletion and diffusion, inside the pipette and the membrane patch, affect by definition the Chloride equilibrium (i.e. Nernst) electrical potential. This in turn changes the ionic driving force underlying GABAa-mediated currents. It follows that, in case of very small volumes and confined geometries, voltage-clamp recordings of GABAa-receptor currents carry information on both i) Chloride diffusion and ii) receptor kinetics. The relevance of (i) and (ii) have been studied numerically by defining a 1-dimensional biophysical model, released here to the interested user.
Reference:
1 . Moroni M, Biro I, Giugliano M, Vijayan R, Biggin PC, Beato M, Sivilotti LG (2011) Chloride ions in the pore of glycine and GABA channels shape the time course and voltage dependence of agonist currents. J Neurosci 31:14095-106 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Channel/Receptor;
Brain Region(s)/Organism: Neocortex;
Cell Type(s): Neocortex V1 L6 pyramidal corticothalamic GLU cell;
Channel(s): I Chloride;
Gap Junctions:
Receptor(s): GabaA;
Gene(s):
Transmitter(s): Gaba;
Simulation Environment: MATLAB;
Model Concept(s):
Implementer(s): Giugliano, Michele [mgiugliano at gmail.com];
Search NeuronDB for information about:  Neocortex V1 L6 pyramidal corticothalamic GLU cell; GabaA; I Chloride; Gaba;
/
Archive
matlab
readme.html
main.m
screenshot1.jpg
screenshot2.jpg
                            
%
% RUN_ME
%
% Main script to run the simulation 
%
%
% (c) 2010-2011 Michele Giugliano, PhD - michele.giugliano@ua.ac.be
% Department of Biomedical Sciences, University of Antwerp (Belgium)
%

clear all;          % Clear all variables and functions from the memory. 
close all;          % Close all figures and files open.
clc;                % Clear the command window.

addpath matlab;     % Add directory './matlab' to search path.

display_live   =  0;    % When set to 1, enables live plots.


disp('Simulating the impact of chloride accumulation or depletion inside a');
disp('patch-pipette, under outside-out patch-clamp recordings of GABAa currents.');
disp(' ');
disp('Version 2.0, Jan 31st 2011, Michele Giugliano');
disp('Acknowledgements: Thanks to Istvan Biro for important comments and discussions.');
disp(sprintf('\n'));


disp('Setting numerical parameters for the simulation...');
set_parameters;     % Numerical parameters are specified here.
disp('done!');


c_out_interval = 25; % interval in [ms] at which to save concentration profile
c_out_t        =  0; %

% Definition of the numerical method (sparse) matrices..
M = generate_matrix;
B = zeros(N,1);

% Initialization of the state variables..
c      = Cin * ones(N,1);
x      = 0.;
  
if (display_live) 
 disp('Live display of simulation results has been switched on!');
 figure(3); clf;      % Create a clean new figure
 set(gcf, 'Color', [1 1 1], 'DoubleBuffer', 'on');
end


% Output data structures
mytime = 0:dt:(dt*(Nsteps-1));
II     = zeros(Nsteps,2);
CC     = zeros( ceil(lifetime./c_out_interval), length(c) ); % concentration profiles to save (time)(profile)

t      = 0.;      % [ms] time - actual simulation time

% The actual simulation major iterative part starts here ------------------
N1 = fix(Nsteps/4);

tic;                % Start a stopwatch timer.
h = 1;
simulation_step;
elapsed = toc;
disp(sprintf('Simulation will last about %d minute(s)...\n', fix(elapsed * 4 * N1 / 60.)));
disp('Please be patient!');
if (display_live) 
 disp('Setting to 0, display_live will make the simulation faster!');
end


for h=2:N1,    
 simulation_step;
end
disp('25% done..');

for h=(N1+1):2*N1,    
 simulation_step;
end
disp('50% done..');

for h=(2*N1+1):3*N1,    
 simulation_step;
end
disp('75% done..');

for h=(3*N1+1):4*N1,    
 simulation_step;
end
disp('100% done..');
toc;                % Stop the stopwatch timer.


%
%% Visualizing the output
%
plot_results;

%
%% Writing files
%
fname = sprintf('data_files/simulation_data_%.1f_%.1f_%.1f.mat',r,b,f);
%save(fname, 'II', 'mytime', 'c_out_interval', 'CC', 'r', 'b', 'f', 'c2', 'gof2', 'dt', 'dz');
toc


Loading data, please wait...