Cerebellar acceleration of learning in an evidence-accumulation task.
The 4 matches · 1 of them tie a paragraph to a whole file, not to given lines: a weak match, whose lines are not tinted
- [1] § STAR★METHODS › METHOD DETAILS › Drift-diffusion modeling ↔ src/model_likelihood.jl, lines 327–408 · score 0.72 · model likelihood, standard deviation, pulses, Hessian, lapse, bias
- [2] § STAR★METHODS › METHOD DETAILS › Drift-diffusion modeling ↔ src/PBupsModel.jl, the whole file · a weak match · score 0.62 · PBupsModel, model likelihood, fitted, accumulate
- [3] § STAR★METHODS › QUANTIFICATION AND STATISTICAL ANALYSIS › Effect size calculations ↔ src/model_likelihood.jl, lines 327–408 · score 0.59 · square root, Standard deviation
- [4] § STAR★METHODS › METHOD DETAILS › Behavior experiments ↔ settings/param_handlers.py, lines 13–114 · score 0.51 · Anti biasing, ports, interval, 200 ms, reward, delay
Paper
Loaded from Europe PMC by your browser, not stored by OSCR: doi.org · Europe PMC
The paper is loaded when this pane is shown.
The authors' code
Julia · 409 lines · 14 KB · MIT · 2 matches
- # Global variables
- const epsilon = 10.0^(-10);
- const dx = 0.25;
- const dt = 0.02;
- const total_rate = 40;
- # === Upgrading from ForwardDiff v0.1 to v0.2
- # instead of ForwardDiff.GradientNumber and ForwardDiff.HessianNumber,
- # we will use ForwardDiff.Dual
- convert(::Type{Float64}, x::ForwardDiff.Dual) = Float64(x.value)
- function convert(::Array{Float64}, x::Array{ForwardDiff.Dual})
- y = zeros(size(x));
- for i in 1:prod(size(x))
- y[i] = convert(Float64, x[i])
- end
- return y
- end
- immutable NumericPair{X,Y} <: Number
- x::X
- y::Y
- end
- Base.isless(a::NumericPair, b::NumericPair) = (a.x<b.x) || (a.x==b.x && a.y<b.y)
- """
- function bin_centers = make_bins(B, dx, binN)
- Makes a series of points that will indicate bin centers. The first and
- last points will indicate sticky bins. No "bin edges" are made-- the edge
- between two bins is always implicity at the halfway point between their
- corresponding centers. The center bin is always at x=0; bin spacing
- (except for last and first bins) is always dx; and the position
- of the first and last bins is chosen so that |B| lies exactly at the
- midpoint between 1st (sticky) and 2nd (first real) bins, as well as
- exactly at the midpoint between last but one (last real) and last
- (sticky) bins.
- Playing nice with ForwardDiff means that the *number* of bins must be predetermined.
- So this function will not actually set the number of bins; what it'll do is determine their
- locations. To accomplish this separation, the function uses as a third parameter binN,
- which should be equal to the number of bins with bin centers > 0, as follows:
- binN = ceil(B/dx)
- and then the total number of bins will be 2*binN+1, with the center one always corresponding
- to position zero. Use non-differentiable types for B and dx for this to work.
- """
- function make_bins{T}(bins::Vector{T}, B, dx::T, binN)
- cnt = 1
- for i=-binN:binN
- bins[cnt] = i*dx
- cnt = cnt+1
- end
- if binN*dx == B
- bins[end] = B + dx
- bins[1] = -B - dx
- else
- bins[end] = 2*B - (binN-1)*dx
- bins[1] = -2*B + (binN-1)*dx
- end
- end
- """
- function F = Fmatrix([sigma, lambda, c], bin_centers)
- Uses globals
- dt
- dx
- epsilon (=10.0^-10)
- Returns a square Markov matrix of transition probabilities.
- Plays nice with ForwardDiff-- that is why bin_centers is a global vector (so that the rem
- operations that go into defining the bins, which ForwardDiff doesn't know how to deal with,
- stay outside of this differentiable function)
- sigma should be in (accumulator units) per (second^(1/2))
- lambda should be in s^-1
- c should be in accumulator units per second
- bin_centers should be a vector of the centers of all the bins. Edges will be at midpoints
- between the centers, and the first and last bin will be sticky.
- dx is not used inside Fmatrix, because bin_centers specifies all we need to know.
- dt *is* used inside Fmatrix, to convert sigma, lambda, and c into timestep units
- """
- function Fmatrix{T}(F::AbstractArray{T,2},params::Vector, bin_centers)
- sigma2 = params[1];
- lam = params[2];
- c = params[3];
- sigma2_sbin = convert(Float64, sigma2)
- # println(typeof(sigma2))
- # println(size(sigma2))
- # println(sigma2)
- # println("Converted ", sigma2_sbin)
- # println(typeof(sigma2_sbin))
- n_sbins = max(70, ceil(10*sqrt(sigma2_sbin)/dx))
- F[1,1] = 1;
- F[end,end] = 1;
- swidth = 5.*sqrt(sigma2_sbin)
- sbinsize = swidth/n_sbins #sbins[2] - sbins[1]
- base_sbins = collect(-swidth:sbinsize:swidth)
- ps = exp(-base_sbins.^2/(2*sigma2)) # exp(Array) -> exp.(x)
- ps = ps/sum(ps);
- sbin_length = length(base_sbins)
- binN = length(bin_centers)
- mu = 0.
- for j in 2:binN-1
- if lam == 0
- mu = bin_centers[j] + c*dt#(exp(lam*dt))
- else
- mu = (bin_centers[j] + c/lam)*exp(lam*dt) - c/lam
- end
- for k in 1:sbin_length
- sbin = (k-1)*sbinsize + mu - swidth
- if sbin <= bin_centers[1] #(bin_centers[1] + bin_centers[2])/2
- F[1,j] = F[1,j] + ps[k]
- elseif bin_centers[end] <= sbin#(bin_centers[end]+bin_centers[end-1])/2 <= sbins[k]
- F[end,j] = F[end,j] + ps[k]
- else # more condition
- if (sbin > bin_centers[1] && sbin < bin_centers[2])
- lp = 1; hp = 2;
- elseif (sbin > bin_centers[end-1] && sbin < bin_centers[end])
- lp = binN-1; hp = binN;
- else
- lp = floor(Int,((sbin-bin_centers[2])/dx)) + 2#find(bin_centers .<= sbins[k])[end]
- hp = ceil(Int,((sbin-bin_centers[2])/dx)) + 2#lp+1#Int(ceil((sbins[k]-bin_centers[2])/dx) + 1);
- end
- if lp == hp
- F[lp,j] = F[lp,j] + ps[k]
- else
- F[hp,j] = F[hp,j] + ps[k]*(sbin - bin_centers[lp])/(bin_centers[hp] - bin_centers[lp])
- F[lp,j] = F[lp,j] + ps[k]*(bin_centers[hp] - sbin)/(bin_centers[hp] - bin_centers[lp])
- end
- end
- end
- end
- end
- """
- version with inter-click interval(ici) for c_eff_net / c_eff_tot (followed the matlab code)
- (which was using dt for c_eff)
- function logProbRight(params::Vector)
- RightClickTimes vector with elements indicating times of right clicks
- LeftClickTimes vector with elements indicating times of left clicks
- Nsteps number of timesteps to simulate
- Takes params
- sigma_a = params[1]; sigma_s = params[2]; sigma_i = params[3];
- lambda = params[4]; B = params[5]; bias = params[6];
- phi = params[7]; tau_phi = params[8]; lapse = params[9]
- Returns the log of the probability that the agent chose Right.
- """
- function logProbRight(RightClickTimes::Array{Float64,1}, LeftClickTimes::Array{Float64,1}, Nsteps::Int
- ;sigma_a = 0.01, sigma_s_R = 0.01, sigma_s_L = 0.01,
- sigma_i = 0.01, lambda = 0., B = 8., bias = 0.,
- phi = 1., tau_phi = 0.02, lapse_R = 0.01, lapse_L = 0.01,
- input_gain_weight = 0.5)
- # now it considers 12p/9p function
- # we can update the default parameter later
- # check whether sigma_S_L/sigma_S_R are specified
- # 1. set one of them as sigma_s
- if xor(sigma_s_R!=0.01, sigma_s_L!=0.01)
- if sigma_s_R!=0.01
- sigma_s_L=sigma_s_R
- elseif sigma_s_L!=0.01
- sigma_s_R=sigma_s_L
- end
- end
- # same for lapse
- # check whether lapse_L/lapse_R are specified
- # 1. set one of them as lapse
- if xor(lapse_R!=0.01, lapse_L!=0.01)
- if lapse_R!=0.01
- lapse_L=lapse_R
- elseif lapse_L!=0.01
- lapse_R=lapse_L
- end
- end
- # function logProbRight(params::Vector, RightClickTimes::Array{Float64,1}, LeftClickTimes::Array{Float64,1}, Nsteps::Int)
- # sigma_a = params[1]; sigma_s_R = params[2]; sigma_s_L = params[3];
- # sigma_i = params[4]; lambda = params[5]; B = params[6]; bias = params[7];
- # phi = params[8]; tau_phi = params[9]; lapse_R = params[10]; lapse_L = params[11];
- # input_gain_weight = params[12];
- if isempty(RightClickTimes) RightClickTimes = zeros(0) end;
- if isempty(LeftClickTimes ) LeftClickTimes = zeros(0) end;
- NClicks = zeros(Int, Nsteps);
- Lhere = zeros(Int, length(LeftClickTimes));
- Rhere = zeros(Int, length(RightClickTimes));
- for i in 1:length(LeftClickTimes)
- Lhere[i] = ceil((LeftClickTimes[i]+epsilon)/dt)
- end
- for i in 1:length(RightClickTimes)
- Rhere[i] = ceil((RightClickTimes[i]+epsilon)/dt)
- end
- for i in Lhere
- NClicks[Int(i)] = NClicks[Int(i)] + 1
- end
- for i in Rhere
- NClicks[Int(i)] = NClicks[Int(i)] + 1
- end
- # === Upgrading from ForwardDiff v0.1 to v0.2
- # instead of using convert we can use floor(Int, ForwardDiff.Dual) and
- # ceil(Int, ForwardDiff.Dual)
- binN = ceil(Int, B/dx)#Int(ceil(my_B/dx))
- binBias = floor(Int, bias/dx) + binN+1
- binBias_hp = ceil(Int, bias/dx) + binN+1
- if binBias<1 binBias = 1; end
- if binBias>binN*2+1 binBias = binN*2+1; end
- if binBias_hp<1 binBias_hp = 1; end
- if binBias_hp>binN*2+1 binBias_hp = binN*2+1; end
- bin_centers = zeros(typeof(dx), binN*2+1)
- make_bins(bin_centers, B, dx, binN)
- # Visualization
- a_trace = zeros(length(bin_centers), Nsteps)
- c_trace = zeros(1, Nsteps)
- ## biased lapse rate (lapse_R, lapse_L)
- a0 = zeros(typeof(sigma_a),length(bin_centers))
- a0[1] = lapse_L/2;
- a0[end] = lapse_R/2;
- a0[binN+1] = 1-lapse_L/2-lapse_R/2;
- temp_l = [NumericPair(LeftClickTimes[i],-1) for i=1:length(LeftClickTimes)]
- temp_r = [NumericPair(RightClickTimes[i],1) for i=1:length(RightClickTimes)]
- allbups = sort!([temp_l; temp_r])
- if phi == 1
- c_eff = 1.
- else
- c_eff = 0.
- end
- cnt = 0
- Fi = zeros(typeof(sigma_i),length(bin_centers),length(bin_centers))
- Fmatrix(Fi,[sigma_i, 0., 0.0], bin_centers)
- a = Fi*a0;
- a_trace[:,1] = a;
- F0 = zeros(typeof(sigma_a),length(bin_centers),length(bin_centers))
- Fmatrix(F0,[sigma_a*dt, lambda, 0.0], bin_centers)
- for i in 2:Nsteps
- net_input = 0.
- c_eff_tot = 0.
- c_eff_net = 0.
- net_i_input = 0.
- net_c_input = 0.
- if NClicks[i-1]==0
- c_eff_tot = 0.
- c_eff_net = 0.
- a = F0*a
- else
- for j in 1:NClicks[i-1]
- if cnt != 0 || j != 1
- ici = allbups[cnt+j].x - allbups[cnt+j-1].x
- c_eff = 1 + (c_eff*phi - 1)*exp(-ici/tau_phi)
- c_eff_tot = c_eff_tot + c_eff
- c_eff_net = c_eff_net + c_eff*allbups[cnt+j].y
- ## (input_gain_weight) 0 to 1 : 0-left, 1-right
- net_c_input = (c_eff_tot+c_eff_net)/2 # right
- net_i_input = c_eff_tot-net_c_input # left
- net_input = 2*input_gain_weight*net_c_input - 2*(1-input_gain_weight)*net_i_input
- elseif cnt==0 && j==1
- ici = 0.
- c_eff = 1 + (c_eff*phi - 1)*exp(-ici/tau_phi)
- c_eff_tot = c_eff_tot + c_eff
- c_eff_net = c_eff_net + c_eff*allbups[cnt+j].y
- ## (input_gain_weight) 0 to 1 : 0-left, 1-right
- # 0.5 is neutral
- net_c_input = (c_eff_tot+c_eff_net)/2 # right
- net_i_input = c_eff_tot-net_c_input # left
- net_input = 2*input_gain_weight*net_c_input - 2*(1-input_gain_weight)*net_i_input
- end
- if j == NClicks[i-1]
- cnt = cnt+j
- end
- end
- ## biased params added
- net_sigma = sigma_a*dt + (sigma_s_R*net_i_input)/total_rate + (sigma_s_L*net_c_input)/total_rate
- F = zeros(typeof(net_sigma),length(bin_centers),length(bin_centers))
- Fmatrix(F,[net_sigma, lambda, net_input/dt], bin_centers)
- a = F*a
- end
- a_trace[:,i] = a
- c_trace[i] = c_eff*exp(lambda*dt)
- end
- # likelihood of poking right
- if binBias == binBias_hp
- pright = sum(a[binBias+1:end])+a[binBias]/2
- else
- pright = sum(a[binBias+2:end]) +
- a[binBias]*((bin_centers[binBias+1] - bias)/dx/2) +
- a[binBias+1]*(0.5 + (bin_centers[binBias+1] - bias)/dx/2)
- end
- if pright-1 < epsilon && pright > 1
- pright = 1
- end
- if pright < epsilon && pright > 0
- pright = 0
- end
- return log(pright)
- end
- function LogLikelihood(RightClickTimes::Vector, LeftClickTimes::Vector, Nsteps::Int, rat_choice::Int
- ;kwargs...)
- if rat_choice > 0
- # println("Right")
- return logProbRight(RightClickTimes, LeftClickTimes, Nsteps;
- kwargs...)#make_dict(args, x)...)
- elseif rat_choice < 0
- # println("Left")
- return log(1 - exp(logProbRight(RightClickTimes, LeftClickTimes, Nsteps;
- kwargs...)))#make_dict(args, x)...)))
- end
- end
- """
- function (LL, LLgrad, LLhessian, bin_centers, bin_times, a_trace) =
- llikey(params, rat_choice, maxT=1, RightPulseTimes=[], LeftPulseTimes=[], dx=0.25, dt=0.02)
- Computes the log likelihood according to Bing's model, and returns log likelihood, gradient, and hessian
- params is a vector whose elements, in order, are
- sigma_a square root of accumulator variance per unit time sqrt(click units^2 per second)
- sigma_s standard deviation introduced with each click (will get scaled by click adaptation)
- sigma_i square root of initial accumulator variance sqrt(click units^2)
- lambda 1/accumulator time constant (sec^-1). Positive means unstable, neg means stable
- B sticky bound height (click units)
- bias where the decision boundary lies (click units)
- phi click adaptation/facilitation multiplication parameter
- tau_phi time constant for recovery from click adaptation (sec)
- lapse 2*lapse fraction of trials are decided randomly
- rat_choice should be either "R" or "L"
- RETURNS:
- """
- # function single_trial(params::Vector, RightClickTimes::Vector, LeftClickTimes::Vector, Nsteps::Int, rat_choice::Int, hess_mode=0::Int)
- # function llikey(params::Vector)
- # logLike(params, RightClickTimes, LeftClickTimes, Nsteps, rat_choice)
- # end
- # if hess_mode > 0
- # result = HessianResult(params)
- # ForwardDiff.hessian!(result, llikey, params);
- # else
- # result = GradientResult(params)
- # ForwardDiff.gradient!(result, llikey, params);
- # end
- # LL = ForwardDiff.value(result)
- # LLgrad = ForwardDiff.gradient(result)
- # if hess_mode > 0
- # LLhessian = ForwardDiff.hessian(result)
- # end
- # if hess_mode > 0
- # return LL, LLgrad, LLhessian
- # else
- # return LL, LLgrad
- # end
- # end
model_likelihood.jl at commit 70fff04, under MIT · at the source
Overview
- Neuroscience Institute, Princeton University, Princeton, NJ, USA
- Swammerdam Institute for Life Sciences, University of Amsterdam, Amsterdam, the Netherlands
- These authors contributed equally
- Present address: Albert Einstein College of Medicine, 1410 Pelham Parkway S, Kennedy 915, Bronx, NY, USA
- Department of Neurological Surgery, University of California, San Francisco, San Francisco, CA, USA
- Department of Anesthesiology, Stanford University Medical Center, Stanford, CA, USA
- Lead contact
Abstract
Cerebellar processing contributes to sensory salience, cognition, and behavioral flexibility. Here, we report that learning on a sensory evidence-accumulation task in mice is accelerated by cue-locked optogenetic stimulation of Purkinje cells but not by continuous optogenetic interference. Latent-state analysis revealed that accelerated learning was associated with enhanced focus on current over past trials. A cerebellum-specific transgenic autism model with disrupted Purkinje cell function also unexpectedly showed accelerated learning as well as enhanced reactivity to touch and auditory cues. Transgenic mice and wild-type mice receiving cue-locked stimulation showed prolonged sensory responses in Purkinje cell complex spikes and anterior cingulate cortex, and a subset of Purkinje cells in crus I showed on-task enhanced response to stimuli in wild-type mice. Sensory salience and task state may be different facets of a complex-spike-based mechanism for regulating brain-wide learning mechanisms. These findings potentially link cerebellum-dependent sensory salience with a global weak coherence account of autism.
Reproduced under the paper's license (CC BY), from the paper cited above.
Repositories
Its files are read in the Code ↔ Paper reader above, with 4 matches between paragraphs and lines of code.
wanglabprinceton/accumulating_puffs
d3ed79c86cf663921412b608aa0287b4d34ee035, 13 June 2018Availability: 1 check, the latest on 29 September 2026: the link answers
- 29 September 2026: the link answers
45 files
- config_example.py, Python, 32 lines
- expts/
__init__.py , Python, 1 line - expts/
controllers.py , Python, 547 lines - expts/
routines.py , Python, 8 lines - expts/
saver.py , Python, 175 lines - expts/
session.py , Python, 506 lines - expts/
trials.py , Python, 500 lines - expts/
views.py , Python, 446 lines - hardware/
__init__.py , Python, 10 lines - hardware/
actuator.py , Python, 142 lines - hardware/
analog_reader.py , Python, 169 lines - hardware/
audio.py , Python, 39 lines - hardware/
cameras.py , Python, 486 lines - hardware/
communications.py , Python, 41 lines - hardware/
daq.py , Python, 168 lines - hardware/
daqold.py , Python, 187 lines - hardware/
dummy.py , Python, 81 lines - hardware/
light.py , Python, 49 lines - hardware/
mp285.py , Python, 230 lines - hardware/
ni845x.py , Python, 132 lines - hardware/
opto.py , Python, 45 lines - hardware/
valve.py , Python, 113 lines - run.py, Python, 9 lines
- settings/
__init__.py , Python, 2 lines - settings/
conditions.py , Python, 20 lines - settings/
constants.py , Python, 4 lines - settings/
durations.py , Python, 6 lines - settings/
levels.py , Python, 207 lines - settings/
manipulations.py , Python, 24 lines - settings/
param_handlers.py , Python, 114 lines, 1 match - settings/
ratios.py , Python, 7 lines - settings/
rules.py , Python, 12 lines - subjects/
__init__.py , Python, 1 line - subjects/
subjects.py , Python, 77 lines - util/
__init__.py , Python, 4 lines - util/
custom_time.py , Python, 7 lines - util/
edit_hdfstore_file.py , Python, 29 lines - util/
fix_corrupt_ar.py , Python, 106 lines - util/
logs.py , Python, 27 lines - util/
new_data_file.py , Python, 26 lines - util/
notifications.py , Python, 45 lines - util/
process_data.py , Python, 39 lines - util/
tcpip.py , Python, 81 lines - LICENSE, License, 201 lines
- README.md, Text, 7 lines
misun6312/PBupsModel.jl
70fff040d4134591f6729e5864bb6a92d260117e, 28 August 2018Availability: 1 check, the latest on 29 September 2026: the link answers
- 29 September 2026: the link answers
10 files
- src/
PBupsModel.jl , Julia, 48 lines, 1 match - src/
all_trials.jl , Julia, 124 lines - src/
bbox_hessian_keyword_min , Julia, 429 linesimization.jl - src/
constrained_parabolic_mi , Julia, 229 linesnimization.jl - src/
data_handle.jl , Julia, 45 lines - src/
model_likelihood.jl , Julia, 409 lines, 2 matches - src/
model_optimization.jl , Julia, 228 lines - test/
runtests.jl , Julia, 150 lines - LICENSE.md, License, 22 lines
- README.md, Text, 154 lines
The paper's code and data availability statement is in the Data section.
Tracing map
Proposed by the machine: these links were found in the paper and verified at the source, without human review. The map will receive a Zenodo DOI once one of the paper's authors has validated it with their ORCID.
What the map holds:
- 2 repositories of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
- 51 scripts, each with its path and the digest of its content;
- 4 matches between paragraphs of the paper and lines of the code (method lexical-v1);
- neither the text of the paper nor the code itself.
Its JSON (tracing-map.json) is deposited on Zenodo with its DOI once the map is validated.
Data
No dataset and no data link were found in the paper.
Data and code availability
All data that support the findings of this study will be made available upon reasonable request.
Code used for data acquisition is available at https://
Any additional information required to reanalyze the data reported in this paper is available from the lead contact upon request.
Reproduced under the paper's license (CC BY), from the paper cited above.
Versions
The history of this record: each version stored by the harvester or made by a correction of its authors or of the maintainers of its code, and what changed in its facts. The texts of the paper (its abstract, its availability statements) are not part of it; versions that changed only those are not listed.
Version 1, 29 September 2026: the first record
Recorded: type, language, journal, volume, issue, pages, dates, 7 authors, 10 keywords, 7 funders, 65 references, 12 RRIDs.
Cite
This paper
Oostland, M., Kislin, M., Chen, Y., Chen, T., Venditto, S. J., Deverett, B., & Wang, S. S.-H. (2026). Cerebellar acceleration of learning in an evidence-accumulation task. Cell reports, 45(4), 117262. https://
BibTeX
@article{oostland2026cer
author = {Oostland, Marlies and Kislin, Mikhail and Chen, Yuhang and Chen, Tiffany and Venditto, Sarah Jo and Deverett, Ben and Wang, Samuel S-H},
title = {{Cerebellar acceleration of learning in an evidence-accumulation task}},
journal = {Cell reports},
year = {2026},
month = apr,
volume = {45},
number = {4},
pages = {117262},
publisher = {Cell Press},
issn = {2211-1247},
doi = {10.1016/
url = {https://
pmid = {41999601},
pmcid = {PMC13198533}
}
RIS
TY - JOUR
AU - Oostland, Marlies
AU - Kislin, Mikhail
AU - Chen, Yuhang
AU - Chen, Tiffany
AU - Venditto, Sarah Jo
AU - Deverett, Ben
AU - Wang, Samuel S-H
TI - Cerebellar acceleration of learning in an evidence-accumulation task
T2 - Cell reports
J2 - Cell Rep
PY - 2026
DA - 2026/
VL - 45
IS - 4
SP - 117262
SN - 2211-1247
PB - Cell Press
DO - 10.1016/
UR - https://
LA - en
ER -
CSL-JSON
{
"id": "10.1016/
"type": "article-journal",
"title": "Cerebellar acceleration of learning in an evidence-accumulation task",
"container-title": "Cell reports",
"author": [
{
"family": "Oostland",
"given": "Marlies"
},
{
"family": "Kislin",
"given": "Mikhail"
},
{
"family": "Chen",
"given": "Yuhang"
},
{
"family": "Chen",
"given": "Tiffany"
},
{
"family": "Venditto",
"given": "Sarah Jo"
},
{
"family": "Deverett",
"given": "Ben"
},
{
"family": "Wang",
"given": "Samuel S-H"
}
],
"container-title-short":
"volume": "45",
"issue": "4",
"page": "117262",
"DOI": "10.1016/
"PMID": "41999601",
"PMCID": "PMC13198533",
"ISSN": "2211-1247",
"publisher": "Cell Press",
"URL": "https://
"language": "en",
"issued": {
"date-parts": [
[
2026,
4,
16
]
]
}
}
The tracing map gets a citation of its own once an author has validated it and it has a DOI.
Similar papers
The papers with a page that share the most with this one: the tools found in their code, their categories, datasets, cited references and authors, the rarest counting most.
- [1] doi:10.1038/s41398-026-03952-4 [code]
- Perineuronal nets in cerebellar nuclei neurons orchestrate social behaviour via regulation of neuronal activity in circuits innervated by the cerebellum.Journal: Translational psychiatryIn common: SciPy, autism, mouse, 5 references
- [2] doi:10.1073/pnas.2616911123 [code]
- Cerebellar microcircuits enable robust evidence-based decisions through cortico-cerebellar coupling.Journal: Proceedings of the National Academy of Sciences of the United States of AmericaIn common: Matplotlib, NumPy, cognitive, 5 references
- [3] doi:10.1371/journal.pcbi.1014585 [code]
- Decoding behavior with minimal and interpretable agent models.Journal: PLoS computational biologyIn common: pandas, SciPy, Matplotlib, 1 other tool, cognitive, mouse, 3 references
- [4] doi:10.1038/s42003-026-10034-0 [code]
- Region- and cell type-specific changes in gene expression in the cerebellum after classical fear conditioning.Journal: Communications biologyIn common: pandas, SciPy, Matplotlib, 1 other tool, mouse, 3 references
- [5] doi:10.1002/advs.202519479 [code]
- Diminished Signal-to-Noise Ratio Disrupts Somatosensory Population Encoding and Drives Tactile Hyposensitivity in the Fmr1&
lt;sup& gt;-/ y& lt;/ sup& gt; Autism Model. Journal: Advanced science (Weinheim, Baden-Wurttemberg, Germany)In common: h5py, pandas, SciPy, 2 other tools, autism, cognitive, mouse, 1 reference - [6] doi:10.1038/s41467-026-72445-1 [code]
- Perception and neural representation of intermittent odor stimuli in mice.Journal: Nature communicationsIn common: h5py, pandas, SciPy, 2 other tools, mouse, 2 references
- [7] doi:10.1038/s41467-026-72057-9 [code]
- Sex-specific behavioral feedback modulates sensorimotor processing and drives flexible social behavior.Journal: Nature communicationsIn common: h5py, pandas, SciPy, 2 other tools, 2 references
- [8] doi:10.1126/sciadv.aed6417 [code]
- Intrinsic timing, not temporal prediction, underlies ramping dynamics in visual and parietal cortex during passive behavior.Journal: Science advancesIn common: h5py, pandas, SciPy, 2 other tools, mouse, 2 references
- [9] doi:10.1038/s41593-026-02314-z [code]
- Low-dimensional population dynamics in the brainstem gate REM sleep.Journal: Nature neuroscienceIn common: h5py, pandas, SciPy, 2 other tools, mouse, 2 references
- [10] doi:10.1038/s41467-026-75371-4 [code]
- Cerebellar neural populations orchestrate dopamine reward signaling with single-trial precision.Journal: Nature communicationsIn common: pandas, SciPy, Matplotlib, 1 other tool, mouse, 2 references
Contribute
The authors of this paper can claim it, correct its record and validate its tracing map, and the maintainers of its code (its owner, or a public member of its organization) correct what it says of their repository; anyone signed in can ask for its removal. Every request goes to OSCR's own machine, which answers it; your account page follows them.
Sign in with ORCID to claim this paper as one of its authors, correct its record or validate its tracing map: when the paper's metadata lists your ORCID iD, you are recognized at once. Maintainers of its code: sign in with GitHub, then claim the repository on your account page.
Claim this paper
Correct its record
Say what each link of this record is, remove the ones that are not the paper's, add the ones that are missing. The correction becomes a new version of the record, in its Versions section.
Validate its tracing map
You validate the map as this page shows it: 2 repositories of the authors' code, each at its verified commit and with its license, 51 scripts, and 4 matches between paragraphs and code (see the Code and Map sections). It then receives a DOI on Zenodo, with you (your ORCID iD) and OSCR as its creators; the code itself is not deposited.
The map's fingerprint: sha256:f6b9e152021ce08c…
Add the badge to its README
The badge links the code to this page. Copy one of these into the README of the paper's code: only you decide where it goes, and nothing is changed for you.
Markdown
[, paste the snippet at the top, then “Commit changes…” and, to review it first, “Create a new branch and start a pull request”. You open the pull request; OSCR asks for no permission.
Request its removal
To ask OSCR to remove this record, the copies of its authors' scripts or its tracing map, use the removal request page: signed in, you say who you are, what to remove and why, then review and confirm the request. Published rules decide every request (how).
Discussion, reproductions, activity
Discussion: questions and error reports about this paper and its code, from signed-in readers and its authors. It opens with sign-in.
Reproductions: reports from readers who ran the authors' code: what they reproduced, with which environment, commit and data. It opens with sign-in.
Activity: what happens around this paper: new versions of its record, its map's validation, discussions and reproductions. It opens with sign-in.
