A mathematical model of evoked calcium dynamics in astrocytes (Handy et al 2017)

 Download zip file 
Help downloading and running models
Accession:189344
" ...Here we present a qualitative analysis of a recent mathematical model of astrocyte calcium responses. We show how the major response types are generated in the model as a result of the underlying bifurcation structure. By varying key channel parameters, mimicking blockers used by experimentalists, we manipulate this underlying bifurcation structure and predict how the distributions of responses can change. We find that store-operated calcium channels, plasma membrane bound channels with little activity during calcium transients, have a surprisingly strong effect, underscoring the importance of considering these channels in both experiments and mathematical settings. ..."
Reference:
1 . Handy G, Taheri M, White JA, Borisyuk A (2017) Mathematical investigation of IP3-dependent calcium dynamics in astrocytes. J Comput Neurosci 42:257-273 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Glia;
Brain Region(s)/Organism:
Cell Type(s):
Channel(s): Ca pump; I_SERCA; I Calcium;
Gap Junctions:
Receptor(s): IP3;
Gene(s):
Transmitter(s):
Simulation Environment: MATLAB; XPP;
Model Concept(s): Calcium dynamics; Oscillations; Bifurcation;
Implementer(s): Handy, Gregory [handy at math.utah.edu]; Taheri, Marsa ;
Search NeuronDB for information about:  IP3; I Calcium; I_SERCA; Ca pump;
function [CaRiseTime, CaDecTime, slope_up, slope_down] = CaRiseAndDecay_TH(CaTrace, dt)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Copyright: Marsa Taheri and Gregory Handy, 2016
% This code was used to simulate the mathematical model of Astrocyte 
% IP3-dependent Ca responses in 2 papers submitted in Nov 2016.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Ouputs the 10% to 90% rise and decay times and slopes of the calcium trace;
%dt is the time step
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

baseline=CaTrace(2);

AboveBaseline=baseline*1.4;

[amp_max,time_of_max] = max(CaTrace);

first_trough = find(CaTrace>AboveBaseline,1,'first');

height = amp_max-baseline;
starting_amp = CaTrace(first_trough);
new_amp=height-starting_amp;

%Finds the 10% and 90% mark going up:
ninety_up = find(CaTrace > 0.9*new_amp + starting_amp, 1);
ten_up = find(CaTrace > 0.10*new_amp + starting_amp, 1);

%Finds the 10% and 90% mark going down:
ninety_down = find(CaTrace(time_of_max:end) > 0.9*new_amp + starting_amp, 1, 'last') + time_of_max;
ten_down = find(CaTrace(time_of_max:end) > 0.10*new_amp + starting_amp, 1, 'last') + time_of_max;

%Calculates the slope up and down:
slope_up = (CaTrace(ninety_up)-CaTrace(ten_up))...
    /(ninety_up-ten_up);
slope_down = (CaTrace(ninety_down)-CaTrace(ten_down))...
    /(ninety_down-ten_down);

%Calculates the rise time and decay time:
CaRiseTime = (ninety_up-ten_up)*dt;
CaDecTime = (ten_down-ninety_down)*dt;

end

Loading data, please wait...