Robust transmission in the inhibitory Purkinje Cell to Cerebellar Nuclei pathway (Abbasi et al 2017)

 Download zip file 
Help downloading and running models
Accession:229279

References:
1 . Abbasi S, Hudson AE, Maran SK, Cao Y, Abbasi A, Heck DH, Jaeger D (2017) Robust Transmission of Rate Coding in the Inhibitory Purkinje Cell to Cerebellar Nuclei Pathway in Awake Mice PLOS Computational Biology
2 . Steuber V, Schultheiss NW, Silver RA, De Schutter E, Jaeger D (2011) Determinants of synaptic integration and heterogeneity in rebound firing explored with data-driven models of deep cerebellar nucleus cells. J Comput Neurosci 30:633-58 [PubMed]
3 . Steuber V, Jaeger D (2013) Modeling the generation of output by the cerebellar nuclei. Neural Netw 47:112-9 [PubMed]
4 . Steuber V, De Schutter E, Jaeger D (2004) Passive models of neurons in the deep cerebellar nuclei: the effect of reconstruction errors Neurocomputing 58-60:563-568
5 . Luthman J, Hoebeek FE, Maex R, Davey N, Adams R, De Zeeuw CI, Steuber V (2011) STD-dependent and independent encoding of input irregularity as spike rate in a computational model of a cerebellar nucleus neuron. Cerebellum 10:667-82 [PubMed]
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: Cerebellum;
Cell Type(s): Cerebellum deep nucleus neuron;
Channel(s): I h; I T low threshold; I L high threshold; I Na,p; I Na,t; I K,Ca; I K;
Gap Junctions:
Receptor(s): AMPA; NMDA; GabaA;
Gene(s):
Transmitter(s): Gaba; Glutamate;
Simulation Environment: GENESIS;
Model Concept(s): Synaptic Integration;
Implementer(s): Jaeger, Dieter [djaeger at emory.edu];
Search NeuronDB for information about:  GabaA; AMPA; NMDA; I Na,p; I Na,t; I L high threshold; I T low threshold; I K; I h; I K,Ca; Gaba; Glutamate;
/
codes
pandora-matlab-1.4compat2
classes
@tests_db
private
.cvsignore *
abs.m
addColumns.m
addLastRow.m
addRow.m
allocateRows.m
anyRows.m
approxMappingLIBSVM.m
approxMappingNNet.m
approxMappingSVM.m
assignRowsTests.m
checkConsistentCols.m
compareRows.m
corrcoef.m
cov.m
crossProd.m
dbsize.m
delColumns.m
diff.m
display.m
displayRows.m
displayRowsCSV.m
displayRowsTeX.m
end.m
enumerateColumns.m
eq.m
factoran.m
fillMissingColumns.m
ge.m
get.m *
getColNames.m
groupBy.m
gt.m
histogram.m
invarValues.m
isinf.m
isnan.m
isnanrows.m
joinRows.m
kmeansCluster.m
le.m
lt.m
matchingRow.m
max.m
mean.m
meanDuplicateRows.m
min.m
minus.m
mtimes.m
ne.m
noNaNRows.m
onlyRowsTests.m
physiol_bundle.m
plot.m
plot_abstract.m
plot_bars.m
plotBox.m
plotCircular.m
plotCovar.m
plotImage.m
plotrow.m
plotrows.m
plotScatter.m
plotScatter3D.m
plotTestsHistsMatrix.m
plotUITable.m
plotUniquesStats2D.m
plotUniquesStatsBars.m
plotUniquesStatsStacked3D.m
plotXRows.m
plotYTests.m
plus.m
princomp.m
processDimNonNaNInf.m
rankMatching.m
rdivide.m
renameColumns.m
rop.m
rows2Struct.m
set.m *
setProp.m *
setRows.m
shufflerows.m
sortrows.m
sqrt.m
statsAll.m
statsBounds.m
statsMeanSE.m
statsMeanStd.m
std.m
subsasgn.m
subsref.m
sum.m
swapRowsPages.m
tests_db.m
tests2cols.m
tests2idx.m
tests2log.m
testsHists.m
times.m
transpose.m
uminus.m
unique.m
uop.m
vertcat.m
                            
function [a_db, varargout] = processDimNonNaNInf(a_db, dim, a_func, a_func_name)

% processDimNonNaNInf - Recursively process the specified dimension with the desired function after removing NaNs and Infs.
%
% Usage:
% [a_db, n, i] = processDimNonNaNInf(a_db, dim, a_func, a_func_name)
%
% Parameters:
%   a_db: A tests_db object.
%   dim: Work down dimension (see mean).
%   a_func: A function name or handle to be passed to feval that
%	takes the data as the first argument and dimension to
%	work as second.
%   a_func_name: (Optional) A name to add to the id of a_db.
%		
% Returns:
%   a_db: The DB with one row of max values, with selected dimension
%	replaced by the output of the given function.
%   n: (Optional) Numbers of used values in each call of a_func.
%   i: (Optional) Indices returned by a_func.
%
% Description:
%   Does a recursive operation over other dimensions in order to remove
% NaN and Inf values. This takes more time than applying the function directly. 
%
% Example:
% a_db = tests_3D_db(rand(5, 5, 5));
% >> b_db = processDimNonNaNInf(a_db, 1, 'mean')
% will find the mean of rows in each page of the random 3D matrix.
% >> b_db = processDimNonNaNInf(a_db, 1, @(x,y)(max(x, [], y)), 'max')
% more complex function form with 'max'.
%
% See also: max, mean, feval, tests_db
%
% $Id$
%
% Author: Cengiz Gunay <cgunay@emory.edu>, 2008/05/27

% Copyright (c) 2007 Cengiz Gunay <cengique@users.sf.net>.
% This work is licensed under the Academic Free License ("AFL")
% v. 3.0. To view a copy of this license, please look at the COPYING
% file distributed with this software or visit
% http://opensource.org/licenses/afl-3.0.php.
  
  if ~ exist('dim', 'var')
    dim = 1; % Go down rows by default
  end

  if ~ exist('a_func_name', 'var')
    if isa(a_func, 'function_handle')
      a_func_name = func2str(a_func);
    elseif ischar(a_func)
      a_func_name = a_func;
    else
      a_func_name = '<unknown operation>';
    end
      
  end

  % Always process row-wise: permute dimensions before and after processing.
  order = 1:length(dbsize(a_db));
  if dim ~= 1
    order(dim) = 1;
    order(1) = dim;
    data = permute(a_db.data, order);
  else
    data = a_db.data;
  end

  % Allocate results array
  db_size = size(data);
  s = repmat(NaN, [1 db_size(2:end)]);
  
  % Do a loop over EACH other dimension (!)
  [s, n, i] = processRecurseRowsNonNaNInf(data, length(db_size), ...
                                          a_func);
  
  if dim ~= 1
    s = ipermute(s, order);
  end

  a_db = set(a_db, 'id', [ a_func_name ' of ' get(a_db, 'id') ]);
  a_db = set(a_db, 'data', s);
  
  % update db structures
  switch dim
    case 1
      a_db = set(a_db, 'row_idx', struct(a_func_name, 1));
    case 2
      a_db = set(a_db, 'col_idx', struct(a_func_name, 1));
    case 3
      if isa(a_db, 'tests_3D_db')
        a_db = set(a_db, 'page_idx', struct(a_func_name, 1));
      end
  end

  nout = max(nargout,1) - 1;

  % put optional output argument
  if nout > 0
    varargout{1} = n;
    if nout > 1
      varargout{2} = i;
    end

  end

Loading data, please wait...