Neural transformations on spike timing information (Tripp and Eliasmith 2007)

 Download zip file 
Help downloading and running models
Accession:136380
" ... Here we employ computational methods to show that an ensemble of neurons firing at a constant mean rate can induce arbitrarily chosen temporal current patterns in postsynaptic cells. ..."
Reference:
1 . Tripp B, Eliasmith C (2007) Neural populations can induce reliable postsynaptic currents without observable spike rate changes or precise spike timing. Cereb Cortex 17:1830-40 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network;
Brain Region(s)/Organism:
Cell Type(s): Abstract integrate-and-fire leaky neuron;
Channel(s):
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: MATLAB;
Model Concept(s): Activity Patterns; Temporal Pattern Generation;
Implementer(s): Tripp, Bryan [bryan.tripp at mail.mcgill.ca]; Eliasmith, Chris [celiasmith at uwaterloo.ca];
% function doCOV(mix, noise, dataFile) runs an experiment testing the
% effects of varying coefficients of variation with given parameters. 
% Called by exp_COV and exp_COVNS. 
% 
% mix: an nX3 matrix defining n COV conditions, each row containing 
%   proportions of Poisson, regular, and irregular-bursting ISI densities. 
% noise: an mX2 matrix defining m noise conditions, each row containing 
%   spike time jitter (ms) and noise spikes (proportion of non-noise
%   spikes)
% dataFile: name of file in which to save results
% useBandLimitedJitter: 0=white-noise jitter; 1=band-limited jitter

function doCOV(mix, noise, dataFile, useBandLimitedJitter)
    
    x = load('signals_figure4.mat');
    signals = x.signals;

    rate = 40;

    for i = 1:size(mix,1)
        [spikes, cov] = genUncorrelated(20, 10, .0002, rate, mix(i,:), struct('SD', .0025, 'meanSD', .0025));
        meanCOV(i) = mean(cov);
        sdCOV(i) = std(cov);

        for j = 1:size(noise,1)    

            for k = 1:size(signals,1)
                signal = signals(k,:);
                [spikes, cov] = genUncorrelated(500, .3, .0002, rate, mix(i,:), struct('SD', .0025, 'meanSD', .0025));

                jitter = noise(j,1);
                noiseRate = noise(j,2) * rate;

                nt = 32;
                ne = 5;
                if jitter == 0 & noiseRate == 0
                    nt = 1
                    ne = 1
                end
                    
                if useBandLimitedJitter
                    sprintf('Using band-limited jitter')
                    [weights, err, t] = decode(signal, .0002, spikes, [0 0 0], [jitter 0 0], [0 2*pi*15], noiseRate, nt, ne, 1); t
                else 
                    [weights, err, t] = decode(signal, .0002, spikes, [jitter 0 0], [0 0 0], [0 10], noiseRate, nt, ne, 1); t
                end
                meanErr(i,j,k) = mean(err)
                sdErr(i,j,k) = std(err);
            end
        end
        save(dataFile) 
    end


Loading data, please wait...