Continuous time stochastic model for neurite branching (van Elburg 2011)

 Download zip file 
Help downloading and running models
Accession:129071
"In this paper we introduce a continuous time stochastic neurite branching model closely related to the discrete time stochastic BES-model. The discrete time BES-model is underlying current attempts to simulate cortical development, but is difficult to analyze. The new continuous time formulation facilitates analytical treatment thus allowing us to examine the structure of the model more closely. ..."
Reference:
1 . van Elburg R (2011) Stochastic Continuous Time Neurite Branching Models with Tree and Segment Dependent Rates Journal of Theoretical Biology 276(1):159-173
Model Information (Click on a link to find other models with that property)
Model Type: Axon; Dendrite;
Brain Region(s)/Organism:
Cell Type(s):
Channel(s):
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: C or C++ program; MATLAB;
Model Concept(s): Development;
Implementer(s): van Elburg, Ronald A.J. [R.van.Elburg at ai.rug.nl];
% Compile SDependenceCalculator and mexInterface
%
% Files needed:
% mexSDependenceCalculator.cpp    % mex interface
% SDependenceCalculator.cpp       % Core algorythm
% SDependenceCalculator.h
% ObjectHandle.h                  % a handle class for mex-functions written by Tim Bailey (2004)

mex  -g mexSDependenceCalculator.cpp SDependenceCalculator.cpp
%% Calculate several quantities and the dependency of the probabilities on S

% Specify terminal segment numbers
NRange=1:23; % N is bound by memory availability, we found that we can go upto N=23 with 4 GB of internal memory
NSize=length(NRange);

% Specify S values
SStep= 0.25;
SRange=-1:SStep:1;

SDCHandle= mexSDependenceCalculator();
% Set maximum number of terminal segments
tic
mexSDependenceCalculator(SDCHandle, 'N',uint32(NRange(end)));
toc
PCell=cell(3,1);
for N=1:NSize
    treeCount=mexSDependenceCalculator(SDCHandle, 'C',uint32(NRange(N)));
    PCell{N}=zeros(treeCount,length(SRange));
end



for S=1:length(SRange)
    % Set and evaluate S values
    mexSDependenceCalculator(SDCHandle, 'S',double(SRange(S)))
    
    % Put S-dependent probabilities in cell object PCell
    for N=1:NSize        
        % Calculate probabilities    
        PCell{N}(:,S)=mexSDependenceCalculator(SDCHandle, 'P',uint32(NRange(N)));
    end
end

for N=1:NSize        
        filename=['mat-files/SDCRes_N',num2str(NRange(N)),'_SRange',num2str(100*SRange(1)),'_',num2str(100*SStep),'_',num2str(100*SRange(end))]
        A=mexSDependenceCalculator(SDCHandle, 'A',uint32(NRange(N)));
        C=mexSDependenceCalculator(SDCHandle, 'C',uint32(NRange(N)));
        E=mexSDependenceCalculator(SDCHandle, 'E',uint32(NRange(N)));
        H=mexSDependenceCalculator(SDCHandle, 'H',uint32(NRange(N)));
        M=mexSDependenceCalculator(SDCHandle, 'M',uint32(NRange(N)));
        P=PCell{N};
        save(filename,'N','C','A','E','H','M','P','SStep','SRange')
end
    
mexSDependenceCalculator(SDCHandle, 'D' ); % Free memory

Loading data, please wait...